16 TFile* file = TFile::Open("analysis_esd.root");
17 TH1* histESD = file->Get("dndeta/dndeta_dNdEta_corrected_2");
18 TH1* histESDNoPt = file->Get("dndeta/dndeta_dNdEta_2");
19 TH1* histESDMB = file->Get("dndeta_mb/dndeta_mb_dNdEta_corrected_2");
20 TH1* histESDMBVtx = file->Get("dndeta_mbvtx/dndeta_mbvtx_dNdEta_corrected_2");
22 TCanvas* canvas = new TCanvas("dNdEta1", "dNdEta1", 500, 500);
24 Prepare1DPlot(histESD);
25 Prepare1DPlot(histESDNoPt);
26 Prepare1DPlot(histESDMB);
27 Prepare1DPlot(histESDMBVtx);
29 histESD->SetLineColor(kRed);
30 histESDMB->SetLineColor(kBlue);
31 histESDMBVtx->SetLineColor(103);
33 TH2F* dummy = new TH2F("dummy", "", 100, -1.5, 1.5, 100, 0, histESDMBVtx->GetMaximum() * 1.1);
34 dummy->SetStats(kFALSE);
35 dummy->SetXTitle("#eta");
36 dummy->SetYTitle("dN/d#eta");
38 histESDMBVtx->GetXaxis()->SetRangeUser(-0.7999, 0.7999);
39 histESDMB->GetXaxis()->SetRangeUser(-0.7999, 0.7999);
40 histESD->GetXaxis()->SetRangeUser(-0.7999, 0.7999);
41 histESDNoPt->GetXaxis()->SetRangeUser(-0.7999, 0.7999);
44 histESDMBVtx->Draw("SAME");
45 histESDMB->Draw("SAME");
46 histESD->Draw("SAME");
48 canvas->SaveAs("dNdEta1.gif");
50 TFile* file2 = TFile::Open("analysis_mc.root");
51 TH1* histMC = file2->Get("dndeta/dndeta_dNdEta_corrected_2")->Clone("cloned");
53 gSystem->Load("libPWG0base");
54 fdNdEtaAnalysis = new dNdEtaAnalysis("dndeta", "dndeta");
55 fdNdEtaAnalysis->LoadHistograms();
56 fdNdEtaAnalysis->Finish(0, 0.3);
57 TH1* histMCPtCut = fdNdEtaAnalysis->GetdNdEtaHistogram(2);
59 TCanvas* canvas2 = new TCanvas("dNdEta2", "dNdEta2", 500, 500);
61 Prepare1DPlot(histMC);
62 Prepare1DPlot(histMCPtCut);
64 histMC->SetLineColor(kBlue);
65 histMCPtCut->SetLineColor(104);
66 histESDNoPt->SetLineColor(102);
68 TH2* dummy2 = dummy->Clone("dummy2");
69 dummy2->GetYaxis()->SetRangeUser(0, histESD->GetMaximum() * 1.1);
74 histESD->Draw("SAME");
75 histESDNoPt->Draw("SAME");
76 histMCPtCut->Draw("SAME");
78 canvas2->SaveAs("dNdEta2.gif");
83 TFile* file = TFile::Open("analysis_esd.root");
84 TH1* histESD = file->Get("dndeta/dndeta_pt");
86 TFile* file2 = TFile::Open("analysis_mc.root");
87 TH1* histMC = file2->Get("dndeta/dndeta_pt");
89 TCanvas* canvas = new TCanvas("ptSpectrum", "ptSpectrum", 500, 500);
93 Prepare1DPlot(histMC);
94 Prepare1DPlot(histESD);
96 histESD->SetTitle("");
98 histMC->SetLineColor(kBlue);
99 histESD->SetLineColor(kRed);
101 histESD->GetYaxis()->SetTitleOffset(1.5);
102 histESD->GetXaxis()->SetRangeUser(0, 4.9999);
104 histESD->SetMaximum(TMath::Max(histESD->GetMaximum(), histMC->GetMaximum()) * 2);
107 histMC->Draw("SAME");
109 canvas->SaveAs("ptSpectrum.gif");
114 gSystem->Load("libPWG0base");
116 AlidNdEtaCorrection* dNdEtaCorrection = new AlidNdEtaCorrection();
117 dNdEtaCorrection->LoadHistograms("correction_map.root","dndeta_correction");
119 dNdEtaCorrection->GetMeasuredFraction(0.3, -1, kTRUE);
121 TH1* hist = dynamic_cast<TH1*> (gROOT->FindObject("gene_nTrackToNPart_pt"));
123 hist->GetXaxis()->SetRangeUser(0, 0.9999);
126 hist->SetTitle("Generated Particles");
129 TCanvas* canvas = new TCanvas("ptCutoff", "ptCutoff", 500, 500);
132 TLine* line = new TLine(0.3, 0 - hist->GetMaximum() * 0, 0.3, hist->GetMaximum() * 1.1);
133 line->SetLineWidth(3);
134 line->SetLineColor(kRed);
137 canvas->SaveAs("ptCutoff.gif");
142 TFile* file = TFile::Open("correction_map.root");
144 TH2* corr = dynamic_cast<TH2*> (file->Get("dndeta_correction/corr_trigger"));
147 corr->SetTitle("Trigger bias correction");
149 TCanvas* canvas = new TCanvas("TriggerBias", "TriggerBias", 500, 500);
151 corr->DrawCopy("COLZ");
153 canvas->SaveAs("TriggerBias.gif");
155 corr->GetYaxis()->SetRangeUser(0, 5);
157 canvas = new TCanvas("TriggerBiasZoom", "TriggerBiasZoom", 500, 500);
159 corr->DrawCopy("COLZ");
161 canvas->SaveAs("TriggerBiasZoom.gif");
166 TFile* file = TFile::Open("correction_map.root");
168 TH2* corr = dynamic_cast<TH2*> (file->Get("dndeta_correction/corr_vtxReco"));
171 corr->SetTitle("Vertex reconstruction correction");
173 TCanvas* canvas = new TCanvas("VtxRecon", "VtxRecon", 500, 500);
177 canvas->SaveAs("VtxRecon.gif");
180 void Track2Particle2D()
182 TFile* file = TFile::Open("correction_map.root");
184 TH2* corrYX = dynamic_cast<TH2*> (file->Get("dndeta_correction/gene_nTrackToNPart_yx_div_meas_nTrackToNPart_yx"));
185 TH2* corrZX = dynamic_cast<TH2*> (file->Get("dndeta_correction/gene_nTrackToNPart_zx_div_meas_nTrackToNPart_zx"));
186 TH2* corrZY = dynamic_cast<TH2*> (file->Get("dndeta_correction/gene_nTrackToNPart_zy_div_meas_nTrackToNPart_zy"));
188 Prepare2DPlot(corrYX);
189 Prepare2DPlot(corrZX);
190 Prepare2DPlot(corrZY);
192 const char* title = "Track2Particle Correction";
193 corrYX->SetTitle(title);
194 corrZX->SetTitle(title);
195 corrZY->SetTitle(title);
197 TCanvas* canvas = new TCanvas("Track2Particle2D", "Track2Particle2D", 1200, 400);
198 canvas->Divide(3, 1);
202 corrYX->Draw("COLZ");
206 corrZX->Draw("COLZ");
210 corrZY->Draw("COLZ");
212 canvas->SaveAs("Track2Particle2D.gif");
215 void Track2Particle3D()
217 // get left margin proper
219 TFile* file = TFile::Open("correction_map.root");
221 TH3* corr = dynamic_cast<TH3*> (file->Get("dndeta_correction/corr_nTrackToNPart"));
223 corr->SetTitle("Correction Factor");
224 SetRanges(corr->GetZaxis());
228 TCanvas* canvas = new TCanvas("Track2Particle3D", "Track2Particle3D", 500, 500);
229 canvas->SetTheta(29.428);
230 canvas->SetPhi(16.5726);
234 canvas->SaveAs("Track2Particle3D.gif");
237 void Track2Particle3DAll()
239 // get left margin proper
241 TFile* file = TFile::Open("correction_map.root");
243 TH3* gene = dynamic_cast<TH3*> (file->Get("dndeta_correction/gene_nTrackToNPart"));
244 TH3* meas = dynamic_cast<TH3*> (file->Get("dndeta_correction/meas_nTrackToNPart"));
245 TH3* corr = dynamic_cast<TH3*> (file->Get("dndeta_correction/corr_nTrackToNPart"));
247 gene->SetTitle("Generated Particles");
248 meas->SetTitle("Measured Tracks");
249 corr->SetTitle("Correction Factor");
255 TCanvas* canvas = new TCanvas("Track2Particle3DAll", "Track2Particle3DAll", 1200, 400);
256 canvas->Divide(3, 1);
268 canvas->SaveAs("Track2Particle3DAll.gif");
271 void SetRanges(TH1* hist)
273 SetRanges(hist->GetXaxis());
274 SetRanges(hist->GetYaxis());
275 SetRanges(hist->GetZaxis());
278 void SetRanges(TAxis* axis)
280 if (strcmp(axis->GetTitle(), "#eta") == 0)
281 axis->SetRangeUser(-1.7999, 1.7999);
282 if (strcmp(axis->GetTitle(), "p_{T} [GeV/c]") == 0)
283 axis->SetRangeUser(0, 9.9999);
284 if (strcmp(axis->GetTitle(), "vtx z [cm]") == 0)
285 axis->SetRangeUser(-15, 14.9999);
286 if (strcmp(axis->GetTitle(), "Ntracks") == 0)
287 axis->SetRangeUser(0, 99.9999);
290 void Prepare3DPlot(TH3* hist)
292 hist->GetXaxis()->SetTitleOffset(1.5);
293 hist->GetYaxis()->SetTitleOffset(1.5);
294 hist->GetZaxis()->SetTitleOffset(1.5);
296 hist->SetStats(kFALSE);
299 void Prepare2DPlot(TH2* hist)
301 hist->SetStats(kFALSE);
302 hist->GetYaxis()->SetTitleOffset(1.4);
305 hist->SetMaximum(10);
310 void Prepare1DPlot(TH1* hist)
312 hist->SetLineWidth(2);
313 hist->SetStats(kFALSE);
318 gPad->Range(0, 0, 1, 1);
319 gPad->SetLeftMargin(0.15);
320 //gPad->SetRightMargin(0.05);
321 //gPad->SetTopMargin(0.13);
322 //gPad->SetBottomMargin(0.1);
330 gPad->Range(0, 0, 1, 1);
331 gPad->SetRightMargin(0.15);
332 gPad->SetLeftMargin(0.12);