LArSoft  v07_13_02
Liquid Argon Software toolkit - http://larsoft.org/
LArPcaHelper.h
Go to the documentation of this file.
1 
8 #ifndef LAR_PCA_HELPER_H
9 #define LAR_PCA_HELPER_H 1
10 
11 
12 namespace lar_content
13 {
14 
19 {
20 public:
21  typedef pandora::CartesianVector EigenValues;
22  typedef std::vector<pandora::CartesianVector> EigenVectors;
23  typedef std::pair<const pandora::CartesianVector, double> WeightedPoint;
24  typedef std::vector<WeightedPoint> WeightedPointVector;
25 
34  template <typename T>
35  static void RunPca(const T &t, pandora::CartesianVector &centroid, EigenValues &outputEigenValues, EigenVectors &outputEigenVectors);
36 
45  static void RunPca(const WeightedPointVector &pointVector, pandora::CartesianVector &centroid, EigenValues &outputEigenValues,
46  EigenVectors &outputEigenVectors);
47 };
48 
49 } // namespace lar_content
50 
51 #endif // #ifndef LAR_PCA_HELPER_H
pandora::CartesianVector EigenValues
Definition: LArPcaHelper.h:21
std::pair< const pandora::CartesianVector, double > WeightedPoint
Definition: LArPcaHelper.h:23
std::vector< WeightedPoint > WeightedPointVector
Definition: LArPcaHelper.h:24
static void RunPca(const T &t, pandora::CartesianVector &centroid, EigenValues &outputEigenValues, EigenVectors &outputEigenVectors)
Run principal component analysis using input calo hits (TPC_VIEW_U,V,W or TPC_3D; all treated as 3D p...
std::vector< pandora::CartesianVector > EigenVectors
Definition: LArPcaHelper.h:22
LArPcaHelper class.
Definition: LArPcaHelper.h:18