PandaRoot
PndCAEfficiencies Struct Reference

#include <PndCACounters.h>

Inheritance diagram for PndCAEfficiencies:
TEfficiencies

Public Member Functions

 PndCAEfficiencies ()
 
virtual ~PndCAEfficiencies ()
 
virtual void AddCounter (string shortname, string name)
 
PndCAEfficienciesoperator+= (PndCAEfficiencies &a)
 
void CalcEff ()
 
void Inc (bool isReco, bool isKilled, double _ratio_length, double _ratio_fakes, int _nclones, string name)
 
void Print ()
 
- Public Member Functions inherited from TEfficiencies
 TEfficiencies ()
 
virtual ~TEfficiencies ()
 
TEfficienciesoperator+= (TEfficiencies &a)
 
void CalcEff ()
 
void Inc (bool isReco, string name)
 
void IncNEvents ()
 
void Print ()
 
 TEfficiencies ()
 
virtual ~TEfficiencies ()
 
TEfficienciesoperator+= (TEfficiencies &a)
 
void CalcEff ()
 
void Inc (bool isReco, string name)
 
void IncNEvents ()
 
void Print ()
 

Public Attributes

TTracksCatCounters< double > ratio_killed
 
TTracksCatCounters< double > ratio_clone
 
TTracksCatCounters< double > ratio_length
 
TTracksCatCounters< double > ratio_fakes
 
TTracksCatCounters< int > killed
 
TTracksCatCounters< int > clone
 
TTracksCatCounters< double > reco_length
 
TTracksCatCounters< double > reco_fakes
 
- Public Attributes inherited from TEfficiencies
vector< string > names
 
map< string, int > indices
 
TTracksCatCounters< double > ratio_reco
 
double ratio_ghosts
 
double ratio_clones
 
TTracksCatCounters< int > mc
 
TTracksCatCounters< int > reco
 
int ghosts
 
int clones
 
int nEvents
 

Detailed Description

Definition at line 37 of file PndCACounters.h.

Constructor & Destructor Documentation

◆ PndCAEfficiencies()

PndCAEfficiencies::PndCAEfficiencies ( )
inline

Definition at line 38 of file PndCACounters.h.

References AddCounter().

38  : TEfficiencies()
39  {
40 
41  AddCounter("ref_prim_long", "LRefPrim efficiency");
42  AddCounter("ref_prim", "RefPrim efficiency");
43  AddCounter("ref_sec", "RefSec efficiency");
44  AddCounter("ref", "Refset efficiency");
45  AddCounter("extra_prim", "ExtraPrim efficiency");
46  AddCounter("extra_sec", "ExtraSec efficiency");
47  AddCounter("extra", "Extra efficiency");
48  AddCounter("total", "Allset efficiency");
49  AddCounter("rest", "Rest efficiency");
50  }
virtual void AddCounter(string shortname, string name)
Definition: PndCACounters.h:53

◆ ~PndCAEfficiencies()

virtual PndCAEfficiencies::~PndCAEfficiencies ( )
inlinevirtual

Definition at line 51 of file PndCACounters.h.

51 {};

Member Function Documentation

◆ AddCounter()

virtual void PndCAEfficiencies::AddCounter ( string  shortname,
string  name 
)
inlinevirtual

Reimplemented from TEfficiencies.

Definition at line 53 of file PndCACounters.h.

References TTracksCatCounters< T >::AddCounter(), TEfficiencies::AddCounter(), clone, killed, ratio_clone, ratio_fakes, ratio_killed, ratio_length, reco_fakes, and reco_length.

Referenced by PndCAEfficiencies().

54  {
55  TEfficiencies::AddCounter(shortname, name);
61  clone.AddCounter();
64  }
TTracksCatCounters< double > ratio_clone
TTracksCatCounters< double > ratio_killed
TTracksCatCounters< double > ratio_fakes
TTracksCatCounters< int > clone
TTracksCatCounters< double > reco_length
TTracksCatCounters< double > ratio_length
TTracksCatCounters< int > killed
TTracksCatCounters< double > reco_fakes
virtual void AddCounter(string shortname, string name)

◆ CalcEff()

void PndCAEfficiencies::CalcEff ( )
inline

Definition at line 76 of file PndCACounters.h.

References TEfficiencies::CalcEff(), clone, killed, TEfficiencies::mc, ratio_clone, ratio_fakes, ratio_killed, ratio_length, TEfficiencies::reco, reco_fakes, and reco_length.

77  {
80  ratio_clone = clone / mc;
82  ratio_length = reco_length / allReco;
83  ratio_fakes = reco_fakes / allReco;
84  }
TTracksCatCounters< double > ratio_clone
TTracksCatCounters< double > ratio_killed
TTracksCatCounters< double > ratio_fakes
TTracksCatCounters< int > clone
TTracksCatCounters< double > reco_length
TTracksCatCounters< double > ratio_length
TTracksCatCounters< int > mc
TTracksCatCounters< int > reco
TTracksCatCounters< int > killed
TTracksCatCounters< double > reco_fakes

◆ Inc()

void PndCAEfficiencies::Inc ( bool  isReco,
bool  isKilled,
double  _ratio_length,
double  _ratio_fakes,
int  _nclones,
string  name 
)
inline

Definition at line 86 of file PndCACounters.h.

References clone, TTracksCatCounters< T >::counters, TEfficiencies::Inc(), TEfficiencies::indices, killed, reco_fakes, and reco_length.

