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

Constructor & Destructor Documentation

◆ TEfficiencies() [1/2]

TEfficiencies::TEfficiencies ( )
inline

Definition at line 140 of file PndCACountersBase.h.

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

◆ ~TEfficiencies() [1/2]

virtual TEfficiencies::~TEfficiencies ( )
inlinevirtual

◆ TEfficiencies() [2/2]

TEfficiencies::TEfficiencies ( )
inline

Definition at line 140 of file Counters.h.

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

◆ ~TEfficiencies() [2/2]

virtual TEfficiencies::~TEfficiencies ( )
inlinevirtual

Definition at line 144 of file Counters.h.

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

144 {};

Member Function Documentation

◆ AddCounter() [1/2]

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

Reimplemented in PndCAEfficiencies, and PndFTSEfficiencies.

Definition at line 168 of file PndCACountersBase.h.

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

169 {
170  indices[shortname] = names.size();
171  names.push_back(name);
172 
174  mc.AddCounter();
175  reco.AddCounter();
176 }
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 178 of file PndCACountersBase.h.

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

179 {
180  ratio_reco = reco / mc;
181  if (mc.counters[indices["total"]] > 0) {
182  ratio_clones = clones / double(mc.counters[indices["total"]]);
183  } else {
184  ratio_clones = -1;
185  }
186  if (reco.counters[indices["total"]] + ghosts > 0) {
187  ratio_ghosts = ghosts / double(reco.counters[indices["total"]] + ghosts);
188  } else {
189  ratio_ghosts = -1;
190  }
191 }
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 204 of file PndCACountersBase.h.

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

205 {
206  const int index = indices[name];
207 
208  mc.counters[index]++;
209  if (isReco)
210  reco.counters[index]++;
211 }
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 151 of file PndCACountersBase.h.

151 { nEvents++; };

◆ operator+=() [1/2]

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

Definition at line 193 of file PndCACountersBase.h.

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

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

194 {
195  mc += a.mc;
196  reco += a.reco;
197  ghosts += a.ghosts;
198  clones += a.clones;
199  nEvents += a.nEvents;
200 
201  return *this;
202 }
TTracksCatCounters< int > mc
TTracksCatCounters< int > reco

◆ operator+=() [2/2]

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

◆ Print() [1/2]

void TEfficiencies::Print ( )
inline

Definition at line 213 of file PndCACountersBase.h.

References TTracksCatCounters< T >::NCounters.

Referenced by IncNEvents().

214 {
215  cout.setf(ios::fixed);
216  cout.setf(ios::showpoint);
217  cout.precision(3);
218  cout << "Track category : "
219  << " Eff "
220  << " | "
221  << "All MC" << endl;
222 
223  int NCounters = mc.NCounters;
224  for (int iC = 0; iC < NCounters; iC++) {
225  cout << names[iC] << " : " << ratio_reco.counters[iC] << " | " << mc.counters[iC] << endl;
226  }
227 
228  cout << "Clone probability : " << ratio_clones << " | " << clones << endl;
229  cout << "Ghost probability : " << ratio_ghosts << " | " << ghosts << endl;
230 }
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 164 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 154 of file PndCACountersBase.h.

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

◆ nEvents

int TEfficiencies::nEvents

◆ ratio_clones

double TEfficiencies::ratio_clones

Definition at line 159 of file PndCACountersBase.h.

◆ ratio_ghosts

double TEfficiencies::ratio_ghosts

Definition at line 158 of file PndCACountersBase.h.

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

◆ ratio_reco

TTracksCatCounters< double > TEfficiencies::ratio_reco

Definition at line 157 of file PndCACountersBase.h.

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

◆ reco


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