Record changes.
[u/mrichter/AliRoot.git] / PWG0 / dNdEta / drawPlots.C
CommitLineData
1afae8ff 1/* $Id$ */
2
3void drawPlots()
92d2d8ad 4{
5}
6
7void ptCutoff()
8{
9 gSystem->Load("libPWG0base");
10
11 AlidNdEtaCorrection* dNdEtaCorrection = new AlidNdEtaCorrection();
12 dNdEtaCorrection->LoadHistograms("correction_map.root","dndeta_correction");
13
14 dNdEtaCorrection->GetMeasuredFraction(0.3, -1, kTRUE);
15
16 TH1* hist = dynamic_cast<TH1*> (gROOT->FindObject("gene_nTrackToNPart_pt"));
17
18 hist->GetXaxis()->SetRangeUser(0, 0.9999);
19 hist->SetMinimum(0);
20 hist->SetStats(kFALSE);
21
22 hist->SetTitle("Generated Particles");
23
24 TCanvas* canvas = new TCanvas("ptCutoff", "ptCutoff", 500, 500);
25 hist->Draw();
26
27 TLine* line = new TLine(0.3, 0 - hist->GetMaximum() * 0.05, 0.3, hist->GetMaximum() * 1.1);
28 line->SetLineWidth(3);
29 line->Draw();
30
31 canvas->SaveAs("ptCutoff.gif");
32}
33
34void TriggerBias()
35{
36 TFile* file = TFile::Open("correction_map.root");
37
38 TH2* corr = dynamic_cast<TH2*> (file->Get("dndeta_correction/corr_trigger"));
39
40 Prepare2DPlot(corr);
41 corr->SetTitle("Trigger bias correction");
42
43 TCanvas* canvas = new TCanvas("TriggerBias", "TriggerBias", 500, 500);
44 InitPadCOLZ();
45 corr->DrawCopy("COLZ");
46
47 canvas->SaveAs("TriggerBias.gif");
48
49 corr->GetYaxis()->SetRangeUser(0, 5);
50
51 canvas = new TCanvas("TriggerBiasZoom", "TriggerBiasZoom", 500, 500);
52 InitPadCOLZ();
53 corr->DrawCopy("COLZ");
54
55 canvas->SaveAs("TriggerBiasZoom.gif");
56}
57
58void VtxRecon()
59{
60 TFile* file = TFile::Open("correction_map.root");
61
62 TH2* corr = dynamic_cast<TH2*> (file->Get("dndeta_correction/corr_vtxReco"));
63
64 Prepare2DPlot(corr);
65 corr->SetTitle("Vertex reconstruction correction");
66
67 TCanvas* canvas = new TCanvas("VtxRecon", "VtxRecon", 500, 500);
68 InitPadCOLZ();
69 corr->Draw("COLZ");
70
71 canvas->SaveAs("VtxRecon.gif");
72}
73
74void Track2Particle2D()
1afae8ff 75{
76 TFile* file = TFile::Open("correction_map.root");
77
92d2d8ad 78 TH2* corrYX = dynamic_cast<TH2*> (file->Get("dndeta_correction/meas_nTrackToNPart_yx_div_gene_nTrackToNPart_yx"));
79 TH2* corrZX = dynamic_cast<TH2*> (file->Get("dndeta_correction/meas_nTrackToNPart_zx_div_gene_nTrackToNPart_zx"));
80 TH2* corrZY = dynamic_cast<TH2*> (file->Get("dndeta_correction/meas_nTrackToNPart_zy_div_gene_nTrackToNPart_zy"));
1afae8ff 81
82 Prepare2DPlot(corrYX);
83 Prepare2DPlot(corrZX);
84 Prepare2DPlot(corrZY);
85
92d2d8ad 86 const char* title = "Track2Particle Correction";
87 corrYX->SetTitle(title);
88 corrZX->SetTitle(title);
89 corrZY->SetTitle(title);
1afae8ff 90
92d2d8ad 91 TCanvas* canvas = new TCanvas("Track2Particle2D", "Track2Particle2D", 1500, 500);
1afae8ff 92 canvas->Divide(3, 1);
93
94 canvas->cd(1);
95 InitPadCOLZ();
96 corrYX->Draw("COLZ");
97
98 canvas->cd(2);
99 InitPadCOLZ();
100 corrZX->Draw("COLZ");
101
102 canvas->cd(3);
103 InitPadCOLZ();
104 corrZY->Draw("COLZ");
92d2d8ad 105
106 canvas->SaveAs("Track2Particle2D.gif");
1afae8ff 107}
108
109void Track2Particle3D()
110{
111 // get left margin proper
112
113 TFile* file = TFile::Open("correction_map.root");
114
115 TH3* gene = dynamic_cast<TH3*> (file->Get("dndeta_correction/gene_nTrackToNPart"));
116 TH3* meas = dynamic_cast<TH3*> (file->Get("dndeta_correction/meas_nTrackToNPart"));
117 TH3* corr = dynamic_cast<TH3*> (file->Get("dndeta_correction/corr_nTrackToNPart"));
118
119 gene->SetTitle("Generated Particles");
120 meas->SetTitle("Measured Tracks");
121 corr->SetTitle("Correction Factor");
122
123 Prepare3DPlot(gene);
124 Prepare3DPlot(meas);
125 Prepare3DPlot(corr);
126
92d2d8ad 127 TCanvas* canvas = new TCanvas("Track2Particle3D", "Track2Particle3D", 1500, 500);
1afae8ff 128 canvas->Divide(3, 1);
129
130 canvas->cd(1);
131 InitPad();
132 gene->Draw();
133
134 canvas->cd(2);
135 meas->Draw();
136
137 canvas->cd(3);
138 corr->Draw();
139}
140
141void SetRanges(TH1* hist)
142{
143 SetRanges(hist->GetXaxis());
144 SetRanges(hist->GetYaxis());
145 SetRanges(hist->GetZaxis());
146}
147
148void SetRanges(TAxis* axis)
149{
150 if (strcmp(axis->GetTitle(), "#eta") == 0)
151 axis->SetRangeUser(-0.8, 0.79999);
92d2d8ad 152 if (strcmp(axis->GetTitle(), "p_{T} [GeV/c]") == 0)
1afae8ff 153 axis->SetRangeUser(0, 9.9999);
154 if (strcmp(axis->GetTitle(), "vtx z [cm]") == 0)
155 axis->SetRangeUser(-10, 9.9999);
92d2d8ad 156 if (strcmp(axis->GetTitle(), "Ntracks") == 0)
157 axis->SetRangeUser(0, 99.9999);
1afae8ff 158}
159
160void Prepare3DPlot(TH3* hist)
161{
162 hist->GetXaxis()->SetTitleOffset(1.5);
163 hist->GetYaxis()->SetTitleOffset(1.5);
164 hist->GetZaxis()->SetTitleOffset(1.5);
165}
166
167void Prepare2DPlot(TH2* hist)
168{
169 hist->SetStats(kFALSE);
92d2d8ad 170 hist->GetYaxis()->SetTitleOffset(1.4);
171
172 hist->SetMinimum(0);
173 hist->SetMaximum(10);
174
175 SetRanges(hist);
1afae8ff 176}
177
178void InitPad()
179{
180 gPad->Range(0, 0, 1, 1);
181 gPad->SetLeftMargin(0);
182 gPad->SetRightMargin(0.05);
183 gPad->SetTopMargin(0.13);
184 gPad->SetBottomMargin(0.1);
185
186 gPad->SetGridx();
187 gPad->SetGridy();
188}
189
190void InitPadCOLZ()
191{
192 gPad->Range(0, 0, 1, 1);
193 gPad->SetRightMargin(0.15);
194 gPad->SetLeftMargin(0.12);
195}