Pandora
Pandora source code navigator
Loading...
Searching...
No Matches
ThreeViewRemnantsAlgorithm.h
Go to the documentation of this file.
1
8#ifndef LAR_THREE_VIEW_REMNANTS_ALGORITHM_H
9#define LAR_THREE_VIEW_REMNANTS_ALGORITHM_H 1
10
11#include "Pandora/Algorithm.h"
13
16
17namespace lar_content
18{
19
20class RemnantTensorTool;
21
22//------------------------------------------------------------------------------------------------------------------------------------------
23
27class ThreeViewRemnantsAlgorithm : public NViewMatchingAlgorithm<ThreeViewMatchingControl<float>>
28{
29public:
31
36
37 void SelectInputClusters(const pandora::ClusterList *const pInputClusterList, pandora::ClusterList &selectedClusterList) const;
38
39private:
40 void CalculateOverlapResult(const pandora::Cluster *const pClusterU, const pandora::Cluster *const pClusterV, const pandora::Cluster *const pClusterW);
42
44
45 typedef std::vector<RemnantTensorTool *> RemnantTensorToolVector;
47
49 unsigned int m_minClusterCaloHits;
52};
53
54//------------------------------------------------------------------------------------------------------------------------------------------
55
60{
61public:
63 typedef std::vector<TensorType::ElementList::const_iterator> IteratorList;
64
73 virtual bool Run(ThreeViewRemnantsAlgorithm *const pAlgorithm, TensorType &overlapTensor) = 0;
74};
75
76} // namespace lar_content
77
78#endif // #ifndef LAR_THREE_VIEW_REMNANTS_ALGORITHM_H
Header file for the algorithm class.
Header file for the algorithm tool class.
Header file for the n view matching algorithm class.
Header file for the three view matching control class.
std::vector< TensorType::ElementList::const_iterator > IteratorList
ThreeViewRemnantsAlgorithm::MatchingType::TensorType TensorType
virtual bool Run(ThreeViewRemnantsAlgorithm *const pAlgorithm, TensorType &overlapTensor)=0
Run the algorithm tool.
void SelectInputClusters(const pandora::ClusterList *const pInputClusterList, pandora::ClusterList &selectedClusterList) const
Select a subset of input clusters for processing in this algorithm.
unsigned int m_minClusterCaloHits
The selection cut on the number of cluster calo hits.
NViewMatchingAlgorithm< ThreeViewMatchingControl< float > > BaseAlgorithm
std::vector< RemnantTensorTool * > RemnantTensorToolVector
unsigned int m_nMaxTensorToolRepeats
The maximum number of repeat loops over tensor tools.
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
Read the algorithm settings.
void ExamineOverlapContainer()
Examine contents of overlap container, collect together best-matching 2D particles and modify cluster...
float m_pseudoChi2Cut
The selection cut on the matched chi2.
RemnantTensorToolVector m_algorithmToolVector
The algorithm tool list.
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.
float m_xOverlapWindow
The sampling pitch in the x coordinate.
AlgorithmTool class. Algorithm tools will tend to be tailored for specific parent algorithms,...
Cluster class.
Definition Cluster.h:31
MANAGED_CONTAINER< const Cluster * > ClusterList
StatusCode
The StatusCode enum.