]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGPP/macros/plotSparseK0.C
Added protection (bug 99780 + fixed bug from prev commit
[u/mrichter/AliRoot.git] / PWGPP / macros / plotSparseK0.C
1 {
2
3 TFile f("output/pp-trunk010709-pdc1-00XXX.root")
4 //TFile f("results_V0QA_v416rev08_090709.root");
5
6
7 THnSparseF* sparseK0;
8
9 sparseK0=(THnSparseF*)(outputTRD->FindObject("sparseK0"));
10
11 sparseK0->GetAxis(5)->SetRangeUser(0.,3.9);
12 sparseK0->GetAxis(9)->SetRangeUser(0.,3.9);
13
14
15 TH1* ptgeantPPhys=sparseK0->Projection(5);
16 TH1* etageantPPhys=sparseK0->Projection(6);
17 TH1* phigeantPPhys=sparseK0->Projection(7);
18
19 TH1* ptResSinglePPhys=sparseK0->Projection(13);
20 TH1* etasinglePPhys=sparseK0->Projection(14);
21 TH1* phisinglePPhys=sparseK0->Projection(15);
22
23
24 TH1* ptgeantNPhys=sparseK0->Projection(9);
25 TH1* etageantNPhys=sparseK0->Projection(10);
26 TH1* phigeantNPhys=sparseK0->Projection(11);
27
28 TH1* ptResSingleNPhys=sparseK0->Projection(21);
29 TH1* etasingleNPhys=sparseK0->Projection(22);
30 TH1* phisingleNPhys=sparseK0->Projection(23);
31
32
33
34
35
36
37 TH1* efiEtaSingPPhys=(TH1*) etageantPPhys->Clone();
38 efiEtaSingPPhys->Sumw2();
39 efiEtaSingPPhys->Divide(etasinglePPhys,etageantPPhys);
40 efiEtaSingPPhys->SetMinimum(0.);
41 efiEtaSingPPhys->SetMaximum(1.2);
42 efiEtaSingPPhys->SetAxisRange(-1.5,1.5);
43 efiEtaSingPPhys->SetMarkerStyle(20);
44 efiEtaSingPPhys->SetMarkerColor(2);
45
46
47
48 TH1* efiEtaSingNPhys=(TH1*) etageantNPhys->Clone();
49 efiEtaSingNPhys->Sumw2();
50 efiEtaSingNPhys->Divide(etasingleNPhys,etageantNPhys);
51 efiEtaSingNPhys->SetMinimum(0.);
52 efiEtaSingNPhys->SetMaximum(1.2);
53 efiEtaSingNPhys->SetAxisRange(-1.5,1.5);
54 efiEtaSingNPhys->SetMarkerStyle(20);
55 efiEtaSingNPhys->SetMarkerColor(2);
56
57
58
59 TH1* efiPhiSingPPhys=(TH1*) phigeantPPhys->Clone();
60 efiPhiSingPPhys->Sumw2();
61 efiPhiSingPPhys->Divide(phisinglePPhys,phigeantPPhys);
62 efiPhiSingPPhys->SetMinimum(0.);
63 efiPhiSingPPhys->SetMaximum(1.2);
64 efiPhiSingPPhys->SetAxisRange(-TMath::Pi(),TMath::Pi());
65 efiPhiSingPPhys->SetMarkerStyle(20);
66 efiPhiSingPPhys->SetMarkerColor(2);
67
68
69 TH1* efiPhiSingNPhys=(TH1*) phigeantNPhys->Clone();
70 efiPhiSingNPhys->Sumw2();
71 efiPhiSingNPhys->Divide(phisingleNPhys,phigeantNPhys);
72 efiPhiSingNPhys->SetMinimum(0.);
73 efiPhiSingNPhys->SetMaximum(1.2);
74 efiPhiSingNPhys->SetAxisRange(-TMath::Pi(),TMath::Pi());
75 efiPhiSingNPhys->SetMarkerStyle(20);
76 efiPhiSingNPhys->SetMarkerColor(2);
77
78
79
80 // reconstructable tracks
81
82 // track Lenght
83 sparseK0->GetAxis(8)->SetRangeUser(50,200);
84 sparseK0->GetAxis(12)->SetRangeUser(50,200);
85 // momentum
86 sparseK0->GetAxis(5)->SetRangeUser(0.,3.9);
87 sparseK0->GetAxis(9)->SetRangeUser(0.,3.9);
88
89
90
91 TH1* rgeantTrk=sparseK0->Projection(3);
92 TH1* ptgeantPTrk=sparseK0->Projection(5);
93 TH1* etageantPTrk=sparseK0->Projection(6);
94 TH1* phigeantPTrk=sparseK0->Projection(7);
95
96
97 TH1* ptgeantNTrk=sparseK0->Projection(9);
98 TH1* etageantNTrk=sparseK0->Projection(10);
99 TH1* phigeantNTrk=sparseK0->Projection(11);
100
101  sparseK0->GetAxis(20)->SetRangeUser(0,2.);
102  sparseK0->GetAxis(28)->SetRangeUser(0,2.);
103
104 TH1* rsingleTrk=sparseK0->Projection(3);
105 TH1* ptsinglePTrk=sparseK0->Projection(5);
106 TH1* etasinglePTrk=sparseK0->Projection(6);
107 TH1* phisinglePTrk=sparseK0->Projection(7);
108
109
110
111
112 TH1* ptsingleNTrk=sparseK0->Projection(9);
113 TH1* etasingleNTrk=sparseK0->Projection(10);
114 TH1* phisingleNTrk=sparseK0->Projection(11);
115
116
117  sparseK0->GetAxis(32)->SetRangeUser(0,2.);
118  sparseK0->GetAxis(36)->SetRangeUser(0,2.);
119
120 TH1* rV0Trk=sparseK0->Projection(3);
121 TH1* ptV0PTrk=sparseK0->Projection(5);
122 TH1* etaV0PTrk=sparseK0->Projection(6);
123 TH1* phiV0PTrk=sparseK0->Projection(7);
124
125
126
127 TH1* ptV0NTrk=sparseK0->Projection(9);
128 TH1* etaV0NTrk=sparseK0->Projection(10);
129 TH1* phiV0NTrk=sparseK0->Projection(11);
130
131
132 TH1* efiSingPPhys=(TH1*) ptgeantPPhys->Clone();
133 efiSingPPhys->Sumw2();
134 efiSingPPhys->Divide(ptgeantPTrk,ptgeantPPhys);
135 efiSingPPhys->SetAxisRange(0.,5);
136 efiSingPPhys->SetMinimum(0.);
137 efiSingPPhys->SetMaximum(1.2);
138 efiSingPPhys->SetMarkerStyle(20);
139 efiSingPPhys->SetMarkerColor(2);
140
141
142 TH1* efiSingNPhys=(TH1*) ptgeantNPhys->Clone();
143 efiSingNPhys->Sumw2();
144 efiSingNPhys->Divide(ptgeantNTrk,ptgeantNPhys);
145 efiSingNPhys->SetAxisRange(0.,5);
146 efiSingNPhys->SetMinimum(0.);
147 efiSingNPhys->SetMaximum(1.2);
148 efiSingNPhys->SetMarkerStyle(20);
149 efiSingNPhys->SetMarkerColor(2);
150
151 TH1* efiSingPTrk=(TH1*) ptgeantPTrk->Clone();
152 efiSingPTrk->Sumw2();
153 efiSingPTrk->Divide(ptsinglePTrk,ptgeantPTrk);
154 efiSingPTrk->SetAxisRange(0.,5);
155 efiSingPTrk->SetMinimum(0.);
156 efiSingPTrk->SetMaximum(1.2);
157 efiSingPTrk->SetMarkerStyle(21);
158 efiSingPTrk->SetMarkerColor(4);
159
160
161 TH1* efiSingNTrk=(TH1*) ptgeantNTrk->Clone();
162 efiSingNTrk->Sumw2();
163 efiSingNTrk->Divide(ptsingleNTrk,ptgeantNTrk);
164 efiSingNTrk->SetAxisRange(0.,5);
165 efiSingNTrk->SetMinimum(0.);
166 efiSingNTrk->SetMaximum(1.2);
167 efiSingNTrk->SetMarkerStyle(21);
168 efiSingNTrk->SetMarkerColor(4);
169
170
171 TH1* efiV0PTrk=(TH1*) ptsinglePTrk->Clone();
172 efiV0PTrk->Sumw2();
173 efiV0PTrk->Divide(ptV0PTrk,ptsinglePTrk);
174 efiV0PTrk->SetAxisRange(0.,5);
175 efiV0PTrk->SetMinimum(0.);
176 efiV0PTrk->SetMaximum(1.2);
177 efiV0PTrk->SetMarkerStyle(21);
178 efiV0PTrk->SetMarkerColor(3);
179
180
181
182 TH1* efiV0NTrk=(TH1*) ptsingleNTrk->Clone();
183 efiV0NTrk->Sumw2();
184 efiV0NTrk->Divide(ptV0NTrk,ptsingleNTrk);
185 efiV0NTrk->SetAxisRange(0.,5);
186 efiV0NTrk->SetMinimum(0.);
187 efiV0NTrk->SetMaximum(1.2);
188 efiV0NTrk->SetMarkerStyle(21);
189 efiV0NTrk->SetMarkerColor(3);
190
191
192 TH1* efiEtaSingPTrk=(TH1*) etageantPTrk->Clone();
193 efiEtaSingPTrk->Sumw2();
194 efiEtaSingPTrk->Divide(etasinglePTrk,etageantPTrk);
195 efiEtaSingPTrk->SetMinimum(0.);
196 efiEtaSingPTrk->SetMaximum(1.2);
197 efiEtaSingPTrk->SetAxisRange(-1.5,1.5);
198 efiEtaSingPTrk->SetMarkerStyle(21);
199 efiEtaSingPTrk->SetMarkerColor(4);
200
201
202 TH1* efiEtaSingNTrk=(TH1*) etageantNTrk->Clone();
203 efiEtaSingNTrk->Sumw2();
204 efiEtaSingNTrk->Divide(etasingleNTrk,etageantNTrk);
205 efiEtaSingNTrk->SetMinimum(0.);
206 efiEtaSingNTrk->SetMaximum(1.2);
207 efiEtaSingNTrk->SetAxisRange(-1.5,1.5);
208 efiEtaSingNTrk->SetMarkerStyle(21);
209 efiEtaSingNTrk->SetMarkerColor(4);
210
211
212 TH1* efiEtaV0PTrk=(TH1*) etasinglePTrk->Clone();
213 efiEtaV0PTrk->Sumw2();
214 efiEtaV0PTrk->Divide(etaV0PTrk,etasinglePTrk);
215 efiEtaV0PTrk->SetMinimum(0.);
216 efiEtaV0PTrk->SetMaximum(1.2);
217 efiEtaV0PTrk->SetMarkerStyle(21);
218 efiEtaV0PTrk->SetMarkerColor(3);
219
220
221 TH1* efiEtaV0NTrk=(TH1*) etasingleNTrk->Clone();
222 efiEtaV0NTrk->Sumw2();
223 efiEtaV0NTrk->Divide(etaV0NTrk,etasingleNTrk);
224 efiEtaV0NTrk->SetMinimum(0.);
225 efiEtaV0NTrk->SetMaximum(1.2);
226 efiEtaV0NTrk->SetMarkerStyle(21);
227 efiEtaV0NTrk->SetMarkerColor(3);
228
229
230
231 TH1* efiPhiSingPTrk=(TH1*) phigeantPTrk->Clone();
232 efiPhiSingPTrk->Sumw2();
233 efiPhiSingPTrk->Divide(phisinglePTrk,phigeantPTrk);
234 efiPhiSingPTrk->SetMinimum(0.);
235 efiPhiSingPTrk->SetMaximum(1.2);
236 efiPhiSingPTrk->SetAxisRange(-TMath::Pi(),TMath::Pi());
237 efiPhiSingPTrk->SetMarkerStyle(20);
238 efiPhiSingPTrk->SetMarkerColor(4);
239
240
241 TH1* efiPhiSingNTrk=(TH1*) phigeantNTrk->Clone();
242 efiPhiSingNTrk->Sumw2();
243 efiPhiSingNTrk->Divide(phisingleNTrk,phigeantNTrk);
244 efiPhiSingNTrk->SetMinimum(0.);
245 efiPhiSingNTrk->SetMaximum(1.2);
246 efiPhiSingNTrk->SetAxisRange(-TMath::Pi(),TMath::Pi());
247 efiPhiSingNTrk->SetMarkerStyle(20);
248 efiPhiSingNTrk->SetMarkerColor(4);
249
250
251 TH1* efiPhiV0PTrk=(TH1*) phisinglePTrk->Clone();
252 efiPhiV0PTrk->Sumw2();
253 efiPhiV0PTrk->Divide(phiV0PTrk,phisinglePTrk);
254 efiPhiV0PTrk->SetMinimum(0.);
255 efiPhiV0PTrk->SetMaximum(1.2);
256 efiPhiV0PTrk->SetMarkerStyle(21);
257 efiPhiV0PTrk->SetMarkerColor(3);
258
259
260 TH1* efiPhiV0NTrk=(TH1*) phisingleNTrk->Clone();
261 efiPhiV0NTrk->Sumw2();
262 efiPhiV0NTrk->Divide(phiV0NTrk,phisingleNTrk);
263 efiPhiV0NTrk->SetMinimum(0.);
264 efiPhiV0NTrk->SetMaximum(1.2);
265 efiPhiV0NTrk->SetMarkerStyle(21);
266 efiPhiV0NTrk->SetMarkerColor(3);
267
268
269
270 sparseK0->GetAxis(32)->SetRangeUser(-2,0.);
271  sparseK0->GetAxis(36)->SetRangeUser(-2,0.);
272
273
274
275 TH1* sigbXYZEPlusRecSingle=sparseK0->Projection(17);
276 TH1* sigbXYZEMinusRecSingle=sparseK0->Projection(25);
277
278 TH1* ptsinglePTrkNo=sparseK0->Projection(5);
279 TH1* etasinglePTrkNo=sparseK0->Projection(6);
280 TH1* phisinglePTrkNo=sparseK0->Projection(7);
281
282 TH1* ptsingleNTrkNo=sparseK0->Projection(9);
283 TH1* etasingleNTrkNo=sparseK0->Projection(10);
284 TH1* phisingleNTrkNo=sparseK0->Projection(11);
285
286
287
288
289
290 TH1* efiV0PTrkNo=(TH1*) ptsinglePTrkNo->Clone();
291 efiV0PTrkNo->Sumw2();
292 efiV0PTrkNo->Divide(ptsinglePTrkNo,ptsinglePTrk);
293 efiV0PTrkNo->SetAxisRange(0.,5);
294 efiV0PTrkNo->SetMinimum(0.);
295 efiV0PTrkNo->SetMaximum(1.2);
296 efiV0PTrkNo->SetMarkerStyle(21);
297 efiV0PTrkNo->SetMarkerColor(6);
298
299
300
301 TH1* efiV0NTrkNo=(TH1*) ptsingleNTrkNo->Clone();
302 efiV0NTrkNo->Sumw2();
303 efiV0NTrkNo->Divide(ptsingleNTrkNo,ptsingleNTrk);
304 efiV0NTrkNo->SetAxisRange(0.,5);
305 efiV0NTrkNo->SetMinimum(0.);
306 efiV0NTrkNo->SetMaximum(1.2);
307 efiV0NTrkNo->SetMarkerStyle(21);
308 efiV0NTrkNo->SetMarkerColor(6);
309
310
311 TH1* efiEtaV0PTrkNo=(TH1*) etasinglePTrkNo->Clone();
312 efiEtaV0PTrkNo->Sumw2();
313 efiEtaV0PTrkNo->Divide(etasinglePTrkNo,etasinglePTrk);
314 efiEtaV0PTrkNo->SetAxisRange(-1.5,1.5);
315 efiEtaV0PTrkNo->SetMinimum(0.);
316 efiEtaV0PTrkNo->SetMaximum(1.2);
317 efiEtaV0PTrkNo->SetMarkerStyle(21);
318 efiEtaV0PTrkNo->SetMarkerColor(6);
319
320
321
322 TH1* efiEtaV0NTrkNo=(TH1*) etasingleNTrkNo->Clone();
323 efiEtaV0NTrkNo->Sumw2();
324 efiEtaV0NTrkNo->Divide(etasingleNTrkNo,etasingleNTrk);
325 efiEtaV0NTrkNo->SetAxisRange(-1.5,1.5);
326 efiEtaV0NTrkNo->SetMinimum(0.);
327 efiEtaV0NTrkNo->SetMaximum(1.2);
328 efiEtaV0NTrkNo->SetMarkerStyle(21);
329 efiEtaV0NTrkNo->SetMarkerColor(6);
330
331
332 TH1* efiPhiV0PTrkNo=(TH1*) phisinglePTrkNo->Clone();
333 efiPhiV0PTrkNo->Sumw2();
334 efiPhiV0PTrkNo->Divide(phisinglePTrkNo,phisinglePTrk);
335 efiPhiV0PTrkNo->SetAxisRange(-3.5,3.5);
336 efiPhiV0PTrkNo->SetMinimum(0.);
337 efiPhiV0PTrkNo->SetMaximum(1.2);
338 efiPhiV0PTrkNo->SetMarkerStyle(21);
339 efiPhiV0PTrkNo->SetMarkerColor(6);
340
341
342 TH1* efiPhiV0NTrkNo=(TH1*) phisingleNTrkNo->Clone();
343 efiPhiV0NTrkNo->Sumw2();
344 efiPhiV0NTrkNo->Divide(phisingleNTrkNo,phisingleNTrk);
345 efiPhiV0NTrkNo->SetAxisRange(-3.5,3.5);
346 efiPhiV0NTrkNo->SetMinimum(0.);
347 efiPhiV0NTrkNo->SetMaximum(1.2);
348 efiPhiV0NTrkNo->SetMarkerStyle(21);
349 efiPhiV0NTrkNo->SetMarkerColor(6);
350
351
352  TCanvas* c1 = new TCanvas("c1","MC Info",200,10,700,900);
353   c1->Divide(2,4);
354   c1->SetFillColor(0);
355   c1->GetFrame()->SetFillColor(0);
356   c1->SetBorderMode(0);
357  TPad *c1_1 = (TPad*)(c1->GetPrimitive("c1_1"));
358  TPad *c1_2 = (TPad*)(c1->GetPrimitive("c1_2"));
359  TPad *c1_3 = (TPad*)(c1->GetPrimitive("c1_3"));
360  TPad *c1_4 = (TPad*)(c1->GetPrimitive("c1_4"));
361  TPad *c1_5 = (TPad*)(c1->GetPrimitive("c1_5"));
362  TPad *c1_6 = (TPad*)(c1->GetPrimitive("c1_6"));
363
364
365  c1_1->SetGridx(1);
366  c1_3->SetGridx(1);
367  c1_2->SetGridx(1);
368  c1_4->SetGridx(1);
369  c1_5->SetGridx(1);
370  c1_6->SetGridx(1);
371
372  c1_1->SetGridy(1);
373  c1_3->SetGridy(1);
374  c1_2->SetGridy(1);
375  c1_4->SetGridy(1);
376  c1_5->SetGridy(1);
377  c1_6->SetGridy(1);
378
379
380 c1->cd(1);
381 efiSingPTrk->Draw();
382 efiSingPTrk->SetXTitle("1/sqrt(pt) pos (sqrt(GeV))");
383 efiSingPPhys->Draw("same");
384 efiV0PTrk->Draw("same");
385 efiV0PTrkNo->Draw("same");
386
387 TLegend *leg1 = new TLegend(0.6,0.75,0.9,0.9);
388 leg1->AddEntry(efiSingPTrk,"Single tracking eff");
389 leg1->AddEntry(efiV0PTrk,"V0 tracking eff");
390 leg1->AddEntry(efiV0PTrkNo,"V0 tracking ineff");
391 leg1->Draw();
392 c1->cd(2);
393 efiSingNTrk->Draw();
394 efiSingNTrk->SetXTitle("1/sqrt(pt) neg (sqrt(GeV))");
395 efiSingNPhys->Draw("same");
396 efiV0NTrk->Draw("same");
397 efiV0NTrkNo->Draw("same");
398
399 c1->cd(3);
400 efiEtaSingPTrk->Draw();
401 efiEtaV0PTrk->Draw("same");
402 efiEtaV0PTrkNo->Draw("same");
403
404 c1->cd(4);
405 efiEtaSingNTrk->Draw();
406 efiEtaV0NTrk->Draw("same");
407 efiEtaV0NTrkNo->Draw("same");
408
409 c1->cd(5);
410 efiPhiSingPTrk->Draw();
411 //efiPhiSingPPhys->Draw("same");
412 efiPhiV0PTrk->Draw("same");
413 efiPhiV0PTrkNo->Draw("same");
414
415 c1->cd(6);
416 efiPhiSingNTrk->Draw();
417 //efiPhiSingNPhys->Draw("same");
418 efiPhiV0NTrk->Draw("same");
419 efiPhiV0NTrkNo->Draw("same");
420
421 c1->cd(7);
422 TH1* efiRSingTrk=(TH1*) rgeantTrk->Clone();
423 efiRSingTrk->Sumw2();
424 efiRSingTrk->Divide(rsingleTrk,rgeantTrk);
425
426 efiRSingTrk->SetMinimum(0.);
427 efiRSingTrk->SetMaximum(1.2);
428 efiRSingTrk->SetMarkerStyle(21);
429 efiRSingTrk->SetMarkerColor(4);
430
431 efiRSingTrk->Draw();
432
433 TH1* efiRV0Trk=(TH1*) rgeantTrk->Clone();
434 efiRV0Trk->Sumw2();
435 efiRV0Trk->Divide(rV0Trk,rsingleTrk);
436
437
438 efiRV0Trk->SetMinimum(0.);
439 efiRV0Trk->SetMaximum(1.2);
440 efiRV0Trk->SetMarkerStyle(21);
441 efiRV0Trk->SetMarkerColor(3);
442 efiRV0Trk->Draw("same");
443
444
445 //c1->Print("Effi-K0-norefit-v416rev08-090709.ps"); 
446 c1->Print("Effi-K0-norefit-trunk010709.ps"); 
447
448 }