LArSoft
v07_13_02
Liquid Argon Software toolkit - http://larsoft.org/
|
Public Member Functions | |
ClusterMergeAlg (const fhicl::ParameterSet &) | |
Constructor. More... | |
~ClusterMergeAlg () | |
Destructor. More... | |
void | configure (fhicl::ParameterSet const &pset) override |
void | initializeHistograms (art::TFileDirectory &) override |
Interface for initializing histograms if they are desired Note that the idea is to put hisgtograms in a subfolder. More... | |
void | ModifyClusters (reco::ClusterParametersList &) const override |
Scan an input collection of clusters and modify those according to the specific implementing algorithm. More... | |
float | getTimeToExecute () const override |
If monitoring, recover the time to execute a particular function. More... | |
virtual void | configure (const fhicl::ParameterSet &)=0 |
Interface for configuring the particular algorithm tool. More... | |
Private Member Functions | |
bool | consistentClusters (const reco::PrincipalComponents &, const reco::PrincipalComponents &) const |
bool | mergeClusters (reco::ClusterParameters &, reco::ClusterParameters &) const |
float | closestApproach (const TVector3 &, const TVector3 &, const TVector3 &, const TVector3 &, TVector3 &, TVector3 &) const |
Private Attributes | |
bool | m_enableMonitoring |
Data members to follow. More... | |
double | m_minCosAxisAng |
minimum Cos(angle) cut value More... | |
double | m_minEigenToProcess |
Don't look anymore at clusters below this size. More... | |
float | m_timeToProcess |
geo::Geometry * | m_geometry |
PrincipalComponentsAlg | m_pcaAlg |
Definition at line 38 of file ClusterMergeAlg_tool.cc.
|
explicit |
Constructor.
pset |
lar_cluster3d::ClusterMergeAlg::~ClusterMergeAlg | ( | ) |
|
private |
Definition at line 438 of file ClusterMergeAlg_tool.cc.
References d, DEFINE_ART_CLASS_TOOL, den, and e.
Referenced by consistentClusters(), and getTimeToExecute().
|
pure virtualinherited |
Interface for configuring the particular algorithm tool.
ParameterSet | The input set of parameters for configuration |
|
override |
Definition at line 111 of file ClusterMergeAlg_tool.cc.
References fhicl::ParameterSet::get(), m_enableMonitoring, m_geometry, m_minCosAxisAng, m_minEigenToProcess, and m_timeToProcess.
|
private |
Definition at line 204 of file ClusterMergeAlg_tool.cc.
References closestApproach(), reco::PrincipalComponents::getAvePosition(), reco::PrincipalComponents::getEigenValues(), reco::PrincipalComponents::getEigenVectors(), and max.
Referenced by getTimeToExecute(), and ModifyClusters().
|
inlineoverridevirtual |
If monitoring, recover the time to execute a particular function.
Implements lar_cluster3d::IClusterModAlg.
Definition at line 74 of file ClusterMergeAlg_tool.cc.
References closestApproach(), consistentClusters(), m_timeToProcess, and mergeClusters().
|
overridevirtual |
Interface for initializing histograms if they are desired Note that the idea is to put hisgtograms in a subfolder.
TFileDirectory | - the folder to store the hists in |
Implements lar_cluster3d::IClusterModAlg.
Definition at line 126 of file ClusterMergeAlg_tool.cc.
|
private |
Definition at line 372 of file ClusterMergeAlg_tool.cc.
References reco::PrincipalComponents::getAvePosition(), reco::PrincipalComponents::getEigenValues(), reco::PrincipalComponents::getEigenVectors(), reco::ClusterParameters::getFullPCA(), reco::ClusterParameters::getHit3DToEdgeMap(), reco::ClusterParameters::getHitPairListPtr(), reco::ClusterParameters::getSkeletonPCA(), reco::PrincipalComponents::getSvdOK(), m_pcaAlg, lar_cluster3d::PrincipalComponentsAlg::PCAAnalysis_3D(), and reco::ClusterParameters::UpdateParameters().
Referenced by getTimeToExecute(), and ModifyClusters().
|
overridevirtual |
Scan an input collection of clusters and modify those according to the specific implementing algorithm.
clusterParametersList | A list of cluster objects (parameters from associated hits) |
Top level interface for algorithm to consider pairs of clusters from the input list and determine if they are consistent with each other and, therefore, should be merged. This is done by looking at the PCA for each cluster and looking at the projection of the primary axis along the vector connecting their centers.
Implements lar_cluster3d::IClusterModAlg.
Definition at line 131 of file ClusterMergeAlg_tool.cc.
References consistentClusters(), reco::PrincipalComponents::getEigenValues(), reco::ClusterParameters::getFullPCA(), art::left(), m_enableMonitoring, m_minEigenToProcess, m_timeToProcess, mergeClusters(), and art::right().
|
private |
Data members to follow.
Definition at line 87 of file ClusterMergeAlg_tool.cc.
Referenced by configure(), and ModifyClusters().
|
private |
Definition at line 92 of file ClusterMergeAlg_tool.cc.
Referenced by configure().
|
private |
minimum Cos(angle) cut value
Definition at line 88 of file ClusterMergeAlg_tool.cc.
Referenced by configure().
|
private |
Don't look anymore at clusters below this size.
Definition at line 89 of file ClusterMergeAlg_tool.cc.
Referenced by configure(), and ModifyClusters().
|
private |
Definition at line 94 of file ClusterMergeAlg_tool.cc.
Referenced by mergeClusters().
|
mutableprivate |
Definition at line 90 of file ClusterMergeAlg_tool.cc.
Referenced by configure(), getTimeToExecute(), and ModifyClusters().