Pandora
Pandora source code navigator
|
ParticleRecoveryAlgorithm class. More...
#include "ParticleRecoveryAlgorithm.h"
Classes | |
class | SimpleOverlapTensor |
SimpleOverlapTensor class. More... | |
Public Member Functions | |
ParticleRecoveryAlgorithm () | |
Default constructor. | |
const std::string & | GetType () const |
Get the type. | |
const std::string & | GetInstanceName () const |
Get the instance name. | |
const Pandora & | GetPandora () const |
Get the associated pandora instance. | |
Protected Member Functions | |
virtual StatusCode | Initialize () |
Perform any operations that must occur after reading settings, but before running the process. | |
virtual StatusCode | Reset () |
Perform any operations when pandora is reset, typically at the end of each event. | |
StatusCode | RegisterDetails (const Pandora *const pPandora, const std::string &type, const std::string &instanceName) |
Register i) the pandora instance that will run the process and ii) the process type. | |
Protected Attributes | |
const Pandora * | m_pPandora |
The pandora object that will run the process. | |
std::string | m_type |
The process type. | |
std::string | m_instanceName |
The process instance name. | |
Private Member Functions | |
pandora::StatusCode | Run () |
Run the algorithm. | |
void | GetInputClusters (pandora::ClusterList &inputClusterListU, pandora::ClusterList &inputClusterListV, pandora::ClusterList &inputClusterListW) const |
Get the input cluster lists for processing in this algorithm. | |
void | SelectInputClusters (const pandora::ClusterList &inputClusterList, pandora::ClusterList &selectedClusterList) const |
Select a subset of input clusters for processing in this algorithm. | |
void | StandardClusterSelection (const pandora::ClusterList &inputClusterList, pandora::ClusterList &selectedClusterList) const |
Select a subset of input clusters for processing in this algorithm. | |
void | VertexClusterSelection (const pandora::ClusterList &inputClusterList, pandora::ClusterList &selectedClusterList) const |
Select a subset of input clusters nodally associated with the vertices of existing particles. | |
void | FindOverlaps (const pandora::ClusterList &clusterList1, const pandora::ClusterList &clusterList2, SimpleOverlapTensor &overlapTensor) const |
Find cluster overlaps and record these in the overlap tensor. | |
bool | IsOverlap (const pandora::Cluster *const pCluster1, const pandora::Cluster *const pCluster2) const |
Whether two clusters overlap convincingly in x. | |
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. | |
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. | |
void | ExamineTensor (const SimpleOverlapTensor &overlapTensor) const |
Identify unambiguous cluster overlaps and resolve ambiguous overlaps, creating new track particles. | |
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. | |
void | CreateTrackParticle (const pandora::ClusterList &clusterList) const |
Create and save a track particle containing the provided clusters. | |
pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle) |
Read the algorithm settings. | |
Private Attributes | |
pandora::StringVector | m_inputClusterListNames |
The list of cluster list names. | |
std::string | m_outputPfoListName |
The output pfo list name. | |
bool | m_checkGaps |
Whether to check for gaps in the calculation of the overlap. | |
unsigned int | m_minClusterCaloHits |
The min number of hits in base cluster selection method. | |
float | m_minClusterLengthSquared |
The min length (squared) in base cluster selection method. | |
float | m_minClusterXSpan |
The min x span required in order to consider a cluster. | |
bool | m_vertexClusterMode |
Whether to demand clusters are associated with vertices of existing particles. | |
float | m_minVertexLongitudinalDistance |
Vertex association check: min longitudinal distance cut. | |
float | m_maxVertexTransverseDistance |
Vertex association check: max transverse distance cut. | |
float | m_minXOverlapFraction |
The min x overlap fraction required in order to id overlapping clusters. | |
float | m_minXOverlapFractionGaps |
The min x overlap fraction when there are gaps involved. | |
float | m_sampleStepSize |
The sampling step size used in association checks, units cm. | |
unsigned int | m_slidingFitHalfWindow |
The half window for the fit sliding result constructor. | |
float | m_pseudoChi2Cut |
The selection cut on the matched chi2. | |
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.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineprotectedvirtualinherited |
Perform any operations that must occur after reading settings, but before running the process.
Reimplemented in lar_content::BdtBeamParticleIdTool, lar_content::BeamParticleIdTool, lar_content::CosmicRayTaggingTool, lar_content::EventReadingAlgorithm, lar_content::EventWritingAlgorithm, lar_content::LArPseudoLayerPlugin, lar_content::LArRotationalTransformationPlugin, EventReadingAlgorithm, and EventWritingAlgorithm.
Definition at line 126 of file Process.h.
|
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.
|
privatevirtual |
Read the algorithm settings.
xmlHandle | the relevant xml handle |
Implements pandora::Process.
Definition at line 481 of file ParticleRecoveryAlgorithm.cc.
|
inlineprotectedinherited |
Register i) the pandora instance that will run the process and ii) the process type.
pPandora | address of the pandora object that will run the process |
type | the process type |
instanceName | the process instance name |
Definition at line 146 of file Process.h.
|
inlineprotectedvirtualinherited |
Perform any operations when pandora is reset, typically at the end of each event.
Reimplemented in lar_content::MasterAlgorithm, lar_content::PostProcessingAlgorithm, and lar_content::PreProcessingAlgorithm.
Definition at line 133 of file Process.h.
|
privatevirtual |
Run the algorithm.
Implements pandora::Algorithm.
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.
|
protectedinherited |
|
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.
|
protectedinherited |
|
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.
|
protectedinherited |
|
private |
Whether to demand clusters are associated with vertices of existing particles.
Definition at line 186 of file ParticleRecoveryAlgorithm.h.