#include <CMManagerBase.h>
Public Types | |
enum | CMMSGLevel_t { kPerMerging, kPerIteration, kPerEvent, kNone } |
Enum to specify message output level. More... | |
Public Member Functions | |
CMManagerBase () | |
Default constructor. More... | |
virtual | ~CMManagerBase ()=default |
Default destructor. More... | |
void | DebugMode (CMMSGLevel_t level) |
Method to enable debug mode (lots of couts) More... | |
void | ReportTimings (bool time_report=true) |
Method to enable timing profile cout. More... | |
void | Reset () |
Method to reset itself. More... | |
void | AddPriorityAlgo (CPriorityAlgoBase *algo) |
Setter to add an algorithm for priority determination. More... | |
void | MergeTillConverge (bool doit=true) |
Switch to continue merging till converges. More... | |
void | SetClusters (util::GeometryUtilities const &gser, const std::vector< std::vector< util::PxHit >> &clusters) |
A simple method to add a cluster. More... | |
void | SetClusters (const std::vector< cluster::ClusterParamsAlg > &clusters) |
A simple method to add a cluster. More... | |
const std::vector< cluster::ClusterParamsAlg > & | GetInputClusters () const |
A getter for input clusters. More... | |
void | SetMinNHits (unsigned int n) |
A setter for minimum # of hits ... passed onto ClusterParamsAlg. More... | |
void | Process (util::GeometryUtilities const &gser) |
A method to execute the main action, to be called per event. More... | |
void | SetAnaFile (TFile *fout) |
A setter for an analysis output file. More... | |
Protected Member Functions | |
void | ComputePriority (const std::vector< cluster::ClusterParamsAlg > &clusters) |
Function to compute priority. More... | |
virtual void | EventBegin () |
FMWK function called @ beginning of Process() More... | |
virtual void | IterationBegin () |
FMWK function called @ beginning of iterative loop inside Process() More... | |
virtual bool | IterationProcess (util::GeometryUtilities const &gser)=0 |
FMWK function called @ iterative loop inside Process() More... | |
virtual void | IterationEnd () |
FMWK function called @ end of iterative loop inside Process() More... | |
virtual void | EventEnd () |
FMWK function called @ end of Process() More... | |
Protected Attributes | |
bool | _time_report |
Timing verbosity flag. More... | |
unsigned int | _min_nhits |
Minimum number of hits: the limit set for ClusterParamsAlg. More... | |
CMMSGLevel_t | _debug_mode |
Debug mode switch. More... | |
std::vector< cluster::ClusterParamsAlg > | _in_clusters |
Input clusters. More... | |
::cmtool::CPriorityAlgoBase * | _priority_algo |
Priority algorithm. More... | |
TFile * | _fout |
Output analysis plot TFile. More... | |
std::multimap< float, size_t > | _priority |
Priority record. More... | |
bool | _merge_till_converge |
Iteration loop switch. More... | |
std::set< UChar_t > | _planes |
A holder for # of unique planes in the clusters, computed in ComputePriority() function. More... | |
A class that instantiates merging algorithm(s) and run. The book-keeping of merged cluster sets are done by CMergeBookKeeper.
Definition at line 41 of file CMManagerBase.h.
Enum to specify message output level.
Enumerator | |
---|---|
kPerMerging |
Extremely verbose (cout per individual algorithm execution) |
kPerIteration |
Somewhat verbose (cout per merging iteration) |
kPerEvent |
Bit verbose (cout per event) |
kNone |
Normal. |
Definition at line 44 of file CMManagerBase.h.
cmtool::CMManagerBase::CMManagerBase | ( | ) |
Default constructor.
Definition at line 16 of file CMManagerBase.cxx.
|
virtualdefault |
Default destructor.
|
inline |
Setter to add an algorithm for priority determination.
Definition at line 80 of file CMManagerBase.h.
|
protected |
Function to compute priority.
Definition at line 160 of file CMManagerBase.cxx.
|
inline |
Method to enable debug mode (lots of couts)
Definition at line 63 of file CMManagerBase.h.
|
inlineprotectedvirtual |
FMWK function called @ beginning of Process()
Reimplemented in cmtool::CMergeManager, and cmtool::CMatchManager.
Definition at line 129 of file CMManagerBase.h.
|
inlineprotectedvirtual |
FMWK function called @ end of Process()
Reimplemented in cmtool::CMergeManager, and cmtool::CMatchManager.
Definition at line 147 of file CMManagerBase.h.
|
inline |
A getter for input clusters.
Definition at line 101 of file CMManagerBase.h.
|
inlineprotectedvirtual |
FMWK function called @ beginning of iterative loop inside Process()
Reimplemented in cmtool::CMergeManager, and cmtool::CMatchManager.
Definition at line 134 of file CMManagerBase.h.
|
inlineprotectedvirtual |
FMWK function called @ end of iterative loop inside Process()
Reimplemented in cmtool::CMergeManager, and cmtool::CMatchManager.
Definition at line 142 of file CMManagerBase.h.
|
protectedpure virtual |
FMWK function called @ iterative loop inside Process()
Implemented in cmtool::CMergeManager, and cmtool::CMatchManager.
|
inline |
Switch to continue merging till converges.
Definition at line 87 of file CMManagerBase.h.
void cmtool::CMManagerBase::Process | ( | util::GeometryUtilities const & | gser | ) |
A method to execute the main action, to be called per event.
Definition at line 93 of file CMManagerBase.cxx.
|
inline |
Method to enable timing profile cout.
Definition at line 70 of file CMManagerBase.h.
void cmtool::CMManagerBase::Reset | ( | void | ) |
Method to reset itself.
Definition at line 28 of file CMManagerBase.cxx.
|
inline |
A setter for an analysis output file.
Definition at line 118 of file CMManagerBase.h.
void cmtool::CMManagerBase::SetClusters | ( | util::GeometryUtilities const & | gser, |
const std::vector< std::vector< util::PxHit >> & | clusters | ||
) |
A simple method to add a cluster.
Definition at line 36 of file CMManagerBase.cxx.
void cmtool::CMManagerBase::SetClusters | ( | const std::vector< cluster::ClusterParamsAlg > & | clusters | ) |
A simple method to add a cluster.
Definition at line 78 of file CMManagerBase.cxx.
|
inline |
A setter for minimum # of hits ... passed onto ClusterParamsAlg.
Definition at line 108 of file CMManagerBase.h.
|
protected |
Debug mode switch.
Definition at line 158 of file CMManagerBase.h.
|
protected |
Output analysis plot TFile.
Definition at line 167 of file CMManagerBase.h.
|
protected |
Input clusters.
Definition at line 161 of file CMManagerBase.h.
|
protected |
Iteration loop switch.
Definition at line 173 of file CMManagerBase.h.
|
protected |
Minimum number of hits: the limit set for ClusterParamsAlg.
Definition at line 155 of file CMManagerBase.h.
|
protected |
A holder for # of unique planes in the clusters, computed in ComputePriority() function.
Definition at line 176 of file CMManagerBase.h.
|
protected |
Priority record.
Definition at line 170 of file CMManagerBase.h.
|
protected |
Priority algorithm.
Definition at line 164 of file CMManagerBase.h.
|
protected |
Timing verbosity flag.
Definition at line 152 of file CMManagerBase.h.