MissingTrackSegmentTool class. More...
#include <MissingTrackSegmentTool.h>
Classes | |
class | Particle |
Particle class. More... | |
class | SegmentOverlap |
SegmentOverlap class. More... | |
Public Member Functions | |
MissingTrackSegmentTool () | |
Default constructor. More... | |
bool | Run (ThreeViewTransverseTracksAlgorithm *const pAlgorithm, TensorType &overlapTensor) |
Run the algorithm tool. More... | |
Private Types | |
typedef std::unordered_map< const pandora::Cluster *, SegmentOverlap > | SegmentOverlapMap |
typedef std::unordered_map< const pandora::Cluster *, pandora::ClusterList > | ClusterMergeMap |
Private Member Functions | |
pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle) |
void | FindTracks (ThreeViewTransverseTracksAlgorithm *const pAlgorithm, const TensorType &overlapTensor, ProtoParticleVector &protoParticleVector, ClusterMergeMap &clusterMergeMap) const |
Find remaining tracks, hidden by missing track segments (and maybe other ambiguities) in the tensor. More... | |
void | SelectElements (const TensorType::ElementList &elementList, const pandora::ClusterSet &usedClusters, IteratorList &iteratorList) const |
Select a list of the relevant elements from a set of connected tensor elements. More... | |
bool | PassesParticleChecks (ThreeViewTransverseTracksAlgorithm *const pAlgorithm, const TensorType::Element &element, pandora::ClusterSet &usedClusters, ClusterMergeMap &clusterMergeMap) const |
Whether a provided tensor element can be used to construct a pfo. More... | |
void | GetCandidateClusters (ThreeViewTransverseTracksAlgorithm *const pAlgorithm, const Particle &particle, pandora::ClusterList &candidateClusters) const |
Get a list of candidate clusters, which may represent missing track segments for a provided particle. More... | |
void | GetSlidingFitResultMap (ThreeViewTransverseTracksAlgorithm *const pAlgorithm, const pandora::ClusterList &candidateClusterList, TwoDSlidingFitResultMap &slidingFitResultMap) const |
Get a sliding fit result map for the list of candidate clusters. More... | |
void | GetSegmentOverlapMap (ThreeViewTransverseTracksAlgorithm *const pAlgorithm, const Particle &particle, const TwoDSlidingFitResultMap &slidingFitResultMap, SegmentOverlapMap &segmentOverlapMap) const |
Get a segment overlap map, describing overlap between a provided particle and all clusters in a sliding fit result map. More... | |
bool | MakeDecisions (const Particle &particle, const TwoDSlidingFitResultMap &slidingFitResultMap, const SegmentOverlapMap &segmentOverlapMap, pandora::ClusterSet &usedClusters, ClusterMergeMap &clusterMergeMap) const |
Make decisions about whether to create a pfo for a provided particle and whether to make cluster merges. More... | |
bool | PassesSamplingCuts (const SegmentOverlap &segmentOverlap) const |
Whether the segment overlap object passes cuts on matched sampling points, etc. More... | |
bool | IsPossibleMerge (const pandora::Cluster *const pCluster, const Particle &particle, const SegmentOverlap &segmentOverlap, const TwoDSlidingFitResultMap &slidingFitResultMap) const |
Whether the cluster could be merged with the candidate particle. More... | |
Private Attributes | |
float | m_minMatchedFraction |
The min matched sampling point fraction for particle creation. More... | |
unsigned int | m_minMatchedSamplingPoints |
The min number of matched sampling points for particle creation. More... | |
unsigned int | m_minMatchedSamplingPointRatio |
The min ratio between 1st and 2nd highest msps for simple ambiguity resolution. More... | |
float | m_minInitialXOverlapFraction |
The min x overlap fraction (between long clusters and short cluster vs. shared overlap) More... | |
float | m_minFinalXOverlapFraction |
The min x overlap fraction between extended short cluster and the long clusters. More... | |
unsigned int | m_minCaloHitsInCandidateCluster |
The min no. of calo hits in a candidate cluster, for matching with long clusters. More... | |
float | m_pseudoChi2Cut |
The pseudo chi2 cut to determine whether a sampling point is matched. More... | |
unsigned int | m_makePfoMinSamplingPoints |
The min number of sampling points in order to be able to make pfo. More... | |
unsigned int | m_makePfoMinMatchedSamplingPoints |
The min number of matched sampling points in order to be able to make pfo. More... | |
float | m_makePfoMinMatchedFraction |
The min matched sampling point fraction in order to be able to make pfo. More... | |
float | m_makePfoMaxImpactParameter |
The max transverse impact parameter in order to be able to make pfo. More... | |
float | m_mergeMaxChi2PerSamplingPoint |
The max value of chi2 per sampling point in order to merge cluster with parent. More... | |
float | m_mergeXContainmentTolerance |
The tolerance in determining whether candidate cluster is contained in x window. More... | |
Additional Inherited Members | |
Public Types inherited from lar_content::TransverseTensorTool | |
typedef ThreeViewTransverseTracksAlgorithm::MatchingType::TensorType | TensorType |
typedef std::vector< TensorType::ElementList::const_iterator > | IteratorList |
MissingTrackSegmentTool class.
Definition at line 21 of file MissingTrackSegmentTool.h.
|
private |
Definition at line 78 of file MissingTrackSegmentTool.h.
|
private |
Definition at line 77 of file MissingTrackSegmentTool.h.
lar_content::MissingTrackSegmentTool::MissingTrackSegmentTool | ( | ) |
Default constructor.
Definition at line 25 of file MissingTrackSegmentTool.cc.
|
private |
Find remaining tracks, hidden by missing track segments (and maybe other ambiguities) in the tensor.
pAlgorithm | address of the calling algorithm |
overlapTensor | the overlap tensor |
protoParticleVector | to receive the list of proto particles |
clusterMergeMap | to receive the cluster merge map |
Definition at line 61 of file MissingTrackSegmentTool.cc.
|
private |
Get a list of candidate clusters, which may represent missing track segments for a provided particle.
pAlgorithm | address of the calling algorithm |
particle | the particle |
candidateClusters | to receive the list of candidate clusters |
Definition at line 175 of file MissingTrackSegmentTool.cc.
|
private |
Get a segment overlap map, describing overlap between a provided particle and all clusters in a sliding fit result map.
pAlgorithm | address of the calling algorithm |
particle | the particle |
slidingFitResultMap | the sliding fit result map |
segmentOverlapMap | to receive the segment overlap map |
Definition at line 229 of file MissingTrackSegmentTool.cc.
|
private |
Get a sliding fit result map for the list of candidate clusters.
pAlgorithm | address of the calling algorithm |
candidateClusters | the list of candidate clusters |
slidingFitResultMap | to receive the sliding fit result map |
Definition at line 196 of file MissingTrackSegmentTool.cc.
|
private |
Whether the cluster could be merged with the candidate particle.
pCluster | address of the cluster |
particle | the particle |
segmentOverlap | the segment overlap |
slidingFitResultMap | the sliding fit result map |
Definition at line 358 of file MissingTrackSegmentTool.cc.
|
private |
Make decisions about whether to create a pfo for a provided particle and whether to make cluster merges.
particle | the particle |
slidingFitResultMap | the sliding fit result map |
segmentOverlapMap | the segment overlap map |
usedClusters | the list of used clusters |
clusterMergeMap | to receive details of cluster merges clusterMergeMap |
Definition at line 293 of file MissingTrackSegmentTool.cc.
|
private |
Whether a provided tensor element can be used to construct a pfo.
pAlgorithm | address of the calling algorithm |
element | the tensor element |
usedClusters | the list of used clusters |
clusterMergeMap | to receive the cluster merge map |
Definition at line 140 of file MissingTrackSegmentTool.cc.
|
private |
Whether the segment overlap object passes cuts on matched sampling points, etc.
segmentOverlap | the segment overlap |
Definition at line 342 of file MissingTrackSegmentTool.cc.
|
private |
Definition at line 419 of file MissingTrackSegmentTool.cc.
|
virtual |
Run the algorithm tool.
pAlgorithm | address of the calling algorithm |
overlapTensor | the overlap tensor |
Implements lar_content::TransverseTensorTool.
Definition at line 44 of file MissingTrackSegmentTool.cc.
|
private |
Select a list of the relevant elements from a set of connected tensor elements.
elementList | the full list of connected tensor elements |
usedClusters | the list of clusters already marked as to be added to a pfo |
iteratorList | to receive a list of iterators to long track-like elements |
Definition at line 106 of file MissingTrackSegmentTool.cc.
|
private |
The max transverse impact parameter in order to be able to make pfo.
Definition at line 190 of file MissingTrackSegmentTool.h.
|
private |
The min matched sampling point fraction in order to be able to make pfo.
Definition at line 189 of file MissingTrackSegmentTool.h.
|
private |
The min number of matched sampling points in order to be able to make pfo.
Definition at line 188 of file MissingTrackSegmentTool.h.
|
private |
The min number of sampling points in order to be able to make pfo.
Definition at line 187 of file MissingTrackSegmentTool.h.
|
private |
The max value of chi2 per sampling point in order to merge cluster with parent.
Definition at line 192 of file MissingTrackSegmentTool.h.
|
private |
The tolerance in determining whether candidate cluster is contained in x window.
Definition at line 193 of file MissingTrackSegmentTool.h.
|
private |
The min no. of calo hits in a candidate cluster, for matching with long clusters.
Definition at line 184 of file MissingTrackSegmentTool.h.
|
private |
The min x overlap fraction between extended short cluster and the long clusters.
Definition at line 182 of file MissingTrackSegmentTool.h.
|
private |
The min x overlap fraction (between long clusters and short cluster vs. shared overlap)
Definition at line 181 of file MissingTrackSegmentTool.h.
|
private |
The min matched sampling point fraction for particle creation.
Definition at line 177 of file MissingTrackSegmentTool.h.
|
private |
The min ratio between 1st and 2nd highest msps for simple ambiguity resolution.
Definition at line 179 of file MissingTrackSegmentTool.h.
|
private |
The min number of matched sampling points for particle creation.
Definition at line 178 of file MissingTrackSegmentTool.h.
|
private |
The pseudo chi2 cut to determine whether a sampling point is matched.
Definition at line 185 of file MissingTrackSegmentTool.h.