CbmRoot
CbmAnaJpsiSuperEvent.cxx
Go to the documentation of this file.
1 /*
2  * CbmAnaJpsiSuperEvent.cxx
3  *
4  * Created on: Jun 25, 2015
5  * Author: slebedev
6  */
7 #include "CbmAnaJpsiSuperEvent.h"
8 #include "CbmAnaJpsiCuts.h"
10 #include "CbmAnaJpsiUtils.h"
11 #include "CbmDrawHist.h"
12 #include "CbmHistManager.h"
13 #include "CbmReportElement.h"
14 #include "CbmUtils.h"
15 #include "TCanvas.h"
16 #include "TClonesArray.h"
17 #include "TDirectory.h"
18 #include "TFile.h"
19 #include "TFolder.h"
20 #include "TH1.h"
21 #include "TLatex.h"
22 #include "TMarker.h"
23 #include "TPad.h"
24 #include "TTree.h"
25 #include <boost/assign/list_of.hpp>
26 #include <iostream>
27 #include <map>
28 using namespace std;
29 
30 using boost::assign::list_of;
32 using Cbm::Split;
33 using std::cout;
34 using std::endl;
35 using std::map;
36 
38  : TObject()
39  , fFileNames()
40  , fMinusCandidates()
41  , fPlusCandidates()
42  , fOutputFile("")
43  , fHM(NULL)
44  , fCuts()
45  , fRunAfterPtCut(kTRUE)
46  , fRunAfterIdCut(kTRUE) {}
47 
49 
51  cout << "-I- Run" << endl;
52 
53  InitHist();
54 
56 
57  DoSuperEvent();
58 
59  Draw();
60 
61  TFile* file = new TFile(fOutputFile.c_str(), "RECREATE");
62  fHM->WriteToFile();
63  file->Close();
64 
65  cout << "-I- Output file:" << fOutputFile << endl;
66 }
67 
69  fHM = new CbmHistManager();
70  fHM->Create1<TH1D>("fh_se_bg_minv_reco",
71  "fh_se_bg_minv_reco;M_{ee} [GeV/c^{2}];particles/event",
72  4000,
73  0,
74  4.);
75  fHM->Create1<TH1D>(
76  "fh_se_bg_minv_chi2prim",
77  "fh_se_bg_minv_chi2prim;M_{ee} [GeV/c^{2}];particles/event",
78  4000,
79  0,
80  4.);
81  fHM->Create1<TH1D>("fh_se_bg_minv_elid",
82  "fh_se_bg_minv_elid;M_{ee} [GeV/c^{2}];particles/event",
83  4000,
84  0,
85  4.);
86  fHM->Create1<TH1D>("fh_se_bg_minv_ptcut",
87  "fh_se_bg_minv_ptcut;M_{ee} [GeV/c^{2}];particles/event",
88  4000,
89  0,
90  4.);
91 
92  fHM->Create1<TH1D>(
93  "fh_se_event_number", "fh_se_event_number;a.u.;Number of events", 1, 0, 1.);
94 
95  fHM->Create1<TH1D>(
96  "fh_se_bg_participants_minv_gg",
97  "fh_se_bg_participants_minv_gg;M_{ee} [GeV/c^{2}];particles/event",
98  4000,
99  0,
100  4.);
101  fHM->Create1<TH1D>(
102  "fh_se_bg_participants_minv_gp",
103  "fh_se_bg_participants_minv_gg;M_{ee} [GeV/c^{2}];particles/event",
104  4000,
105  0,
106  4.);
107  fHM->Create1<TH1D>(
108  "fh_se_bg_participants_minv_go",
109  "fh_se_bg_participants_minv_gg;M_{ee} [GeV/c^{2}];particles/event",
110  4000,
111  0,
112  4.);
113  fHM->Create1<TH1D>(
114  "fh_se_bg_participants_minv_pg",
115  "fh_se_bg_participants_minv_gg;M_{ee} [GeV/c^{2}];particles/event",
116  4000,
117  0,
118  4.);
119  fHM->Create1<TH1D>(
120  "fh_se_bg_participants_minv_pp",
121  "fh_se_bg_participants_minv_gg;M_{ee} [GeV/c^{2}];particles/event",
122  4000,
123  0,
124  4.);
125  fHM->Create1<TH1D>(
126  "fh_se_bg_participants_minv_po",
127  "fh_se_bg_participants_minv_gg;M_{ee} [GeV/c^{2}];particles/event",
128  4000,
129  0,
130  4.);
131  fHM->Create1<TH1D>(
132  "fh_se_bg_participants_minv_og",
133  "fh_se_bg_participants_minv_gg;M_{ee} [GeV/c^{2}];particles/event",
134  4000,
135  0,
136  4.);
137  fHM->Create1<TH1D>(
138  "fh_se_bg_participants_minv_op",
139  "fh_se_bg_participants_minv_gg;M_{ee} [GeV/c^{2}];particles/event",
140  4000,
141  0,
142  4.);
143  fHM->Create1<TH1D>(
144  "fh_se_bg_participants_minv_oo",
145  "fh_se_bg_participants_minv_gg;M_{ee} [GeV/c^{2}];particles/event",
146  4000,
147  0,
148  4.);
149 
150  fHM->Create1<TH1D>("fh_SE_PdgCode_of Others_BG",
151  "fh_SE_PdgCode_of Others_BG;PDGCode;Tracks per Event",
152  500,
153  -0.5,
154  499.5);
155 
156  fHM->Create1<TH1D>(
157  "fh_se_bg_mismatch_minv_ptCut",
158  "fh_se_bg_mismatch_minv_ptCut;M_{ee} [GeV/c^{2}];particles/event",
159  4000,
160  0.,
161  4.);
162  fHM->Create1<TH1D>(
163  "fh_se_bg_truematch_minv_ptCut",
164  "fh_se_bg_truematch_minv_ptCut;M_{ee} [GeV/c^{2}];particles/event",
165  4000,
166  0.,
167  4.);
168  fHM->Create1<TH1D>(
169  "fh_se_bg_truematch_el_minv_ptCut",
170  "fh_se_bg_truematch_el_minv_ptCut;M_{ee} [GeV/c^{2}];particles/event",
171  4000,
172  0.,
173  4.);
174  fHM->Create1<TH1D>(
175  "fh_se_bg_truematch_notel_minv_ptCut",
176  "fh_se_bg_truematch_notel_minv_ptCut;M_{ee} [GeV/c^{2}];particles/event",
177  4000,
178  0.,
179  4.);
180 
181  fHM->Create1<TH1D>(
182  "fh_se_bg_minv_diff_ptcuts_0",
183  "fh_se_bg_minv_diff_ptcuts_0;M_{ee} [GeV/c^{2}];particles/event",
184  4000,
185  0.,
186  4.);
187  fHM->Create1<TH1D>(
188  "fh_se_bg_minv_diff_ptcuts_1",
189  "fh_se_bg_minv_diff_ptcuts_1;M_{ee} [GeV/c^{2}];particles/event",
190  4000,
191  0.,
192  4.);
193  fHM->Create1<TH1D>(
194  "fh_se_bg_minv_diff_ptcuts_2",
195  "fh_se_bg_minv_diff_ptcuts_2;M_{ee} [GeV/c^{2}];particles/event",
196  4000,
197  0.,
198  4.);
199  fHM->Create1<TH1D>(
200  "fh_se_bg_minv_diff_ptcuts_3",
201  "fh_se_bg_minv_diff_ptcuts_3;M_{ee} [GeV/c^{2}];particles/event",
202  4000,
203  0.,
204  4.);
205  fHM->Create1<TH1D>(
206  "fh_se_bg_minv_diff_ptcuts_4",
207  "fh_se_bg_minv_diff_ptcuts_4;M_{ee} [GeV/c^{2}];particles/event",
208  4000,
209  0.,
210  4.);
211  fHM->Create1<TH1D>(
212  "fh_se_bg_minv_diff_ptcuts_5",
213  "fh_se_bg_minv_diff_ptcuts_5;M_{ee} [GeV/c^{2}];particles/event",
214  4000,
215  0.,
216  4.);
217  fHM->Create1<TH1D>(
218  "fh_se_bg_minv_diff_ptcuts_6",
219  "fh_se_bg_minv_diff_ptcuts_6;M_{ee} [GeV/c^{2}];particles/event",
220  4000,
221  0.,
222  4.);
223  fHM->Create1<TH1D>(
224  "fh_se_bg_minv_diff_ptcuts_7",
225  "fh_se_bg_minv_diff_ptcuts_7;M_{ee} [GeV/c^{2}];particles/event",
226  4000,
227  0.,
228  4.);
229 }
230 
231 
233  fMinusCandidates.clear();
234  fPlusCandidates.clear();
235  cout << "-I- ReadCandidates" << endl;
236  cout << "-I- fFileNames.size:" << fFileNames.size() << endl;
237  for (UInt_t iFile = 0; iFile < fFileNames.size(); iFile++) {
238  cout << "-I- Reading file No " << iFile << " path:" << fFileNames[iFile]
239  << endl;
240  TFile* f = new TFile(fFileNames[iFile].c_str(), "R");
241  TTree* t = (TTree*) f->Get("cbmsim");
242  TFolder* fd = (TFolder*) f->Get("cbmout");
243  if (fd == NULL) continue;
244  TClonesArray* candidates =
245  (TClonesArray*) fd->FindObjectAny("JpsiCandidates");
246  t->SetBranchAddress(candidates->GetName(), &candidates);
247  Int_t nofEvents = t->GetEntriesFast();
248  cout << "-I- Number of events in file: " << nofEvents << endl;
249  for (Int_t iEv = 0; iEv < nofEvents; iEv++) {
250  fHM->H1("fh_se_event_number")->Fill(0.5);
251  t->GetEntry(iEv);
252  Int_t nofCandidates = candidates->GetEntriesFast();
253  //cout << "-I- nofCandidates:" << nofCandidates << endl;
254  for (Int_t iCand = 0; iCand < nofCandidates; iCand++) {
255  CbmAnaJpsiCandidate* cand =
256  (CbmAnaJpsiCandidate*) candidates->At(iCand);
257 
258  if (cand->fIsMcSignalElectron) continue;
259 
260  Bool_t isIdCut =
261  (cand->fChi2Prim < fCuts.fChiPrimCut && cand->fIsElectron);
262  Bool_t isPtCut = (isIdCut && cand->fMomentum.Perp() > fCuts.fPtCut);
263  Bool_t isGoodId = fRunAfterIdCut ? (isIdCut) : true;
264  Bool_t isGood = fRunAfterPtCut ? (isPtCut) : true;
265  if (cand->fCharge < 0) {
267  if (isGoodId) {
268  if (isGood) fMinusCandidates.push_back(candM);
269  }
270  } else {
272  if (isGoodId) {
273  if (isGood) fPlusCandidates.push_back(candP);
274  }
275  }
276  }
277  }
278  f->Close();
279  delete f;
280  }
281  cout << "-I- fMinusCandidates.size:" << fMinusCandidates.size() << endl;
282  cout << "-I- fPlusCandidates.size:" << fPlusCandidates.size() << endl;
283  cout << "-I- number of events:" << fHM->H1("fh_se_event_number")->GetEntries()
284  << endl;
285 }
286 
288  cout << "-I- DoSuperEvent" << endl;
289 
290  Int_t nofMinus = fMinusCandidates.size();
291  Int_t nofPlus = fPlusCandidates.size();
292  for (Int_t iM = 0; iM < nofMinus; iM++) {
293  if (iM % 1000 == 0) cout << 100. * iM / nofMinus << "% done" << endl;
295  for (Int_t iP = 0; iP < nofPlus; iP++) {
296  CbmAnaJpsiCandidate* candP = &fPlusCandidates[iP];
299  Bool_t isChi2Primary = (candM->fChi2Prim < fCuts.fChiPrimCut
300  && candP->fChi2Prim < fCuts.fChiPrimCut);
301  Bool_t isEl = (candM->fIsElectron && candP->fIsElectron);
302  Bool_t isPtCut = (candM->fMomentum.Perp() > fCuts.fPtCut
303  && candP->fMomentum.Perp() > fCuts.fPtCut);
304 
305  Bool_t isSignal =
306  candP->fIsMcSignalElectron && candM->fIsMcSignalElectron;
307  //Bool_t isPi0 = (candP->fIsMcPi0Electron && candM->fIsMcPi0Electron && candP->fStsMcMotherId == candM->fStsMcMotherId);
308  //Bool_t isGamma = (candP->fIsMcGammaElectron && candM->fIsMcGammaElectron && candP->fStsMcMotherId == candM->fStsMcMotherId);
309  Bool_t isBG =
310  !isSignal; // (!isGamma) && (!isPi0);// && (!(candP->fIsMcSignalElectron || candM->fIsMcSignalElectron));
311 
312  if (!isBG) continue;
313  fHM->H1("fh_se_bg_minv_reco")->Fill(pRec.fMinv);
314  if (isChi2Primary) fHM->H1("fh_se_bg_minv_chi2prim")->Fill(pRec.fMinv);
315  if (isChi2Primary && isEl)
316  fHM->H1("fh_se_bg_minv_elid")->Fill(pRec.fMinv);
317  if (isChi2Primary && isEl && isPtCut) {
318  fHM->H1("fh_se_bg_minv_ptcut")->Fill(pRec.fMinv);
319 
320  if (candM->fIsMcGammaElectron) {
321  if (candP->fIsMcGammaElectron) {
322  fHM->H1("fh_se_bg_participants_minv_gg")
323  ->Fill(pRec.fMinv); //gamma + gamma
324  } else if (candP->fIsMcPi0Electron) {
325  fHM->H1("fh_se_bg_participants_minv_gp")
326  ->Fill(pRec.fMinv); //gamma + Pi0
327  } else {
328  fHM->H1("fh_se_bg_participants_minv_go")
329  ->Fill(pRec.fMinv); //gamma + other
330  fHM->H1("fh_SE_PdgCode_of Others_BG")
331  ->Fill((double) candP->fMcPdg - 0.5);
332  }
333  } else if (candM->fIsMcPi0Electron) {
334  if (candP->fIsMcGammaElectron) {
335  fHM->H1("fh_se_bg_participants_minv_gp")
336  ->Fill(pRec.fMinv); //pi0 + gamma
337  } else if (candP->fIsMcPi0Electron) {
338  fHM->H1("fh_se_bg_participants_minv_pp")
339  ->Fill(pRec.fMinv); //pi0 + Pi0
340  } else {
341  fHM->H1("fh_se_bg_participants_minv_po")
342  ->Fill(pRec.fMinv); //pi0 + other
343  fHM->H1("fh_SE_PdgCode_of Others_BG")
344  ->Fill((double) candP->fMcPdg - 0.5);
345  }
346  } else {
347  fHM->H1("fh_SE_PdgCode_of Others_BG")
348  ->Fill((double) candM->fMcPdg - 0.5);
349  if (candP->fIsMcGammaElectron) {
350  fHM->H1("fh_se_bg_participants_minv_go")
351  ->Fill(pRec.fMinv); //other + gamma
352  } else if (candP->fIsMcPi0Electron) {
353  fHM->H1("fh_se_bg_participants_minv_po")
354  ->Fill(pRec.fMinv); //other + Pi0
355  } else {
356  fHM->H1("fh_se_bg_participants_minv_oo")
357  ->Fill(pRec.fMinv); //other + other
358  fHM->H1("fh_SE_PdgCode_of Others_BG")
359  ->Fill((double) candP->fMcPdg - 0.5);
360  }
361  }
362 
363  Bool_t isMismatch = (candP->fIsMismatch || candM->fIsMismatch);
364  if (isBG && isMismatch)
365  fHM->H1("fh_se_bg_mismatch_minv_ptCut")->Fill(pRec.fMinv);
366  if (isBG && !isMismatch) {
367  fHM->H1("fh_se_bg_truematch_minv_ptCut")->Fill(pRec.fMinv);
368  if (candP->fMcPdg == 11 && candM->fMcPdg == 11)
369  fHM->H1("fh_se_bg_truematch_el_minv_ptCut")->Fill(pRec.fMinv);
370  if (candP->fMcPdg != 11 || candM->fMcPdg != 11)
371  fHM->H1("fh_se_bg_truematch_notel_minv_ptCut")->Fill(pRec.fMinv);
372  }
373  }
374 
375  if (isChi2Primary && isEl && pRec.fPt < 0.4) {
376  fHM->H1("fh_se_bg_minv_diff_ptcuts_0")->Fill(pRec.fMinv);
377  }
378  if (isChi2Primary && isEl && pRec.fPt >= 0.4 && pRec.fPt < 0.8) {
379  fHM->H1("fh_se_bg_minv_diff_ptcuts_1")->Fill(pRec.fMinv);
380  }
381  if (isChi2Primary && isEl && pRec.fPt >= 0.8 && pRec.fPt < 1.2) {
382  fHM->H1("fh_se_bg_minv_diff_ptcuts_2")->Fill(pRec.fMinv);
383  }
384  if (isChi2Primary && isEl && pRec.fPt >= 1.2 && pRec.fPt < 1.6) {
385  fHM->H1("fh_se_bg_minv_diff_ptcuts_3")->Fill(pRec.fMinv);
386  }
387  if (isChi2Primary && isEl && pRec.fPt >= 1.6 && pRec.fPt < 2.0) {
388  fHM->H1("fh_se_bg_minv_diff_ptcuts_4")->Fill(pRec.fMinv);
389  }
390  if (isChi2Primary && isEl && pRec.fPt >= 2.0 && pRec.fPt < 2.4) {
391  fHM->H1("fh_se_bg_minv_diff_ptcuts_5")->Fill(pRec.fMinv);
392  }
393  if (isChi2Primary && isEl && pRec.fPt >= 2.4 && pRec.fPt < 3.0) {
394  fHM->H1("fh_se_bg_minv_diff_ptcuts_6")->Fill(pRec.fMinv);
395  }
396  if (isChi2Primary && isEl && pRec.fPt >= 3.0 && pRec.fPt < 6.0) {
397  fHM->H1("fh_se_bg_minv_diff_ptcuts_7")->Fill(pRec.fMinv);
398  }
399  }
400  }
401 }
402 
403 void CbmAnaJpsiSuperEvent::Draw(Option_t*) {
404  TCanvas* c = new TCanvas("jpsi_se_bg_minv", "jpsi_se_bg_minv", 1200, 1200);
405 
406  fHM->RebinByPattern("fh_se_bg_minv.*", 20);
407  fHM->ScaleByPattern("fh_se_bg_minv.*", 20);
408 
409  c->Divide(2, 2);
410  c->cd(1);
411  DrawH1(fHM->H1("fh_se_bg_minv_reco"));
413  CbmAnaJpsiHist::fAnaStepsLatex[kJpsiReco], 0.6, 0.89, 0.7, 0.99);
414  c->cd(2);
415  DrawH1(fHM->H1("fh_se_bg_minv_chi2prim"));
417  CbmAnaJpsiHist::fAnaStepsLatex[kJpsiChi2Prim], 0.6, 0.89, 0.7, 0.99);
418  c->cd(3);
419  DrawH1(fHM->H1("fh_se_bg_minv_elid"));
421  CbmAnaJpsiHist::fAnaStepsLatex[kJpsiElId], 0.6, 0.89, 0.7, 0.99);
422  c->cd(4);
423  fHM->H1("fh_se_bg_minv_ptcut")->SetMinimum(1e-11);
424  gPad->SetLogy();
425  DrawH1(fHM->H1("fh_se_bg_minv_ptcut"));
427  CbmAnaJpsiHist::fAnaStepsLatex[kJpsiPtCut], 0.6, 0.89, 0.7, 0.99);
428 }
429 
430 
CbmAnaJpsiKinematicParams::fMinv
Double_t fMinv
Definition: CbmAnaJpsiKinematicParams.h:17
CbmAnaJpsiKinematicParams::fPt
Double_t fPt
Definition: CbmAnaJpsiKinematicParams.h:15
kJpsiReco
@ kJpsiReco
Definition: CbmAnaJpsiHist.h:23
CbmAnaJpsiHist::fAnaStepsLatex
static const std::vector< std::string > fAnaStepsLatex
Definition: CbmAnaJpsiHist.h:38
kJpsiPtCut
@ kJpsiPtCut
Definition: CbmAnaJpsiHist.h:26
f
float f
Definition: L1/vectors/P4_F32vec4.h:24
CbmAnaJpsiSuperEvent::fOutputFile
std::string fOutputFile
Definition: CbmAnaJpsiSuperEvent.h:58
CbmAnaJpsiSuperEvent::fPlusCandidates
std::vector< CbmAnaJpsiCandidate > fPlusCandidates
Definition: CbmAnaJpsiSuperEvent.h:56
CbmAnaJpsiSuperEvent::fMinusCandidates
std::vector< CbmAnaJpsiCandidate > fMinusCandidates
Definition: CbmAnaJpsiSuperEvent.h:55
CbmHistManager::WriteToFile
void WriteToFile()
Write all histograms to current opened file.
Definition: core/base/CbmHistManager.cxx:103
CbmAnaJpsiCandidate::fIsMcGammaElectron
Bool_t fIsMcGammaElectron
Definition: CbmAnaJpsiCandidate.h:74
CbmHistManager::ScaleByPattern
void ScaleByPattern(const std::string &pattern, Double_t scale)
Scale histograms which name matches specified pattern.
Definition: core/base/CbmHistManager.cxx:221
CbmAnaJpsiCandidate::fMcPdg
Int_t fMcPdg
Definition: CbmAnaJpsiCandidate.h:76
kJpsiElId
@ kJpsiElId
Definition: CbmAnaJpsiHist.h:25
CbmAnaJpsiSuperEvent
Definition: CbmAnaJpsiSuperEvent.h:26
CbmHistManager::RebinByPattern
void RebinByPattern(const std::string &pattern, Int_t ngroup)
Rebin histograms which name matches specified pattern.
Definition: core/base/CbmHistManager.cxx:250
CbmAnaJpsiCandidate
Definition: CbmAnaJpsiCandidate.h:8
CbmAnaJpsiSuperEvent::Draw
void Draw(Option_t *="")
Definition: CbmAnaJpsiSuperEvent.cxx:403
kJpsiChi2Prim
@ kJpsiChi2Prim
Definition: CbmAnaJpsiHist.h:24
CbmAnaJpsiCuts::fPtCut
Double_t fPtCut
Definition: CbmAnaJpsiCuts.h:39
CbmDrawHist.h
Helper functions for drawing 1D and 2D histograms and graphs.
CbmAnaJpsiSuperEvent::~CbmAnaJpsiSuperEvent
virtual ~CbmAnaJpsiSuperEvent()
Definition: CbmAnaJpsiSuperEvent.cxx:48
CbmReportElement.h
Abstract class for basic report elements (headers, tables, images etc.).
CbmHistManager.h
Histogram manager.
CbmAnaJpsiSuperEvent::CbmAnaJpsiSuperEvent
CbmAnaJpsiSuperEvent()
Definition: CbmAnaJpsiSuperEvent.cxx:37
CbmAnaJpsiKinematicParams::KinematicParamsWithCandidates
static CbmAnaJpsiKinematicParams KinematicParamsWithCandidates(const CbmAnaJpsiCandidate *candP, const CbmAnaJpsiCandidate *candM)
Definition: CbmAnaJpsiKinematicParams.h:61
DrawTextOnPad
void DrawTextOnPad(const string &text, Double_t x1, Double_t y1, Double_t x2, Double_t y2)
Definition: CbmDrawHist.cxx:253
DrawH1
void DrawH1(TH1 *hist, HistScale logx, HistScale logy, const string &drawOpt, Int_t color, Int_t lineWidth, Int_t lineStyle, Int_t markerSize, Int_t markerStyle)
Definition: CbmDrawHist.cxx:49
CbmAnaJpsiCuts.h
CbmHistManager
Histogram manager.
Definition: CbmHistManager.h:41
CbmAnaJpsiSuperEvent::fRunAfterIdCut
Bool_t fRunAfterIdCut
Definition: CbmAnaJpsiSuperEvent.h:65
CbmHistManager::Create1
void Create1(const std::string &name, const std::string &title, Int_t nofBins, Double_t minBin, Double_t maxBin)
Helper function for creation of 1-dimensional histograms and profiles. Template argument is a real ob...
Definition: CbmHistManager.h:81
ClassImp
ClassImp(CbmConverterManager) InitStatus CbmConverterManager
Definition: CbmConverterManager.cxx:12
CbmHistManager::H1
TH1 * H1(const std::string &name) const
Return pointer to TH1 histogram.
Definition: CbmHistManager.h:170
CbmUtils.h
CbmAnaJpsiCandidate::fMomentum
TVector3 fMomentum
Definition: CbmAnaJpsiCandidate.h:51
CbmAnaJpsiSuperEvent::fHM
CbmHistManager * fHM
Definition: CbmAnaJpsiSuperEvent.h:60
CbmAnaJpsiKinematicParams
Definition: CbmAnaJpsiKinematicParams.h:12
CbmAnaJpsiSuperEvent::InitHist
void InitHist()
Definition: CbmAnaJpsiSuperEvent.cxx:68
CbmAnaJpsiCandidate::fChi2Prim
Double_t fChi2Prim
Definition: CbmAnaJpsiCandidate.h:56
CbmAnaJpsiCandidate::fCharge
Int_t fCharge
Definition: CbmAnaJpsiCandidate.h:55
CbmAnaJpsiSuperEvent::ReadCandidates
void ReadCandidates()
Definition: CbmAnaJpsiSuperEvent.cxx:232
CbmAnaJpsiSuperEvent::fCuts
CbmAnaJpsiCuts fCuts
Definition: CbmAnaJpsiSuperEvent.h:62
CbmAnaJpsiKinematicParams.h
CbmAnaJpsiUtils.h
CbmAnaJpsiCandidate::fIsMcPi0Electron
Bool_t fIsMcPi0Electron
Definition: CbmAnaJpsiCandidate.h:73
CbmAnaJpsiCandidate::fIsElectron
Bool_t fIsElectron
Definition: CbmAnaJpsiCandidate.h:64
CbmAnaJpsiCandidate::fIsMcSignalElectron
Bool_t fIsMcSignalElectron
Definition: CbmAnaJpsiCandidate.h:72
CbmAnaJpsiCuts::fChiPrimCut
Double_t fChiPrimCut
Definition: CbmAnaJpsiCuts.h:38
CbmAnaJpsiSuperEvent::fFileNames
std::vector< std::string > fFileNames
Definition: CbmAnaJpsiSuperEvent.h:54
CbmAnaJpsiSuperEvent::Run
void Run()
Definition: CbmAnaJpsiSuperEvent.cxx:50
Cbm::NumberToString
std::string NumberToString(const T &value, int precision=1)
Definition: CbmUtils.h:23
Cbm::Split
vector< string > Split(const string &name, char delimiter)
Definition: CbmUtils.cxx:54
CbmAnaJpsiSuperEvent::fRunAfterPtCut
Bool_t fRunAfterPtCut
Definition: CbmAnaJpsiSuperEvent.h:64
CbmAnaJpsiSuperEvent::DoSuperEvent
void DoSuperEvent()
Definition: CbmAnaJpsiSuperEvent.cxx:287
CbmAnaJpsiCandidate::fIsMismatch
Bool_t fIsMismatch
Definition: CbmAnaJpsiCandidate.h:87
CbmAnaJpsiSuperEvent.h