Pandora
Pandora source code navigator
Loading...
Searching...
No Matches
RecursivePfoMopUpAlgorithm.h
Go to the documentation of this file.
1
9#ifndef LAR_RECURSIVE_PFO_MOP_UP_ALGORITHM_H
10#define LAR_RECURSIVE_PFO_MOP_UP_ALGORITHM_H 1
11
12#include "Pandora/Algorithm.h"
13
14namespace lar_content
15{
16
21{
22public:
27
28private:
29 typedef std::vector<unsigned int> ClusterNumHitsList;
30
35 {
36 public:
43 PfoMergeStats(const ClusterNumHitsList &numClusterHits, const float trackScore);
44
46 const float m_trackScore;
47 };
48
49 typedef std::vector<PfoMergeStats> PfoMergeStatsList;
50
59 static bool PfoMergeStatsComp(const PfoMergeStats &lhs, const PfoMergeStats &rhs);
60
67
70
71 unsigned int m_maxIterations;
74};
75
76//------------------------------------------------------------------------------------------------------------------------------------------
77
79{
80}
81
82//------------------------------------------------------------------------------------------------------------------------------------------
83
84inline RecursivePfoMopUpAlgorithm::PfoMergeStats::PfoMergeStats(const ClusterNumHitsList &numClusterHits, const float trackScore) :
85 m_numClusterHits(numClusterHits),
86 m_trackScore(trackScore)
87{
88}
89
90//------------------------------------------------------------------------------------------------------------------------------------------
91
94{
95 return ((lhs.m_numClusterHits == rhs.m_numClusterHits) && (std::abs(lhs.m_trackScore - rhs.m_trackScore) < std::numeric_limits<float>::epsilon()));
96}
97
98} // namespace lar_content
99
100#endif // #ifndef LAR_RECURSIVE_PFO_MOP_UP_ALGORITHM_H
Header file for the algorithm class.
unsigned int m_maxIterations
Maximum number of iterations.
PfoMergeStatsList GetPfoMergeStats() const
Get the PfoMergeStats for all of the particles in the event from m_pfoListNames.
pandora::StatusCode Run()
Run the algorithm.
pandora::StringVector m_mopUpAlgorithms
Ordered list of mop up algorithms to run.
pandora::StringVector m_pfoListNames
The list of pfo list names.
static bool PfoMergeStatsComp(const PfoMergeStats &lhs, const PfoMergeStats &rhs)
Equality comparator for two PfoMergeStats.
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
Read the algorithm settings.
Algorithm class. Algorithm addresses are held only by the algorithm manager. They have a fully define...
Definition Algorithm.h:21
std::vector< std::string > StringVector
StatusCode
The StatusCode enum.
PfoMergeStats class: Object to compare PFO before/after merging algs have run to see if anything chan...
const ClusterNumHitsList m_numClusterHits
Vector filled with number of hits in each of the PFO's clusters.
PfoMergeStats(const ClusterNumHitsList &numClusterHits, const float trackScore)
Constructor.