87  {
88  TEfficiencies::Inc(isReco, name);
89 
90  const int index = indices[name];
91 
92  if (isKilled)
93  killed.counters[index]++;
94  reco_length.counters[index] += _ratio_length;
95  reco_fakes.counters[index] += _ratio_fakes;
96  clone.counters[index] += _nclones;
97  }
TTracksCatCounters< int > clone
TTracksCatCounters< double > reco_length
void Inc(bool isReco, string name)
map< string, int > indices
TTracksCatCounters< int > killed
TTracksCatCounters< double > reco_fakes

◆ operator+=()

PndCAEfficiencies& PndCAEfficiencies::operator+= ( PndCAEfficiencies a)
inline

Definition at line 66 of file PndCACounters.h.

References clone, killed, TEfficiencies::operator+=(), reco_fakes, and reco_length.

67  {
69  killed += a.killed;
70  clone += a.clone;
73  return *this;
74  }
TTracksCatCounters< int > clone
TTracksCatCounters< double > reco_length
TTracksCatCounters< int > killed
TEfficiencies & operator+=(TEfficiencies &a)
TTracksCatCounters< double > reco_fakes

◆ Print()

void PndCAEfficiencies::Print ( )
inline

Definition at line 99 of file PndCACounters.h.

References TTracksCatCounters< T >::counters, TEfficiencies::ghosts, TEfficiencies::indices, TEfficiencies::mc, TEfficiencies::names, TTracksCatCounters< T >::NCounters, TEfficiencies::nEvents, ratio_clone, ratio_fakes, TEfficiencies::ratio_ghosts, ratio_length, TEfficiencies::ratio_reco, and TEfficiencies::reco.

100  {
101  std::cout.setf(ios::fixed);
102  std::cout.setf(ios::showpoint);
103  std::cout.precision(3);
104  std::cout << "Track category : "
105  << " Eff "
106  //<<" / "<< "Killed"
107  << " / "
108  << "Length"
109  << " / "
110  << "Fakes "
111  << " / "
112  << "Clones"
113  << " / "
114  << "All Reco"
115  << " | "
116  << "All MC" << std::endl;
117 
118  int NCounters = mc.NCounters;
119  for (int iC = 0; iC < NCounters; iC++) {
120  if ((names[iC] != "D0 efficiency") || (mc.counters[iC] != 0))
121  std::cout << names[iC] << " : "
122  << ratio_reco.counters[iC]
123  //<< " / " << ratio_killed.counters[iC] // tracks with aren't reco because other tracks takes their hit(-s)
124  << " / " << ratio_length.counters[iC] // nRecoMCHits/nMCHits
125  << " / " << ratio_fakes.counters[iC] // nFakeHits/nRecoAllHits
126  << " / " << ratio_clone.counters[iC] // nCloneTracks/nMCTracks
127  << " / " << double(reco.counters[iC]) / double(nEvents) << " | " << double(mc.counters[iC]) / double(nEvents) << std::endl;
128  }
129  std::cout << "Ghost probability : " << ratio_ghosts << " | " << double(ghosts) / double(nEvents) << std::endl;
130  std::cout << "All reco tracks/ev : " << int(double(reco.counters[indices["total"]]) / double(nEvents) + .5) << endl;
131  }
TTracksCatCounters< double > ratio_clone
TTracksCatCounters< double > ratio_fakes
map< string, int > indices
TTracksCatCounters< double > ratio_reco
TTracksCatCounters< double > ratio_length
TTracksCatCounters< int > mc
vector< string > names
TTracksCatCounters< int > reco

Member Data Documentation

◆ clone

TTracksCatCounters<int> PndCAEfficiencies::clone

Definition at line 139 of file PndCACounters.h.

Referenced by AddCounter(), CalcEff(), Inc(), and operator+=().

◆ killed

TTracksCatCounters<int> PndCAEfficiencies::killed

Definition at line 138 of file PndCACounters.h.

Referenced by AddCounter(), CalcEff(), Inc(), and operator+=().

◆ ratio_clone

TTracksCatCounters<double> PndCAEfficiencies::ratio_clone

Definition at line 134 of file PndCACounters.h.

Referenced by AddCounter(), CalcEff(), and Print().

◆ ratio_fakes

TTracksCatCounters<double> PndCAEfficiencies::ratio_fakes

Definition at line 136 of file PndCACounters.h.

Referenced by AddCounter(), CalcEff(), and Print().

◆ ratio_killed

TTracksCatCounters<double> PndCAEfficiencies::ratio_killed

Definition at line 133 of file PndCACounters.h.

Referenced by AddCounter(), and CalcEff().

◆ ratio_length

TTracksCatCounters<double> PndCAEfficiencies::ratio_length

Definition at line 135 of file PndCACounters.h.

Referenced by AddCounter(), CalcEff(), and Print().

◆ reco_fakes

TTracksCatCounters<double> PndCAEfficiencies::reco_fakes

Definition at line 141 of file PndCACounters.h.

Referenced by AddCounter(), CalcEff(), Inc(), and operator+=().

◆ reco_length

TTracksCatCounters<double> PndCAEfficiencies::reco_length

Definition at line 140 of file PndCACounters.h.

Referenced by AddCounter(), CalcEff(), Inc(), and operator+=().


The documentation for this struct was generated from the following file: