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 25 of file PndCACounters.h.

Constructor & Destructor Documentation

◆ PndCAEfficiencies()

PndCAEfficiencies::PndCAEfficiencies ( )
inline

Definition at line 26 of file PndCACounters.h.

References AddCounter().

26  : TEfficiencies()
27  {
28 
29  AddCounter("ref_prim_long", "LRefPrim efficiency");
30  AddCounter("ref_prim", "RefPrim efficiency");
31  AddCounter("ref_sec", "RefSec efficiency");
32  AddCounter("ref", "Refset efficiency");
33  AddCounter("extra_prim", "ExtraPrim efficiency");
34  AddCounter("extra_sec", "ExtraSec efficiency");
35  AddCounter("extra", "Extra efficiency");
36  AddCounter("total", "Allset efficiency");
37  AddCounter("rest", "Rest efficiency");
38  }
virtual void AddCounter(string shortname, string name)
Definition: PndCACounters.h:41

◆ ~PndCAEfficiencies()

virtual PndCAEfficiencies::~PndCAEfficiencies ( )
inlinevirtual

Definition at line 39 of file PndCACounters.h.

39 {};

Member Function Documentation

◆ AddCounter()

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

Reimplemented from TEfficiencies.

Definition at line 41 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().

42  {
43  TEfficiencies::AddCounter(shortname, name);
49  clone.AddCounter();
52  }
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 64 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.

65  {
68  ratio_clone = clone / mc;
70  ratio_length = reco_length / allReco;
71  ratio_fakes = reco_fakes / allReco;
72  }
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 74 of file PndCACounters.h.

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

75  {
76  TEfficiencies::Inc(isReco, name);
77 
78  const int index = indices[name];
79 
80  if (isKilled)
81  killed.counters[index]++;
82  reco_length.counters[index] += _ratio_length;
83  reco_fakes.counters[index] += _ratio_fakes;
84  clone.counters[index] += _nclones;
85  }
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 54 of file PndCACounters.h.

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

55  {
57  killed += a.killed;
58  clone += a.clone;
61  return *this;
62  }
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 87 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.

88  {
89  std::cout.setf(ios::fixed);
90  std::cout.setf(ios::showpoint);
91  std::cout.precision(3);
92  std::cout << "Track category : "
93  << " Eff "
94  //<<" / "<< "Killed"
95  << " / "
96  << "Length"
97  << " / "
98  << "Fakes "
99  << " / "
100  << "Clones"
101  << " / "
102  << "All Reco"
103  << " | "
104  << "All MC" << std::endl;
105 
106  int NCounters = mc.NCounters;
107  for (int iC = 0; iC < NCounters; iC++) {
108  if ((names[iC] != "D0 efficiency") || (mc.counters[iC] != 0))
109  std::cout << names[iC] << " : "
110  << ratio_reco.counters[iC]
111  //<< " / " << ratio_killed.counters[iC] // tracks with aren't reco because other tracks takes their hit(-s)
112  << " / " << ratio_length.counters[iC] // nRecoMCHits/nMCHits
113  << " / " << ratio_fakes.counters[iC] // nFakeHits/nRecoAllHits
114  << " / " << ratio_clone.counters[iC] // nCloneTracks/nMCTracks
115  << " / " << double(reco.counters[iC]) / double(nEvents) << " | " << double(mc.counters[iC]) / double(nEvents) << std::endl;
116  }
117  std::cout << "Ghost probability : " << ratio_ghosts << " | " << double(ghosts) / double(nEvents) << std::endl;
118  std::cout << "All reco tracks/ev : " << int(double(reco.counters[indices["total"]]) / double(nEvents) + .5) << endl;
119  }
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 127 of file PndCACounters.h.

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

◆ killed

TTracksCatCounters<int> PndCAEfficiencies::killed

Definition at line 126 of file PndCACounters.h.

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

◆ ratio_clone

TTracksCatCounters<double> PndCAEfficiencies::ratio_clone

Definition at line 122 of file PndCACounters.h.

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

◆ ratio_fakes

TTracksCatCounters<double> PndCAEfficiencies::ratio_fakes

Definition at line 124 of file PndCACounters.h.

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

◆ ratio_killed

TTracksCatCounters<double> PndCAEfficiencies::ratio_killed

Definition at line 121 of file PndCACounters.h.

Referenced by AddCounter(), and CalcEff().

◆ ratio_length

TTracksCatCounters<double> PndCAEfficiencies::ratio_length

Definition at line 123 of file PndCACounters.h.

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

◆ reco_fakes

TTracksCatCounters<double> PndCAEfficiencies::reco_fakes

Definition at line 129 of file PndCACounters.h.

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

◆ reco_length

TTracksCatCounters<double> PndCAEfficiencies::reco_length

Definition at line 128 of file PndCACounters.h.

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


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