#include <CMergeManager.h>
Public Member Functions | |
CMergeManager () | |
virtual | ~CMergeManager () |
Default destructor. More... | |
virtual void | Reset () |
Method to reset itself. More... | |
void | AddMergeAlgo (CBoolAlgoBase *algo) |
A simple method to add an algorithm for merging. More... | |
void | AddSeparateAlgo (CBoolAlgoBase *algo) |
A simple method to add an algorithm for separation. More... | |
const std::vector < cluster::ClusterParamsAlg > & | GetClusters () const |
A method to obtain output clusters. More... | |
const CMergeBookKeeper & | GetBookKeeper () const |
A method to obtain book keeper. More... | |
Public Member Functions inherited from cmtool::CMManagerBase | |
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 | |
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) |
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... | |
void | RunMerge (const std::vector< cluster::ClusterParamsAlg > &in_clusters, CMergeBookKeeper &book_keeper) const |
void | RunMerge (const std::vector< cluster::ClusterParamsAlg > &in_clusters, const std::vector< bool > &merge_flag, CMergeBookKeeper &book_keeper) const |
void | RunSeparate (const std::vector< cluster::ClusterParamsAlg > &in_clusters, CMergeBookKeeper &book_keeper) const |
Protected Member Functions inherited from cmtool::CMManagerBase | |
void | ComputePriority (const std::vector< cluster::ClusterParamsAlg > &clusters) |
Function to compute priority. More... | |
Protected Attributes | |
std::vector < cluster::ClusterParamsAlg > | _out_clusters |
Output clusters. More... | |
CMergeBookKeeper | _book_keeper |
Book keeper instance. More... | |
::cmtool::CBoolAlgoBase * | _merge_algo |
Merging algorithm. More... | |
::cmtool::CBoolAlgoBase * | _separate_algo |
Separation algorithm. More... | |
size_t | _iter_ctr |
std::vector< CMergeBookKeeper > | _book_keeper_v |
std::vector< std::vector < unsigned short > > | _tmp_merged_indexes |
std::vector < cluster::ClusterParamsAlg > | _tmp_merged_clusters |
Protected Attributes inherited from cmtool::CMManagerBase | |
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... | |
Additional Inherited Members | |
Public Types inherited from cmtool::CMManagerBase | |
enum | CMMSGLevel_t { kPerMerging, kPerIteration, kPerEvent, kNone } |
Enum to specify message output level. More... | |
A class that instantiates merging algorithm(s) and run. The book-keeping of merged cluster sets are done by CMergeBookKeeper.
Definition at line 32 of file CMergeManager.h.
cmtool::CMergeManager::CMergeManager | ( | ) |
Definition at line 19 of file CMergeManager.cxx.
|
inlinevirtual |
|
inline |
A simple method to add an algorithm for merging.
Definition at line 44 of file CMergeManager.h.
|
inline |
A simple method to add an algorithm for separation.
Definition at line 51 of file CMergeManager.h.
|
protectedvirtual |
FMWK function called @ beginning of Process()
Reimplemented from cmtool::CMManagerBase.
Definition at line 43 of file CMergeManager.cxx.
|
protectedvirtual |
FMWK function called @ end of Process()
Reimplemented from cmtool::CMManagerBase.
Definition at line 147 of file CMergeManager.cxx.
|
inline |
A method to obtain book keeper.
Definition at line 65 of file CMergeManager.h.
|
inline |
A method to obtain output clusters.
Definition at line 58 of file CMergeManager.h.
|
protectedvirtual |
FMWK function called @ beginning of iterative loop inside Process()
Reimplemented from cmtool::CMManagerBase.
Definition at line 83 of file CMergeManager.cxx.
|
protectedvirtual |
FMWK function called @ end of iterative loop inside Process()
Reimplemented from cmtool::CMManagerBase.
Definition at line 113 of file CMergeManager.cxx.
|
protectedvirtual |
FMWK function called @ iterative loop inside Process()
Implements cmtool::CMManagerBase.
Definition at line 165 of file CMergeManager.cxx.
|
virtual |
Method to reset itself.
Definition at line 28 of file CMergeManager.cxx.
|
protected |
Definition at line 237 of file CMergeManager.cxx.
|
protected |
Definition at line 244 of file CMergeManager.cxx.
|
protected |
Definition at line 327 of file CMergeManager.cxx.
|
protected |
Book keeper instance.
Definition at line 106 of file CMergeManager.h.
|
protected |
Definition at line 116 of file CMergeManager.h.
|
protected |
Definition at line 114 of file CMergeManager.h.
|
protected |
Merging algorithm.
Definition at line 109 of file CMergeManager.h.
|
protected |
Output clusters.
Definition at line 103 of file CMergeManager.h.
|
protected |
Separation algorithm.
Definition at line 112 of file CMergeManager.h.
|
protected |
Definition at line 120 of file CMergeManager.h.
|
protected |
Definition at line 118 of file CMergeManager.h.