LArSoft
v06_85_00
Liquid Argon Software toolkit - http://larsoft.org/
|
#include "PrincipalComponentsAlg.h"
Public Member Functions | |
PrincipalComponentsAlg (fhicl::ParameterSet const &pset) | |
Constructor. More... | |
virtual | ~PrincipalComponentsAlg () |
Destructor. More... | |
void | reconfigure (fhicl::ParameterSet const &pset) |
a handler for the case where the algorithm control parameters are to be reset More... | |
void | PCAAnalysis (const reco::HitPairListPtr &hitPairVector, reco::PrincipalComponents &pca, float doca3DScl=3.) const |
Run the Principal Components Analysis. More... | |
void | PCAAnalysis_3D (const reco::HitPairListPtr &hitPairList, reco::PrincipalComponents &pca, bool skeletonOnly=false) const |
void | PCAAnalysis_2D (const reco::HitPairListPtr &hitPairVector, reco::PrincipalComponents &pca, bool updateAvePos=false) const |
void | PCAAnalysis_calc3DDocas (const reco::HitPairListPtr &hitPairVector, const reco::PrincipalComponents &pca) const |
void | PCAAnalysis_calc2DDocas (const reco::Hit2DListPtr &hit2DVector, const reco::PrincipalComponents &pca) const |
int | PCAAnalysis_reject2DOutliers (const reco::HitPairListPtr &hitPairVector, reco::PrincipalComponents &pca, float aveHitDoca) const |
int | PCAAnalysis_reject3DOutliers (const reco::HitPairListPtr &hitPairVector, const reco::PrincipalComponents &pca, float aveHitDoca) const |
Private Member Functions | |
void | getHit2DPocaToAxis (const Eigen::Vector3f &axisPos, const Eigen::Vector3f &axisDir, const reco::ClusterHit2D *hit2D, Eigen::Vector3f &poca, float &arcLenAxis, float &arcLenWire, float &doca) |
This is used to get the poca, doca and arclen along cluster axis to 2D hit. More... | |
Private Attributes | |
float | m_parallel |
means lines are parallel More... | |
geo::Geometry * | m_geometry |
const detinfo::DetectorProperties * | m_detector |
Cluster3D class.
Definition at line 39 of file PrincipalComponentsAlg.h.
lar_cluster3d::PrincipalComponentsAlg::PrincipalComponentsAlg | ( | fhicl::ParameterSet const & | pset | ) |
Constructor.
pset |
Definition at line 35 of file PrincipalComponentsAlg.cxx.
References reconfigure().
|
virtual |
|
private |
This is used to get the poca, doca and arclen along cluster axis to 2D hit.
Definition at line 55 of file PrincipalComponentsAlg.cxx.
References detinfo::DetectorProperties::ConvertTicksToX(), geo::CryostatID::Cryostat, d, den, geo::WireGeo::Direction(), e, geo::WireGeo::GetCenter(), reco::ClusterHit2D::getHit(), m_detector, m_geometry, m_parallel, recob::Hit::PeakTime(), geo::PlaneID::Plane, geo::TPCID::TPC, recob::Hit::WireID(), and geo::GeometryCore::WireIDToWireGeo().
void lar_cluster3d::PrincipalComponentsAlg::PCAAnalysis | ( | const reco::HitPairListPtr & | hitPairVector, |
reco::PrincipalComponents & | pca, | ||
float | doca3DScl = 3. |
||
) | const |
Run the Principal Components Analysis.
Definition at line 151 of file PrincipalComponentsAlg.cxx.
References reco::PrincipalComponents::getAveHitDoca(), reco::PrincipalComponents::getEigenValues(), reco::PrincipalComponents::getEigenVectors(), reco::PrincipalComponents::getSvdOK(), PCAAnalysis_2D(), PCAAnalysis_3D(), PCAAnalysis_reject2DOutliers(), and PCAAnalysis_reject3DOutliers().
void lar_cluster3d::PrincipalComponentsAlg::PCAAnalysis_2D | ( | const reco::HitPairListPtr & | hitPairVector, |
reco::PrincipalComponents & | pca, | ||
bool | updateAvePos = false |
||
) | const |
Definition at line 356 of file PrincipalComponentsAlg.cxx.
References detinfo::DetectorProperties::ConvertTicksToX(), geo::CryostatID::Cryostat, d, den, geo::WireGeo::Direction(), e, reco::PrincipalComponents::getAvePosition(), geo::WireGeo::GetCenter(), reco::PrincipalComponents::getEigenVectors(), art::left(), m_detector, m_geometry, m_parallel, geo::PlaneID::Plane, art::right(), geo::TPCID::TPC, geo::GeometryCore::WireIDToWireGeo(), x, y, and z.
Referenced by PCAAnalysis().
void lar_cluster3d::PrincipalComponentsAlg::PCAAnalysis_3D | ( | const reco::HitPairListPtr & | hitPairList, |
reco::PrincipalComponents & | pca, | ||
bool | skeletonOnly = false |
||
) | const |
Definition at line 220 of file PrincipalComponentsAlg.cxx.
References art::left(), max, art::right(), reco::ClusterHit3D::SKELETONHIT, weight, x, y, and z.
Referenced by lar_cluster3d::ClusterPathFinder::breakIntoTinyBits(), lar_cluster3d::VoronoiPathFinder::breakIntoTinyBits(), lar_cluster3d::HoughSeedFinderAlg::buildSeed(), lar_cluster3d::MinSpanTreeAlg::CheckHitSorting(), lar_cluster3d::ClusterParamsBuilder::FillClusterParams(), lar_cluster3d::MinSpanTreeAlg::FindBestPathInCluster(), lar_cluster3d::HoughSeedFinderAlg::findHitGaps(), lar_cluster3d::HoughSeedFinderAlg::findTrackSeeds(), lar_cluster3d::ParallelHitsSeedFinderAlg::findTrackSeeds(), lar_cluster3d::PCASeedFinderAlg::getHitsAtEnd(), lar_cluster3d::ClusterMergeAlg::mergeClusters(), PCAAnalysis(), and lar_cluster3d::Cluster3D::splitClustersWithHough().
void lar_cluster3d::PrincipalComponentsAlg::PCAAnalysis_calc2DDocas | ( | const reco::Hit2DListPtr & | hit2DVector, |
const reco::PrincipalComponents & | pca | ||
) | const |
Definition at line 645 of file PrincipalComponentsAlg.cxx.
References geo::WireGeo::Direction(), reco::PrincipalComponents::getAvePosition(), geo::WireGeo::GetCenter(), reco::PrincipalComponents::getEigenValues(), reco::PrincipalComponents::getEigenVectors(), geo::WireGeo::HalfL(), m_geometry, min, reco::PrincipalComponents::setAveHitDoca(), and geo::GeometryCore::WireIDToWireGeo().
void lar_cluster3d::PrincipalComponentsAlg::PCAAnalysis_calc3DDocas | ( | const reco::HitPairListPtr & | hitPairVector, |
const reco::PrincipalComponents & | pca | ||
) | const |
Definition at line 593 of file PrincipalComponentsAlg.cxx.
References reco::PrincipalComponents::getAvePosition(), reco::PrincipalComponents::getEigenVectors(), and reco::PrincipalComponents::setAveHitDoca().
Referenced by lar_cluster3d::ClusterPathFinder::breakIntoTinyBits(), lar_cluster3d::VoronoiPathFinder::breakIntoTinyBits(), lar_cluster3d::HoughSeedFinderAlg::buildSeed(), lar_cluster3d::HoughSeedFinderAlg::findHitGaps(), lar_cluster3d::PCASeedFinderAlg::findTrackSeeds(), lar_cluster3d::ParallelHitsSeedFinderAlg::findTrackSeeds(), and lar_cluster3d::Cluster3D::splitClustersWithHough().
int lar_cluster3d::PrincipalComponentsAlg::PCAAnalysis_reject2DOutliers | ( | const reco::HitPairListPtr & | hitPairVector, |
reco::PrincipalComponents & | pca, | ||
float | aveHitDoca | ||
) | const |
int lar_cluster3d::PrincipalComponentsAlg::PCAAnalysis_reject3DOutliers | ( | const reco::HitPairListPtr & | hitPairVector, |
const reco::PrincipalComponents & | pca, | ||
float | aveHitDoca | ||
) | const |
Definition at line 759 of file PrincipalComponentsAlg.cxx.
References reco::PrincipalComponents::getAvePosition(), and reco::PrincipalComponents::getEigenVectors().
Referenced by PCAAnalysis().
void lar_cluster3d::PrincipalComponentsAlg::reconfigure | ( | fhicl::ParameterSet const & | pset | ) |
a handler for the case where the algorithm control parameters are to be reset
Definition at line 46 of file PrincipalComponentsAlg.cxx.
References fhicl::ParameterSet::get(), m_detector, m_geometry, and m_parallel.
Referenced by PrincipalComponentsAlg(), lar_cluster3d::HoughSeedFinderAlg::reconfigure(), lar_cluster3d::PCASeedFinderAlg::reconfigure(), lar_cluster3d::ParallelHitsSeedFinderAlg::reconfigure(), cosmic::CosmicPCAxisTagger::reconfigure(), and lar_cluster3d::Cluster3D::reconfigure().
|
private |
Definition at line 93 of file PrincipalComponentsAlg.h.
Referenced by getHit2DPocaToAxis(), PCAAnalysis_2D(), and reconfigure().
|
private |
Definition at line 92 of file PrincipalComponentsAlg.h.
Referenced by getHit2DPocaToAxis(), PCAAnalysis_2D(), PCAAnalysis_calc2DDocas(), and reconfigure().
|
private |
means lines are parallel
Definition at line 90 of file PrincipalComponentsAlg.h.
Referenced by getHit2DPocaToAxis(), PCAAnalysis_2D(), and reconfigure().