PandaRoot
PndFTSEfficiencies Struct Reference

#include <PndFTSCounters.h>

Inheritance diagram for PndFTSEfficiencies:
TEfficiencies

Public Member Functions

 PndFTSEfficiencies ()
 
virtual ~PndFTSEfficiencies ()
 
virtual void AddCounter (string shortname, string name)
 
PndFTSEfficienciesoperator+= (PndFTSEfficiencies &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 PndFTSCounters.h.

Constructor & Destructor Documentation

◆ PndFTSEfficiencies()

PndFTSEfficiencies::PndFTSEfficiencies ( )
inline

Definition at line 26 of file PndFTSCounters.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)

◆ ~PndFTSEfficiencies()

virtual PndFTSEfficiencies::~PndFTSEfficiencies ( )
inlinevirtual

Definition at line 39 of file PndFTSCounters.h.

39 {};

Member Function Documentation

◆ AddCounter()

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

Reimplemented from TEfficiencies.

Definition at line 40 of file PndFTSCounters.h.

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

Referenced by PndFTSEfficiencies().

41  {
42  TEfficiencies::AddCounter(shortname, name);
48  clone.AddCounter();
51  }
TTracksCatCounters< int > clone
TTracksCatCounters< int > killed
TTracksCatCounters< double > ratio_killed
TTracksCatCounters< double > ratio_clone
TTracksCatCounters< double > ratio_length
TTracksCatCounters< double > reco_fakes
TTracksCatCounters< double > reco_length
TTracksCatCounters< double > ratio_fakes
virtual void AddCounter(string shortname, string name)

◆ CalcEff()

void PndFTSEfficiencies::CalcEff ( )
inline

Definition at line 63 of file PndFTSCounters.h.

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

64  {
67  ratio_clone = clone / mc;
69  ratio_length = reco_length / allReco;
70  ratio_fakes = reco_fakes / allReco;
71  }
TTracksCatCounters< int > clone
TTracksCatCounters< int > killed
TTracksCatCounters< double > ratio_killed
TTracksCatCounters< double > ratio_clone
TTracksCatCounters< double > ratio_length
TTracksCatCounters< double > reco_fakes
TTracksCatCounters< int > mc
TTracksCatCounters< int > reco
TTracksCatCounters< double > reco_length
TTracksCatCounters< double > ratio_fakes

◆ Inc()

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

Definition at line 73 of file PndFTSCounters.h.

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

74  {
75  TEfficiencies::Inc(isReco, name);
76 
77  const int index = indices[name];
78 
79  if (isKilled)
80  killed.counters[index]++;
81  reco_length.counters[index] += _ratio_length;
82  reco_fakes.counters[index] += _ratio_fakes;
83  clone.counters[index] += _nclones;
84  }
TTracksCatCounters< int > clone
TTracksCatCounters< int > killed
void Inc(bool isReco, string name)
map< string, int > indices
TTracksCatCounters< double > reco_fakes
TTracksCatCounters< double > reco_length

◆ operator+=()

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

Definition at line 53 of file PndFTSCounters.h.

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

54  {
56  killed += a.killed;
57  clone += a.clone;
60  return *this;
61  }
TTracksCatCounters< int > clone
TTracksCatCounters< int > killed
TTracksCatCounters< double > reco_fakes
TTracksCatCounters< double > reco_length
TEfficiencies & operator+=(TEfficiencies &a)

◆ Print()

void PndFTSEfficiencies::Print ( )
inline

Definition at line 86 of file PndFTSCounters.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.

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

Member Data Documentation

◆ clone

TTracksCatCounters<int> PndFTSEfficiencies::clone

Definition at line 132 of file PndFTSCounters.h.

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

◆ killed

TTracksCatCounters<int> PndFTSEfficiencies::killed

Definition at line 131 of file PndFTSCounters.h.

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

◆ ratio_clone

TTracksCatCounters<double> PndFTSEfficiencies::ratio_clone

Definition at line 127 of file PndFTSCounters.h.

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

◆ ratio_fakes

TTracksCatCounters<double> PndFTSEfficiencies::ratio_fakes

Definition at line 129 of file PndFTSCounters.h.

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

◆ ratio_killed

TTracksCatCounters<double> PndFTSEfficiencies::ratio_killed

Definition at line 126 of file PndFTSCounters.h.

Referenced by AddCounter(), and CalcEff().

◆ ratio_length

TTracksCatCounters<double> PndFTSEfficiencies::ratio_length

Definition at line 128 of file PndFTSCounters.h.

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

◆ reco_fakes

TTracksCatCounters<double> PndFTSEfficiencies::reco_fakes

Definition at line 134 of file PndFTSCounters.h.

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

◆ reco_length

TTracksCatCounters<double> PndFTSEfficiencies::reco_length

Definition at line 133 of file PndFTSCounters.h.

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


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