LArSoft  v06_85_00
Liquid Argon Software toolkit - http://larsoft.org/
cmtool::CPAlgoIgnoreTracks Class Reference

#include "CPAlgoIgnoreTracks.h"

Inheritance diagram for cmtool::CPAlgoIgnoreTracks:
cmtool::CPriorityAlgoBase cmtool::CMAlgoBase

Public Member Functions

 CPAlgoIgnoreTracks ()
 Default constructor. More...
 
virtual ~CPAlgoIgnoreTracks ()
 Default destructor. More...
 
virtual float Priority (const ::cluster::ClusterParamsAlg &cluster)
 
virtual void Report ()
 
virtual void Reset ()
 Function to reset the algorithm instance, called together with manager's Reset() More...
 
bool IsTrack (const ::cluster::ClusterParamsAlg &cluster)
 Function to check if cluster is a track. More...
 
void SetMinHits (size_t BAKA)
 Setter for track-like parameters. More...
 
void SetMinModHitDens (Double_t AHO)
 
void SetMinMHitWires (Double_t BOKE)
 
void SetMinPrincipal (Double_t HEKOKI)
 
virtual float Priority (const cluster::ClusterParamsAlg &cluster)
 
virtual void EventBegin (const std::vector< cluster::ClusterParamsAlg > &clusters)
 
virtual void EventEnd ()
 
virtual void IterationBegin (const std::vector< cluster::ClusterParamsAlg > &clusters)
 
virtual void IterationEnd ()
 
void SetAnaFile (TFile *fout)
 Setter function for an output plot TFile pointer. More...
 
virtual void SetVerbose (bool doit=true)
 Setter function for verbosity. More...
 

Protected Attributes

size_t _min_hits
 
Double_t _min_mod_hit_dens
 
Double_t _min_multihit_wires
 
Double_t _min_principal
 
TFile * _fout
 TFile pointer to an output file. More...
 
bool _verbose
 Boolean to choose verbose mode. Turned on if CMergeManager/CMatchManager's verbosity level is >= kPerMerging. More...
 

Detailed Description

User implementation for CPriorityAlgoBase class doxygen documentation!

Definition at line 25 of file CPAlgoIgnoreTracks.h.

Constructor & Destructor Documentation

cmtool::CPAlgoIgnoreTracks::CPAlgoIgnoreTracks ( )

Default constructor.

Definition at line 9 of file CPAlgoIgnoreTracks.cxx.

References SetMinHits(), SetMinMHitWires(), SetMinModHitDens(), and SetMinPrincipal().

10  //----------------------------------------------------------
11  {
12  SetMinHits(20);
13  SetMinModHitDens(1.4);
14  SetMinMHitWires(3.5);
15  //"fPrincipal" is log(1-eigenvalue_principal)
16  // >-7 means EP > 0.99908
17  SetMinPrincipal(-6.);
18  }
void SetMinModHitDens(Double_t AHO)
void SetMinMHitWires(Double_t BOKE)
void SetMinPrincipal(Double_t HEKOKI)
void SetMinHits(size_t BAKA)
Setter for track-like parameters.
CPriorityAlgoBase()
Default constructor.
virtual cmtool::CPAlgoIgnoreTracks::~CPAlgoIgnoreTracks ( )
inlinevirtual

Default destructor.

Definition at line 33 of file CPAlgoIgnoreTracks.h.

References IsTrack(), Priority(), Report(), and Reset().

33 {};

Member Function Documentation

virtual void cmtool::CMAlgoBase::EventBegin ( const std::vector< cluster::ClusterParamsAlg > &  clusters)
inlinevirtualinherited

Optional function: called at the beginning of 1st iteration. This is called per event.

Reimplemented in cmtool::CFAlgoArray, cmtool::CPAlgoArray, cmtool::CBAlgoArray, and cmtool::CBAlgoPolyShortestDist.

Definition at line 45 of file CMAlgoBase.h.

Referenced by cmtool::CMergeManager::EventBegin().

