1afae8ff |
1 | /* $Id$ */ |
2 | |
3 | void drawPlots() |
92d2d8ad |
4 | { |
5 | } |
6 | |
7 | void 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 | |
34 | void 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 | |
58 | void 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 | |
74 | void 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 | |
109 | void 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 | |
141 | void SetRanges(TH1* hist) |
142 | { |
143 | SetRanges(hist->GetXaxis()); |
144 | SetRanges(hist->GetYaxis()); |
145 | SetRanges(hist->GetZaxis()); |
146 | } |
147 | |
148 | void 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 | |
160 | void Prepare3DPlot(TH3* hist) |
161 | { |
162 | hist->GetXaxis()->SetTitleOffset(1.5); |
163 | hist->GetYaxis()->SetTitleOffset(1.5); |
164 | hist->GetZaxis()->SetTitleOffset(1.5); |
165 | } |
166 | |
167 | void 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 | |
178 | void 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 | |
190 | void InitPadCOLZ() |
191 | { |
192 | gPad->Range(0, 0, 1, 1); |
193 | gPad->SetRightMargin(0.15); |
194 | gPad->SetLeftMargin(0.12); |
195 | } |