CbmRoot
CbmAnaJpsiSuperEventReport.cxx
Go to the documentation of this file.
1 
3 #include "CbmAnaJpsiCuts.h"
4 #include "CbmAnaJpsiHist.h"
5 #include "CbmDrawHist.h"
6 #include "CbmHistManager.h"
7 #include "CbmReportElement.h"
8 #include "CbmUtils.h"
9 #include "TCanvas.h"
10 #include "TDirectory.h"
11 #include "TF1.h"
12 #include "TFile.h"
13 #include "TH1.h"
14 #include "TLatex.h"
15 #include "TLine.h"
16 #include "TMarker.h"
17 #include "TPad.h"
18 #include "TStyle.h"
19 #include <boost/assign/list_of.hpp>
20 #include <iostream>
21 #include <map>
22 
23 using boost::assign::list_of;
25 using Cbm::Split;
26 using std::cout;
27 using std::endl;
28 using std::map;
29 using std::string;
30 
32  : CbmSimulationReport(), fHMSuperEvent(), fHMEventByEvent() {
33  SetReportName("jpsi_superevent_qa");
34 }
35 
37 
38 void CbmAnaJpsiSuperEventReport::Create(const string& fileEventByEvent,
39  const string& fileSuperEvent,
40  const string& outputDir) {
42  TFile* fileSE = new TFile(fileSuperEvent.c_str());
43  fHMSuperEvent->ReadFromFile(fileSE);
44 
46  TFile* fileEbE = new TFile(fileEventByEvent.c_str());
47  fHMEventByEvent->ReadFromFile(fileEbE);
48 
49  SetOutputDir(outputDir);
50  CreateReports();
51 }
53  //Out().precision(3);
54  Out() << R()->DocumentBegin();
55  Out() << R()->Title(0, GetTitle());
56 
57  PrintCanvases();
58 
59  Out() << R()->DocumentEnd();
60 }
61 
64 
65  long nofSEEvents = fHMSuperEvent->H1("fh_se_event_number")->GetEntries();
66  long nofSEEventsSquared = nofSEEvents * nofSEEvents;
67  cout << "Number of SE events = " << nofSEEventsSquared << endl;
68  fHMSuperEvent->ScaleByPattern(".*", 1. / (nofSEEventsSquared));
69 
70  int nofEEEvents = fHMEventByEvent->H1("fh_event_number")->GetEntries();
71  cout << "Number of EE events = " << nofEEEvents << endl;
72  fHMEventByEvent->ScaleByPattern(".*", 1. / nofEEEvents);
73 
74 
75  Int_t nRebins = 20;
76  fHMEventByEvent->RebinByPattern("fh_signal_minv.+", nRebins);
77  fHMEventByEvent->RebinByPattern("fh_bg_minv.+", nRebins);
78  fHMEventByEvent->RebinByPattern("fh_ee_signal_minv_diff_ptcuts.+", nRebins);
79  fHMSuperEvent->RebinByPattern("fh_se_bg_participants_minv.+", nRebins);
80  fHMSuperEvent->RebinByPattern("fh_se_bg_truematch.+", nRebins);
81  fHMSuperEvent->RebinByPattern("fh_se_bg_mismatch.+", nRebins);
82 
83 
84  fHMEventByEvent->ScaleByPattern("fh_signal_minv.+", nRebins);
85  fHMEventByEvent->ScaleByPattern("fh_bg_minv.+", nRebins);
86  fHMEventByEvent->ScaleByPattern("fh_ee_signal_minv_diff_ptcuts.+", nRebins);
87  fHMSuperEvent->ScaleByPattern("fh_se_bg_participants_minv.+", nRebins);
88  fHMSuperEvent->ScaleByPattern("fh_se_bg_truematch.+", nRebins);
89  fHMSuperEvent->ScaleByPattern("fh_se_bg_mismatch.+", nRebins);
90 
92 
94 
96 
98 
99  {
100  CreateCanvas("jpsi_fh_SE_PdgCode_of Others_BG",
101  "jpsi_fh_SE_PdgCode_of Others_BG",
102  1000,
103  1000);
104  DrawH1(fHMSuperEvent->H1("fh_SE_PdgCode_of Others_BG"));
106  CbmAnaJpsiHist::fAnaStepsLatex[kJpsiPtCut], 0.4, 0.89, 0.5, 0.99);
107  }
108 
110 
112 }
113 
115  CreateCanvas(
116  "jpsi_se_fh_se_ee_bg_minv_reco", "jpsi_fh_se_ee_bg_minv_reco", 900, 900);
117  DrawH1(list_of((TH1*) fHMEventByEvent->H1("fh_bg_minv_reco")->Clone())(
118  (TH1*) fHMSuperEvent
119  ->H1("fh_se_bg_minv_" + CbmAnaJpsiHist::fAnaSteps[kJpsiReco])
120  ->Clone()),
121  list_of("Event-by-Event")("SuperEvent"),
122  kLinear,
123  kLinear,
124  true,
125  0.7,
126  0.9,
127  0.99,
128  0.95);
130  CbmAnaJpsiHist::fAnaStepsLatex[kJpsiReco], 0.4, 0.89, 0.5, 0.99);
131 
132 
133  CreateCanvas("jpsi_se_fh_se_ee_bg_minv_chi2prim",
134  "jpsi_fh_se_ee_bg_minv_chi2prim",
135  900,
136  900);
137  DrawH1(list_of((TH1*) fHMEventByEvent->H1("fh_bg_minv_chi2prim")->Clone())(
138  (TH1*) fHMSuperEvent
139  ->H1("fh_se_bg_minv_" + CbmAnaJpsiHist::fAnaSteps[kJpsiChi2Prim])
140  ->Clone()),
141  list_of("Event-by-Event")("SuperEvent"),
142  kLinear,
143  kLinear,
144  true,
145  0.7,
146  0.9,
147  0.99,
148  0.95);
150  CbmAnaJpsiHist::fAnaStepsLatex[kJpsiChi2Prim], 0.4, 0.89, 0.5, 0.99);
151 
152 
153  CreateCanvas(
154  "jpsi_se_fh_se_ee_bg_minv_elid", "jpsi_fh_se_ee_bg_minv_elid", 900, 900);
155  DrawH1(list_of((TH1*) fHMEventByEvent->H1("fh_bg_minv_elid")->Clone())(
156  (TH1*) fHMSuperEvent
157  ->H1("fh_se_bg_minv_" + CbmAnaJpsiHist::fAnaSteps[kJpsiElId])
158  ->Clone()),
159  list_of("Event-by-Event")("SuperEvent"),
160  kLinear,
161  kLinear,
162  true,
163  0.7,
164  0.9,
165  0.99,
166  0.95);
168  CbmAnaJpsiHist::fAnaStepsLatex[kJpsiElId], 0.4, 0.89, 0.5, 0.99);
169 
170 
171  CreateCanvas(
172  "jpsi_se_fh_se_ee_bg_minv_ptcut", "jpsi_fh_se_ee_bg_minv_ptcut", 900, 900);
173  DrawH1(list_of((TH1*) fHMEventByEvent->H1("fh_bg_minv_ptcut")->Clone())(
174  (TH1*) fHMSuperEvent
175  ->H1("fh_se_bg_minv_" + CbmAnaJpsiHist::fAnaSteps[kJpsiPtCut])
176  ->Clone()),
177  list_of("Event-by-Event")("SuperEvent"),
178  kLinear,
179  kLinear,
180  true,
181  0.7,
182  0.9,
183  0.99,
184  0.95);
186  CbmAnaJpsiHist::fAnaStepsLatex[kJpsiPtCut], 0.4, 0.89, 0.5, 0.99);
187 }
188 
190  CreateCanvas("jpsi_se_minv_reco", "jpsi_se_minv_reco", 900, 900);
192  ->SetMinimum(1e-9);
193  DrawH1(list_of((TH1*) fHMSuperEvent
194  ->H1("fh_se_bg_minv_" + CbmAnaJpsiHist::fAnaSteps[kJpsiReco])
195  ->Clone())(
196  (TH1*) fHMEventByEvent
197  ->H1("fh_signal_minv_" + CbmAnaJpsiHist::fAnaSteps[kJpsiReco])
198  ->Clone()),
199  list_of("Background SuperEvent")("Signal Event-By-Event"),
200  kLinear,
201  kLog,
202  true,
203  0.7,
204  0.9,
205  0.99,
206  0.95);
208  CbmAnaJpsiHist::fAnaStepsLatex[kJpsiReco], 0.4, 0.89, 0.5, 0.99);
209 
210  CreateCanvas("jpsi_se_minv_chi2prim", "jpsi_se_minv_chi2prim", 900, 900);
212  ->SetMinimum(1e-9);
213  DrawH1(
214  list_of((TH1*) fHMSuperEvent
215  ->H1("fh_se_bg_minv_" + CbmAnaJpsiHist::fAnaSteps[kJpsiChi2Prim])
216  ->Clone())(
217  (TH1*) fHMEventByEvent
218  ->H1("fh_signal_minv_" + CbmAnaJpsiHist::fAnaSteps[kJpsiChi2Prim])
219  ->Clone()),
220  list_of("Background SuperEvent")("Signal Event-By-Event"),
221  kLinear,
222  kLog,
223  true,
224  0.7,
225  0.9,
226  0.99,
227  0.95);
229  CbmAnaJpsiHist::fAnaStepsLatex[kJpsiChi2Prim], 0.4, 0.89, 0.5, 0.99);
230 
231  CreateCanvas("jpsi_se_minv_elid", "jpsi_se_minv_elid", 900, 900);
233  ->SetMinimum(1e-9);
234  DrawH1(list_of((TH1*) fHMSuperEvent
235  ->H1("fh_se_bg_minv_" + CbmAnaJpsiHist::fAnaSteps[kJpsiElId])
236  ->Clone())(
237  (TH1*) fHMEventByEvent
238  ->H1("fh_signal_minv_" + CbmAnaJpsiHist::fAnaSteps[kJpsiElId])
239  ->Clone()),
240  list_of("Background SuperEvent")("Signal Event-By-Event"),
241  kLinear,
242  kLog,
243  true,
244  0.7,
245  0.9,
246  0.99,
247  0.95);
249  CbmAnaJpsiHist::fAnaStepsLatex[kJpsiElId], 0.4, 0.89, 0.5, 0.99);
250 
251  CreateCanvas("jpsi_se_minv_ptcut", "jpsi_se_minv_ptcut", 900, 900);
253  ->SetMinimum(1e-9);
254  DrawH1(
255  list_of((TH1*) fHMSuperEvent
256  ->H1("fh_se_bg_minv_" + CbmAnaJpsiHist::fAnaSteps[kJpsiPtCut])
257  ->Clone())(
258  (TH1*) fHMEventByEvent
259  ->H1("fh_signal_minv_" + CbmAnaJpsiHist::fAnaSteps[kJpsiPtCut])
260  ->Clone()),
261  list_of("Background SuperEvent")("Signal Event-By-Event"),
262  kLinear,
263  kLog,
264  true,
265  0.7,
266  0.9,
267  0.99,
268  0.95);
270  CbmAnaJpsiHist::fAnaStepsLatex[kJpsiPtCut], 0.4, 0.89, 0.5, 0.99);
271 
272  CreateCanvas("jpsi_se_ee_minv_ptcut", "jpsi_se_ee_minv_ptcut", 900, 900);
273  TH1D* fhBg = (TH1D*) fHMSuperEvent
274  ->H1("fh_se_bg_minv_" + CbmAnaJpsiHist::fAnaSteps[kJpsiPtCut])
275  ->Clone();
276  TH1D* fhSignal =
277  (TH1D*) fHMEventByEvent
278  ->H1("fh_signal_minv_" + CbmAnaJpsiHist::fAnaSteps[kJpsiPtCut])
279  ->Clone();
280  TH1D* fhBgSignal = (TH1D*) fhBg->Clone();
281  fhBgSignal->Add(fhSignal);
282  fhBgSignal->SetMinimum(1e-9);
283  DrawH1(list_of(fhBg)(fhSignal)(fhBgSignal),
284  list_of("Background SuperEvent")("Signal Event-By-Event")(
285  "Signal and Background"),
286  kLinear,
287  kLog,
288  true,
289  0.7,
290  0.9,
291  0.99,
292  0.95);
294  CbmAnaJpsiHist::fAnaStepsLatex[kJpsiPtCut], 0.4, 0.89, 0.5, 0.99);
295 }
296 
298  TH1D* signal_ee = (TH1D*) fHMEventByEvent->H1(
299  "fh_signal_minv_" + CbmAnaJpsiHist::fAnaSteps[step]);
300  TH1D* bg_se = (TH1D*) fHMSuperEvent->H1("fh_se_bg_minv_"
301  + CbmAnaJpsiHist::fAnaSteps[step]);
302 
303  //Create Histogram for the Gaus-Fit
304  TH1D* signalFit_ee = (TH1D*) signal_ee->Clone();
305  signalFit_ee->Fit("gaus", "", "", 2.9, 3.3);
306 
307  //Calculate sigma and Mean
308  Double_t sigmaSignal =
309  signalFit_ee->GetFunction("gaus")->GetParameter("Sigma");
310  Double_t meanSignal = signalFit_ee->GetFunction("gaus")->GetParameter("Mean");
311 
312  //Get the number of the Bins of Min and Max
313  int signalMin = signal_ee->FindBin(meanSignal - 2. * sigmaSignal);
314  int signalMax = signal_ee->FindBin(meanSignal + 2. * sigmaSignal);
315 
316  double NOfSignalEntries = 0.;
317  double NOfBgEntries = 0.;
318 
319  //sum up all the bins
320  for (int i = signalMin; i <= signalMax; i++) {
321  NOfSignalEntries += signal_ee->GetBinContent(i);
322  NOfBgEntries += bg_se->GetBinContent(i);
323  }
324 
325  //Calculate Signal/Background
326  if (NOfBgEntries <= 0.) {
327  return 0.;
328  } else {
329  double sOverBg = NOfSignalEntries / NOfBgEntries;
330  return sOverBg;
331  }
332 }
333 
335  CreateCanvas("jpsi_fh_se_SignalOverBg_allAnaSteps",
336  "jpsi_fh_se_SignalOverBg_allAnaSteps",
337  600,
338  600);
339  fHMSuperEvent->Create1<TH1D>("fh_se_SignalOverBg_allAnaSteps",
340  "fh_se_SignalOverBg_allAnaSteps;AnaSteps;S/Bg",
341  4,
342  0,
343  4);
344 
345 
346  for (int i = 0; i < CbmAnaJpsiHist::fNofAnaSteps - 2; i++) {
347  double nstep = i + 0.5;
348  double SOverBg = SignalOverBg(i + 2);
349  fHMSuperEvent->H1("fh_se_SignalOverBg_allAnaSteps")->Fill(nstep, SOverBg);
350  gPad->SetLogy();
351  }
352 
353  fHMSuperEvent->H1("fh_se_SignalOverBg_allAnaSteps")
354  ->GetXaxis()
355  ->SetLabelSize(0.06);
356  int x = 1;
357  for (Int_t step = 2; step < CbmAnaJpsiHist::fNofAnaSteps; step++) {
358  fHMSuperEvent->H1("fh_se_SignalOverBg_allAnaSteps")
359  ->GetXaxis()
360  ->SetBinLabel(x, CbmAnaJpsiHist::fAnaStepsLatex[step].c_str());
361  x++;
362  }
363 
364  DrawH1(fHMSuperEvent->H1("fh_se_SignalOverBg_allAnaSteps"),
365  kLinear,
366  kLinear,
367  "Text COLZ");
368 }
369 
371  CreateCanvas("jpsi_fh_bg_pair_source", "jpsi_fh_bg_pair_source", 800, 800);
372 
373  DrawH1(
374  list_of((TH1*) fHMSuperEvent
375  ->H1("fh_se_bg_minv_" + CbmAnaJpsiHist::fAnaSteps[kJpsiPtCut])
376  ->Clone())(fHMSuperEvent->H1("fh_se_bg_participants_minv_gg"))(
377  fHMSuperEvent->H1("fh_se_bg_participants_minv_gp"))(
378  fHMSuperEvent->H1("fh_se_bg_participants_minv_go"))(
379  fHMSuperEvent->H1("fh_se_bg_participants_minv_pp"))(
380  fHMSuperEvent->H1("fh_se_bg_participants_minv_po"))(
381  fHMSuperEvent->H1("fh_se_bg_participants_minv_oo")),
382  list_of("whole BG")("#gamma + #gamma")("#gamma + #pi^{0}")(
383  "#gamma + others")("#pi^{0} + #pi^{0}")("#pi^{0} + others")(
384  "others + others"),
385  kLinear,
386  kLog,
387  true,
388  0.85,
389  0.6,
390  0.99,
391  0.99);
392 
394  CbmAnaJpsiHist::fAnaStepsLatex[kJpsiPtCut], 0.6, 0.89, 0.7, 0.99);
395 }
396 
398  CreateCanvas("jpsi_fh_se_bg_Minv_Mismatch_pt",
399  "jpsi_fh_se_bg_Minv_Mismatch_pt",
400  800,
401  800);
402 
403  double trueMatch =
404  fHMSuperEvent->H1("fh_se_bg_truematch_minv_ptCut")->GetEntries();
405  double trueMatchEl =
406  fHMSuperEvent->H1("fh_se_bg_truematch_el_minv_ptCut")->GetEntries();
407  double trueMatchNotEl =
408  fHMSuperEvent->H1("fh_se_bg_truematch_notel_minv_ptCut")->GetEntries();
409  double misMatch =
410  fHMSuperEvent->H1("fh_se_bg_mismatch_minv_ptCut")->GetEntries();
411  double nofBg = fHMSuperEvent->H1("fh_se_bg_minv_ptcut")->GetEntries();
412 
413  DrawH1(list_of(fHMSuperEvent->H1("fh_se_bg_truematch_minv_ptCut"))(
414  fHMSuperEvent->H1("fh_se_bg_truematch_el_minv_ptCut"))(
415  fHMSuperEvent->H1("fh_se_bg_truematch_notel_minv_ptCut"))(
416  fHMSuperEvent->H1("fh_se_bg_mismatch_minv_ptCut")),
417  list_of("true match ("
418  + Cbm::NumberToString(100. * trueMatch / nofBg, 1) + "%)")(
419  "true match (e^{#pm}) ("
420  + Cbm::NumberToString(100. * trueMatchEl / nofBg, 1) + "%)")(
421  "true match (not e^{#pm}) ("
422  + Cbm::NumberToString(100. * trueMatchNotEl / nofBg, 1) + "%)")(
423  "mismatch (" + Cbm::NumberToString(100. * misMatch / nofBg) + "%)"),
424  kLinear,
425  kLog,
426  true,
427  0.65,
428  0.8,
429  0.99,
430  0.99);
431 
433  CbmAnaJpsiHist::fAnaStepsLatex[kJpsiPtCut], 0.15, 0.9, 0.35, 0.99);
434 }
435 
437  TCanvas* c6 = CreateCanvas(
438  "jpsi_se_ee_minv_diff_ptCuts", "jpsi_se_ee_minv_diff_ptCuts", 1600, 800);
439  c6->Divide(4, 2);
440  for (int i = 0; i < 8; i++) {
441  c6->cd(i + 1);
442  TH1D* fhBgDiffPtCuts =
443  (TH1D*) fHMSuperEvent
444  ->H1("fh_se_bg_minv_diff_ptcuts_" + Cbm::NumberToString(i))
445  ->Clone();
446  TH1D* fhSignalDiffPtCuts =
447  (TH1D*) fHMEventByEvent
448  ->H1("fh_ee_signal_minv_diff_ptcuts_" + Cbm::NumberToString(i))
449  ->Clone();
450  TH1D* fhBgSignalDiffPtCuts = (TH1D*) fhBgDiffPtCuts->Clone();
451  fhBgSignalDiffPtCuts->Add(fhSignalDiffPtCuts);
452  fhBgSignalDiffPtCuts->SetMinimum(1e-9);
453 
454  double lowerCut = 0;
455  double upperCut = 0;
456  if (i < 6) {
457  upperCut = (0.4 * (i + 1));
458  lowerCut = (upperCut - 0.4);
459  } else if (i == 6) {
460  upperCut = 3.0;
461  lowerCut = 2.4;
462  } else if (i == 7) {
463  upperCut = 6.0;
464  lowerCut = 3.0;
465  }
466  string text = Cbm::NumberToString(lowerCut, 2) + "<P_t<"
467  + Cbm::NumberToString(upperCut, 2);
468 
469  //SignalOverBackground
470  //Create Histogram for the Gaus-Fit
471  TH1D* signalFit_DiffPt_ee = (TH1D*) fhSignalDiffPtCuts->Clone();
472  signalFit_DiffPt_ee->Fit("gaus", "", "", 2.9, 3.3);
473 
474  //Calculate sigma and Mean
475  Double_t sigmaSignal =
476  signalFit_DiffPt_ee->GetFunction("gaus")->GetParameter("Sigma");
477  Double_t meanSignal =
478  signalFit_DiffPt_ee->GetFunction("gaus")->GetParameter("Mean");
479 
480  //Get the number of the Bins of Min and Max
481  int signalMin = signalFit_DiffPt_ee->FindBin(meanSignal - 2. * sigmaSignal);
482  int signalMax = signalFit_DiffPt_ee->FindBin(meanSignal + 2. * sigmaSignal);
483 
484  double NOfSignalEntries = 0.;
485  double NOfBgEntries = 0.;
486 
487  //sum up all the bins
488  for (int j = signalMin; j <= signalMax; j++) {
489  NOfSignalEntries += signalFit_DiffPt_ee->GetBinContent(j);
490  NOfBgEntries += fhBgDiffPtCuts->GetBinContent(j);
491  }
492 
493  //Calculate Signal/Background
494  double SOverBg = 0.;
495  if (NOfBgEntries <= 0.) {
496  SOverBg = 0;
497  } else {
498  SOverBg = NOfSignalEntries / NOfBgEntries;
499  }
500  string textSOverBg =
501  "S/Bg = " + Cbm::NumberToString(SOverBg, 3) + " " + text;
502 
503  DrawH1(list_of(fhBgDiffPtCuts)(fhSignalDiffPtCuts)(fhBgSignalDiffPtCuts),
504  list_of("Background")("Signal")("Signal and Background"),
505  kLinear,
506  kLog,
507  true,
508  0.65,
509  0.8,
510  0.99,
511  0.95);
512  DrawTextOnPad(textSOverBg, 0.07, 0.88, 0.65, 0.95);
513  }
514 }
515 
CbmReport::CreateCanvas
TCanvas * CreateCanvas(const char *name, const char *title, Int_t ww, Int_t wh)
Create canvas and put it to vector of TCanvases. Canvases created with this function will be automati...
Definition: CbmReport.cxx:82
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
CbmHistManager::ScaleByPattern
void ScaleByPattern(const std::string &pattern, Double_t scale)
Scale histograms which name matches specified pattern.
Definition: core/base/CbmHistManager.cxx:221
CbmHistManager::ReadFromFile
void ReadFromFile(TFile *file)
Read histograms from file.
Definition: core/base/CbmHistManager.cxx:110
CbmReportElement::DocumentBegin
virtual std::string DocumentBegin() const =0
Return string with open tags for document.
kJpsiElId
@ kJpsiElId
Definition: CbmAnaJpsiHist.h:25
CbmReportElement::DocumentEnd
virtual std::string DocumentEnd() const =0
Return string with close tags of the document.
CbmAnaJpsiSuperEventReport::DrawComparison
void DrawComparison()
Definition: CbmAnaJpsiSuperEventReport.cxx:114
i
int i
Definition: L1/vectors/P4_F32vec4.h:25
CbmHistManager::RebinByPattern
void RebinByPattern(const std::string &pattern, Int_t ngroup)
Rebin histograms which name matches specified pattern.
Definition: core/base/CbmHistManager.cxx:250
kJpsiChi2Prim
@ kJpsiChi2Prim
Definition: CbmAnaJpsiHist.h:24
CbmReport::R
const CbmReportElement * R() const
Accessor to CbmReportElement object. User has to write the report using available tags from CbmReport...
Definition: CbmReport.h:51
CbmDrawHist.h
Helper functions for drawing 1D and 2D histograms and graphs.
CbmReportElement.h
Abstract class for basic report elements (headers, tables, images etc.).
CbmHistManager.h
Histogram manager.
CbmAnaJpsiHist::fAnaSteps
static const std::vector< std::string > fAnaSteps
Definition: CbmAnaJpsiHist.h:37
CbmReport::SetReportName
void SetReportName(const std::string &name)
Definition: CbmReport.h:59
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
CbmReport::PrintCanvases
void PrintCanvases() const
Print images created from canvases in the report.
Definition: CbmReport.cxx:109
CbmAnaJpsiHist.h
CbmHistManager
Histogram manager.
Definition: CbmHistManager.h:41
CbmAnaJpsiSuperEventReport::CbmAnaJpsiSuperEventReport
CbmAnaJpsiSuperEventReport()
Constructor.
Definition: CbmAnaJpsiSuperEventReport.cxx:31
CbmAnaJpsiSuperEventReport::DrawMinvDiffPtBins
void DrawMinvDiffPtBins()
Definition: CbmAnaJpsiSuperEventReport.cxx:436
CbmAnaJpsiSuperEventReport::SignalOverBgAllSteps
void SignalOverBgAllSteps()
Definition: CbmAnaJpsiSuperEventReport.cxx:334
CbmAnaJpsiSuperEventReport::DrawMinvSignalBg
void DrawMinvSignalBg()
Definition: CbmAnaJpsiSuperEventReport.cxx:189
kLinear
@ kLinear
Definition: CbmDrawHist.h:79
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
CbmAnaJpsiSuperEventReport::fHMEventByEvent
CbmHistManager * fHMEventByEvent
Definition: CbmAnaJpsiSuperEventReport.h:61
CbmSimulationReport::H1
TH1 * H1(const std::string &name) const
Return pointer to TH1 histogram.
Definition: CbmSimulationReport.h:73
ClassImp
ClassImp(CbmConverterManager) InitStatus CbmConverterManager
Definition: CbmConverterManager.cxx:12
CbmAnaJpsiSuperEventReport::Draw
virtual void Draw()
Inherited from CbmSimulationReport.
Definition: CbmAnaJpsiSuperEventReport.cxx:62
CbmHistManager::H1
TH1 * H1(const std::string &name) const
Return pointer to TH1 histogram.
Definition: CbmHistManager.h:170
CbmAnaJpsiSuperEventReport::DrawPairSource
void DrawPairSource()
Definition: CbmAnaJpsiSuperEventReport.cxx:370
CbmUtils.h
CbmAnaJpsiSuperEventReport::SignalOverBg
double SignalOverBg(int step)
Definition: CbmAnaJpsiSuperEventReport.cxx:297
CbmAnaJpsiSuperEventReport
Definition: CbmAnaJpsiSuperEventReport.h:11
CbmAnaJpsiSuperEventReport::DrawMinvMismatchPt
void DrawMinvMismatchPt()
Definition: CbmAnaJpsiSuperEventReport.cxx:397
x
Double_t x
Definition: CbmMvdSensorDigiToHitTask.cxx:68
CbmAnaJpsiSuperEventReport::Create
virtual void Create()
Inherited from CbmSimulationReport.
Definition: CbmAnaJpsiSuperEventReport.cxx:52
CbmSimulationReport
Base class for simulation reports.
Definition: CbmSimulationReport.h:28
CbmAnaJpsiSuperEventReport::~CbmAnaJpsiSuperEventReport
virtual ~CbmAnaJpsiSuperEventReport()
Destructor.
Definition: CbmAnaJpsiSuperEventReport.cxx:36
CbmReport::Out
std::ostream & Out() const
All text output goes to this stream.
Definition: CbmReport.h:56
CbmAnaJpsiSuperEventReport::fHMSuperEvent
CbmHistManager * fHMSuperEvent
Definition: CbmAnaJpsiSuperEventReport.h:59
SetDefaultDrawStyle
void SetDefaultDrawStyle()
Definition: CbmDrawHist.cxx:33
CbmAnaJpsiHist::fNofAnaSteps
static const int fNofAnaSteps
Definition: CbmAnaJpsiHist.h:36
CbmReportElement::Title
virtual std::string Title(int size, const std::string &title) const =0
Return string with title.
Cbm::NumberToString
std::string NumberToString(const T &value, int precision=1)
Definition: CbmUtils.h:23
CbmAnaJpsiSuperEventReport.h
Cbm::Split
vector< string > Split(const string &name, char delimiter)
Definition: CbmUtils.cxx:54
kLog
@ kLog
Definition: CbmDrawHist.h:78
CbmReport::CreateReports
void CreateReports()
Create all available report types.
Definition: CbmReport.cxx:60
CbmReport::SetOutputDir
void SetOutputDir(const std::string &outputDir)
Definition: CbmReport.h:61