46  { if(clusters.size()) return; }
virtual void cmtool::CMAlgoBase::EventEnd ( )
inlinevirtualinherited

Optional function: called at the end of event ... after the last merging iteration is over.

Reimplemented in cmtool::CFAlgoArray, cmtool::CPAlgoArray, and cmtool::CBAlgoArray.

Definition at line 51 of file CMAlgoBase.h.

Referenced by cmtool::CMatchManager::EventEnd(), and cmtool::CMergeManager::EventEnd().

52  {return;}
bool cmtool::CPAlgoIgnoreTracks::IsTrack ( const ::cluster::ClusterParamsAlg cluster)

Function to check if cluster is a track.

Optional function: called at the beginning of 1st iteration. This is called per event. Optional function: called at the end of event ... after the last merging iteration is over. Optional function: called at the beggining of each iterative loop. This provides all clusters' information in case the algorithm need them. Note this is called per iteration which may be more than once per event. Optional function: called at the end of each iterative loop.

Definition at line 49 of file CPAlgoIgnoreTracks.cxx.

References _min_mod_hit_dens, _min_multihit_wires, and _min_principal.

Referenced by Priority(), and ~CPAlgoIgnoreTracks().

50  {
51  double fPrincipal = TMath::Log(1-cluster.GetParams().eigenvalue_principal);
52 
53  bool isTrack = false;
54  if(//cluster.GetNHits() > _min_hits &&
57  fPrincipal < _min_principal)
58  isTrack = true;
59 
60  return isTrack;
61  }
double eigenvalue_principal
the principal eigenvalue from PCA
Definition: ClusterParams.h:47
const cluster_params & GetParams() const
virtual void cmtool::CMAlgoBase::IterationBegin ( const std::vector< cluster::ClusterParamsAlg > &  clusters)
inlinevirtualinherited

Optional function: called at the beggining of each iteration over all pairs of clusters. This provides all clusters' information in case the algorithm need them. Note this is called per iteration which may be more than once per event.

Reimplemented in cmtool::CFAlgoArray, cmtool::CPAlgoArray, and cmtool::CBAlgoArray.

Definition at line 59 of file CMAlgoBase.h.

Referenced by cmtool::CMatchManager::EventBegin(), cmtool::CMatchManager::IterationBegin(), and cmtool::CMergeManager::IterationBegin().

60  { if(clusters.size()) return;}
virtual void cmtool::CMAlgoBase::IterationEnd ( )
inlinevirtualinherited

Optional function: called at the end of each iteration over all pairs of clusters.

Reimplemented in cmtool::CFAlgoArray, cmtool::CPAlgoArray, and cmtool::CBAlgoArray.

Definition at line 65 of file CMAlgoBase.h.

Referenced by cmtool::CMatchManager::IterationEnd(), and cmtool::CMergeManager::IterationEnd().

66  {return; }
virtual float cmtool::CPriorityAlgoBase::Priority ( const cluster::ClusterParamsAlg cluster)
inlinevirtualinherited

Core function: given the CPAN input, return whether a cluster should be merged or not.

Definition at line 40 of file CPriorityAlgoBase.h.

References cluster::ClusterParamsAlg::GetNHits().

Referenced by cmtool::CMManagerBase::ComputePriority().

41  {
42  if(cluster.GetNHits()) return 1.;
43  return 0.1;
44  }
float cmtool::CPAlgoIgnoreTracks::Priority ( const ::cluster::ClusterParamsAlg cluster)
virtual

Core function: given the CPAN input, return a float which indicates the user-defined priority for analysis.

Definition at line 28 of file CPAlgoIgnoreTracks.cxx.

References IsTrack().

Referenced by ~CPAlgoIgnoreTracks().

