LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
LArPcaHelper class. More...
#include "LArPcaHelper.h"
Public Types | |
typedef pandora::CartesianVector | EigenValues |
typedef std::vector< pandora::CartesianVector > | EigenVectors |
typedef std::pair< const pandora::CartesianVector, double > | WeightedPoint |
typedef std::vector< WeightedPoint > | WeightedPointVector |
Public Member Functions | |
template<typename T > | |
void | RunPca (const T &t, CartesianVector ¢roid, EigenValues &outputEigenValues, EigenVectors &outputEigenVectors) |
Static Public Member Functions | |
template<typename T > | |
static void | RunPca (const T &t, pandora::CartesianVector ¢roid, EigenValues &outputEigenValues, EigenVectors &outputEigenVectors) |
Run principal component analysis using input calo hits (TPC_VIEW_U,V,W or TPC_3D; all treated as 3D points) More... | |
static void | RunPca (const WeightedPointVector &pointVector, pandora::CartesianVector ¢roid, EigenValues &outputEigenValues, EigenVectors &outputEigenVectors) |
Run principal component analysis using weighted input Cartesian vectors (TPC_VIEW_U,V,W or TPC_3D; all treated as 3D points) More... | |
LArPcaHelper class.
Definition at line 21 of file LArPcaHelper.h.
typedef pandora::CartesianVector lar_content::LArPcaHelper::EigenValues |
Definition at line 24 of file LArPcaHelper.h.
typedef std::vector<pandora::CartesianVector> lar_content::LArPcaHelper::EigenVectors |
Definition at line 25 of file LArPcaHelper.h.
typedef std::pair<const pandora::CartesianVector, double> lar_content::LArPcaHelper::WeightedPoint |
Definition at line 26 of file LArPcaHelper.h.
typedef std::vector<WeightedPoint> lar_content::LArPcaHelper::WeightedPointVector |
Definition at line 27 of file LArPcaHelper.h.
void lar_content::LArPcaHelper::RunPca | ( | const T & | t, |
CartesianVector & | centroid, | ||
EigenValues & | outputEigenValues, | ||
EigenVectors & | outputEigenVectors | ||
) |
Definition at line 21 of file LArPcaHelper.cc.
References art::left(), art::right(), weight, x, y, and z.
|
static |
Run principal component analysis using input calo hits (TPC_VIEW_U,V,W or TPC_3D; all treated as 3D points)
t | the input information |
centroid | to receive the centroid position |
outputEigenValues | to receive the eigen values |
outputEigenVectors | to receive the eigen vectors |
Referenced by lar_content::TwoDSlidingFitResult::CalculateAxes(), lar_content::HitWidthClusterMergingAlgorithm::GetFittingAxes(), lar_content::ThreeDSlidingFitResult::GetGlobalDirection(), lar_content::TwoViewTransverseTracksAlgorithm::GetPrimaryAxisDotDriftAxis(), lar_content::BdtBeamParticleIdTool::SliceFeatureParameters::Initialize(), lar_content::VertexRefinementAlgorithm::RefineVertexTwoD(), lar_content::ConeChargeFeatureTool::Run(), lar_content::ThreeDOpeningAngleFeatureTool::Run(), lar_content::ThreeDPCAFeatureTool::Run(), lar_content::BeamParticleIdTool::SelectOutputPfos(), and lar_content::NeutrinoIdTool< T >::SliceFeatures::SliceFeatures().
|
static |
Run principal component analysis using weighted input Cartesian vectors (TPC_VIEW_U,V,W or TPC_3D; all treated as 3D points)
pointVector | a vector of pairs of positions and weights |
centroid | to receive the centroid position |
outputEigenValues | to receive the eigen values |
outputEigenVectors | to receive the eigen vectors |