LArSoft
v07_13_02
Liquid Argon Software toolkit - http://larsoft.org/
|
HoughSeedFinderAlg class. More...
#include "HoughSeedFinderAlg.h"
Classes | |
class | AccumulatorBin |
struct | SortBinIndexList |
class | SortHoughClusterList |
Public Member Functions | |
HoughSeedFinderAlg (fhicl::ParameterSet const &pset) | |
Constructor. More... | |
virtual | ~HoughSeedFinderAlg () |
Destructor. More... | |
virtual void | reconfigure (fhicl::ParameterSet const &pset) |
a handler for the case where the algorithm control parameters are to be reset More... | |
virtual bool | findTrackSeeds (reco::HitPairListPtr &hitPairListPtr, reco::PrincipalComponents &inputPCA, SeedHitPairListPairVec &seedHitPairVec) const |
Given the list of hits this will search for candidate Seed objects and return them. More... | |
virtual bool | findTrackHits (reco::HitPairListPtr &hitPairListPtr, reco::PrincipalComponents &inputPCA, reco::HitPairListPtrList &hitPairListPtrList) const |
Given the list of hits this will return the sets of hits which belong on the same line. More... | |
Private Types | |
typedef std::pair< int, int > | BinIndex |
typedef std::map< BinIndex, AccumulatorBin > | RhoThetaAccumulatorBinMap |
typedef std::list< BinIndex > | HoughCluster |
typedef std::list< HoughCluster > | HoughClusterList |
Private Member Functions | |
void | findHitGaps (reco::HitPairListPtr &inputHitList, reco::HitPairListPtr &outputList) const |
Using Principal Components Axis, look for gaps in a list of 3D hits. More... | |
void | HoughRegionQuery (BinIndex &curBin, RhoThetaAccumulatorBinMap &rhoThetaAccumulatorBinMap, HoughCluster &neighborPts, size_t threshold) const |
void | expandHoughCluster (BinIndex &curBin, HoughCluster &neighborPts, HoughCluster &houghCluster, RhoThetaAccumulatorBinMap &rhoThetaAccumulatorBinMap, size_t threshold) const |
void | findHoughClusters (const reco::HitPairListPtr &inputHits, reco::PrincipalComponents &pca, int &nLoops, RhoThetaAccumulatorBinMap &rhoThetaMap, HoughClusterList &clusterList) const |
bool | buildSeed (reco::HitPairListPtr &seed3DHits, SeedHitPairListPair &seedHitPair) const |
Given a list of candidate "seed" 3D hits, build the seed and get associated unique 2D hits. More... | |
void | LineFit2DHits (std::set< const reco::ClusterHit2D * > &hitList, double XOrigin, TVector3 &Pos, TVector3 &Dir, double &ChiDOF) const |
Private Attributes | |
size_t | m_minimum3DHits |
int | m_thetaBins |
int | m_rhoBins |
size_t | m_hiThresholdMin |
double | m_hiThresholdFrac |
double | m_loThresholdFrac |
size_t | m_numSeed2DHits |
double | m_numAveDocas |
int | m_numSkippedHits |
int | m_maxLoopsPerCluster |
double | m_maximumGap |
geo::Geometry * | m_geometry |
PrincipalComponentsAlg | m_pcaAlg |
bool | m_displayHist |
std::vector< std::unique_ptr< TCanvas > > | m_Canvases |
Graphical trace canvases. More... | |
std::vector< TVirtualPad * > | m_Pads |
View pads in current canvas. More... | |
HoughSeedFinderAlg class.
Definition at line 33 of file HoughSeedFinderAlg.h.
|
private |
Definition at line 84 of file HoughSeedFinderAlg.h.
|
private |
Definition at line 90 of file HoughSeedFinderAlg.h.
|
private |
Definition at line 91 of file HoughSeedFinderAlg.h.
|
private |
Definition at line 89 of file HoughSeedFinderAlg.h.
lar_cluster3d::HoughSeedFinderAlg::HoughSeedFinderAlg | ( | fhicl::ParameterSet const & | pset | ) |
Constructor.
pset |
Definition at line 48 of file HoughSeedFinderAlg.cxx.
References m_geometry, and reconfigure().
|
virtual |
|
private |
Given a list of candidate "seed" 3D hits, build the seed and get associated unique 2D hits.
Definition at line 552 of file HoughSeedFinderAlg.cxx.
References reco::PrincipalComponents::getAveHitDoca(), reco::PrincipalComponents::getAvePosition(), reco::ClusterHit3D::getDocaToAxis(), reco::PrincipalComponents::getEigenVectors(), reco::ClusterHit3D::getHits(), reco::PrincipalComponents::getSvdOK(), LineFit2DHits(), m_minimum3DHits, m_numAveDocas, m_numSeed2DHits, m_numSkippedHits, m_pcaAlg, lar_cluster3d::PrincipalComponentsAlg::PCAAnalysis_3D(), and lar_cluster3d::PrincipalComponentsAlg::PCAAnalysis_calc3DDocas().
Referenced by findTrackSeeds().
|
private |
The workhorse routine for a DBScan like clustering routine to identify peak bins in Hough Space
Definition at line 228 of file HoughSeedFinderAlg.cxx.
References HoughRegionQuery(), lar_cluster3d::HoughSeedFinderAlg::AccumulatorBin::isInCluster(), lar_cluster3d::HoughSeedFinderAlg::AccumulatorBin::isVisited(), lar_cluster3d::HoughSeedFinderAlg::AccumulatorBin::setInCluster(), and lar_cluster3d::HoughSeedFinderAlg::AccumulatorBin::setVisited().
Referenced by findHoughClusters().
|
private |
Using Principal Components Axis, look for gaps in a list of 3D hits.
inputHitList | - input list of 3D hits to check |
pca | - Principal Components Axis to use |
hitListList | - output list of hit lists which are gap free |
Definition at line 306 of file HoughSeedFinderAlg.cxx.
References reco::PrincipalComponents::getSvdOK(), m_maximumGap, m_pcaAlg, lar_cluster3d::PrincipalComponentsAlg::PCAAnalysis_3D(), and lar_cluster3d::PrincipalComponentsAlg::PCAAnalysis_calc3DDocas().
Referenced by findTrackSeeds().
|
private |
Definition at line 374 of file HoughSeedFinderAlg.cxx.
References expandHoughCluster(), reco::PrincipalComponents::getAvePosition(), reco::PrincipalComponents::getEigenValues(), reco::PrincipalComponents::getEigenVectors(), reco::ClusterHit3D::getPosition(), reco::ClusterHit3D::getStatusBits(), HoughRegionQuery(), m_Canvases, m_displayHist, m_geometry, m_hiThresholdFrac, m_hiThresholdMin, m_loThresholdFrac, m_Pads, m_rhoBins, m_thetaBins, max, and geo::GeometryCore::WirePitch().
Referenced by findTrackHits(), and findTrackSeeds().
|
virtual |
Given the list of hits this will return the sets of hits which belong on the same line.
Definition at line 872 of file HoughSeedFinderAlg.cxx.
References findHoughClusters(), reco::PrincipalComponents::getEigenValues(), and m_minimum3DHits.
Referenced by lar_cluster3d::Cluster3D::splitClustersWithHough().
|
virtual |
Given the list of hits this will search for candidate Seed objects and return them.
Implements lar_cluster3d::SeedFinderAlgBase.
Definition at line 676 of file HoughSeedFinderAlg.cxx.
References buildSeed(), findHitGaps(), findHoughClusters(), reco::PrincipalComponents::getEigenValues(), reco::PrincipalComponents::getSvdOK(), m_maxLoopsPerCluster, m_minimum3DHits, m_pcaAlg, and lar_cluster3d::PrincipalComponentsAlg::PCAAnalysis_3D().
Referenced by lar_cluster3d::Cluster3D::findTrackSeeds().
|
private |
Does a query of nearest neighbors to look for matching bins
Definition at line 192 of file HoughSeedFinderAlg.cxx.
References m_thetaBins.
Referenced by expandHoughCluster(), and findHoughClusters().
|
private |
Definition at line 989 of file HoughSeedFinderAlg.cxx.
References geo::CryostatID::Cryostat, m_geometry, norm, geo::PlaneID::Plane, sw, geo::TPCID::TPC, w, geo::WireID::Wire, geo::GeometryCore::WireCoordinate(), geo::GeometryCore::WirePitch(), and x.
Referenced by buildSeed().
|
virtual |
a handler for the case where the algorithm control parameters are to be reset
Implements lar_cluster3d::SeedFinderAlgBase.
Definition at line 78 of file HoughSeedFinderAlg.cxx.
References fhicl::ParameterSet::get(), m_displayHist, m_hiThresholdFrac, m_hiThresholdMin, m_loThresholdFrac, m_maximumGap, m_maxLoopsPerCluster, m_minimum3DHits, m_numAveDocas, m_numSeed2DHits, m_numSkippedHits, m_pcaAlg, m_rhoBins, m_thetaBins, and lar_cluster3d::PrincipalComponentsAlg::reconfigure().
Referenced by HoughSeedFinderAlg(), and lar_cluster3d::Cluster3D::reconfigure().
|
mutableprivate |
Graphical trace canvases.
Definition at line 132 of file HoughSeedFinderAlg.h.
Referenced by findHoughClusters().
|
private |
Definition at line 131 of file HoughSeedFinderAlg.h.
Referenced by findHoughClusters(), and reconfigure().
|
private |
Definition at line 126 of file HoughSeedFinderAlg.h.
Referenced by findHoughClusters(), HoughSeedFinderAlg(), and LineFit2DHits().
|
private |
Definition at line 118 of file HoughSeedFinderAlg.h.
Referenced by findHoughClusters(), and reconfigure().
|
private |
Definition at line 117 of file HoughSeedFinderAlg.h.
Referenced by findHoughClusters(), and reconfigure().
|
private |
Definition at line 119 of file HoughSeedFinderAlg.h.
Referenced by findHoughClusters(), and reconfigure().
|
private |
Definition at line 124 of file HoughSeedFinderAlg.h.
Referenced by findHitGaps(), and reconfigure().
|
private |
Definition at line 123 of file HoughSeedFinderAlg.h.
Referenced by findTrackSeeds(), and reconfigure().
|
private |
Definition at line 114 of file HoughSeedFinderAlg.h.
Referenced by buildSeed(), findTrackHits(), findTrackSeeds(), and reconfigure().
|
private |
Definition at line 121 of file HoughSeedFinderAlg.h.
Referenced by buildSeed(), and reconfigure().
|
private |
Definition at line 120 of file HoughSeedFinderAlg.h.
Referenced by buildSeed(), and reconfigure().
|
private |
Definition at line 122 of file HoughSeedFinderAlg.h.
Referenced by buildSeed(), and reconfigure().
|
mutableprivate |
View pads in current canvas.
Definition at line 133 of file HoughSeedFinderAlg.h.
Referenced by findHoughClusters().
|
private |
Definition at line 129 of file HoughSeedFinderAlg.h.
Referenced by buildSeed(), findHitGaps(), findTrackSeeds(), and reconfigure().
|
private |
Definition at line 116 of file HoughSeedFinderAlg.h.
Referenced by findHoughClusters(), and reconfigure().
|
private |
Definition at line 115 of file HoughSeedFinderAlg.h.
Referenced by findHoughClusters(), HoughRegionQuery(), and reconfigure().