Pandora
Pandora source code navigator
Loading...
Searching...
No Matches
TwoViewLongTracksTool.h
Go to the documentation of this file.
1
8#ifndef TWO_VIEW_LONG_TRACKS_TOOL_H
9#define TWO_VIEW_LONG_TRACKS_TOOL_H 1
10
12
13namespace lar_content
14{
15
20{
21public:
26
35 static bool HasLongDirectConnections(IteratorList::const_iterator iIter, const IteratorList &iteratorList);
36
45 static bool IsLongerThanDirectConnections(IteratorList::const_iterator iIter, const MatrixType::ElementList &elementList,
46 const unsigned int minMatchedSamplingPointRatio, const pandora::ClusterSet &usedClusters);
47
48 bool Run(TwoViewTransverseTracksAlgorithm *const pAlgorithm, MatrixType &overlapMatrix);
49
50private:
52
59 void FindLongTracks(const MatrixType &overlapMatrix, ProtoParticleVector &protoParticleVector) const;
60
68 void SelectLongElements(const MatrixType::ElementList &elementList, const pandora::ClusterSet &usedClusters, IteratorList &iteratorList) const;
69
75};
76
77} // namespace lar_content
78
79#endif // #ifndef TWO_VIEW_LONG_TRACKS_TOOL_H
Header file for the two view transverse tracks algorithm class.
TwoViewTransverseTracksAlgorithm::MatchingType::MatrixType MatrixType
std::vector< MatrixType::ElementList::const_iterator > IteratorList
float m_minXOverlapFraction
The min x overlap fraction (in each view) for particle creation.
static bool HasLongDirectConnections(IteratorList::const_iterator iIter, const IteratorList &iteratorList)
Whether a long element shares clusters with any other long elements.
float m_minMatchingScore
The min global matching score for particle creation.
void SelectLongElements(const MatrixType::ElementList &elementList, const pandora::ClusterSet &usedClusters, IteratorList &iteratorList) const
Select a list of long track-like elements from a set of connected matrix elements.
float m_minMatchedFraction
The min matched sampling point fraction for particle creation.
unsigned int m_minMatchedSamplingPointRatio
The min ratio between 1st and 2nd highest msps for simple ambiguity resolution.
static bool IsLongerThanDirectConnections(IteratorList::const_iterator iIter, const MatrixType::ElementList &elementList, const unsigned int minMatchedSamplingPointRatio, const pandora::ClusterSet &usedClusters)
Whether a long element is significantly longer that other elements with which it shares a cluster.
bool Run(TwoViewTransverseTracksAlgorithm *const pAlgorithm, MatrixType &overlapMatrix)
Run the algorithm tool.
void FindLongTracks(const MatrixType &overlapMatrix, ProtoParticleVector &protoParticleVector) const
Find long tracks, hidden by simple ambiguities in the matrix.
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
Read the algorithm settings.
unsigned int m_minMatchedSamplingPoints
The min number of matched sampling points for particle creation.
std::vector< ProtoParticle > ProtoParticleVector
std::unordered_set< const Cluster * > ClusterSet
StatusCode
The StatusCode enum.