CbmRoot
CbmKFPartEfficiencies.h
Go to the documentation of this file.
1 #ifndef CbmKFPartEfficiencies_H
2 #define CbmKFPartEfficiencies_H
3 
4 #include "CbmL1Counters.h"
5 #include "TNamed.h"
6 
7 class CbmKFPartEfficiencies : public TNamed {
8 public:
10  : partDaughterPdg()
11  , names()
12  , indices()
13  , fPdgToIndex()
14  , ratio_reco()
15  , mc()
16  , reco()
17  , ratio_ghost()
18  , ratio_bg()
19  , ratio_clone()
20  , ghost()
21  , bg()
22  , clone() {
23  // add total efficiency
24  // AddCounter("piPlus" ,"PiPlus efficiency");
25  // AddCounter("piMinus" ,"PiMinus efficiency");
26 
27  int mPartPDG[nParticles] = {
28  310, 3122, -3122, 3312, -3312, 3322, -3322,
29  3334, -3334, 3212, -3212, 3222, -3222, //strange meson and hyperons
30  313, -313, 323, -323, //K* resonances
31  3224, 3114, -3114, -3224, 3214, -3214, //sigma resonances
32  3124, -3124, //Lambda resonances
33  3324, -3324, 1003314, -1003314, 3314, -3314, //Xi resonances
34  1003334, -1003334, //Omega resonances
35  3000, //exotics
36  333, 113, //vector mesons, hadron chanel
37  100113, 200113, //light vector mesons
38  22, //dielectrons
39  111, 221, //pi0, eta
40  443, 100443, // J/Psi
41  421, -421, 100421, -100421, //D0
42  411, -411, //D+, D-
43  431, -431, //Ds+, Ds-
44  4122, -4122, //Lambdac
45  10421, -10421, 10411, -10411, 20411, -20411,
46  3001, //H->Lambda p pi
47  11, -11, 13, -13, 211, -211, 321,
48  -321, 2212, -2212 // stable particles
49  };
50  TString mPartName[nParticles] = {"ks",
51  "lambda",
52  "lambdab",
53  "xi-",
54  "xi+",
55  "xi0",
56  "xi0b",
57  "omega-",
58  "omega+",
59  "#Sigma^0",
60  "#Sigma^0b",
61  "#Sigma^+",
62  "#Sigma^+b",
63  "k*0",
64  "k*0b",
65  "k*+",
66  "k*-",
67  "sigma*+",
68  "sigma*-",
69  "sigma*+b",
70  "sigma*-b",
71  "sigma*0",
72  "sigma*0b",
73  "lambda*",
74  "lambda*b",
75  "xi*0",
76  "xi*0b",
77  "xi*-_{#Lambda,K}",
78  "xi*+_{#Lambda,K}",
79  "xi*-_{#xi-,#pi0}",
80  "xi*+_{#xi+,#pi0}",
81  "omega*-",
82  "omega*+",
83  "Hdb",
84  "phi_{KK}",
85  "rho_{#pi#pi}",
86  "rho_{ee}",
87  "rho_{#mu#mu}",
88  "gamma",
89  "#pi^{0}",
90  "eta",
91  "J#Psi_ee",
92  "J#Psi_#mu#mu",
93  "D0",
94  "D0b",
95  "D0_4",
96  "D0b_4",
97  "D+",
98  "D-",
99  "Ds+",
100  "Ds-",
101  "lambdac",
102  "lambdacb",
103  "D*0",
104  "D*0b",
105  "D*+",
106  "D*-",
107  "D*+_4",
108  "D*-_4",
109  "H0",
110  "e-",
111  "e+",
112  "mu-",
113  "mu+",
114  "pi+",
115  "pi-",
116  "K+",
117  "K-",
118  "p+",
119  "p-"};
120  TString mPartTitle[nParticles] = {
121  "KShort ", //0
122  "Lambda ", //1
123  "Lambda b ", //2
124  "Xi- ", //3
125  "Xi+ ", //4
126  "Xi0 ", //5
127  "Xi0 b ", //6
128  "Omega- ", //7
129  "Omega+ ", //8
130  "Sigma0 ", //9
131  "Sigma0 b ", //10
132  "Sigma+ ", //11
133  "Sigma+ b ", //12
134  "K*0 ", //13
135  "K*0 b ", //14
136  "K*+ ", //15
137  "K*- ", //16
138  "Sigma*+ ", //17
139  "Sigma*- ", //18
140  "Sigma*+ b", //19
141  "Sigma*- b", //20
142  "Sigma*0 ", //21
143  "Sigma*0 b", //22
144  "Lambda* ", //23
145  "Lambda* b", //24
146  "Xi*0 ", //25
147  "Xi*0 b ", //26
148  "Xi*-_lk ", //27
149  "Xi*+_lk ", //28
150  "Xi*-_XiPi", //29
151  "Xi*+_XiPi", //30
152  "Omega*- ", //31
153  "Omega*+ ", //32
154  "Hdb ", //33
155  "phi_kk ", //34
156  "rho_pipi ", //35
157  "rho_ee ", //36
158  "rho_mm ", //37
159  "gamma ", //38
160  "Pi0 ", //39
161  "eta ", //40
162  "JPsi_ee ", //41
163  "JPsi_mm ", //42
164  "D0 ", //43
165  "D0b ", //44
166  "D0_4 ", //45
167  "D0b_4 ", //46
168  "D+ ", //47
169  "D- ", //48
170  "Ds+ ", //49
171  "Ds- ", //50
172  "Lambdac ", //51
173  "Lambdac b", //52
174  "D*0 ", //53
175  "D*0 b ", //54
176  "D*+ ", //55
177  "D*- ", //56
178  "D*+_4 ", //57
179  "D*-_4 ", //58
180  "H0 ", //59
181  "e- ", //60
182  "e+ ", //61
183  "mu- ", //62
184  "mu+ ", //63
185  "pi+ ", //64
186  "pi- ", //65
187  "K+ ", //66
188  "K- ", //67
189  "p+ ", //68
190  "p- ", //69
191  };
192 
193  float mPartMHistoMin[nParticles] = {
194  0.3, 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 0.6,
195  0.6, 0.6, 0.6, 1., 1., 1., 1., 1., 1., 1.4, 1.4, 1.4, 1.4, 1.4,
196  1.4, 1.4, 1.4, 1.8, 1.8, 1., 0.8, 0.1, 0.1, 0.1, 0., 0., 0., 1.,
197  1., 1., 1., 1., 1., 1., 1., 1., 1., 1.8, 1.8, 1.8, 1.8, 1.8,
198  1.8, 1.8, 1.8, 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.};
199  float mPartMHistoMax[nParticles] = {
200  1.3, 2., 2., 3., 3., 3., 3., 3., 3., 3., 3., 3., 3., 2.6,
201  2.6, 2.6, 2.6, 3., 3., 3., 3., 3., 3., 3.4, 3.4, 3.4, 3.4, 3.4,
202  3.4, 3.4, 3.4, 3.8, 3.8, 3., 2.8, 2.1, 2.1, 2.1, 3., 3., 3., 4.,
203  4., 3., 3., 3., 3., 3., 3., 3., 3., 3.8, 3.8, 3.8, 3.8, 3.8,
204  3.8, 3.8, 3.8, 3., 0.01, 0.01, 1., 1., 1., 1., 1., 1., 1.5, 1.5};
205 
206  float mPartMaxMult[nParticles];
207  for (int i = 0; i < 60; i++)
208  mPartMaxMult[i] = 20.f;
209  mPartMaxMult[60] = 20.;
210  mPartMaxMult[61] = 20.;
211  mPartMaxMult[62] = 20.;
212  mPartMaxMult[63] = 20.;
213  mPartMaxMult[64] = 500.;
214  mPartMaxMult[65] = 500.;
215  mPartMaxMult[66] = 50.;
216  mPartMaxMult[67] = 50.;
217  mPartMaxMult[68] = 500.;
218  mPartMaxMult[69] = 20.;
219 
220  //set decay mode
221  partDaughterPdg.resize(nParticles);
222 
223  partDaughterPdg[0].push_back(211); //K0s -> pi+ pi-
224  partDaughterPdg[0].push_back(-211);
225 
226  partDaughterPdg[1].push_back(2212); //Lambda -> p pi-
227  partDaughterPdg[1].push_back(-211);
228 
229  partDaughterPdg[2].push_back(-2212); //Lambda_bar -> p- pi+
230  partDaughterPdg[2].push_back(211);
231 
232  partDaughterPdg[3].push_back(3122); //Xi- -> Lambda pi-
233  partDaughterPdg[3].push_back(-211);
234 
235  partDaughterPdg[4].push_back(-3122); //Xi+ -> Lambda_bar pi+
236  partDaughterPdg[4].push_back(211);
237 
238  partDaughterPdg[5].push_back(3122); //Xi0 -> Lambda pi0
239  partDaughterPdg[5].push_back(111);
240 
241  partDaughterPdg[6].push_back(-3122); //Xi0_bar -> Lambda_bar pi0
242  partDaughterPdg[6].push_back(111);
243 
244  partDaughterPdg[7].push_back(3122); //Omega- -> Lambda K-
245  partDaughterPdg[7].push_back(-321);
246 
247  partDaughterPdg[8].push_back(-3122); //Omega+ -> Lambda_bar K+
248  partDaughterPdg[8].push_back(321);
249 
250  partDaughterPdg[9].push_back(22); //Sigma0 -> Lambda Gamma
251  partDaughterPdg[9].push_back(3122);
252 
253  partDaughterPdg[10].push_back(22); //Sigma0_bar -> Lambda_bar Gamma
254  partDaughterPdg[10].push_back(-3122);
255 
256  partDaughterPdg[11].push_back(111); //Sigma+ -> p pi0
257  partDaughterPdg[11].push_back(2212);
258 
259  partDaughterPdg[12].push_back(111); //Sigma+_bar -> p- pi0
260  partDaughterPdg[12].push_back(-2212);
261 
262  partDaughterPdg[13].push_back(321); //K*0 -> K+ pi-
263  partDaughterPdg[13].push_back(-211);
264 
265  partDaughterPdg[14].push_back(-321); //K*0_bar -> K- pi+
266  partDaughterPdg[14].push_back(211);
267 
268  partDaughterPdg[15].push_back(310); //K*+ -> K0s pi+
269  partDaughterPdg[15].push_back(211);
270 
271  partDaughterPdg[16].push_back(310); //K*- -> K0s pi-
272  partDaughterPdg[16].push_back(-211);
273 
274  partDaughterPdg[17].push_back(3122); //Sigma+ -> Lambda pi+
275  partDaughterPdg[17].push_back(211);
276 
277  partDaughterPdg[18].push_back(3122); //Sigma- -> Lambda pi-
278  partDaughterPdg[18].push_back(-211);
279 
280  partDaughterPdg[19].push_back(-3122); //Sigma+_bar -> Lambda_bar pi+
281  partDaughterPdg[19].push_back(211);
282 
283  partDaughterPdg[20].push_back(-3122); //Sigma-_bar -> Lambda_bar pi-
284  partDaughterPdg[20].push_back(-211);
285 
286  partDaughterPdg[21].push_back(3122); //Sigma*0 -> Lambda pi0
287  partDaughterPdg[21].push_back(111);
288 
289  partDaughterPdg[22].push_back(-3122); //Sigma*0_bar -> Lambda_bar pi0
290  partDaughterPdg[22].push_back(111);
291 
292  partDaughterPdg[23].push_back(2212); //Lambda* -> p K-
293  partDaughterPdg[23].push_back(-321);
294 
295  partDaughterPdg[24].push_back(-2212); //Lambda*_bar -> p- K+
296  partDaughterPdg[24].push_back(321);
297 
298  partDaughterPdg[25].push_back(3312); //Xi*0 -> Xi- pi+
299  partDaughterPdg[25].push_back(211);
300 
301  partDaughterPdg[26].push_back(-3312); //Xi*0_bar -> Xi+ pi-
302  partDaughterPdg[26].push_back(-211);
303 
304  partDaughterPdg[27].push_back(3122); //Xi*- -> Lambda K-
305  partDaughterPdg[27].push_back(-321);
306 
307  partDaughterPdg[28].push_back(-3122); //Xi*+ -> Lambda_bar K+
308  partDaughterPdg[28].push_back(321);
309 
310  partDaughterPdg[29].push_back(3312); //Xi*- -> Xi- pi0
311  partDaughterPdg[29].push_back(111);
312 
313  partDaughterPdg[30].push_back(-3312); //Xi*+ -> Xi+ pi0
314  partDaughterPdg[30].push_back(111);
315 
316  partDaughterPdg[31].push_back(3312); //Omega*- -> Xi- pi+ K-
317  partDaughterPdg[31].push_back(211);
318  partDaughterPdg[31].push_back(-321);
319 
320  partDaughterPdg[32].push_back(-3312); //Omega*- -> Xi+ pi- K+
321  partDaughterPdg[32].push_back(-211);
322  partDaughterPdg[32].push_back(321);
323 
324  partDaughterPdg[33].push_back(3122); //H-dibar -> Lambda Lambda
325  partDaughterPdg[33].push_back(3122);
326 
327  partDaughterPdg[34].push_back(321); //phi -> K+ K-
328  partDaughterPdg[34].push_back(-321);
329 
330  partDaughterPdg[35].push_back(211); //rho, omega, phi -> pi+ pi-
331  partDaughterPdg[35].push_back(-211);
332 
333  partDaughterPdg[36].push_back(11); //rho, omega, phi -> e+ e-
334  partDaughterPdg[36].push_back(-11);
335 
336  partDaughterPdg[37].push_back(13); //rho, omega, phi -> mu+ mu-
337  partDaughterPdg[37].push_back(-13);
338 
339  partDaughterPdg[38].push_back(11); //gamma -> e+ e-
340  partDaughterPdg[38].push_back(-11);
341 
342  partDaughterPdg[39].push_back(22); //pi0 -> gamma gamma
343  partDaughterPdg[39].push_back(22);
344 
345  partDaughterPdg[40].push_back(111); //eta -> pi0 pi0
346  partDaughterPdg[40].push_back(111);
347  partDaughterPdg[40].push_back(111);
348 
349  partDaughterPdg[41].push_back(11); //JPsi -> e+ e-
350  partDaughterPdg[41].push_back(-11);
351 
352  partDaughterPdg[42].push_back(13); //JPsi -> mu+ mu-
353  partDaughterPdg[42].push_back(-13);
354 
355  partDaughterPdg[43].push_back(211); //D0 -> pi+ K-
356  partDaughterPdg[43].push_back(-321);
357 
358  partDaughterPdg[44].push_back(-211); //D0_bar -> K+ pi-
359  partDaughterPdg[44].push_back(321);
360 
361  partDaughterPdg[45].push_back(211); //D0 -> pi+ pi+ pi- K-
362  partDaughterPdg[45].push_back(211);
363  partDaughterPdg[45].push_back(-211);
364  partDaughterPdg[45].push_back(-321);
365 
366  partDaughterPdg[46].push_back(-211); //D0_bar -> pi- pi- pi+ K+
367  partDaughterPdg[46].push_back(-211);
368  partDaughterPdg[46].push_back(211);
369  partDaughterPdg[46].push_back(321);
370 
371  partDaughterPdg[47].push_back(-321); //D+ -> K- pi+ pi+
372  partDaughterPdg[47].push_back(211);
373  partDaughterPdg[47].push_back(211);
374 
375  partDaughterPdg[48].push_back(321); //D- -> K+ pi- pi-
376  partDaughterPdg[48].push_back(-211);
377  partDaughterPdg[48].push_back(-211);
378 
379  partDaughterPdg[49].push_back(-321); //Ds+ -> K- K+ pi+
380  partDaughterPdg[49].push_back(321);
381  partDaughterPdg[49].push_back(211);
382 
383  partDaughterPdg[50].push_back(321); //Ds- -> K+ K- pi-
384  partDaughterPdg[50].push_back(-321);
385  partDaughterPdg[50].push_back(-211);
386 
387  partDaughterPdg[51].push_back(211); //Lambdac -> pi+ K- p
388  partDaughterPdg[51].push_back(-321);
389  partDaughterPdg[51].push_back(2212);
390 
391  partDaughterPdg[52].push_back(-211); //Lambdac_bar -> pi- K+ p-
392  partDaughterPdg[52].push_back(321);
393  partDaughterPdg[52].push_back(-2212);
394 
395  partDaughterPdg[53].push_back(411); //D*0 -> D+ pi-
396  partDaughterPdg[53].push_back(-211);
397 
398  partDaughterPdg[54].push_back(-411); //D*0_bar -> D- pi+
399  partDaughterPdg[54].push_back(211);
400 
401  partDaughterPdg[55].push_back(421); //D*+ -> D0 pi+
402  partDaughterPdg[55].push_back(211);
403 
404  partDaughterPdg[56].push_back(-421); //D*- -> D0_bar pi-
405  partDaughterPdg[56].push_back(-211);
406 
407  partDaughterPdg[57].push_back(421); //D*+ -> D04 pi+
408  partDaughterPdg[57].push_back(211);
409 
410  partDaughterPdg[58].push_back(-421); //D*- -> D04_bar pi-
411  partDaughterPdg[58].push_back(-211);
412 
413  partDaughterPdg[59].push_back(3122); //H0-> Lambda pi- p
414  partDaughterPdg[59].push_back(-211);
415  partDaughterPdg[59].push_back(2212);
416 
417  for (int iP = 0; iP < nParticles; iP++) {
418  partPDG[iP] = mPartPDG[iP];
419  partName[iP] = mPartName[iP];
420  partTitle[iP] = mPartTitle[iP];
421  partMHistoMin[iP] = mPartMHistoMin[iP];
422  partMHistoMax[iP] = mPartMHistoMax[iP];
423  partMaxMult[iP] = mPartMaxMult[iP];
424  }
425 
426  for (int iP = 0; iP < nParticles; iP++) {
427  AddCounter(Form("%s", partName[iP].Data()),
428  Form("%-*s", 14, partTitle[iP].Data()));
429  AddCounter(Form("%s_prim", partName[iP].Data()),
430  Form("%s Prim", partTitle[iP].Data()));
431  AddCounter(Form("%s_sec", partName[iP].Data()),
432  Form("%s Sec ", partTitle[iP].Data()));
433  }
434 
435  for (int iP = 0; iP < nParticles; iP++)
436  fPdgToIndex[mPartPDG[iP]] = iP;
437  }
438 
440 
441  int GetParticleIndex(int pdg) {
442  std::map<int, int>::iterator it;
443  it = fPdgToIndex.find(pdg);
444  if (it != fPdgToIndex.end())
445  return it->second;
446  else
447  return -1;
448  }
449 
450  virtual void AddCounter(TString shortname, TString name) {
451  indices[shortname] = names.size();
452  names.push_back(name);
453 
455  mc.AddCounter();
456  reco.AddCounter();
457 
461  ghost.AddCounter();
462  bg.AddCounter();
463  clone.AddCounter();
464  };
465 
467  mc += a.mc;
468  reco += a.reco;
469  ghost += a.ghost;
470  bg += a.bg;
471  clone += a.clone;
472  return *this;
473  };
474 
475  void CalcEff() {
476  ratio_reco = reco / mc;
477 
478  TL1TracksCatCounters<int> allReco = reco + ghost + bg;
479  ratio_ghost = ghost / allReco;
480  ratio_bg = bg / allReco;
481  ratio_clone = clone / allReco;
482  };
483 
484 
485  void Inc(bool isReco, int nClones, TString name) {
486  const int index = indices[name];
487 
488  mc.counters[index]++;
489  if (isReco) reco.counters[index]++;
490  if (nClones > 0) clone.counters[index] += nClones;
491  };
492 
493  void IncReco(bool isGhost, bool isBg, TString name) {
494  const int index = indices[name];
495 
496  if (isGhost) ghost.counters[index]++;
497  if (isBg) bg.counters[index]++;
498  };
499 
500  void PrintEff() {
501  std::cout.setf(std::ios::fixed);
502  std::cout.setf(std::ios::showpoint);
503  std::cout.precision(3);
504  std::cout << "Particle : "
505  << " Eff "
506  << " / "
507  << " Ghost "
508  << " / "
509  << "BackGr "
510  << " / "
511  << "N Ghost"
512  << " / "
513  << "N BackGr"
514  << " / "
515  << "N Reco "
516  << " / "
517  << "N Clone "
518  << " | "
519  << " N MC " << std::endl;
520 
521  int NCounters = mc.NCounters;
522  for (int iC = 0; iC < NCounters; iC++) {
523  std::cout << names[iC] << " : " << std::setw(6)
524  << ratio_reco.counters[iC] << " / " << std::setw(6)
525  << ratio_ghost.counters[iC] // particles w\o MCParticle
526  << " / " << std::setw(6)
527  << ratio_bg.counters[iC] // particles with incorrect MCParticle
528  << " / " << std::setw(6) << ghost.counters[iC] << " / "
529  << std::setw(7) << bg.counters[iC] << " / " << std::setw(6)
530  << reco.counters[iC] << " / " << std::setw(7)
531  << clone.counters[iC] << " | " << std::setw(6)
532  << mc.counters[iC] << std::endl;
533  }
534  };
535 
536  friend std::fstream& operator<<(std::fstream& strm,
538 
539  strm << a.ratio_reco;
540  strm << a.mc;
541  strm << a.reco;
542  strm << a.ratio_ghost;
543  strm << a.ratio_bg;
544  strm << a.ratio_clone;
545  strm << a.ghost;
546  strm << a.bg;
547  strm << a.clone;
548 
549  return strm;
550  }
551 
552  friend std::fstream& operator>>(std::fstream& strm,
554 
555  strm >> a.ratio_reco;
556  strm >> a.mc;
557  strm >> a.reco;
558  strm >> a.ratio_ghost;
559  strm >> a.ratio_bg;
560  strm >> a.ratio_clone;
561  strm >> a.ghost;
562  strm >> a.bg;
563  strm >> a.clone;
564 
565  return strm;
566  }
567 
568  void AddFromFile(TString fileName) {
569  std::fstream file(fileName.Data(), std::fstream::in);
570  file >> *this;
571  }
572 
573  static const int nParticles = 70;
577  std::vector<std::vector<int>> partDaughterPdg;
581 
583 
584 private:
585  std::vector<TString> names; // names counters indexed by index of counter
586  std::map<TString, int>
587  indices; // indices of counters indexed by a counter shortname
588 
589  std::map<int, int> fPdgToIndex;
590 
592 
595 
599 
603 };
604 
605 #endif
CbmKFPartEfficiencies::partDaughterPdg
std::vector< std::vector< int > > partDaughterPdg
Definition: CbmKFPartEfficiencies.h:577
CbmKFPartEfficiencies::AddFromFile
void AddFromFile(TString fileName)
Definition: CbmKFPartEfficiencies.h:568
TL1TracksCatCounters::counters
vector< T > counters
Definition: CbmL1Counters.h:114
CbmKFPartEfficiencies::partMaxMult
int partMaxMult[nParticles]
Definition: CbmKFPartEfficiencies.h:580
f
float f
Definition: L1/vectors/P4_F32vec4.h:24
CbmKFPartEfficiencies::partPDG
int partPDG[nParticles]
Definition: CbmKFPartEfficiencies.h:574
CbmKFPartEfficiencies::indices
std::map< TString, int > indices
Definition: CbmKFPartEfficiencies.h:587
i
int i
Definition: L1/vectors/P4_F32vec4.h:25
CbmKFPartEfficiencies::partTitle
TString partTitle[nParticles]
Definition: CbmKFPartEfficiencies.h:576
CbmKFPartEfficiencies
Definition: CbmKFPartEfficiencies.h:7
CbmKFPartEfficiencies::mc
TL1TracksCatCounters< int > mc
Definition: CbmKFPartEfficiencies.h:593
CbmKFPartEfficiencies::nParticles
static const int nParticles
Definition: CbmKFPartEfficiencies.h:573
CbmKFPartEfficiencies::ratio_clone
TL1TracksCatCounters< double > ratio_clone
Definition: CbmKFPartEfficiencies.h:598
CbmKFPartEfficiencies::operator+=
CbmKFPartEfficiencies & operator+=(CbmKFPartEfficiencies &a)
Definition: CbmKFPartEfficiencies.h:466
CbmKFPartEfficiencies::Inc
void Inc(bool isReco, int nClones, TString name)
Definition: CbmKFPartEfficiencies.h:485
CbmKFPartEfficiencies::operator>>
friend std::fstream & operator>>(std::fstream &strm, CbmKFPartEfficiencies &a)
Definition: CbmKFPartEfficiencies.h:552
CbmKFPartEfficiencies::partMHistoMin
float partMHistoMin[nParticles]
Definition: CbmKFPartEfficiencies.h:578
TL1TracksCatCounters< int >
TL1TracksCatCounters::AddCounter
void AddCounter()
Definition: CbmL1Counters.h:24
CbmKFPartEfficiencies::operator<<
friend std::fstream & operator<<(std::fstream &strm, CbmKFPartEfficiencies &a)
Definition: CbmKFPartEfficiencies.h:536
CbmKFPartEfficiencies::GetParticleIndex
int GetParticleIndex(int pdg)
Definition: CbmKFPartEfficiencies.h:441
CbmKFPartEfficiencies::ratio_reco
TL1TracksCatCounters< double > ratio_reco
Definition: CbmKFPartEfficiencies.h:591
CbmKFPartEfficiencies::fPdgToIndex
std::map< int, int > fPdgToIndex
Definition: CbmKFPartEfficiencies.h:589
CbmKFPartEfficiencies::ghost
TL1TracksCatCounters< int > ghost
Definition: CbmKFPartEfficiencies.h:600
CbmKFPartEfficiencies::PrintEff
void PrintEff()
Definition: CbmKFPartEfficiencies.h:500
CbmKFPartEfficiencies::clone
TL1TracksCatCounters< int > clone
Definition: CbmKFPartEfficiencies.h:602
CbmL1Counters.h
CbmKFPartEfficiencies::CalcEff
void CalcEff()
Definition: CbmKFPartEfficiencies.h:475
CbmKFPartEfficiencies::IncReco
void IncReco(bool isGhost, bool isBg, TString name)
Definition: CbmKFPartEfficiencies.h:493
CbmKFPartEfficiencies::names
std::vector< TString > names
Definition: CbmKFPartEfficiencies.h:585
CbmKFPartEfficiencies::ratio_bg
TL1TracksCatCounters< double > ratio_bg
Definition: CbmKFPartEfficiencies.h:597
CbmKFPartEfficiencies::ClassDef
ClassDef(CbmKFPartEfficiencies, 1)
TL1TracksCatCounters::NCounters
int NCounters
Definition: CbmL1Counters.h:110
CbmKFPartEfficiencies::partMHistoMax
float partMHistoMax[nParticles]
Definition: CbmKFPartEfficiencies.h:579
CbmKFPartEfficiencies::reco
TL1TracksCatCounters< int > reco
Definition: CbmKFPartEfficiencies.h:594
CbmKFPartEfficiencies::AddCounter
virtual void AddCounter(TString shortname, TString name)
Definition: CbmKFPartEfficiencies.h:450
CbmKFPartEfficiencies::ratio_ghost
TL1TracksCatCounters< double > ratio_ghost
Definition: CbmKFPartEfficiencies.h:596
CbmKFPartEfficiencies::bg
TL1TracksCatCounters< int > bg
Definition: CbmKFPartEfficiencies.h:601
CbmKFPartEfficiencies::partName
TString partName[nParticles]
Definition: CbmKFPartEfficiencies.h:575
CbmKFPartEfficiencies::CbmKFPartEfficiencies
CbmKFPartEfficiencies()
Definition: CbmKFPartEfficiencies.h:9
CbmKFPartEfficiencies::~CbmKFPartEfficiencies
virtual ~CbmKFPartEfficiencies()
Definition: CbmKFPartEfficiencies.h:439