CbmRoot
CbmAnaConversionTomography.cxx
Go to the documentation of this file.
1 
13 
14 #include "CbmMCTrack.h"
15 #include "FairRootManager.h"
16 #include <iostream>
17 #include <map>
18 
19 
20 using namespace std;
21 
22 
24  : fMcTracks(NULL)
25  , fHistoList_tomography()
26  , fhGammaZ(NULL)
27  , fhTomography(NULL)
28  , fhTomography_XZ(NULL)
29  , fhTomography_YZ(NULL)
30  , fhTomography_uptoRICH(NULL)
31  , fhTomography_RICH_complete(NULL)
32  , fhTomography_RICH_beampipe(NULL)
33  , fhTomography_STS_end(NULL)
34  , fhTomography_STS_lastStation(NULL)
35  , fhTomography_RICH_frontplate(NULL)
36  , fhTomography_RICH_backplate(NULL)
37  , fhConversion(NULL)
38  , fhConversion_cut(NULL)
39  , fhConversion_inSTS(NULL)
40  , fhConversion_prob(NULL)
41  , fhConversion_energy(NULL)
42  , fhConversion_p(NULL)
43  , fhConversion_vs_momentum(NULL)
44  , fhTomography_reco(NULL)
45  , fhTomography_reco_XZ(NULL)
46  , fhTomography_reco_YZ(NULL)
47  , fhConversion_reco(NULL)
48  , electronIDs()
49  , electronMotherIDs()
50  , conversionsInDetector()
51  ,
52  //conversionsInDetector_cut(),
53  fhConversionsPerDetector(NULL)
54  , fhConversionsPerDetectorPE(NULL)
55  ,
56  //fhConversionsPerDetectorPE_cut(NULL),
57  timer()
58  , fTime(0.) {}
59 
61 
62 
64  FairRootManager* ioman = FairRootManager::Instance();
65  if (NULL == ioman) {
66  Fatal("CbmAnaConversionTomography::Init", "RootManager not instantised!");
67  }
68 
69  fMcTracks = (TClonesArray*) ioman->GetObject("MCTrack");
70  if (NULL == fMcTracks) {
71  Fatal("CbmAnaConversion::Init", "No MCTrack array!");
72  }
73 
74 
75  InitHistos();
76 }
77 
78 
80  fHistoList_tomography.clear();
81 
82  fhGammaZ = new TH1D("fhGammaZ", "fhGammaZ;Z in cm;Entries", 300, 0.0, 300.);
84 
85  // for all events including gammas and gamma-conversion
86  fhTomography = new TH3D("fhTomography",
87  "Tomography/fhTomography;X in cm;Y in cm;Z in cm",
88  200,
89  -200.,
90  200.,
91  200,
92  -200.,
93  200.,
94  500,
95  0.,
96  1000.);
97  fhTomography_XZ = new TH2D("fhTomography_XZ",
98  "fhTomography_XZ;X in cm;Z in cm",
99  3200,
100  -800.,
101  800.,
102  2200,
103  0.,
104  1100.);
105  fhTomography_YZ = new TH2D("fhTomography_YZ",
106  "fhTomography_YZ;Y in cm;Z in cm",
107  2000,
108  -500.,
109  500.,
110  2200,
111  0.,
112  1100.);
113  //fhTomography_XZ_cut = new TH2D("fhTomography_XZ_cut", "fhTomography_XZ_cut;X [cm];Z [cm]", 2800, -700., 700., 2200, 0., 1100.);
114  //fhTomography_YZ_cut = new TH2D("fhTomography_YZ_cut", "fhTomography_YZ_cut;Y [cm];Z [cm]", 2000, -500., 500., 2200, 0., 1100.);
118  //fHistoList_tomography.push_back(fhTomography_XZ_cut);
119  //fHistoList_tomography.push_back(fhTomography_YZ_cut);
120 
121  fhTomography_uptoRICH = new TH2D("fhTomography_uptoRICH",
122  "fhTomography_uptoRICH;X in cm;Y in cm",
123  600,
124  -300.,
125  300.,
126  400,
127  -200.,
128  200.);
130  new TH2D("fhTomography_RICH_complete",
131  "fhTomography_RICH_complete;X in cm;Y in cm",
132  600,
133  -300.,
134  300.,
135  500,
136  -250.,
137  250.);
139  new TH2D("fhTomography_RICH_beampipe",
140  "fhTomography_RICH_beampipe;X in cm;Y in cm",
141  400,
142  -100.,
143  100.,
144  200,
145  -50.,
146  50.);
147  fhTomography_STS_end = new TH2D("fhTomography_STS_end",
148  "fhTomography_STS_end;X in cm;Y in cm",
149  400,
150  -200.,
151  200.,
152  400,
153  -200.,
154  200.);
156  new TH2D("fhTomography_STS_lastStation",
157  "fhTomography_STS_lastStation;X in cm;Y in cm",
158  200,
159  -100.,
160  100.,
161  200,
162  -100.,
163  100.);
165  new TH2D("fhTomography_RICH_frontplate",
166  "fhTomography_RICH_frontplate;X in cm;Y in cm",
167  600,
168  -300.,
169  300.,
170  500,
171  -250.,
172  250.);
174  new TH2D("fhTomography_RICH_backplate",
175  "fhTomography_RICH_backplate;X in cm;Y in cm",
176  600,
177  -300.,
178  300.,
179  500,
180  -250.,
181  250.);
189 
190 
191  fhConversion = new TH1D(
192  "fhConversion", "fhConversion;Z in cm;# conversions", 4800, -0.5, 1199.5);
193  fhConversion_cut = new TH1D("fhConversion_cut",
194  "fhConversion_cut;Z in cm;# conversions",
195  4800,
196  -0.5,
197  1199.5);
198  fhConversion_inSTS = new TH1D("fhConversion_inSTS",
199  "fhConversion in STS;Z in cm;# conversions",
200  800,
201  -0.5,
202  199.5);
203  fhConversion_prob = new TH1D("fhConversion_prob",
204  "fhConversion_prob;Z in cm;# conversions",
205  1200,
206  -0.5,
207  1199.5);
212 
213  fhConversion_energy = new TH1D(
214  "fhConversion_energy", "fhConversion_energy;energy;#", 1000, 0., 100.);
216  new TH1D("fhConversion_p", "fhConversion_p;p;#", 1000, 0., 100.);
219 
221  new TH2D("fhConversion_vs_momentum",
222  "fhConversion_vs_momentum;Z in cm;momentum in GeV/c",
223  4800,
224  -0.5,
225  1199.5,
226  1000,
227  0.,
228  10.);
230 
231  fhConversionsPerDetector = new TH1I(
232  "fhConversionsPerDetector", "fhConversionsPerDetector;;#", 5, 0, 5);
234  fhConversionsPerDetector->GetXaxis()->SetBinLabel(1, "magnet");
235  fhConversionsPerDetector->GetXaxis()->SetBinLabel(2, "STS");
236  fhConversionsPerDetector->GetXaxis()->SetBinLabel(3, "RICH");
237  fhConversionsPerDetector->GetXaxis()->SetBinLabel(4, "TRD");
238  fhConversionsPerDetector->GetXaxis()->SetBinLabel(5, "TOF");
239 
241  new TH2I("fhConversionsPerDetectorPE",
242  "fhConversionsPerDetectorPE;;conversions per event",
243  5,
244  0,
245  5,
246  1500,
247  0,
248  1500);
250  fhConversionsPerDetectorPE->GetXaxis()->SetBinLabel(1, "magnet");
251  fhConversionsPerDetectorPE->GetXaxis()->SetBinLabel(2, "STS");
252  fhConversionsPerDetectorPE->GetXaxis()->SetBinLabel(3, "RICH");
253  fhConversionsPerDetectorPE->GetXaxis()->SetBinLabel(4, "TRD");
254  fhConversionsPerDetectorPE->GetXaxis()->SetBinLabel(5, "TOF");
255 
256  //fhConversionsPerDetectorPE_cut = new TH2I("fhConversionsPerDetectorPE_cut", "fhConversionsPerDetectorPE_cut;;conversions per event", 5, 0, 5, 1500, 0, 1500);
257  //fHistoList_tomography.push_back(fhConversionsPerDetectorPE_cut);
258  //fhConversionsPerDetectorPE_cut->GetXaxis()->SetBinLabel(1, "magnet");
259  //fhConversionsPerDetectorPE_cut->GetXaxis()->SetBinLabel(2, "STS");
260  //fhConversionsPerDetectorPE_cut->GetXaxis()->SetBinLabel(3, "RICH");
261  //fhConversionsPerDetectorPE_cut->GetXaxis()->SetBinLabel(4, "TRD");
262  //fhConversionsPerDetectorPE_cut->GetXaxis()->SetBinLabel(5, "TOF");
263 
264  // tomography from reconstructed tracks
265  fhTomography_reco = new TH3D("fhTomography_reco",
266  "fhTomography_reco;X in cm;Y in cm;Z in cm",
267  200,
268  -200.,
269  200.,
270  200,
271  -200.,
272  200.,
273  500,
274  0.,
275  1000.);
276  fhTomography_reco_XZ = new TH2D("fhTomography_reco_XZ",
277  "fhTomography_reco_XZ;X in cm;Z in cm",
278  1600,
279  -400.,
280  400.,
281  2400,
282  0.,
283  1200.);
284  fhTomography_reco_YZ = new TH2D("fhTomography_reco_YZ",
285  "fhTomography_reco_YZ;Y in cm;Z in cm",
286  1600,
287  -400.,
288  400.,
289  2400,
290  0.,
291  1200.);
292  fhConversion_reco = new TH1D("fhConversion_reco",
293  "fhConversion_reco;Z in cm;# conversions",
294  4800,
295  -0.5,
296  1199.5);
301 }
302 
303 
305  //gDirectory->cd("analysis-conversion");
306  gDirectory->mkdir("Tomography");
307  gDirectory->cd("Tomography");
308  for (UInt_t i = 0; i < fHistoList_tomography.size(); i++) {
309  fHistoList_tomography[i]->Write();
310  }
311  gDirectory->cd("..");
312 
313  cout << "CbmAnaConversionTomography: Realtime - " << fTime << endl;
314 }
315 
316 
318  timer.Start();
319 
320  electronIDs.clear();
321  electronMotherIDs.clear();
322  conversionsInDetector[0] = 0; // magnet
323  conversionsInDetector[1] = 0; // sts
324  conversionsInDetector[2] = 0; // rich
325  conversionsInDetector[3] = 0; // trd
326  conversionsInDetector[4] = 0; // tof
327 
328  Int_t nofMcTracks = fMcTracks->GetEntriesFast();
329  for (int i = 0; i < nofMcTracks; i++) {
330  CbmMCTrack* mctrack = (CbmMCTrack*) fMcTracks->At(i);
331  if (mctrack == NULL) continue;
332 
333  if (TMath::Abs(mctrack->GetPdgCode()) == 11) {
334  int motherId = mctrack->GetMotherId();
335  if (motherId == -1) continue;
336  // CbmMCTrack* mother = (CbmMCTrack*) fMcTracks->At(motherId);
337  // int mcMotherPdg = -1;
338  // if (NULL != mother) mcMotherPdg = mother->GetPdgCode();
339 
340  electronIDs.push_back(i);
341  electronMotherIDs.push_back(motherId);
342  }
343  }
344 
345 
346  // int photoncounter = 0;
347  std::multimap<int, int> electronMap;
348  for (unsigned int i = 0; i < electronIDs.size(); i++) {
349  electronMap.insert(
350  std::pair<int, int>(electronMotherIDs[i], electronIDs[i]));
351  }
352 
353  // int check = 0;
354  for (std::map<int, int>::iterator it = electronMap.begin();
355  it != electronMap.end();
356  ++it) {
357  if (it == electronMap.begin()) {
358  TomographyMC(it->second);
359  } else {
360  std::map<int, int>::iterator zwischen = it;
361  zwischen--;
362  int id = it->first;
363  int id_old = zwischen->first;
364  if (id == id_old)
365  continue;
366  else {
367  TomographyMC(it->second);
368  }
369  }
370  }
371 
372  fhConversionsPerDetectorPE->Fill(1.0 * 0, 1.0 * conversionsInDetector[0]);
373  fhConversionsPerDetectorPE->Fill(1.0 * 1, 1.0 * conversionsInDetector[1]);
374  fhConversionsPerDetectorPE->Fill(1.0 * 2, 1.0 * conversionsInDetector[2]);
375  fhConversionsPerDetectorPE->Fill(1.0 * 3, 1.0 * conversionsInDetector[3]);
376  fhConversionsPerDetectorPE->Fill(1.0 * 4, 1.0 * conversionsInDetector[4]);
377 
378  //fhConversionsPerDetectorPE_cut->Fill(1.0*0, 1.0*conversionsInDetector_cut[0]);
379  //fhConversionsPerDetectorPE_cut->Fill(1.0*1, 1.0*conversionsInDetector_cut[1]);
380  //fhConversionsPerDetectorPE_cut->Fill(1.0*2, 1.0*conversionsInDetector_cut[2]);
381  //fhConversionsPerDetectorPE_cut->Fill(1.0*3, 1.0*conversionsInDetector_cut[3]);
382  //fhConversionsPerDetectorPE_cut->Fill(1.0*4, 1.0*conversionsInDetector_cut[4]);
383 
384 
385  timer.Stop();
386  fTime += timer.RealTime();
387 }
388 
389 /*
390 void CbmAnaConversionTomography::TomographyMC(CbmMCTrack* mctrack)
391 // doing tomography from gamma -> e+ e- decays, MC DATA
392 {
393  if (TMath::Abs( mctrack->GetPdgCode()) == 11) {
394  int motherId = mctrack->GetMotherId();
395  if (motherId != -1) {
396  CbmMCTrack* mother = (CbmMCTrack*) fMcTracks->At(motherId);
397  int mcMotherPdg = -1;
398  if (NULL != mother) mcMotherPdg = mother->GetPdgCode();
399 
400  if (mcMotherPdg == 22) {
401  TVector3 v;
402  mctrack->GetStartVertex(v);
403  fhGammaZ->Fill(v.Z());
404 
405 
406  fhTomography->Fill(v.X(), v.Y(), v.Z());
407  fhTomography_XZ->Fill(v.X(), v.Z());
408  fhTomography_YZ->Fill(v.Y(), v.Z());
409  fhConversion_energy->Fill(mctrack->GetEnergy());
410  fhConversion_p->Fill(mctrack->GetP());
411 
412  if(v.z() >= 0 && v.Z() <= 170) { // only in region before the RICH
413  fhTomography_uptoRICH->Fill(v.X(), v.Y());
414  }
415  if(v.z() >= 170 && v.Z() <= 400) { // only in region of the RICH detector
416  fhTomography_RICH_complete->Fill(v.X(), v.Y());
417  }
418  if(v.z() >= 220 && v.Z() <= 280) { // only in region of RICH beampipe, without being distorted by mirrors or camera
419  fhTomography_RICH_beampipe->Fill(v.X(), v.Y());
420  }
421  if(v.z() >= 100 && v.Z() <= 170) { // only in a downstream part of STS and magnet
422  fhTomography_STS_end->Fill(v.X(), v.Y());
423  }
424  if(v.z() >= 98 && v.Z() <= 102) { // only in a downstream part of STS and magnet, only last STS station
425  fhTomography_STS_lastStation->Fill(v.X(), v.Y());
426  }
427  if(v.z() >= 179 && v.Z() <= 181) { // only in region of RICH frontplate
428  fhTomography_RICH_frontplate->Fill(v.X(), v.Y());
429  }
430  if(v.z() >= 369 && v.Z() <= 371) { // only in region of RICH backplate
431  fhTomography_RICH_backplate->Fill(v.X(), v.Y());
432  }
433 
434  fhConversion->Fill(v.Z());
435 
436  if( (TMath::Abs(v.X()) <= 100 && TMath::Abs(v.X()) > 3) && (TMath::Abs(v.Y()) <= 50 && TMath::Abs(v.Y()) > 3) && TMath::Abs(v.Z()) <= 169) {
437  fhConversion_inSTS->Fill(v.Z());
438  }
439  }
440  }
441  }
442 }
443 */
444 
445 
447 // doing tomography from gamma -> e+ e- decays, MC DATA
448 {
449 
450  CbmMCTrack* mctrack = (CbmMCTrack*) fMcTracks->At(electronID);
451 
452  TVector3 v;
453  mctrack->GetStartVertex(v);
454  fhGammaZ->Fill(v.Z());
455 
456 
457  fhTomography->Fill(v.X(), v.Y(), v.Z());
458  fhTomography_XZ->Fill(v.X(), v.Z());
459  fhTomography_YZ->Fill(v.Y(), v.Z());
460  //if(GetNPoints(mctrack)) {
461  // fhTomography_XZ_cut->Fill(v.X(), v.Z());
462  // fhTomography_YZ_cut->Fill(v.Y(), v.Z());
463  //}
464  fhConversion_energy->Fill(mctrack->GetEnergy());
465  fhConversion_p->Fill(mctrack->GetP());
466 
467  if (v.z() >= 0 && v.Z() <= 170) { // only in region before the RICH
468  fhTomography_uptoRICH->Fill(v.X(), v.Y());
469  }
470  if (v.z() >= 170 && v.Z() <= 400) { // only in region of the RICH detector
471  fhTomography_RICH_complete->Fill(v.X(), v.Y());
472  }
473  if (
474  v.z() >= 220
475  && v.Z()
476  <= 280) { // only in region of RICH beampipe, without being distorted by mirrors or camera
477  fhTomography_RICH_beampipe->Fill(v.X(), v.Y());
478  }
479  if (v.z() >= 100
480  && v.Z() <= 170) { // only in a downstream part of STS and magnet
481  fhTomography_STS_end->Fill(v.X(), v.Y());
482  }
483  if (
484  v.z() >= 98
485  && v.Z()
486  <= 102) { // only in a downstream part of STS and magnet, only last STS station
487  fhTomography_STS_lastStation->Fill(v.X(), v.Y());
488  }
489  if (v.z() >= 179 && v.Z() <= 181) { // only in region of RICH frontplate
490  fhTomography_RICH_frontplate->Fill(v.X(), v.Y());
491  }
492  if (v.z() >= 369 && v.Z() <= 371) { // only in region of RICH backplate
493  fhTomography_RICH_backplate->Fill(v.X(), v.Y());
494  }
495 
496  fhConversion->Fill(v.Z());
497  fhConversion_vs_momentum->Fill(v.Z(), mctrack->GetP());
498 
499  if (mctrack->GetP() > 1) { fhConversion_cut->Fill(v.Z()); }
500 
501  if ((TMath::Abs(v.X()) <= 100 && TMath::Abs(v.X()) > 3)
502  && (TMath::Abs(v.Y()) <= 50 && TMath::Abs(v.Y()) > 3)
503  && TMath::Abs(v.Z()) <= 169) {
504  fhConversion_inSTS->Fill(v.Z());
505  }
506 
507 
508  if (v.z() >= 170 && v.Z() <= 380) { // only in region of the RICH detector
510  fhConversionsPerDetector->Fill(2);
511  //if(GetNPoints(mctrack)) { conversionsInDetector_cut[2]++; }
512  }
513  //if(v.z() >= 405 && v.Z() <= 870) { // only in region of the TRD detector, SIS300
514  if (v.z() >= 405 && v.Z() <= 595) { // only in region of the TRD detector
516  fhConversionsPerDetector->Fill(3);
517  //if(GetNPoints(mctrack)) { conversionsInDetector_cut[3]++; }
518  }
519  //if(v.z() > 870 && v.Z() <= 1010) { // only in region of the TOF detector, SIS300
520  if (v.z() > 598 && v.Z() <= 730) { // only in region of the TOF detector
522  fhConversionsPerDetector->Fill(4);
523  //if(GetNPoints(mctrack)) { conversionsInDetector_cut[4]++; }
524  }
525  if ((TMath::Abs(v.X()) <= 100 && TMath::Abs(v.X()) > 3)
526  && (TMath::Abs(v.Y()) <= 65 && TMath::Abs(v.Y()) > 3)
527  && TMath::Abs(v.Z()) <= 105) { // STS
529  fhConversionsPerDetector->Fill(1);
530  //if(GetNPoints(mctrack)) { conversionsInDetector_cut[1]++; }
531  }
532  if ((TMath::Abs(v.X()) > 100 || TMath::Abs(v.Y()) > 65)
533  && TMath::Abs(v.Z()) <= 169) { // magnet
535  fhConversionsPerDetector->Fill(0);
536  //if(GetNPoints(mctrack)) { conversionsInDetector_cut[0]++; }
537  }
538 }
539 
540 
542 // doing tomography from gamma -> e+ e- decays, RECONSTRUCTED TRACKS WITH MC DATA
543 {
544  timer.Start();
545 
546  if (TMath::Abs(mctrack->GetPdgCode()) == 11) {
547  int motherId = mctrack->GetMotherId();
548  if (motherId != -1) {
549  CbmMCTrack* mother = (CbmMCTrack*) fMcTracks->At(motherId);
550  int mcMotherPdg = -1;
551  if (NULL != mother) mcMotherPdg = mother->GetPdgCode();
552 
553  if (mcMotherPdg == 22) {
554  TVector3 v;
555  mctrack->GetStartVertex(v);
556 
557  fhTomography_reco->Fill(v.X(), v.Y(), v.Z());
558  fhTomography_reco_XZ->Fill(v.X(), v.Z());
559  fhTomography_reco_YZ->Fill(v.Y(), v.Z());
560  fhConversion_reco->Fill(v.Z());
561  }
562  }
563  }
564 
565  timer.Stop();
566  fTime += timer.RealTime();
567 }
568 
569 
571  Double_t np_sts = mctrack->GetNPoints(ECbmModuleId::kSts);
572  Double_t np_rich = mctrack->GetNPoints(ECbmModuleId::kRich);
573  Double_t np_trd = mctrack->GetNPoints(ECbmModuleId::kTrd);
574  Double_t np_tof = mctrack->GetNPoints(ECbmModuleId::kTof);
575 
576  Bool_t result = false;
577  if (np_sts > 0 || np_rich > 0 || np_trd > 0 || np_tof > 0) { result = true; }
578 
579  return result;
580 }
CbmAnaConversionTomography::fhGammaZ
TH1D * fhGammaZ
Definition: CbmAnaConversionTomography.h:51
CbmMCTrack::GetMotherId
Int_t GetMotherId() const
Definition: CbmMCTrack.h:71
CbmAnaConversionTomography::fhTomography_YZ
TH2D * fhTomography_YZ
Definition: CbmAnaConversionTomography.h:54
CbmAnaConversionTomography::fhConversion_cut
TH1D * fhConversion_cut
Definition: CbmAnaConversionTomography.h:66
CbmAnaConversionTomography.h
CbmAnaConversionTomography::fhTomography_RICH_complete
TH2D * fhTomography_RICH_complete
Definition: CbmAnaConversionTomography.h:58
CbmAnaConversionTomography::TomographyMC
void TomographyMC(int electronID)
Definition: CbmAnaConversionTomography.cxx:446
CbmAnaConversionTomography::electronMotherIDs
std::vector< int > electronMotherIDs
Definition: CbmAnaConversionTomography.h:80
CbmAnaConversionTomography::fhConversionsPerDetectorPE
TH2I * fhConversionsPerDetectorPE
Definition: CbmAnaConversionTomography.h:85
CbmMCTrack::GetPdgCode
Int_t GetPdgCode() const
Definition: CbmMCTrack.h:70
i
int i
Definition: L1/vectors/P4_F32vec4.h:25
CbmAnaConversionTomography::fhTomography_STS_end
TH2D * fhTomography_STS_end
Definition: CbmAnaConversionTomography.h:60
CbmAnaConversionTomography::fhTomography_reco
TH3D * fhTomography_reco
Definition: CbmAnaConversionTomography.h:74
CbmAnaConversionTomography::fhConversion_energy
TH1D * fhConversion_energy
Definition: CbmAnaConversionTomography.h:69
CbmAnaConversionTomography::fhConversion_vs_momentum
TH2D * fhConversion_vs_momentum
Definition: CbmAnaConversionTomography.h:71
ECbmModuleId::kTof
@ kTof
Time-of-flight Detector.
CbmAnaConversionTomography::fhTomography_reco_XZ
TH2D * fhTomography_reco_XZ
Definition: CbmAnaConversionTomography.h:75
CbmAnaConversionTomography::conversionsInDetector
Int_t conversionsInDetector[5]
Definition: CbmAnaConversionTomography.h:82
CbmAnaConversionTomography::~CbmAnaConversionTomography
virtual ~CbmAnaConversionTomography()
Definition: CbmAnaConversionTomography.cxx:60
CbmAnaConversionTomography::fHistoList_tomography
std::vector< TH1 * > fHistoList_tomography
Definition: CbmAnaConversionTomography.h:48
CbmAnaConversionTomography::electronIDs
std::vector< int > electronIDs
Definition: CbmAnaConversionTomography.h:79
CbmMCTrack::GetNPoints
Int_t GetNPoints(ECbmModuleId detId) const
Definition: CbmMCTrack.cxx:186
CbmAnaConversionTomography::Init
void Init()
Definition: CbmAnaConversionTomography.cxx:63
CbmAnaConversionTomography::fhTomography_RICH_frontplate
TH2D * fhTomography_RICH_frontplate
Definition: CbmAnaConversionTomography.h:62
ECbmModuleId::kRich
@ kRich
Ring-Imaging Cherenkov Detector.
CbmAnaConversionTomography::fhTomography_STS_lastStation
TH2D * fhTomography_STS_lastStation
Definition: CbmAnaConversionTomography.h:61
CbmMCTrack::GetStartVertex
void GetStartVertex(TVector3 &vertex) const
Definition: CbmMCTrack.h:182
CbmAnaConversionTomography::fMcTracks
TClonesArray * fMcTracks
Definition: CbmAnaConversionTomography.h:46
CbmAnaConversionTomography::fhTomography_RICH_backplate
TH2D * fhTomography_RICH_backplate
Definition: CbmAnaConversionTomography.h:63
CbmAnaConversionTomography::timer
TStopwatch timer
Definition: CbmAnaConversionTomography.h:89
CbmAnaConversionTomography::Exec
void Exec()
Definition: CbmAnaConversionTomography.cxx:317
CbmAnaConversionTomography::GetNPoints
Bool_t GetNPoints(CbmMCTrack *mctrack)
Definition: CbmAnaConversionTomography.cxx:570
CbmAnaConversionTomography::fhConversion
TH1D * fhConversion
Definition: CbmAnaConversionTomography.h:65
ECbmModuleId::kTrd
@ kTrd
Transition Radiation Detector.
CbmAnaConversionTomography::fhConversion_p
TH1D * fhConversion_p
Definition: CbmAnaConversionTomography.h:70
CbmMCTrack.h
v
__m128 v
Definition: L1/vectors/P4_F32vec4.h:1
CbmAnaConversionTomography::TomographyReco
void TomographyReco(CbmMCTrack *mctrack)
Definition: CbmAnaConversionTomography.cxx:541
CbmAnaConversionTomography::fhConversion_inSTS
TH1D * fhConversion_inSTS
Definition: CbmAnaConversionTomography.h:67
CbmMCTrack
Definition: CbmMCTrack.h:34
CbmAnaConversionTomography::fhConversion_reco
TH1D * fhConversion_reco
Definition: CbmAnaConversionTomography.h:77
CbmAnaConversionTomography::fhConversionsPerDetector
TH1I * fhConversionsPerDetector
Definition: CbmAnaConversionTomography.h:84
CbmAnaConversionTomography::fhTomography_reco_YZ
TH2D * fhTomography_reco_YZ
Definition: CbmAnaConversionTomography.h:76
CbmAnaConversionTomography::fhTomography_uptoRICH
TH2D * fhTomography_uptoRICH
Definition: CbmAnaConversionTomography.h:57
CbmAnaConversionTomography::fTime
Double_t fTime
Definition: CbmAnaConversionTomography.h:90
CbmAnaConversionTomography::Finish
void Finish()
Definition: CbmAnaConversionTomography.cxx:304
CbmAnaConversionTomography::fhTomography_RICH_beampipe
TH2D * fhTomography_RICH_beampipe
Definition: CbmAnaConversionTomography.h:59
CbmMCTrack::GetEnergy
Double_t GetEnergy() const
Definition: CbmMCTrack.h:165
CbmAnaConversionTomography::fhTomography
TH3D * fhTomography
Definition: CbmAnaConversionTomography.h:52
CbmAnaConversionTomography::fhTomography_XZ
TH2D * fhTomography_XZ
Definition: CbmAnaConversionTomography.h:53
CbmAnaConversionTomography::CbmAnaConversionTomography
CbmAnaConversionTomography()
Definition: CbmAnaConversionTomography.cxx:23
CbmAnaConversionTomography::fhConversion_prob
TH1D * fhConversion_prob
Definition: CbmAnaConversionTomography.h:68
ECbmModuleId::kSts
@ kSts
Silicon Tracking System.
CbmMCTrack::GetP
Double_t GetP() const
Definition: CbmMCTrack.h:100
CbmAnaConversionTomography::InitHistos
void InitHistos()
Definition: CbmAnaConversionTomography.cxx:79