Pandora
Pandora source code navigator
Loading...
Searching...
No Matches
ThreeViewDeltaRayMatchingAlgorithm.h
Go to the documentation of this file.
1
8#ifndef LAR_THREE_VIEW_DELTA_RAY_MATCHING_ALGORITHM_H
9#define LAR_THREE_VIEW_DELTA_RAY_MATCHING_ALGORITHM_H 1
10
11#include "Pandora/Algorithm.h"
13
15
18
19namespace lar_content
20{
21
22class DeltaRayTensorTool;
23
24//------------------------------------------------------------------------------------------------------------------------------------------
25
29class ThreeViewDeltaRayMatchingAlgorithm : public NViewDeltaRayMatchingAlgorithm<ThreeViewMatchingControl<DeltaRayOverlapResult>>
30{
31public:
33 typedef ThreeViewDeltaRayMatchingAlgorithm::MatchingType::TensorType TensorType;
34
39
45 std::string GetClusteringAlgName() const;
46
47private:
48 typedef std::vector<DeltaRayTensorTool *> TensorToolVector;
49
50 void CalculateOverlapResult(const pandora::Cluster *const pClusterU, const pandora::Cluster *const pClusterV, const pandora::Cluster *const pClusterW);
53
61 virtual bool DoesClusterPassTensorThreshold(const pandora::Cluster *const pCluster) const;
62
73 pandora::StatusCode CalculateOverlapResult(const pandora::Cluster *const pClusterU, const pandora::Cluster *const pClusterV,
74 const pandora::Cluster *const pClusterW, DeltaRayOverlapResult &overlapResult) const;
75
84 void FindCommonMuonParents(const pandora::Cluster *const pClusterU, const pandora::Cluster *const pClusterV,
85 const pandora::Cluster *const pClusterW, pandora::PfoList &commonMuonPfoList) const;
86
89 unsigned int m_minClusterCaloHits;
91};
92
93//------------------------------------------------------------------------------------------------------------------------------------------
94
99{
100public:
101 typedef ThreeViewDeltaRayMatchingAlgorithm::MatchingType::TensorType TensorType;
102 typedef std::vector<TensorType::ElementList::const_iterator> IteratorList;
103
112 virtual bool Run(ThreeViewDeltaRayMatchingAlgorithm *const pAlgorithm, TensorType &overlapTensor) = 0;
113
115};
116
117//------------------------------------------------------------------------------------------------------------------------------------------
118
123
124} // namespace lar_content
125
126#endif // #ifndef LAR_THREE_VIEW_DELTA_RAY_MATCHING_ALGORITHM_H
Header file for the algorithm class.
Header file for the algorithm tool class.
Header file for the lar track overlap result class.
Header file for the three view matching control class.
std::vector< TensorType::ElementList::const_iterator > IteratorList
ThreeViewDeltaRayMatchingAlgorithm::MatchingType::TensorType TensorType
ThreeViewDeltaRayMatchingAlgorithm * m_pParentAlgorithm
Address of the parent matching algorithm.
virtual bool Run(ThreeViewDeltaRayMatchingAlgorithm *const pAlgorithm, TensorType &overlapTensor)=0
Run the algorithm tool.
std::string GetClusteringAlgName() const
Get the name of the clustering algorithm to be used to recluster created delta ray remnants.
unsigned int m_minClusterCaloHits
The threshold number of hits for a cluster to be considered.
unsigned int m_nMaxTensorToolRepeats
The maximum number of repeat loops over tensor tools.
std::string m_reclusteringAlgorithmName
The name of the clustering algorithm to be used to recluster created delta ray remnants.
TensorToolVector m_algorithmToolVector
The algorithm tool vector.
void CalculateOverlapResult(const pandora::Cluster *const pClusterU, const pandora::Cluster *const pClusterV, const pandora::Cluster *const pClusterW)
Calculate cluster overlap result and store in container.
NViewDeltaRayMatchingAlgorithm< ThreeViewMatchingControl< DeltaRayOverlapResult > > BaseAlgorithm
void FindCommonMuonParents(const pandora::Cluster *const pClusterU, const pandora::Cluster *const pClusterV, const pandora::Cluster *const pClusterW, pandora::PfoList &commonMuonPfoList) const
Find the cosmic ray pfos that, in each view, lie close to the clusters of the tensor element.
virtual bool DoesClusterPassTensorThreshold(const pandora::Cluster *const pCluster) const
To check whether a given cluster meets the requirements to be added into the matching container (tens...
void ExamineOverlapContainer()
Examine contents of overlap container, collect together best-matching 2D particles and modify cluster...
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
Read the algorithm settings.
ThreeViewDeltaRayMatchingAlgorithm::MatchingType::TensorType TensorType
AlgorithmTool class. Algorithm tools will tend to be tailored for specific parent algorithms,...
Cluster class.
Definition Cluster.h:31
StatusCode
The StatusCode enum.
MANAGED_CONTAINER< const ParticleFlowObject * > PfoList