ParticleRecoveryAlgorithm class. More...
#include <ParticleRecoveryAlgorithm.h>
Classes | |
class | SimpleOverlapTensor |
SimpleOverlapTensor class. More... | |
Public Member Functions | |
ParticleRecoveryAlgorithm () | |
Default constructor. More... | |
Private Member Functions | |
pandora::StatusCode | Run () |
void | GetInputClusters (pandora::ClusterList &inputClusterListU, pandora::ClusterList &inputClusterListV, pandora::ClusterList &inputClusterListW) const |
Get the input cluster lists for processing in this algorithm. More... | |
void | SelectInputClusters (const pandora::ClusterList &inputClusterList, pandora::ClusterList &selectedClusterList) const |
Select a subset of input clusters for processing in this algorithm. More... | |
void | StandardClusterSelection (const pandora::ClusterList &inputClusterList, pandora::ClusterList &selectedClusterList) const |
Select a subset of input clusters for processing in this algorithm. More... | |
void | VertexClusterSelection (const pandora::ClusterList &inputClusterList, pandora::ClusterList &selectedClusterList) const |
Select a subset of input clusters nodally associated with the vertices of existing particles. More... | |
void | FindOverlaps (const pandora::ClusterList &clusterList1, const pandora::ClusterList &clusterList2, SimpleOverlapTensor &overlapTensor) const |
Find cluster overlaps and record these in the overlap tensor. More... | |
bool | IsOverlap (const pandora::Cluster *const pCluster1, const pandora::Cluster *const pCluster2) const |
Whether two clusters overlap convincingly in x. More... | |
void | CalculateEffectiveOverlapFractions (const pandora::Cluster *const pCluster1, const float xMin1, const float xMax1, const pandora::Cluster *const pCluster2, const float xMin2, const float xMax2, float &xOverlapFraction1, float &xOverlapFraction2) const |
Calculate effective overlap fractions taking into account gaps. More... | |
void | CalculateEffectiveSpan (const pandora::Cluster *const pCluster, const float xMin, const float xMax, float &xMinEff, float &xMaxEff) const |
Calculate effective span for a given clsuter taking gaps into account. More... | |
void | ExamineTensor (const SimpleOverlapTensor &overlapTensor) const |
Identify unambiguous cluster overlaps and resolve ambiguous overlaps, creating new track particles. More... | |
bool | CheckConsistency (const pandora::Cluster *const pClusterU, const pandora::Cluster *const pClusterV, const pandora::Cluster *const pClusterW) const |
Whether a trio of clusters are consistent with representing projections of the same 3d trajectory. More... | |
void | CreateTrackParticle (const pandora::ClusterList &clusterList) const |
Create and save a track particle containing the provided clusters. More... | |
pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle) |
Private Attributes | |
pandora::StringVector | m_inputClusterListNames |
The list of cluster list names. More... | |
std::string | m_outputPfoListName |
The output pfo list name. More... | |
bool | m_checkGaps |
Whether to check for gaps in the calculation of the overlap. More... | |
unsigned int | m_minClusterCaloHits |
The min number of hits in base cluster selection method. More... | |
float | m_minClusterLengthSquared |
The min length (squared) in base cluster selection method. More... | |
float | m_minClusterXSpan |
The min x span required in order to consider a cluster. More... | |
bool | m_vertexClusterMode |
Whether to demand clusters are associated with vertices of existing particles. More... | |
float | m_minVertexLongitudinalDistance |
Vertex association check: min longitudinal distance cut. More... | |
float | m_maxVertexTransverseDistance |
Vertex association check: max transverse distance cut. More... | |
float | m_minXOverlapFraction |
The min x overlap fraction required in order to id overlapping clusters. More... | |
float | m_minXOverlapFractionGaps |
The min x overlap fraction when there are gaps involved. More... | |
float | m_sampleStepSize |
The sampling step size used in association checks, units cm. More... | |
unsigned int | m_slidingFitHalfWindow |
The half window for the fit sliding result constructor. More... | |
float | m_pseudoChi2Cut |
The selection cut on the matched chi2. More... | |
ParticleRecoveryAlgorithm class.
Definition at line 21 of file ParticleRecoveryAlgorithm.h.
lar_content::ParticleRecoveryAlgorithm::ParticleRecoveryAlgorithm | ( | ) |
Default constructor.
Definition at line 26 of file ParticleRecoveryAlgorithm.cc.
|
private |
Calculate effective overlap fractions taking into account gaps.
pCluster1 | address of the first cluster |
xMin1 | min x value of the first cluster |
xMax1 | max x value of the first cluster |
pCluster2 | address of the second cluster |
xMin2 | min x value of the second cluster |
xMax2 | max x value of the second cluster |
xOverlapFraction1 | to receive the effective overlap fraction for the first cluster |
xOverlapFraction2 | to receive the effective overlap fraction for the second cluster |
Definition at line 234 of file ParticleRecoveryAlgorithm.cc.
|
private |
Calculate effective span for a given clsuter taking gaps into account.
pCluster | address of the cluster |
xMin | the min x value above which checks for gaps will be performed |
xMax | the max x value below which checks for gaps will be performed |
xMinEff | to receive the effective min x value for the cluster, including adjacent gaps |
xMaxEff | to receive the effective max x value for the cluster, including adjacent gaps |
Definition at line 259 of file ParticleRecoveryAlgorithm.cc.
|
private |
Whether a trio of clusters are consistent with representing projections of the same 3d trajectory.
pClusterU | the address of cluster u |
pClusterV | the address of cluster v |
pClusterW | the address of cluster w |
Definition at line 341 of file ParticleRecoveryAlgorithm.cc.
|
private |
Create and save a track particle containing the provided clusters.
clusterList | the cluster list |
Definition at line 380 of file ParticleRecoveryAlgorithm.cc.
|
private |
Identify unambiguous cluster overlaps and resolve ambiguous overlaps, creating new track particles.
overlapTensor | the overlap tensor |
Definition at line 303 of file ParticleRecoveryAlgorithm.cc.
|
private |
Find cluster overlaps and record these in the overlap tensor.
clusterList1 | the first cluster list |
clusterList2 | the second cluster list |
overlapTensor | the overlap tensor |
Definition at line 188 of file ParticleRecoveryAlgorithm.cc.
|
private |
Get the input cluster lists for processing in this algorithm.
inputClusterListU | to receive the list of clusters in the u view |
inputClusterListU | to receive the list of clusters in the v view |
inputClusterListU | to receive the list of clusters in the w view |
Definition at line 65 of file ParticleRecoveryAlgorithm.cc.
|
private |
Whether two clusters overlap convincingly in x.
pCluster1 | address of the first cluster |
pCluster2 | address of the second cluster |
Definition at line 202 of file ParticleRecoveryAlgorithm.cc.
|
private |
Definition at line 481 of file ParticleRecoveryAlgorithm.cc.
|
private |
Definition at line 44 of file ParticleRecoveryAlgorithm.cc.
|
private |
Select a subset of input clusters for processing in this algorithm.
inputClusterList | the input cluster list |
selectedClusterList | to receive the selected cluster list |
Definition at line 96 of file ParticleRecoveryAlgorithm.cc.
|
private |
Select a subset of input clusters for processing in this algorithm.
inputClusterList | the input cluster list |
selectedClusterList | to receive the selected cluster list |
Definition at line 112 of file ParticleRecoveryAlgorithm.cc.
|
private |
Select a subset of input clusters nodally associated with the vertices of existing particles.
inputClusterList | the input cluster list |
selectedClusterList | to receive the selected cluster list |
Definition at line 139 of file ParticleRecoveryAlgorithm.cc.
|
private |
Whether to check for gaps in the calculation of the overlap.
Definition at line 180 of file ParticleRecoveryAlgorithm.h.
|
private |
The list of cluster list names.
Definition at line 177 of file ParticleRecoveryAlgorithm.h.
|
private |
Vertex association check: max transverse distance cut.
Definition at line 188 of file ParticleRecoveryAlgorithm.h.
|
private |
The min number of hits in base cluster selection method.
Definition at line 182 of file ParticleRecoveryAlgorithm.h.
|
private |
The min length (squared) in base cluster selection method.
Definition at line 183 of file ParticleRecoveryAlgorithm.h.
|
private |
The min x span required in order to consider a cluster.
Definition at line 184 of file ParticleRecoveryAlgorithm.h.
|
private |
Vertex association check: min longitudinal distance cut.
Definition at line 187 of file ParticleRecoveryAlgorithm.h.
|
private |
The min x overlap fraction required in order to id overlapping clusters.
Definition at line 190 of file ParticleRecoveryAlgorithm.h.
|
private |
The min x overlap fraction when there are gaps involved.
Definition at line 191 of file ParticleRecoveryAlgorithm.h.
|
private |
The output pfo list name.
Definition at line 178 of file ParticleRecoveryAlgorithm.h.
|
private |
The selection cut on the matched chi2.
Definition at line 194 of file ParticleRecoveryAlgorithm.h.
|
private |
The sampling step size used in association checks, units cm.
Definition at line 192 of file ParticleRecoveryAlgorithm.h.
|
private |
The half window for the fit sliding result constructor.
Definition at line 193 of file ParticleRecoveryAlgorithm.h.
|
private |
Whether to demand clusters are associated with vertices of existing particles.
Definition at line 186 of file ParticleRecoveryAlgorithm.h.