CrossGapsAssociationAlgorithm class. More...
#include <CrossGapsAssociationAlgorithm.h>
Public Member Functions | |
CrossGapsAssociationAlgorithm () | |
Default constructor. More... | |
Public Member Functions inherited from lar_content::ClusterAssociationAlgorithm | |
ClusterAssociationAlgorithm () | |
Default constructor. More... | |
Private Member Functions | |
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 TwoDSlidingFitResult &innerFitResult, const TwoDSlidingFitResult &outerFitResult) const |
Determine whether two clusters are associated. More... | |
bool | IsAssociated (const pandora::CartesianVector &startPosition, const pandora::CartesianVector &startDirection, const TwoDSlidingFitResult &targetFitResult) const |
Sample points along the extrapolation from a starting position to a target fit result to declare cluster association. More... | |
bool | IsNearCluster (const pandora::CartesianVector &samplingPoint, const TwoDSlidingFitResult &targetFitResult) const |
Whether a sampling point lies near a target 2d sliding fit result. More... | |
pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle) |
Private Attributes | |
unsigned int | m_minClusterHits |
The minimum allowed number of hits in a clean cluster. More... | |
unsigned int | m_minClusterLayers |
The minimum allowed number of layers for a clean cluster. More... | |
unsigned int | m_slidingFitWindow |
The layer window for the sliding linear fits. More... | |
unsigned int | m_maxSamplingPoints |
The maximum number of extension sampling points considered per association check. More... | |
float | m_sampleStepSize |
The sampling step size used in association checks, units cm. More... | |
unsigned int | m_maxUnmatchedSampleRun |
The maximum run of unmatched (and non-gap) samples to consider before stopping. More... | |
float | m_maxOnClusterDistance |
The maximum distance between a sampling point and sliding fit to target cluster. More... | |
unsigned int | m_minMatchedSamplingPoints |
Minimum number of matched sampling points to declare association. More... | |
float | m_minMatchedSamplingFraction |
Minimum ratio between matched sampling points and expectation to declare association. More... | |
float | m_gapTolerance |
The tolerance to use when querying whether a sampling point is in a gap, 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 () |
CrossGapsAssociationAlgorithm class.
Definition at line 23 of file CrossGapsAssociationAlgorithm.h.
lar_content::CrossGapsAssociationAlgorithm::CrossGapsAssociationAlgorithm | ( | ) |
Default constructor.
Definition at line 21 of file CrossGapsAssociationAlgorithm.cc.
|
private |
Determine whether two clusters are associated.
innerFitResult | two dimensional sliding fit result for the inner cluster |
outerFitResult | two dimensional sliding fit result for the outer cluster |
Definition at line 124 of file CrossGapsAssociationAlgorithm.cc.
|
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 37 of file CrossGapsAssociationAlgorithm.cc.
|
private |
Sample points along the extrapolation from a starting position to a target fit result to declare cluster association.
startPosition | the start position |
startDirection | the start direction |
targetFitResult | the target fit result |
Definition at line 138 of file CrossGapsAssociationAlgorithm.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 108 of file CrossGapsAssociationAlgorithm.cc.
|
private |
Whether a sampling point lies near a target 2d sliding fit result.
samplingPoint | the sampling point |
targetFitResult | the target fit result |
Definition at line 178 of file CrossGapsAssociationAlgorithm.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 59 of file CrossGapsAssociationAlgorithm.cc.
|
privatevirtual |
Reimplemented from lar_content::ClusterAssociationAlgorithm.
Definition at line 204 of file CrossGapsAssociationAlgorithm.cc.
|
private |
The tolerance to use when querying whether a sampling point is in a gap, units cm.
Definition at line 79 of file CrossGapsAssociationAlgorithm.h.
|
private |
The maximum distance between a sampling point and sliding fit to target cluster.
Definition at line 76 of file CrossGapsAssociationAlgorithm.h.
|
private |
The maximum number of extension sampling points considered per association check.
Definition at line 73 of file CrossGapsAssociationAlgorithm.h.
|
private |
The maximum run of unmatched (and non-gap) samples to consider before stopping.
Definition at line 75 of file CrossGapsAssociationAlgorithm.h.
|
private |
The minimum allowed number of hits in a clean cluster.
Definition at line 70 of file CrossGapsAssociationAlgorithm.h.
|
private |
The minimum allowed number of layers for a clean cluster.
Definition at line 71 of file CrossGapsAssociationAlgorithm.h.
|
private |
Minimum ratio between matched sampling points and expectation to declare association.
Definition at line 78 of file CrossGapsAssociationAlgorithm.h.
|
private |
Minimum number of matched sampling points to declare association.
Definition at line 77 of file CrossGapsAssociationAlgorithm.h.
|
private |
The sampling step size used in association checks, units cm.
Definition at line 74 of file CrossGapsAssociationAlgorithm.h.
|
private |
The layer window for the sliding linear fits.
Definition at line 72 of file CrossGapsAssociationAlgorithm.h.