30  {
31  //return -1 for tracks, otherwise return nhits
32  auto nhit = cluster.GetNHits();
33 
34  //NOTE! default return value for non-track clusters is nhits
35  //but if you want to sort by a different way, use a separate
36  //CPAlgo in an array with this one, and use the kLastAlgo option
37  //to sort by that algo and still remove tracks!
38  return ( IsTrack(cluster) ? -1 : (float)nhit );
39  }
bool IsTrack(const ::cluster::ClusterParamsAlg &cluster)
Function to check if cluster is a track.
void cmtool::CPAlgoIgnoreTracks::Report ( )
virtual

Optional function: called after each iterative approach if a manager class is run with verbosity level <= kPerIteration. Maybe useful for debugging.

Reimplemented from cmtool::CMAlgoBase.

Definition at line 42 of file CPAlgoIgnoreTracks.cxx.

Referenced by ~CPAlgoIgnoreTracks().

44  {
45 
46  }
void cmtool::CPAlgoIgnoreTracks::Reset ( )
virtual

Function to reset the algorithm instance, called together with manager's Reset()

Reimplemented from cmtool::CMAlgoBase.

Definition at line 21 of file CPAlgoIgnoreTracks.cxx.

Referenced by ~CPAlgoIgnoreTracks().

23  {
24 
25  }
void cmtool::CMAlgoBase::SetAnaFile ( TFile *  fout)
inlineinherited

Setter function for an output plot TFile pointer.

Definition at line 77 of file CMAlgoBase.h.

References cmtool::CMAlgoBase::_fout.

Referenced by cmtool::CMergeManager::EventBegin().

77 { _fout = fout; }
TFile * _fout
TFile pointer to an output file.
Definition: CMAlgoBase.h:85
void cmtool::CPAlgoIgnoreTracks::SetMinHits ( size_t  BAKA)
inline

Setter for track-like parameters.

Definition at line 82 of file CPAlgoIgnoreTracks.h.

References _min_hits.

Referenced by CPAlgoIgnoreTracks().

82 { _min_hits = BAKA; }
void cmtool::CPAlgoIgnoreTracks::SetMinMHitWires ( Double_t  BOKE)
inline

Definition at line 84 of file CPAlgoIgnoreTracks.h.

References _min_multihit_wires.

Referenced by CPAlgoIgnoreTracks().

void cmtool::CPAlgoIgnoreTracks::SetMinModHitDens ( Double_t  AHO)
inline

Definition at line 83 of file CPAlgoIgnoreTracks.h.

References _min_mod_hit_dens.

Referenced by CPAlgoIgnoreTracks().

void cmtool::CPAlgoIgnoreTracks::SetMinPrincipal ( Double_t  HEKOKI)
inline

Definition at line 85 of file CPAlgoIgnoreTracks.h.

References _min_principal.

Referenced by CPAlgoIgnoreTracks().

85 { _min_principal = HEKOKI; }
virtual void cmtool::CMAlgoBase::SetVerbose ( bool  doit = true)
inlinevirtualinherited

Member Data Documentation

TFile* cmtool::CMAlgoBase::_fout
protectedinherited

TFile pointer to an output file.

Definition at line 85 of file CMAlgoBase.h.

Referenced by cmtool::CMAlgoBase::CMAlgoBase(), and cmtool::CMAlgoBase::SetAnaFile().

size_t cmtool::CPAlgoIgnoreTracks::_min_hits
protected

Definition at line 90 of file CPAlgoIgnoreTracks.h.

Referenced by SetMinHits().

Double_t cmtool::CPAlgoIgnoreTracks::_min_mod_hit_dens
protected

Definition at line 91 of file CPAlgoIgnoreTracks.h.

Referenced by IsTrack(), and SetMinModHitDens().

Double_t cmtool::CPAlgoIgnoreTracks::_min_multihit_wires
protected

Definition at line 92 of file CPAlgoIgnoreTracks.h.

Referenced by IsTrack(), and SetMinMHitWires().

Double_t cmtool::CPAlgoIgnoreTracks::_min_principal
protected

Definition at line 93 of file CPAlgoIgnoreTracks.h.

Referenced by IsTrack(), and SetMinPrincipal().


The documentation for this class was generated from the following files: