FairRoot/PandaRoot
Public Member Functions | Public Attributes | List of all members
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 116 of file PndCACountersBase.h.

Constructor & Destructor Documentation

TEfficiencies::TEfficiencies ( )
inline

Definition at line 118 of file PndCACountersBase.h.

119  // you should add counter with shortname="total" !!
120  };
virtual TEfficiencies::~TEfficiencies ( )
inlinevirtual

Definition at line 121 of file PndCACountersBase.h.

121 {};
TEfficiencies::TEfficiencies ( )
inline

Definition at line 118 of file Counters.h.

119  // you should add counter with shortname="total" !!
120  };
virtual TEfficiencies::~TEfficiencies ( )
inlinevirtual

Definition at line 121 of file Counters.h.

121 {};

Member Function Documentation

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

Reimplemented in PndCAEfficiencies, and PndFTSEfficiencies.

Definition at line 146 of file PndCACountersBase.h.

References TTracksCatCounters< T >::AddCounter(), indices, mc, names, ratio_reco, and reco.

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

147 {
148  indices[shortname] = names.size();
149  names.push_back(name);
150 
152  mc.AddCounter();
153  reco.AddCounter();
154 }
map< string, int > indices
TTracksCatCounters< double > ratio_reco
TString name
TTracksCatCounters< int > mc
vector< string > names
TTracksCatCounters< int > reco
virtual void TEfficiencies::AddCounter ( string  shortname,
string  name 
)
virtual

Reimplemented in PndCAEfficiencies, and PndFTSEfficiencies.

void TEfficiencies::CalcEff ( )
void TEfficiencies::CalcEff ( )
inline

Definition at line 156 of file PndCACountersBase.h.

References clones, TTracksCatCounters< T >::counters, ghosts, indices, mc, ratio_clones, ratio_ghosts, ratio_reco, and reco.

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

157 {
158  ratio_reco = reco/mc;
159  if (mc.counters[indices["total"]] > 0){
160  ratio_clones = clones/double(mc.counters[indices["total"]]);
161  }
162  else{
163  ratio_clones = -1;
164  }
165  if (reco.counters[indices["total"]]+ghosts > 0){
166  ratio_ghosts = ghosts/double(reco.counters[indices["total"]]+ghosts);
167  }
168  else{
169  ratio_ghosts = -1;
170  }
171 }
map< string, int > indices
TTracksCatCounters< double > ratio_reco
TTracksCatCounters< int > mc
TTracksCatCounters< int > reco
void TEfficiencies::Inc ( bool  isReco,
string  name 
)
inline

Definition at line 182 of file PndCACountersBase.h.

References TTracksCatCounters< T >::counters, indices, mc, name, and reco.

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

183 {
184  const int index = indices[name];
185 
186  mc.counters[index]++;
187  if (isReco) reco.counters[index]++;
188 }
map< string, int > indices
TString name
TTracksCatCounters< int > mc
TTracksCatCounters< int > reco
void TEfficiencies::Inc ( bool  isReco,
string  name 
)
void TEfficiencies::IncNEvents ( )
inline

Definition at line 128 of file Counters.h.

References nEvents.

128 { nEvents++; };
void TEfficiencies::IncNEvents ( )
inline

Definition at line 128 of file PndCACountersBase.h.

References nEvents.

128 { nEvents++; };
TEfficiencies & TEfficiencies::operator+= ( TEfficiencies a)
inline

Definition at line 173 of file PndCACountersBase.h.

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

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

174 {
175  mc += a.mc; reco += a.reco;
176  ghosts += a.ghosts; clones += a.clones;
177  nEvents += a.nEvents;
178 
179  return *this;
180 }
TTracksCatCounters< int > mc
TTracksCatCounters< int > reco
TEfficiencies& TEfficiencies::operator+= ( TEfficiencies a)
void TEfficiencies::Print ( )
inline

Definition at line 190 of file PndCACountersBase.h.

References clones, TTracksCatCounters< T >::counters, ghosts, mc, names, TTracksCatCounters< T >::NCounters, ratio_clones, ratio_ghosts, and ratio_reco.

190  {
191  cout.setf(ios::fixed);
192  cout.setf(ios::showpoint);
193  cout.precision(3);
194  cout << "Track category : " << " Eff " <<" | "<< "All MC" << endl;
195 
196  int NCounters = mc.NCounters;
197  for (int iC = 0; iC < NCounters; iC++){
198  cout << names[iC] << " : "
199  << ratio_reco.counters[iC]
200  << " | " << mc.counters[iC] << endl;
201  }
202 
203  cout << "Clone probability : " << ratio_clones <<" | "<< clones << endl;
204  cout << "Ghost probability : " << ratio_ghosts <<" | "<< ghosts << endl;
205 }
TTracksCatCounters< double > ratio_reco
TTracksCatCounters< int > mc
vector< string > names
void TEfficiencies::Print ( )

Member Data Documentation

int TEfficiencies::clones

Definition at line 142 of file PndCACountersBase.h.

Referenced by CalcEff(), operator+=(), and Print().

int TEfficiencies::ghosts
map< string, int > TEfficiencies::indices
TTracksCatCounters< int > TEfficiencies::mc
vector< string > TEfficiencies::names
int TEfficiencies::nEvents
double TEfficiencies::ratio_clones

Definition at line 137 of file PndCACountersBase.h.

Referenced by CalcEff(), and Print().

double TEfficiencies::ratio_ghosts
TTracksCatCounters< double > TEfficiencies::ratio_reco
TTracksCatCounters< int > TEfficiencies::reco

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