ParallelHitsSeedFinderAlg.h
Go to the documentation of this file.
1 /**
2  * @file ParallelHitsSeedFinderAlg.h
3  *
4  * @brief This is an algorithm for finding recob::Seed objects in 3D clusters
5  *
6  */
7 #ifndef ParallelHitsSeedFinderAlg_h
8 #define ParallelHitsSeedFinderAlg_h
9 
10 // Framework Includes
11 #include "fhiclcpp/ParameterSet.h"
12 
15 
16 // LArSoft includes
19 #include "lardata/RecoObjects/Cluster3D.h"
20 
21 // ROOT includes
22 #include "TCanvas.h"
23 #include "TFrame.h"
24 #include "TH2D.h"
25 
26 //------------------------------------------------------------------------------------------------------------------------------------------
27 
28 namespace lar_cluster3d
29 {
30 
31 //typedef std::pair<recob::Seed, reco::HitPairListPtr> SeedHitListPair;
32 //typedef std::list<SeedHitListPair > SeedHitPairList;
33 
34 
35 /**
36  * @brief ParallelHitsSeedFinderAlg class
37  */
39 {
40 public:
41  /**
42  * @brief Constructor
43  *
44  * @param pset
45  */
47 
48  /**
49  * @brief Destructor
50  */
52 
53  /**
54  * @brief a handler for the case where the algorithm control parameters are to be reset
55  */
56  virtual void reconfigure(fhicl::ParameterSet const &pset);
57 
58  /**
59  * @brief Given the list of hits this will search for candidate Seed objects and return them
60  */
61  virtual bool findTrackSeeds(reco::HitPairListPtr& hitPairListPtr,
62  reco::PrincipalComponents& inputPCA,
63  SeedHitPairListPairVec& seedHitMap) const;
64 
65 private:
66 
67  geo::Geometry* m_geometry; // pointer to the Geometry service
68  // const detinfo::DetectorProperties* m_detector; // Pointer to the detector properties
69 
70  size_t m_maxNumEdgeHits; ///< Maximum number hits each end of PCA axis
71  double m_gapDistance; ///< Maximum allowed distance between hits
72  size_t m_numSeed2DHits; ///< Number 2D seed hits desired
73 
74  PrincipalComponentsAlg m_pcaAlg; // For running Principal Components Analysis
75 };
76 
77 } // namespace lar_cluster3d
78 #endif
double m_gapDistance
Maximum allowed distance between hits.
virtual void reconfigure(fhicl::ParameterSet const &pset)
a handler for the case where the algorithm control parameters are to be reset
SeedFinderAlgBase class.
size_t m_maxNumEdgeHits
Maximum number hits each end of PCA axis.
art framework interface to geometry description
ParallelHitsSeedFinderAlg(fhicl::ParameterSet const &pset)
Constructor.
std::list< const reco::ClusterHit3D * > HitPairListPtr
Definition: Cluster3D.h:335
The geometry of one entire detector, as served by art.
Definition: Geometry.h:196
size_t m_numSeed2DHits
Number 2D seed hits desired.
std::vector< SeedHitPairListPair > SeedHitPairListPairVec
virtual bool findTrackSeeds(reco::HitPairListPtr &hitPairListPtr, reco::PrincipalComponents &inputPCA, SeedHitPairListPairVec &seedHitMap) const
Given the list of hits this will search for candidate Seed objects and return them.