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 37 of file PndFTSCounters.h.

Constructor & Destructor Documentation

◆ PndFTSEfficiencies()

PndFTSEfficiencies::PndFTSEfficiencies ( )
inline

Definition at line 38 of file PndFTSCounters.h.

References AddCounter().

38  : TEfficiencies()
39  {
40 
41  AddCounter("ref_prim_long", "LRefPrim efficiency");
42  AddCounter("ref_prim", "RefPrim efficiency");
43  AddCounter("ref_sec", "RefSec efficiency");
44  AddCounter("ref", "Refset efficiency");
45  AddCounter("extra_prim", "ExtraPrim efficiency");
46  AddCounter("extra_sec", "ExtraSec efficiency");
47  AddCounter("extra", "Extra efficiency");
48  AddCounter("total", "Allset efficiency");
49  AddCounter("rest", "Rest efficiency");
50  }
virtual void AddCounter(string shortname, string name)

◆ ~PndFTSEfficiencies()

virtual PndFTSEfficiencies::~PndFTSEfficiencies ( )
inlinevirtual

Definition at line 51 of file PndFTSCounters.h.

51 {};

Member Function Documentation

◆ AddCounter()

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

Reimplemented from TEfficiencies.

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

53  {
54  TEfficiencies::AddCounter(shortname, name);
60  clone.AddCounter();
63  }
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 75 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.

76  {
79  ratio_clone = clone / mc;
81  ratio_length = reco_length / allReco;
82  ratio_fakes = reco_fakes / allReco;
83  }
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 85 of file PndFTSCounters.h.

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

86  {
87  TEfficiencies::Inc(isReco, name);
88 
89  const int index = indices[name];
90 
91  if (isKilled)
92  killed.counters[index]++;
93  reco_length.counters[index] += _ratio_length;
94  reco_fakes.counters[index] += _ratio_fakes;
95  clone.counters[index] += _nclones;
96  }
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 65 of file PndFTSCounters.h.

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

66  {
68  killed += a.killed;
69  clone += a.clone;
72  return *this;
73  }
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 98 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.

99  {
100 
101  // save original cout flags
102  std::ios_base::fmtflags coutFlags = cout.flags();
103  std::cout.setf(ios::fixed);
104  std::cout.setf(ios::showpoint);
105  std::cout.precision(3);
106  std::cout << "Track category : "
107  << " Eff "
108  //<<" / "<< "Killed"
109  << " / "
110  << "Length"
111  << " / "
112  << "Fakes "
113  << " / "
114  << "Clones"
115  << " / "
116  << "All Reco"
117  << " | "
118  << "All MC" << std::endl;
119 
120  int NCounters = mc.NCounters;
121  for (int iC = 0; iC < NCounters; iC++) {
122  if ((names[iC] != "D0 efficiency") || (mc.counters[iC] != 0))
123  std::cout << names[iC] << " : "
124  << ratio_reco.counters[iC]
125  //<< " / " << ratio_killed.counters[iC] // tracks with aren't reco because other tracks takes their hit(-s)
126  << " / " << ratio_length.counters[iC] // nRecoMCHits/nMCHits
127  << " / " << ratio_fakes.counters[iC] // nFakeHits/nRecoAllHits
128  << " / " << ratio_clone.counters[iC] // nCloneTracks/nMCTracks
129  << " / " << double(reco.counters[iC]) / double(nEvents) << " | " << double(mc.counters[iC]) / double(nEvents) << std::endl;
130  }
131  std::cout << "Ghost probability : " << ratio_ghosts << " | " << double(ghosts) / double(nEvents) << std::endl;
132  std::cout << "All reco tracks/ev : " << int(double(reco.counters[indices["total"]]) / double(nEvents) + .5) << endl;
133 
134  // restore original cout flags
135  cout.flags(coutFlags);
136  }
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 144 of file PndFTSCounters.h.

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

◆ killed

TTracksCatCounters<int> PndFTSEfficiencies::killed

Definition at line 143 of file PndFTSCounters.h.

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

◆ ratio_clone

TTracksCatCounters<double> PndFTSEfficiencies::ratio_clone

Definition at line 139 of file PndFTSCounters.h.

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

◆ ratio_fakes

TTracksCatCounters<double> PndFTSEfficiencies::ratio_fakes

Definition at line 141 of file PndFTSCounters.h.

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

◆ ratio_killed

TTracksCatCounters<double> PndFTSEfficiencies::ratio_killed

Definition at line 138 of file PndFTSCounters.h.

Referenced by AddCounter(), and CalcEff().

◆ ratio_length

TTracksCatCounters<double> PndFTSEfficiencies::ratio_length

Definition at line 140 of file PndFTSCounters.h.

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

◆ reco_fakes

TTracksCatCounters<double> PndFTSEfficiencies::reco_fakes

Definition at line 146 of file PndFTSCounters.h.

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

◆ reco_length

TTracksCatCounters<double> PndFTSEfficiencies::reco_length

Definition at line 145 of file PndFTSCounters.h.

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


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