LongitudinalAssociationAlgorithm class. More...
#include <LongitudinalAssociationAlgorithm.h>
Public Member Functions | |
LongitudinalAssociationAlgorithm () | |
Default constructor. More... | |
Public Member Functions inherited from lar_content::ClusterAssociationAlgorithm | |
ClusterAssociationAlgorithm () | |
Default constructor. More... | |
Private Member Functions | |
pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle) |
void | GetListOfCleanClusters (const pandora::ClusterList *const pClusterList, pandora::ClusterVector &clusterVector) const |
Populate cluster vector with subset of cluster list, containing clusters judged to be clean. More... | |
void | PopulateClusterAssociationMap (const pandora::ClusterVector &clusterVector, ClusterAssociationMap &clusterAssociationMap) const |
Populate the cluster association map. More... | |
bool | IsExtremalCluster (const bool isForward, const pandora::Cluster *const pCurrentCluster, const pandora::Cluster *const pTestCluster) const |
Determine which of two clusters is extremal. More... | |
bool | AreClustersAssociated (const pandora::Cluster *const pInnerCluster, const pandora::Cluster *const pOuterCluster) const |
Determine whether two clusters are associated. More... | |
bool | AreClustersAssociated (const pandora::CartesianVector &innerClusterEnd, const pandora::CartesianVector &outerClusterStart, const pandora::ClusterFitResult &innerFit, const pandora::ClusterFitResult &outerFit) const |
Determine whether two clusters are associated. More... | |
Private Attributes | |
unsigned int | m_minClusterLayers |
minimum allowed number of layers for a clean cluster More... | |
unsigned int | m_maxGapLayers |
maximum allowed number of layers between associated clusters More... | |
unsigned int | m_fitLayers |
number of layers to fit at start and end of cluster More... | |
float | m_maxGapDistanceSquared |
maximum allowed distance (squared) between associated clusters More... | |
float | m_minCosRelativeAngle |
maximum allowed relative angle between associated clusters More... | |
float | m_maxTransverseDisplacement |
maximum allowed transverse displacement after extrapolation (normalised to cell size) More... | |
float | m_maxLongitudinalDisplacement |
maximum allowed longitudinal displacement after extrapolation (normalised to cell size) More... | |
float | m_hitSizeZ |
estimated hit size in z (wire number) dimension, units cm More... | |
float | m_hitSizeX |
estimated hit size in x (drift time) dimension, units cm More... | |
Additional Inherited Members | |
Protected Types inherited from lar_content::ClusterAssociationAlgorithm | |
typedef std::unordered_map< const pandora::Cluster *, ClusterAssociation > | ClusterAssociationMap |
Protected Member Functions inherited from lar_content::ClusterAssociationAlgorithm | |
virtual pandora::StatusCode | Run () |
LongitudinalAssociationAlgorithm class.
Definition at line 23 of file LongitudinalAssociationAlgorithm.h.
lar_content::LongitudinalAssociationAlgorithm::LongitudinalAssociationAlgorithm | ( | ) |
Default constructor.
Definition at line 20 of file LongitudinalAssociationAlgorithm.cc.
|
private |
Determine whether two clusters are associated.
pInnerCluster | address of the inner cluster |
pOuterCluster | address of the outer cluster |
|
private |
Determine whether two clusters are associated.
innerClusterEnd | inner cluster end position |
outerClusterStart | outer cluster start position |
innerFit | inner cluster fit result |
outerFit | outer cluster fit result |
|
privatevirtual |
Populate cluster vector with subset of cluster list, containing clusters judged to be clean.
pClusterList | address of the cluster list |
clusterVector | to receive the populated cluster vector |
Implements lar_content::ClusterAssociationAlgorithm.
Definition at line 35 of file LongitudinalAssociationAlgorithm.cc.
|
privatevirtual |
Determine which of two clusters is extremal.
isForward | whether propagation direction is forward |
pCurrentCluster | current extremal cluster |
pTestCluster | potential extremal cluster |
Implements lar_content::ClusterAssociationAlgorithm.
Definition at line 77 of file LongitudinalAssociationAlgorithm.cc.
|
privatevirtual |
Populate the cluster association map.
clusterVector | the cluster vector |
clusterAssociationMap | to receive the populated cluster association map |
Implements lar_content::ClusterAssociationAlgorithm.
Definition at line 52 of file LongitudinalAssociationAlgorithm.cc.
|
privatevirtual |
Reimplemented from lar_content::ClusterAssociationAlgorithm.
Definition at line 183 of file LongitudinalAssociationAlgorithm.cc.
|
private |
number of layers to fit at start and end of cluster
Definition at line 62 of file LongitudinalAssociationAlgorithm.h.
|
private |
estimated hit size in x (drift time) dimension, units cm
Definition at line 68 of file LongitudinalAssociationAlgorithm.h.
|
private |
estimated hit size in z (wire number) dimension, units cm
Definition at line 67 of file LongitudinalAssociationAlgorithm.h.
|
private |
maximum allowed distance (squared) between associated clusters
Definition at line 63 of file LongitudinalAssociationAlgorithm.h.
|
private |
maximum allowed number of layers between associated clusters
Definition at line 61 of file LongitudinalAssociationAlgorithm.h.
|
private |
maximum allowed longitudinal displacement after extrapolation (normalised to cell size)
Definition at line 66 of file LongitudinalAssociationAlgorithm.h.
|
private |
maximum allowed transverse displacement after extrapolation (normalised to cell size)
Definition at line 65 of file LongitudinalAssociationAlgorithm.h.
|
private |
minimum allowed number of layers for a clean cluster
Definition at line 60 of file LongitudinalAssociationAlgorithm.h.
|
private |
maximum allowed relative angle between associated clusters
Definition at line 64 of file LongitudinalAssociationAlgorithm.h.