Pandora
Pandora source code navigator
Loading...
Searching...
No Matches
ClearShowersTool.h
Go to the documentation of this file.
1
8#ifndef CLEAR_SHOWERS_TOOL_H
9#define CLEAR_SHOWERS_TOOL_H 1
10
12
13namespace lar_content
14{
15
20{
21public:
26
35 static bool HasLargeDirectConnections(IteratorList::const_iterator iIter, const IteratorList &iteratorList);
36
46 static bool IsLargerThanDirectConnections(IteratorList::const_iterator iIter, const TensorType::ElementList &elementList,
47 const unsigned int minMatchedSamplingPointRatio, const float minXOverlapSpanRatio, const pandora::ClusterSet &usedClusters);
48
49 bool Run(ThreeViewShowersAlgorithm *const pAlgorithm, TensorType &overlapTensor);
50
51private:
53
60 void FindClearShowers(const TensorType &overlapTensor, ProtoParticleVector &protoParticleVector) const;
61
69 void SelectLargeShowerElements(const TensorType::ElementList &elementList, const pandora::ClusterSet &usedClusters, IteratorList &iteratorList) const;
70
77};
78
79} // namespace lar_content
80
81#endif // #ifndef CLEAR_SHOWERS_TOOL_H
Header file for the three view showers algorithm class.
ClearShowersTool class.
void FindClearShowers(const TensorType &overlapTensor, ProtoParticleVector &protoParticleVector) const
Find clear shower matches, hidden by simple ambiguities in the tensor.
bool Run(ThreeViewShowersAlgorithm *const pAlgorithm, TensorType &overlapTensor)
Run the algorithm tool.
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
Read the algorithm settings.
float m_minXOverlapFraction
The min x overlap fraction (in each view) for particle creation.
static bool IsLargerThanDirectConnections(IteratorList::const_iterator iIter, const TensorType::ElementList &elementList, const unsigned int minMatchedSamplingPointRatio, const float minXOverlapSpanRatio, const pandora::ClusterSet &usedClusters)
Whether a large shower-like element is significantly larger that other elements with which it shares ...
unsigned int m_minMatchedSamplingPointRatio
The min ratio between 1st and 2nd highest msps for simple ambiguity resolution.
float m_minXOverlapSpanRatio
The min ratio between 1st and 2nd highest x-overlap spans for simple ambiguity resolution.
float m_minMatchedFraction
The min matched sampling point fraction for particle creation.
void SelectLargeShowerElements(const TensorType::ElementList &elementList, const pandora::ClusterSet &usedClusters, IteratorList &iteratorList) const
Select a list of large shower-like elements from a set of connected tensor elements.
static bool HasLargeDirectConnections(IteratorList::const_iterator iIter, const IteratorList &iteratorList)
Whether a large shower-like element shares clusters with any other long elements.
unsigned int m_minMatchedSamplingPoints
The min number of matched sampling points for particle creation.
bool m_visualize
Visualize cluster split locations.
ClearShowersTool()
Default constructor.
std::vector< TensorType::ElementList::const_iterator > IteratorList
ThreeViewShowersAlgorithm::MatchingType::TensorType TensorType
std::vector< ProtoParticle > ProtoParticleVector
std::unordered_set< const Cluster * > ClusterSet
StatusCode
The StatusCode enum.