8 #ifndef PrincipalComponentsAlg_h
9 #define PrincipalComponentsAlg_h
12 namespace fhicl {
class ParameterSet; }
16 class DetectorPropertiesData;
28 namespace lar_cluster3d {
48 float doca3DScl = 3.)
const;
52 bool skeletonOnly =
false)
const;
57 bool updateAvePos =
false)
const;
67 float aveHitDoca)
const;
71 float aveHitDoca)
const;
float m_parallel
means lines are parallel
std::list< const reco::ClusterHit2D * > Hit2DListPtr
export some data structure definitions
void PCAAnalysis_calc3DDocas(const reco::HitPairListPtr &hitPairVector, const reco::PrincipalComponents &pca) const
int PCAAnalysis_reject3DOutliers(const reco::HitPairListPtr &hitPairVector, const reco::PrincipalComponents &pca, float aveHitDoca) const
void PCAAnalysis_3D(const reco::HitPairListPtr &hitPairList, reco::PrincipalComponents &pca, bool skeletonOnly=false) const
PrincipalComponentsAlg(fhicl::ParameterSet const &pset)
Constructor.
int PCAAnalysis_reject2DOutliers(const reco::HitPairListPtr &hitPairVector, reco::PrincipalComponents &pca, float aveHitDoca) const
void PCAAnalysis_2D(const detinfo::DetectorPropertiesData &detProp, const reco::HitPairListPtr &hitPairVector, reco::PrincipalComponents &pca, bool updateAvePos=false) const
std::list< const reco::ClusterHit3D * > HitPairListPtr
The geometry of one entire detector, as served by art.
const geo::Geometry * m_geometry
void PCAAnalysis_calc2DDocas(const reco::Hit2DListPtr &hit2DVector, const reco::PrincipalComponents &pca) const
void PCAAnalysis(const detinfo::DetectorPropertiesData &detProp, const reco::HitPairListPtr &hitPairVector, reco::PrincipalComponents &pca, float doca3DScl=3.) const
Run the Principal Components Analysis.