PandaRoot
TEfficiencies Struct Reference

#include <PndCACountersBase.h>

Inheritance diagram for TEfficiencies:
PndCAEfficiencies PndFTSEfficiencies

Public Member Functions

 TEfficiencies ()
 
virtual ~TEfficiencies ()
 
virtual void AddCounter (string shortname, string name)
 
TEfficienciesoperator+= (TEfficiencies &a)
 
void CalcEff ()
 
void Inc (bool isReco, string name)
 
void IncNEvents ()
 
void Print ()
 
 TEfficiencies ()
 
virtual ~TEfficiencies ()
 
virtual void AddCounter (string shortname, string name)
 
TEfficienciesoperator+= (TEfficiencies &a)
 
void CalcEff ()
 
void Inc (bool isReco, string name)
 
void IncNEvents ()
 
void Print ()
 

Public Attributes

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 127 of file PndCACountersBase.h.

Constructor & Destructor Documentation

◆ TEfficiencies() [1/2]

TEfficiencies::TEfficiencies ( )
inline

Definition at line 128 of file PndCACountersBase.h.

129  : ratio_ghosts(0), ratio_clones(0), ghosts(0), clones(0), nEvents(0){
130  // you should add counter with shortname="total" !!
131  };

◆ ~TEfficiencies() [1/2]

virtual TEfficiencies::~TEfficiencies ( )
inlinevirtual

◆ TEfficiencies() [2/2]

TEfficiencies::TEfficiencies ( )
inline

Definition at line 128 of file Counters.h.

129  : ratio_ghosts(0), ratio_clones(0), ghosts(0), clones(0), nEvents(0){
130  // you should add counter with shortname="total" !!
131  };

◆ ~TEfficiencies() [2/2]

virtual TEfficiencies::~TEfficiencies ( )
inlinevirtual

Definition at line 132 of file Counters.h.

References TTracksCatCounters< T >::AddCounter(), and TTracksCatCounters< T >::operator+=().

132 {};

Member Function Documentation

◆ AddCounter() [1/2]

void TEfficiencies::AddCounter ( string  shortname,
string  name 
)
inlinevirtual

Reimplemented in PndCAEfficiencies, and PndFTSEfficiencies.

Definition at line 156 of file PndCACountersBase.h.

Referenced by PndFTSEfficiencies::AddCounter(), PndCAEfficiencies::AddCounter(), and IncNEvents().

157 {
158  indices[shortname] = names.size();
159  names.push_back(name);
160 
162  mc.AddCounter();
163  reco.AddCounter();
164 }
map< string, int > indices
TTracksCatCounters< double > ratio_reco
TTracksCatCounters< int > mc
vector< string > names
TTracksCatCounters< int > reco

◆ AddCounter() [2/2]

virtual void TEfficiencies::AddCounter ( string  shortname,
string  name 
)
virtual

Reimplemented in PndCAEfficiencies, and PndFTSEfficiencies.

◆ CalcEff() [1/2]

void TEfficiencies::CalcEff ( )

◆ CalcEff() [2/2]

void TEfficiencies::CalcEff ( )
inline

Definition at line 166 of file PndCACountersBase.h.

Referenced by PndFTSEfficiencies::CalcEff(), PndCAEfficiencies::CalcEff(), and IncNEvents().

167 {
168  ratio_reco = reco / mc;
169  if (mc.counters[indices["total"]] > 0) {
170  ratio_clones = clones / double(mc.counters[indices["total"]]);
171  } else {
172  ratio_clones = -1;
173  }
174  if (reco.counters[indices["total"]] + ghosts > 0) {
175  ratio_ghosts = ghosts / double(reco.counters[indices["total"]] + ghosts);
176  } else {
177  ratio_ghosts = -1;
178  }
179 }
map< string, int > indices
TTracksCatCounters< double > ratio_reco
TTracksCatCounters< int > mc
TTracksCatCounters< int > reco

◆ Inc() [1/2]

void TEfficiencies::Inc ( bool  isReco,
string  name 
)
inline

Definition at line 192 of file PndCACountersBase.h.

Referenced by PndFTSEfficiencies::Inc(), PndCAEfficiencies::Inc(), and IncNEvents().

193 {
194  const int index = indices[name];
195 
196  mc.counters[index]++;
197  if (isReco)
198  reco.counters[index]++;
199 }
map< string, int > indices
TTracksCatCounters< int > mc
TTracksCatCounters< int > reco

◆ Inc() [2/2]

void TEfficiencies::Inc ( bool  isReco,
string  name 
)

◆ IncNEvents() [1/2]

void TEfficiencies::IncNEvents ( )
inline

◆ IncNEvents() [2/2]

void TEfficiencies::IncNEvents ( )
inline

Definition at line 139 of file PndCACountersBase.h.

139 { nEvents++; };

◆ operator+=() [1/2]

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

Definition at line 181 of file PndCACountersBase.h.

References clones, ghosts, mc, nEvents, and reco.

Referenced by IncNEvents(), PndFTSEfficiencies::operator+=(), and PndCAEfficiencies::operator+=().

182 {
183  mc += a.mc;
184  reco += a.reco;
185  ghosts += a.ghosts;
186  clones += a.clones;
187  nEvents += a.nEvents;
188 
189  return *this;
190 }
TTracksCatCounters< int > mc
TTracksCatCounters< int > reco

◆ operator+=() [2/2]

TEfficiencies& TEfficiencies::operator+= ( TEfficiencies a)

◆ Print() [1/2]

void TEfficiencies::Print ( )
inline

Definition at line 201 of file PndCACountersBase.h.

References TTracksCatCounters< T >::NCounters.

Referenced by IncNEvents().

202 {
203  cout.setf(ios::fixed);
204  cout.setf(ios::showpoint);
205  cout.precision(3);
206  cout << "Track category : "
207  << " Eff "
208  << " | "
209  << "All MC" << endl;
210 
211  int NCounters = mc.NCounters;
212  for (int iC = 0; iC < NCounters; iC++) {
213  cout << names[iC] << " : " << ratio_reco.counters[iC] << " | " << mc.counters[iC] << endl;
214  }
215 
216  cout << "Clone probability : " << ratio_clones << " | " << clones << endl;
217  cout << "Ghost probability : " << ratio_ghosts << " | " << ghosts << endl;
218 }
TTracksCatCounters< double > ratio_reco
TTracksCatCounters< int > mc
vector< string > names

◆ Print() [2/2]

void TEfficiencies::Print ( )

Member Data Documentation

◆ clones

int TEfficiencies::clones

Definition at line 152 of file PndCACountersBase.h.

Referenced by IncNEvents(), and operator+=().

◆ ghosts

int TEfficiencies::ghosts

◆ indices

map< string, int > TEfficiencies::indices

◆ mc

◆ names

vector< string > TEfficiencies::names

Definition at line 142 of file PndCACountersBase.h.

Referenced by PndFTSEfficiencies::Print(), and PndCAEfficiencies::Print().

◆ nEvents

int TEfficiencies::nEvents

◆ ratio_clones

double TEfficiencies::ratio_clones

Definition at line 147 of file PndCACountersBase.h.

◆ ratio_ghosts

double TEfficiencies::ratio_ghosts

Definition at line 146 of file PndCACountersBase.h.

Referenced by PndFTSEfficiencies::Print(), and PndCAEfficiencies::Print().

◆ ratio_reco

TTracksCatCounters< double > TEfficiencies::ratio_reco

Definition at line 145 of file PndCACountersBase.h.

Referenced by PndFTSEfficiencies::Print(), and PndCAEfficiencies::Print().

◆ reco


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