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