LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
PrincipalComponentsAlg.h
Go to the documentation of this file.
1 
8 #ifndef PrincipalComponentsAlg_h
9 #define PrincipalComponentsAlg_h
10 
11 // Framework Includes
12 namespace fhicl {
13  class ParameterSet;
14 }
15 
16 // LArSoft includes
17 namespace detinfo {
18  class DetectorPropertiesData;
19 }
20 namespace geo {
21  class Geometry;
22 }
23 
24 // Algorithm includes
26 
27 // Eigen
28 #include <Eigen/Core>
29 
30 namespace lar_cluster3d {
31 
36  public:
43 
47  void PCAAnalysis(const detinfo::DetectorPropertiesData& detProp,
48  const reco::HitPairListPtr& hitPairVector,
50  float doca3DScl = 3.) const;
51 
52  void PCAAnalysis_3D(const reco::HitPairListPtr& hitPairList,
54  bool skeletonOnly = false) const;
55 
56  void PCAAnalysis_2D(const detinfo::DetectorPropertiesData& detProp,
57  const reco::HitPairListPtr& hitPairVector,
59  bool updateAvePos = false) const;
60 
61  void PCAAnalysis_calc3DDocas(const reco::HitPairListPtr& hitPairVector,
62  const reco::PrincipalComponents& pca) const;
63 
64  void PCAAnalysis_calc2DDocas(const reco::Hit2DListPtr& hit2DVector,
65  const reco::PrincipalComponents& pca) const;
66 
67  int PCAAnalysis_reject2DOutliers(const reco::HitPairListPtr& hitPairVector,
68  float aveHitDoca) const;
69 
70  int PCAAnalysis_reject3DOutliers(const reco::HitPairListPtr& hitPairVector,
71  const reco::PrincipalComponents& pca,
72  float aveHitDoca) const;
73 
74  private:
75  float m_parallel;
76  const geo::Geometry* m_geometry; // pointer to the Geometry service
77  };
78 
79 } // namespace lar_cluster3d
80 #endif
float m_parallel
means lines are parallel
std::list< const reco::ClusterHit2D * > Hit2DListPtr
export some data structure definitions
Definition: Cluster3D.h:325
parameter set interface
std::list< const reco::ClusterHit3D * > HitPairListPtr
Definition: Cluster3D.h:326
General LArSoft Utilities.
The geometry of one entire detector, as served by art.
Definition: Geometry.h:181
Namespace collecting geometry-related classes utilities.