LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
LongTracksTool.h
Go to the documentation of this file.
1 
8 #ifndef LONG_TRACKS_TOOL_H
9 #define LONG_TRACKS_TOOL_H 1
10 
12 
13 namespace lar_content
14 {
15 
20 {
21 public:
26 
35  static bool HasLongDirectConnections(IteratorList::const_iterator iIter, const IteratorList &iteratorList);
36 
46  const unsigned int minMatchedSamplingPointRatio, const pandora::ClusterSet &usedClusters);
47 
48  bool Run(ThreeViewTransverseTracksAlgorithm *const pAlgorithm, TensorType &overlapTensor);
49 
50 private:
51  pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle);
52 
59  void FindLongTracks(const TensorType &overlapTensor, ProtoParticleVector &protoParticleVector) const;
60 
68  void SelectLongElements(const TensorType::ElementList &elementList, const pandora::ClusterSet &usedClusters, IteratorList &iteratorList) const;
69 
74 };
75 
76 } // namespace lar_content
77 
78 #endif // #ifndef LONG_TRACKS_TOOL_H
std::vector< ProtoParticle > ProtoParticleVector
LongTracksTool class.
std::vector< TensorType::ElementList::const_iterator > IteratorList
static bool IsLongerThanDirectConnections(IteratorList::const_iterator iIter, const TensorType::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...
unsigned int m_minMatchedSamplingPoints
The min number of matched sampling points for particle creation.
unsigned int m_minMatchedSamplingPointRatio
The min ratio between 1st and 2nd highest msps for simple ambiguity resolution.
LongTracksTool()
Default constructor.
intermediate_table::const_iterator const_iterator
bool Run(ThreeViewTransverseTracksAlgorithm *const pAlgorithm, TensorType &overlapTensor)
Run the algorithm tool.
float m_minXOverlapFraction
The min x overlap fraction (in each view) for particle creation.
void FindLongTracks(const TensorType &overlapTensor, ProtoParticleVector &protoParticleVector) const
Find long tracks, hidden by simple ambiguities in the tensor.
void SelectLongElements(const TensorType::ElementList &elementList, const pandora::ClusterSet &usedClusters, IteratorList &iteratorList) const
Select a list of long track-like elements from a set of connected tensor elements.
Header file for the three view transverse tracks algorithm class.
float m_minMatchedFraction
The min matched sampling point fraction for particle creation.
static bool HasLongDirectConnections(IteratorList::const_iterator iIter, const IteratorList &iteratorList)
Whether a long element shares clusters with any other long elements.
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)