]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG3/dielectron/macros/MakeDataReport.C
Major update of the framework
[u/mrichter/AliRoot.git] / PWG3 / dielectron / macros / MakeDataReport.C
CommitLineData
8df8e382 1void SetupStyle();
2
3void MakeDataReport(const char* outputFile="JpsiDataReport.pdf",
4 const char* histos="jpsi_HistosSE.root",
5 const char* cf="jpsi_CF.root")
6{
7 //
8 // Make a pdf file with the efficiency report
9 //
10
11 SetupStyle();
12
13 AliDielectronCFdraw d(cf);
14 d.SetRangeUser("PairType",1,1);
15 d.SetRangeUser("Y",-.89,.9,"0");
16
17
18 TFile f("jpsi_HistosSE.root");
19
20 AliDielectronHistos h;
21 TIter nextHists((TList*)f.Get("Dielectron_Histos"));
22
23 TPaveText pt(.02,.6,.98,.8);
24 TText *t1=pt.AddText("");
25 TText *t2=pt.AddText("");
26
27 TCanvas *c1=new TCanvas;
28
29 TPDF p(outputFile);
30
31 //
32 // Invariant mass plots
33 //
34
35
36 //
37 // Make QA info
38 //
39
40 t1->SetTitle("QA summary plots for");
41 THashList *list=0x0;
42 while ( (list=(THashList*)nextHists()) ){
43 h.SetHistogramList(*list);
44 t2->SetTitle(list->GetName());
45 pt.Draw();
46 c1->Update();
47 h.Draw();
48 c1->Clear();
49 }
50 p.Close();
51 delete c1;
52}
53
54void SetupStyle()
55{
56 const Int_t NCont=255;
57
58 TStyle *st = new TStyle("mystyle","mystyle");
59 gROOT->GetStyle("Plain")->Copy((*st));
60 st->SetTitleX(0.1);
61 st->SetTitleW(0.8);
62 st->SetTitleH(0.08);
63 st->SetStatX(.9);
64 st->SetStatY(.9);
65 st->SetNumberContours(NCont);
66 st->SetPalette(1,0);
67 st->SetOptStat("erm");
68 st->SetOptFit(0);
69 st->SetGridColor(kGray+1);
70 st->SetPadGridX(kTRUE);
71 st->SetPadGridY(kTRUE);
72 st->SetPadTickX(kTRUE);
73 st->SetPadTickY(kTRUE);
74 st->cd();
75
76 const Int_t NRGBs = 5;
77 Double_t stops[NRGBs] = { 0.00, 0.34, 0.61, 0.84, 1.00 };
78 Double_t red[NRGBs] = { 0.00, 0.00, 0.87, 1.00, 0.51 };
79 Double_t green[NRGBs] = { 0.00, 0.81, 1.00, 0.20, 0.00 };
80 Double_t blue[NRGBs] = { 0.51, 1.00, 0.12, 0.00, 0.00 };
81
82 TColor::CreateGradientColorTable(NRGBs, stops, red, green, blue, NCont);
83
84}
85
86void DrawUnbinned(){
87 TFile f("jpsi_debug.root");
88// if (!f.IsOpen()) return;
89
90 TTree *t=(TTree*)f.Get("Pair");
91// if (!t) return;
92
93 TCanvas c1;
94 gPad->SetLogy();
95 gStyle->SetOptStat(0);
96
97 TLegend *leg=new TLegend(0.59,.79,.99,.99);
98 TLine l;
99
100 l.SetLineColor(kGreen-5);
101 l.SetLineWidth(2);
102 l.SetLineStyle(2);
103 leg->SetFillColor(10);
104
105 leg->Clear();
106
107
108 t->SetLineColor(kBlack);
109 t->Draw("M>>hAll(200,-.01,3.99)","","histe");
110 TH1 *hAll=(TH1*)gROOT->FindObject("hAll");
111 hAll->SetMinimum(0.1);
112 hAll->SetTitle(";M [GeV]; yield");
113 leg->AddEntry(hAll,"|n#sigma e|<2 + pt>0.3 GeV","l");
114
115 l.DrawLine(3.097,1,3.097,1e4);
116
117 t->SetLineColor(kOrange-5);
118 t->Draw("M>>hC11(200,-.01,3.99)","abs(Leg1_ImpactParXY)<.004&&abs(Leg2_ImpactParXY)<.004","histesame");
119 hAll=(TH1*)gROOT->FindObject("hC11");
120 leg->AddEntry(hAll,"|n#sigma e|<2 + pt>0.3 GeV + |dXY|<40#mum","l");
121
122 TCut d1_1="abs(Leg1_TPC_nSigma_Electrons)<1";
123 TCut d2_1="abs(Leg2_TPC_nSigma_Electrons)<1";
124 TCut d_1=d1_1+d2_1;
125
126 t->SetLineColor(kRed);
127 t->Draw("M>>hC1(200,-.01,3.99)","Leg2_Pt>1&&Leg1_Pt>1","histesame");
128 hAll=(TH1*)gROOT->FindObject("hC1");
129 leg->AddEntry(hAll,"|n#sigma e|<2 + pt>1 GeV","l");
130
131
132 t->SetLineColor(kGreen);
133 t->Draw("M>>hC2(200,-.01,3.99)",d_1+"Leg2_Pt>1&&Leg1_Pt>1","histesame");
134 hAll=(TH1*)gROOT->FindObject("hC2");
135 leg->AddEntry(hAll,"|n#sigma e|<1 + pt>1 GeV","l");
136
137 t->SetLineColor(kMagenta);
138 t->Draw("M>>hC3(200,-.01,3.99)","Leg1_Pt>2&&Leg2_Pt>2","histesame");
139 hAll=(TH1*)gROOT->FindObject("hC3");
140 leg->AddEntry(hAll,"|n#sigma e|<2 + pt>2 GeV","l");
141
142 t->SetLineColor(kBlue);
143 t->Draw("M>>hC4(200,-.01,3.99)","Leg1_Pt>3&&Leg2_Pt>3","histesame");
144 hAll=(TH1*)gROOT->FindObject("hC4");
145 leg->AddEntry(hAll,"|n#sigma e|<2 + pt>3 GeV","l");
146
147 leg->Draw();
148}
149
150/*
151 Double_t alephParameters[5];
152 // simulation
153 alephParameters[0] = 2.15898e+00/50.;
154 alephParameters[1] = 1.75295e+01;
155 alephParameters[2] = 3.40030e-09;
156 alephParameters[3] = 1.96178e+00;
157 alephParameters[4] = 3.91720e+00;
158 Color_t color=kRed;
159
160 TF1 *foProton = new TF1("foProton", "50*AliExternalTrackParam::BetheBlochAleph(x/0.93827,[0],[1],[2],[3],[4])",0.05,20);
161 TF1 *foPion = new TF1("foPion", "50*AliExternalTrackParam::BetheBlochAleph(x/0.13957,[0],[1],[2],[3],[4])",0.05,20);
162 TF1 *foElec = new TF1("foElec", "50*AliExternalTrackParam::BetheBlochAleph(x/0.000511,[0],[1],[2],[3],[4])",0.05,20);
163 TF1 *foKaon = new TF1("foKaon", "50*AliExternalTrackParam::BetheBlochAleph(x/0.493677,[0],[1],[2],[3],[4])",0.05,20);
164 TF1 *foMuon = new TF1("foMuon", "50*AliExternalTrackParam::BetheBlochAleph(x/0.105658,[0],[1],[2],[3],[4])",0.05,20);
165 //
166 foProton->SetParameters(alephParameters);
167 foPion->SetParameters(alephParameters);
168 foElec->SetParameters(alephParameters);
169 foKaon->SetParameters(alephParameters);
170 foMuon->SetParameters(alephParameters);
171 //
172 foProton->SetLineColor(color);
173 foPion->SetLineColor(color);
174 foElec->SetLineColor(color);
175 foKaon->SetLineColor(color);
176 foMuon->SetLineColor(color);
177 //
178 Int_t lineWidth=1;
179 foProton->SetLineWidth(lineWidth);
180 foPion->SetLineWidth(lineWidth);
181 foElec->SetLineWidth(lineWidth);
182 foKaon->SetLineWidth(lineWidth);
183 foMuon->SetLineWidth(lineWidth);
184
185 //
186 foProton->SetNpx(200);
187 foPion->SetNpx(200);
188 foElec->SetNpx(200);
189 foKaon->SetNpx(200);
190 foMuon->SetNpx(200);
191 //
192 foProton->Draw("same");
193 foPion->Draw("same");
194 foElec->Draw("same");
195 foKaon->Draw("same");
196 foMuon->Draw("same");
197
198
199
200
201
202 // data
203 Double_t res=5.7e-2;
204 alephParameters[0] = 0.0283086;
205 alephParameters[1] = 2.63394e+01;
206 alephParameters[2] = 5.04114e-11;
207 alephParameters[3] = 2.12543e+00;
208 alephParameters[4] = 4.88663e+00;
209 Color_t color=kRed;
210
211
212
213 TF1 *foDataProton = new TF1("foDataProton", "50*AliExternalTrackParam::BetheBlochAleph(x/0.93827,[0],[1],[2],[3],[4])",0.05,20);
214 TF1 *foDataProtonP = new TF1("foDataProtonP",Form( "50*AliExternalTrackParam::BetheBlochAleph(x/0.93827,[0],[1],[2],[3],[4])*(1+%f)",res),0.05,20);
215 TF1 *foDataProtonM = new TF1("foDataProtonM", Form("50*AliExternalTrackParam::BetheBlochAleph(x/0.93827,[0],[1],[2],[3],[4])*(1-%f)",res),0.05,20);
216
217 TF1 *foDataPion = new TF1("foDataPion", "50*AliExternalTrackParam::BetheBlochAleph(x/0.13957,[0],[1],[2],[3],[4])",0.05,20);
218 TF1 *foDataPionP = new TF1("foDataPionP",Form( "50*AliExternalTrackParam::BetheBlochAleph(x/0.93827,[0],[1],[2],[3],[4])*(1+%f)",res),0.05,20);
219 TF1 *foDataPionM = new TF1("foDataPionM", Form("50*AliExternalTrackParam::BetheBlochAleph(x/0.93827,[0],[1],[2],[3],[4])*(1-%f)",res),0.05,20);
220
221 TF1 *foDataElec = new TF1("foDataElec", "50*AliExternalTrackParam::BetheBlochAleph(x/0.000511,[0],[1],[2],[3],[4])",0.05,20);
222 TF1 *foDataElecP = new TF1("foDataElecP",Form( "50*AliExternalTrackParam::BetheBlochAleph(x/0.93827,[0],[1],[2],[3],[4])*(1+%f)",res),0.05,20);
223 TF1 *foDataElecM = new TF1("foDataElecM", Form("50*AliExternalTrackParam::BetheBlochAleph(x/0.93827,[0],[1],[2],[3],[4])*(1-%f)",res),0.05,20);
224
225 TF1 *foDataKaon = new TF1("foDataKaon", "50*AliExternalTrackParam::BetheBlochAleph(x/0.493677,[0],[1],[2],[3],[4])",0.05,20);
226 TF1 *foDataKaonP = new TF1("foDataKaonP",Form( "50*AliExternalTrackParam::BetheBlochAleph(x/0.93827,[0],[1],[2],[3],[4])*(1+%f)",res),0.05,20);
227 TF1 *foDataKaonM = new TF1("foDataKaonM", Form("50*AliExternalTrackParam::BetheBlochAleph(x/0.93827,[0],[1],[2],[3],[4])*(1-%f)",res),0.05,20);
228
229 TF1 *foDataMuon = new TF1("foDataMuon", "50*AliExternalTrackParam::BetheBlochAleph(x/0.105658,[0],[1],[2],[3],[4])",0.05,20);
230 TF1 *foDataMuonP = new TF1("foDataMuonP",Form( "50*AliExternalTrackParam::BetheBlochAleph(x/0.93827,[0],[1],[2],[3],[4])*(1+%f)",res),0.05,20);
231 TF1 *foDataMuonM = new TF1("foDataMuonM", Form("50*AliExternalTrackParam::BetheBlochAleph(x/0.93827,[0],[1],[2],[3],[4])*(1-%f)",res),0.05,20);
232
233 //
234 foDataProton->SetParameters(alephParameters);
235 foDataProtonP->SetParameters(alephParameters);
236 foDataProtonM->SetParameters(alephParameters);
237 foDataPion->SetParameters(alephParameters);
238 foDataPionP->SetParameters(alephParameters);
239 foDataPionM->SetParameters(alephParameters);
240 foDataElec->SetParameters(alephParameters);
241 foDataElecP->SetParameters(alephParameters);
242 foDataElecM->SetParameters(alephParameters);
243 foDataKaon->SetParameters(alephParameters);
244 foDataKaonP->SetParameters(alephParameters);
245 foDataKaonM->SetParameters(alephParameters);
246 foDataMuon->SetParameters(alephParameters);
247 foDataMuonP->SetParameters(alephParameters);
248 foDataMuonM->SetParameters(alephParameters);
249 //
250 foDataProton->SetLineColor(color);
251 foDataProtonP->SetLineColor(color-4);
252 foDataProtonM->SetLineColor(color-4);
253 foDataPion->SetLineColor(color);
254 foDataPionP->SetLineColor(color-4);
255 foDataPionM->SetLineColor(color-4);
256 foDataElec->SetLineColor(color);
257 foDataElecP->SetLineColor(color-4);
258 foDataElecM->SetLineColor(color-4);
259 foDataKaon->SetLineColor(color);
260 foDataKaonP->SetLineColor(color-4);
261 foDataKaonM->SetLineColor(color-4);
262 foDataMuon->SetLineColor(color);
263 foDataMuonP->SetLineColor(color-4);
264 foDataMuonM->SetLineColor(color-4);
265 //
266 Int_t lineWidth=1;
267 foDataProton->SetLineWidth(lineWidth);
268 foDataProtonP->SetLineWidth(lineWidth);
269 foDataProtonM->SetLineWidth(lineWidth);
270 foDataPion->SetLineWidth(lineWidth);
271 foDataPionP->SetLineWidth(lineWidth);
272 foDataPionM->SetLineWidth(lineWidth);
273 foDataElec->SetLineWidth(lineWidth);
274 foDataElecP->SetLineWidth(lineWidth);
275 foDataElecM->SetLineWidth(lineWidth);
276 foDataKaon->SetLineWidth(lineWidth);
277 foDataKaonP->SetLineWidth(lineWidth);
278 foDataKaonM->SetLineWidth(lineWidth);
279 foDataMuon->SetLineWidth(lineWidth);
280 foDataMuonP->SetLineWidth(lineWidth);
281 foDataMuonM->SetLineWidth(lineWidth);
282
283 //
284 foDataProtonP->SetLineStyle(2);
285 foDataProtonM->SetLineStyle(2);
286 foDataPionP->SetLineStyle(2);
287 foDataPionM->SetLineStyle(2);
288 foDataElecP->SetLineStyle(2);
289 foDataElecM->SetLineStyle(2);
290 foDataKaonP->SetLineStyle(2);
291 foDataKaonM->SetLineStyle(2);
292 foDataMuonP->SetLineStyle(2);
293 foDataMuonM->SetLineStyle(2);
294
295 //
296 foDataProton->SetNpx(200);
297 foDataProtonP->SetNpx(200);
298 foDataProtonM->SetNpx(200);
299 foDataPion->SetNpx(200);
300 foDataPionP->SetNpx(200);
301 foDataPionM->SetNpx(200);
302 foDataElec->SetNpx(200);
303 foDataKaon->SetNpx(200);
304 foDataMuon->SetNpx(200);
305 //
306 foDataProton->Draw("same");
307 foDataProtonP->Draw("same");
308 foDataProtonM->Draw("same");
309 foDataPion->Draw("same");
310 foDataElec->Draw("same");
311 foDataKaon->Draw("same");
312 foDataMuon->Draw("same");
313
314
315
316
317
318{
319
320 Int_t baseColors[5]={kRed, kGreen+1, kAzure-4, kMagenta, kCyan+1};
321 Int_t sigmaColorOffset=1;
322
323Int_t baseColors[5]={kRed, kGreen+1, kAzure-4, kMagenta, kCyan+1};
324 Int_t sigmaColorOffset=0;
325
326 Double_t sigmas[5]={2,2,2,2,2};
327 Double_t masses[5];
328
329 for (Int_t i=0; i<AliPID::kSPECIES; ++i) masses[i]=AliPID::ParticleMass(i);
330
331 Double_t res=7.e-2;
332 Double_t alephParameters[5];
333
334 alephParameters[0] = 0.0283086;
335 alephParameters[1] = 2.63394e+01;
336 alephParameters[2] = 5.04114e-11;
337 alephParameters[3] = 2.12543e+00;
338 alephParameters[4] = 4.88663e+00;
339 Double_t mip=49.2;
340
341 Color_t color=kRed;
342 Int_t lineWidth=2;
343
344TF1 *fBethe[5];
345TF1 *fBetheP[5];
346TF1 *fBetheM[5];
347
348for (Int_t i=0; i<5; ++i){
349 fBethe[i] = new TF1(Form("fBethe%d",i), Form("%f*AliExternalTrackParam::BetheBlochAleph(x/%f,[0],[1],[2],[3],[4])",mip,masses[i]),0.05,20);
350 fBetheP[i] = new TF1(Form("fBethe%d",i), Form("%f*AliExternalTrackParam::BetheBlochAleph(x/%f,[0],[1],[2],[3],[4])*(1+%f*%f)",mip,masses[i],res,sigmas[i]),0.05,20);
351 fBetheM[i] = new TF1(Form("fBethe%d",i), Form("%f*AliExternalTrackParam::BetheBlochAleph(x/%f,[0],[1],[2],[3],[4])*(1-%f*%f)",mip,masses[i],res,sigmas[i]),0.05,20);
352
353 fBethe[i]->SetParameters(alephParameters);
354 fBetheP[i]->SetParameters(alephParameters);
355 fBetheM[i]->SetParameters(alephParameters);
356
357 fBethe[i]->SetLineColor(baseColors[i]);
358 fBetheP[i]->SetLineColor(baseColors[i]-sigmaColorOffset);
359 fBetheM[i]->SetLineColor(baseColors[i]-sigmaColorOffset);
360
361 fBethe[i]->SetLineWidth(lineWidth);
362 fBetheP[i]->SetLineWidth(lineWidth);
363 fBetheM[i]->SetLineWidth(lineWidth);
364
365 fBetheP[i]->SetLineStyle(2);
366 fBetheM[i]->SetLineStyle(2);
367
368 fBethe[i]->SetNpx(200);
369 fBetheP[i]->SetNpx(200);
370 fBetheM[i]->SetNpx(200);
371}
372
373for (Int_t i=0; i<5; ++i){
374 fBethe[i]->Draw("same");
375 fBetheP[i]->Draw("same");
376 fBetheM[i]->Draw("same");
377}
378}
379
380*/
381
382/*
383
384c->SetLineColor(kRed); c->Draw("M","Leg1_Pt>1.2","same");
385c->SetLineColor(kGreen); c->Draw("M","Leg1_Pt>1.5","same");
386c->SetLineColor(kBlue); c->Draw("M","Leg1_Pt>2","same");
387c->SetLineColor(kMagenta); c->Draw("M","Leg1_Pt>2.5","same");
388c->SetLineColor(kGreen-4); c->Draw("M","Leg1_Pt>3","same");
389
390c->SetLineColor(kRed-2); c->Draw("M","Leg1_Pt>1.2&&Leg2_Pt>.5","same");
391c->SetLineColor(kRed-4); c->Draw("M","Leg1_Pt>1.2&&Leg2_Pt>.7","same");
392c->SetLineColor(kRed-6); c->Draw("M","Leg1_Pt>1.2&&Leg2_Pt>1","same");
393c->SetLineColor(kRed-8); c->Draw("M","Leg1_Pt>1.2&&Leg2_Pt>1.2","same");
394
395
396c=Pair
397
398
399c->SetAlias("cutE","Leg1_TPC_nSigma_Electrons>-2&&(Leg2_TPC_nSigma_Electrons)>-2");
400c->SetAlias("cutE","abs(Leg1_TPC_nSigma_Electrons)<2&&abs(Leg2_TPC_nSigma_Electrons)<2");
401
402c->SetAlias("cutPi","Leg1_TPC_nSigma_Pions>2&&Leg2_TPC_nSigma_Pions>2");
403c->SetAlias("cutP","abs(Leg1_TPC_nSigma_Protons)>2&&abs(Leg2_TPC_nSigma_Protons)>2");
404c->SetAlias("cutK","abs(Leg1_TPC_nSigma_Kaons)>2&&abs(Leg2_TPC_nSigma_Kaons)>2");
405c->SetAlias("cutMu","abs(Leg1_TPC_nSigma_Muons)>1.5&&abs(Leg2_TPC_nSigma_Muons)>1.5");
406
407c->SetAlias("cutE","abs(Leg1_TPC_nSigma_Electrons)<3&&abs(Leg2_TPC_nSigma_Electrons)<3");
408c->SetAlias("cutPi","abs(Leg1_TPC_nSigma_Pions)>2&&abs(Leg2_TPC_nSigma_Pions)>2");
409c->SetAlias("cutP","abs(Leg1_TPC_nSigma_Protons+.5)>2&&abs(Leg2_TPC_nSigma_Protons+.5)>2");
410c->SetAlias("pid","cutPi&&cutE");
411
412
413
414c->SetAlias("pid","cutPi&&cutP&&cutK&&cutE");
415c->SetAlias("pid","cutPi&&cutP&&cutK&&cutMu");
416c->Draw("M>>h(50,1.99,3.99)","pid&&PairType==1&&Leg2_Pt>1","e");
417hist=h
418TObjArray arr;
419arr.AddAt(hist,1);
420
421AliDielectronSignalFunc fun
422fun.SetDefaults(1);
423fun.Process(&arr);
424fun.Draw("samestat");
425
426
427c->SetLineColor(kBlack);
428c->Draw("M>>h(50,1.99,3.99)","cutPi&&PairType==1","e");
429
430c->SetLineColor(kRed);
431c->Draw("M>>h2(50,1.99,3.99)","cutPi&&cutK&&PairType==1","esame");
432
433c->SetLineColor(kBlue);
434c->Draw("M>>h3(50,1.99,3.99)","cutPi&&cutP&&PairType==1","esame");
435
436c->SetLineColor(kGreen);
437c->Draw("M>>h4(50,1.99,3.99)","cutPi&&cutMu&&PairType==1","esame");
438
439
440
441
442
443
444
445c->SetLineColor(kBlack);
446c->Draw("Leg1_Pt>>hPt(50,1.99,3.99)","cutPi&&PairType==1","goff");
447c->Draw("Leg2_Pt>>hPt+","cutPi&&PairType==1","e");
448
449c->SetLineColor(kRed);
450c->Draw("Leg1_Pt>>hPt2(50,1.99,3.99)","cutPi&&cutK&&PairType==1","goff");
451c->Draw("Leg2_Pt>>hPt2+","cutPi&&cutK&&PairType==1","esame");
452
453c->SetLineColor(kBlue);
454c->Draw("Leg1_Pt>>hPt3(50,1.99,3.99)","cutPi&&cutP&&PairType==1","goff");
455c->Draw("Leg2_Pt>>hPt3+","cutPi&&cutP&&PairType==1","esame");
456
457c->SetLineColor(kGreen);
458c->Draw("Leg1_Pt>>hPt4(50,1.99,3.99)","cutPi&&cutLeg1_Ptu&&PairType==1","goff");
459c->Draw("Leg1_Pt>>hPt4+","cutPi&&cutMu&&PairType==1","esame");
460
461
462
463
464c->Draw("M>>hM5(100,1.99,3.99)","Leg1_TPC_signal>65&&Leg2_TPC_signal>65&&Leg2_Pt>1.3&&PairType==1","e");
465
466
467c=Pair
468c->Draw("M>>hM5(100,1.99,3.99)","Leg1_TPC_signal>65&&Leg2_TPC_signal>65&&Leg2_Pt>1.&&PairType==1","e")
469hist=hM5
470AliDielectronSignalFunc fun
471fun.SetDefaults(1);
472fun.SetFitRange(2,4)
473fun.Process(hM)
474fun.Draw("samestat");
475
476c->Draw("M>>hM5(50,1.99,3.99)","Leg1_TPC_signal>65&&Leg2_TPC_signal>65&&Leg2_Pt>1.1&&PairType==1","e")
477
478
479
480
481c->SetAlias("cut","Leg1_TPC_signal>65&&Leg2_TPC_signal>65&&Leg2_Pt>1.&&PairType==1")
482c->SetAlias("cut","Leg2_Pt>1&&PairType==1")
483c->SetAlias("cut","Leg1_TPC_signal>65&&Leg2_TPC_signal>65&&cutP&&cutK&&PairType==1")
484c->SetAlias("cut","cutP&&PairType==1")
485c->SetAlias("cut","PairType==1&&abs(Leg1_TOF_nSigma_Protons)>2&&abs(Leg2_TOF_nSigma_Protons)>2")
486
487c->SetAlias("cut","abs(Leg2_TOF_nSigma_Protons)>3&&abs(Leg2_TOF_nSigma_Pions)>")
488c->SetAlias("cut","abs(Leg2_TOF_nSigma_Protons)>7-5.5/3*Leg2_P_InnerParam")
489// histos
490AliDielectronHistos h("h","h");
491h.AddClass("TPCsignal");
492h.UserHistogram("TPCsignal","sigTPC","TPC signal;P [GeV];TPC signal [arb. Units]",400,.3,40,400,0.,200.,0,0,kTRUE,kFALSE)
493h.GetHistogram("TPCsignal","sigTPC")->SetDirectory(gDirectory)
494
495h.UserHistogram("TPCsignal","nSigE","TPC n #sigma Electrons;P [GeV];TPC n #sigma Electrons",400,.3,40.,400,-4.,4.,0,0,kTRUE,kFALSE)
496h.GetHistogram("TPCsignal","nSigE")->SetDirectory(gDirectory)
497h.UserHistogram("TPCsignal","nSigMu","TPC n #sigma Muons;P [GeV];TPC n #sigma Muons",400,.3,40.,400,-4.,4.,0,0,kTRUE,kFALSE)
498h.GetHistogram("TPCsignal","nSigMu")->SetDirectory(gDirectory)
499h.UserHistogram("TPCsignal","nSigPi","TPC n #sigma Pions;P [GeV];TPC n #sigma Pions",400,.3,40.,400,-4.,4.,0,0,kTRUE,kFALSE)
500h.GetHistogram("TPCsignal","nSigPi")->SetDirectory(gDirectory)
501h.UserHistogram("TPCsignal","nSigK","TPC n #sigma Kaons;P [GeV];TPC n #sigma Kaons",400,.3,40,400,-4,4,0,0,kTRUE,kFALSE)
502h.GetHistogram("TPCsignal","nSigK")->SetDirectory(gDirectory)
503h.UserHistogram("TPCsignal","nSigP","TPC n #sigma Protons;P [GeV];TPC n #sigma Protons",400,.3,40.,400,-4,4.,0,0,kTRUE,kFALSE)
504h.GetHistogram("TPCsignal","nSigP")->SetDirectory(gDirectory)
505
506
507c->Draw("Leg1_TPC_signal:Leg1_P_InnerParam>>sigTPC","cut","colz")
508c->Draw("Leg2_TPC_signal:Leg2_P_InnerParam>>+sigTPC","cut","colz")
509
510
511c->Draw("Leg1_TPC_nSigma_Electrons:Leg1_P_InnerParam>>nSigE","cut","colz")
512c->Draw("Leg2_TPC_nSigma_Electrons:Leg2_P_InnerParam>>+nSigE","cut","colz")
513
514c->Draw("Leg1_TPC_nSigma_Muos:Leg1_P_InnerParam>>nSigMu","cut","goff")
515c->Draw("Leg2_TPC_nSigma_Muons:Leg1_P_InnerParam>>nSigMu","cut","goff")
516c->Draw("Leg2_TPC_nSigma_Muons:Leg2_P_InnerParam>>+nSigMu","cut","colz")
517
518c->Draw("Leg1_TPC_nSigma_Pions:Leg1_P_InnerParam>>nSigPi","cut","goff")
519c->Draw("Leg2_TPC_nSigma_Pions:Leg2_P_InnerParam>>+nSigPi","cut","colz")
520
521c->Draw("Leg1_TPC_nSigma_Kaons:Leg1_P_InnerParam>>nSigK","cut","goff")
522c->Draw("Leg2_TPC_nSigma_Kaons:Leg2_P_InnerParam>>+nSigK","cut","colz")
523
524c->Draw("Leg1_TPC_nSigma_Protons+.5:Leg1_P_InnerParam>>nSigP","cut","goff")
525c->Draw("Leg2_TPC_nSigma_Protons+.5:Leg2_P_InnerParam>>+nSigP","cut","colz")
526
527
528
61d106d3 529c->Draw("Leg1_TOF_nSigma_Electrons:Leg1_P_InnerParam>>nSigE","cut","colz")
530c->Draw("Leg2_TOF_nSigma_Electrons:Leg2_P_InnerParam>>+nSigE","cut","colz")
531
8df8e382 532
533c->Draw("Leg1_TOF_nSigma_Protons:Leg1_P_InnerParam>>nSigP","cut","goff")
534c->Draw("Leg2_TOF_nSigma_Protons:Leg2_P_InnerParam>>+nSigP","cut","colz")
535
536
537Pair->SetScanField(0)
538Pair->Scan("EventInFile:File.GetString()","","colsize=1 col=3.d:100.s")
539
540
541AliDielectronSignalFunc sig;
542sig.SetDefaults(1);
543
544//WooJins cuts:
545c->SetAlias("cutE","abs(Leg1_TPC_nSigma_Electrons)<3&&abs(Leg2_TPC_nSigma_Electrons)<3");
546c->SetAlias("cutPi","abs(Leg1_TPC_nSigma_Pions)>2&&abs(Leg2_TPC_nSigma_Pions)>2");
547// c->SetAlias("cutPi","Leg1_TPC_signal>65&&Leg2_TPC_signal>65");
548c->SetAlias("cutP","abs(Leg1_TPC_nSigma_Protons)>2&&abs(Leg2_TPC_nSigma_Protons)>2");
549c->SetAlias("cutK","abs(Leg1_TPC_nSigma_Kaons)>2&&abs(Leg2_TPC_nSigma_Kaons)>2");
550c->SetAlias("pid","cutE&&cutPi&&cutP&&cutK");
551
552
553c->SetAlias("cutAdd","PairType==1&&abs(Leg1_ImpactParXY)<.02&&abs(Leg2_ImpactParXY)<.02&&Leg2_Pt>1.")
554c->Draw("M>>hM(100,2,4)","cutAdd&&pid","e");
555h.Rebin();
556h.Rebin();
557h.Rebin();
558sig.Process(hM);
559sig.Draw("samestat");
560
561
562
563
564//test
565c->SetAlias("cutE","abs(Leg1_TPC_nSigma_Electrons)<3&&abs(Leg2_TPC_nSigma_Electrons)<2");
566c->SetAlias("cutPi","abs(Leg1_TPC_nSigma_Pions)>1&&abs(Leg2_TPC_nSigma_Pions)>2");
567c->SetAlias("cutPi","Leg1_TPC_signal>67&&Leg2_TPC_signal>67");
568c->SetAlias("cutP","abs(Leg1_TPC_nSigma_Protons)>2&&abs(Leg2_TPC_nSigma_Protons)>2");
569c->SetAlias("cutK","abs(Leg1_TPC_nSigma_Kaons)>2&&abs(Leg2_TPC_nSigma_Kaons)>2");
570
571
572c->SetAlias("pid","cutE&&cutPi&&cutP&&cutK");
573c->SetAlias("cutAdd","PairType==1&&abs(Leg1_ImpactParXY)<.03&&abs(Leg2_ImpactParXY)<.03&&Leg2_Pt>1")
574c->SetAlias("cut","cutAdd&&pid")
575
576c->Draw("M>>hM(50,1.99,3.99)","cut","e");
577sig.Process(hM);
578sig.Draw("samestat");
579
580
581c->SetAlias("cut","PairType==1")
582c->Draw("Leg1_TPC_signal:Leg1_P_InnerParam>>sigTPC","cut","colz")
583c->Draw("Leg2_TPC_signal:Leg2_P_InnerParam>>+sigTPC","cut","colz")
584
585////
586c->SetAlias("cutE","abs(Leg1_TPC_nSigma_Electrons)<2&&abs(Leg2_TPC_nSigma_Electrons)<2");
587c->SetAlias("cutPi","abs(Leg1_TPC_nSigma_Pions)>2&&abs(Leg2_TPC_nSigma_Pions)>2");
588c->SetAlias("cutPi2","Leg1_TPC_signal>65&&Leg2_TPC_signal>65");
589c->SetAlias("cutPi3","abs(Leg1_TPC_nSigma_Pions)>2.5&&abs(Leg2_TPC_nSigma_Pions)>2.5");
590c->SetAlias("cutP","abs(Leg1_TPC_nSigma_Protons)>2&&abs(Leg2_TPC_nSigma_Protons)>2");
591c->SetAlias("cutP2","abs(Leg1_TPC_nSigma_Protons)>1.5&&abs(Leg2_TPC_nSigma_Protons)>1.5");
592c->SetAlias("cutK","abs(Leg1_TPC_nSigma_Kaons)>2&&abs(Leg2_TPC_nSigma_Kaons)>2");
593c->SetAlias("cutdXY","abs(Leg1_ImpactParXY)<.02&&abs(Leg2_ImpactParXY)<.02")
594c->SetAlias("cutPt","Leg2_Pt>1.")
595c->SetAlias("cutPt2","Leg2_Pt>1.2")
596
597//----
598c->SetMarkerSize(0.7);
599
600c->SetMarkerStyle(20);
601c->SetLineColor(kRed);
602c->SetMarkerColor(kRed);
603c->Draw("M>>hM(100,2,4)","cutPi&&cutPt","e");
604
605c->SetMarkerStyle(21);
606c->SetLineColor(kRed-1);
607c->SetMarkerColor(kRed-2);
608c->Draw("M>>hM2(100,2,4)","cutPi2&&cutPt","esame");
609
610c->SetMarkerStyle(22);
611c->SetLineColor(kRed-2);
612c->SetMarkerColor(kRed-2);
613c->Draw("M>>hM3(100,2,4)","cutPi3&&cutPt","esame");
614
615//----
616c->SetMarkerStyle(20);
617c->SetLineColor(kBlue);
618c->SetMarkerColor(kBlue);
619c->Draw("M>>hM4(100,2,4)","cutPi&&cutPt&&cutP","esame");
620
621c->SetMarkerStyle(21);
622c->SetLineColor(kBlue-1);
623c->SetMarkerColor(kBlue-1);
624c->Draw("M>>hM5(100,2,4)","cutPi2&&cutPt&&cutP","esame");
625
626c->SetMarkerStyle(22);
627c->SetLineColor(kBlue-2);
628c->SetMarkerColor(kBlue-2);
629c->Draw("M>>hM6(100,2,4)","cutPi3&&cutPt&&cutP","esame");
630
631//----
632
633c->SetMarkerStyle(20);
634c->SetLineColor(kGreen);
635c->SetMarkerColor(kGreen);
636c->Draw("M>>hM7(100,2,4)","cutPi&&cutPt&&cutP2","esame");
637
638c->SetMarkerStyle(21);
639c->SetLineColor(kGreen-1);
640c->SetMarkerColor(kGreen-1);
641c->Draw("M>>hM8(100,2,4)","cutPi2&&cutPt&&cutP2","esame");
642
643c->SetMarkerStyle(22);
644c->SetLineColor(kGreen-2);
645c->SetMarkerColor(kGreen-2);
646c->Draw("M>>hM9(100,2,4)","cutPi3&&cutPt&&cutP2","esame");
647
648//----
649
650
651c->SetMarkerStyle(20);
652c->SetLineColor(kMagentha);
653c->SetMarkerColor(kMagentha);
654c->Draw("M>>hM7(100,2,4)","cutPi&&cutPt&&cutP2","esame");
655
656c->SetMarkerStyle(21);
657c->SetLineColor(kMagentha-1);
658c->SetMarkerColor(kMagentha-1);
659c->Draw("M>>hM8(100,2,4)","cutPi2&&cutPt&&cutP2","esame");
660
661c->SetMarkerStyle(22);
662c->SetLineColor(kMagentha-2);
663c->SetMarkerColor(kMagentha-2);
664c->Draw("M>>hM9(100,2,4)","cutPi3&&cutPt&&cutP2","esame");
665
666
667c->SetLineColor(kBlack);
668c->SetMarkerColor(kBlue);
669c->Draw("M>>hM4(100,2,4)","cutE&&cutPi&&cutK&&cutP&&cutdXY&&cutPt","esame");
670
671
672
673
674//
675c->SetAlias("cutE","Leg1_TPC_nSigma_Electrons>-1.5&&Leg2_TPC_nSigma_Electrons>-1.5");
676// c->SetAlias("cutE","Leg1_TPC_signal>60&&Leg2_TPC_signal>60");
677c->SetAlias("cutP","abs(Leg1_TPC_nSigma_Protons)>3&&abs(Leg2_TPC_nSigma_Protons)>3")
678
679c->SetAlias("cutAdd","PairType==1&&abs(Leg1_ImpactParXY)<.03&&abs(Leg2_ImpactParXY)<.03&&Leg2_Pt>0")
680c->SetAlias("cut","Leg2_Pt>1&&cutE&&cutP")
681
682c->Draw("M>>hM(50,1.99,3.99)","cut","e");
683
684c->SetAlias("cutAdd","PairType==1&&abs(Leg1_ImpactParXY)<.03&&abs(Leg2_ImpactParXY)<.03&&Leg2_Pt>.8")
685c->Draw("M>>hM2(50,1.99,3.99)","cut","esame");
686
687c->SetAlias("cutAdd","PairType==1&&abs(Leg1_ImpactParXY)<.03&&abs(Leg2_ImpactParXY)<.03&&Leg2_Pt>1")
688c->Draw("M>>hM3(50,1.99,3.99)","cut","esame");
689
690c->SetAlias("cutAdd","PairType==1&&abs(Leg1_ImpactParXY)<.03&&abs(Leg2_ImpactParXY)<.03&&Leg2_Pt>1.2")
691c->Draw("M>>hM4(50,1.99,3.99)","cut","esame");
692
693
694c->Draw("Leg1_TPC_signal:Leg1_P_InnerParam>>sigTPC","cut","goff")
695c->Draw("Leg2_TPC_signal:Leg2_P_InnerParam>>+sigTPC","cut","goff")
696c1->Modified();c1->Update()
697
698
699c->SetAlias("cutE","Leg1_TPC_nSigma_Electrons>-1.5&&Leg2_TPC_nSigma_Electrons>-1.5");
700c->SetAlias("cut","Leg2_P_InnerParam>1.5&&cutE")
701c->SetMarkerStyle(21);
702c->Draw("M>>hM(50,1.99,3.99)","cut","e");
703
704c->SetAlias("cutE","Leg1_TPC_nSigma_Electrons>-1.5+.8&&Leg2_TPC_nSigma_Electrons>-1.5+.8");
705c->SetAlias("cut","Leg2_P_InnerParam>1.5&&cutE")
706c->SetMarkerStyle(20);
707c->SetMarkerColor(kRed);
61d106d3 708c->Draw("M>>hM3(50,1.99,3.99)","cut","esame");
709
710
711
712
713//=================== pass 1 pass 2 comparison =======================
714
715
716//------ cuts ------------
717
718
719c->SetAlias("cutPro","Leg1_TPC_signal>50*exp(-.5*(Leg1_P_InnerParam-2))&&Leg2_TPC_signal>50*exp(-.5*(Leg2_P_InnerParam-2))&&Leg1_TPC_signal<85&&Leg2_TPC_signal<85");
720
721c->SetAlias("Pcut","Leg1_P_InnerParam>1.3&&Leg2_P_InnerParam>1.3")
722c->SetAlias("Ptcut","Leg1_Pt>1&&Leg2_Pt>1")
723c->SetAlias("TOFcut","abs(Leg1_TOF_nSigma_Electrons)<3&&abs(Leg2_TOF_nSigma_Electrons)<3");
724c->SetAlias("TOFcut2","(Leg1_P_InnerParam<1.3&&abs(Leg1_TOF_nSigma_Electrons)<3||Leg1_P_InnerParam>=1.3)&&(Leg2_P_InnerParam<1.3&&abs(Leg2_TOF_nSigma_Electrons)<3||Leg2_P_InnerParam>=1.3)");
725c->SetAlias("TPCcut","(Leg1_TPC_signal>70*(1-exp(-1*(Leg1_P_InnerParam+2))))&&(Leg2_TPC_signal>70*(1-exp(-1*(Leg2_P_InnerParam+2))))")
726c->SetAlias("NClcut","Leg1_NclsTPC>120&&Leg2_NclsTPC>120");
727
728c->SetAlias("eleParam","Leg1_TPC_nSigma_Electrons<5&&Leg2_TPC_nSigma_Electrons<5&&Leg1_TPC_nSigma_Electrons>-2.65*exp(-0.6757*Leg1_P_InnerParam)&&Leg2_TPC_nSigma_Electrons>-2.65*exp(-0.6757*Leg2_P_InnerParam)")
729c->SetAlias("cut","PairType==1&&eleParam")
730c->SetAlias("cut","1==1")
731c->SetAlias("cut","NClcut")
732
733c->SetAlias("cut","TOFcut&&TPCcut&&NClcut")
734
735c->SetAlias("cut","TOFcut2&&TPCcut&&NClcut")
736
737c->SetAlias("cut","cutPro&&TPCcut&&NClcut")
738
739c->SetAlias("cut","Pcut&&TPCcut&&NClcut")
740
741c->SetAlias("cut","Ptcut&&TPCcut&&NClcut")
742
743
744
745//------------ plots --------------
746
747//no cut
748c->SetAlias("cut","1==1")
749c1->SetLogx(0)
750c1->SetLogz(0)
751c->SetLineColor(kBlack);
752c->Draw("M>>hM(50,1.99,3.99)","cut","e");
753hM->SetTitle(";Inv. Mass [GeV]; Pair (e+e-) / 40GeV")
754c1->Modified()
755c1->Update();
756c1->Print("pics/M_noCut.png");
757
758//=============
759//ncl: No cut
760//=============
761c->SetAlias("cut","1==1")
762c1->SetLogx(1)
763c1->SetLogz(0)
764gStyle->SetOptStat(0);
765c->Draw("Leg1_NclsTPC:Leg1_TPC_signal:Leg1_P_InnerParam>>test(1000,0,40,200,60,100)","cut","profcolz")
766c->Draw("Leg2_NclsTPC:Leg2_TPC_signal:Leg2_P_InnerParam>>+test","cut","profcolz")
767test->SetMinimum(80)
768test->SetTitle("mean TPC number of clusters;P_{TPC} [GeV]; TPC signal [arb. units]")
769c1->Modified()
770c1->Update();
771c1->Print("pics/TPCnCl_P.png");
772
773//=============
774//TPCsignal: ncl cut
775//=============
776c->SetAlias("cut","NClcut")
777c->Draw("Leg1_NclsTPC:Leg1_TPC_signal:Leg1_P_InnerParam>>test(1000,0,40,200,60,100)","cut","profcolz")
778c->Draw("Leg2_NclsTPC:Leg2_TPC_signal:Leg2_P_InnerParam>>+test","cut","profcolz")
779test->SetMinimum(80)
780test->SetTitle("mean TPC number of clusters;P_{TPC} [GeV]; TPC signal [arb. units]")
781c1->Modified()
782c1->Update();
783c1->Print("pics/TPCnCl_P_cutNcl.png");
784
785
786//=============
787//tpc signal + signal cut
788//=============
789c1->SetLogx(1)
790c1->SetLogy(0)
791c1->SetLogz(1)
792h.GetHistogram("TPCsignal","sigTPC")->GetYaxis()->SetRangeUser(60,100);
793c->SetAlias("cut","NClcut")
794c->Draw("Leg1_TPC_signal:Leg1_P_InnerParam>>sigTPC","cut","colz")
795c->Draw("Leg2_TPC_signal:Leg2_P_InnerParam>>+sigTPC","cut","colz")
796TF1 f("f1","[0]*(1-exp(-[1]*(x-[2])))",0.3,40);
797f.SetParameters(70,1,-2);
798f.Draw("same");
799c1->Modified();
800c1->Update();
801c1->Print("pics/TPCsignal_P_cutNcl.png");
802
803//------- Mass
804
805c1->SetLogx(0)
806c1->SetLogy(1)
807c1->SetLogz(0)
808c->SetAlias("cut","1==1")
809c->SetLineColor(kBlack);
810c->SetMarkerColor(kBlack);
811c->Draw("M>>hM(50,1.99,3.99)","cut","e");
812hM->SetTitle(";Inv. Mass [GeV]; Pair (e+e-) / 40GeV")
813hM->SetMinimum(5e2);
814c->SetAlias("cut","NClcut")
815c->SetLineColor(kRed);
816c->SetMarkerColor(kRed);
8df8e382 817c->Draw("M>>hM2(50,1.99,3.99)","cut","esame");
61d106d3 818c1->Modified();
819c1->Update();
820c1->Print("pics/M_nClCut.png");
821
822
823//==========
824//tpc signal: ncl + tpc cut
825//==========
826c1->SetLogx(1)
827c1->SetLogy(0)
828c1->SetLogz(1)
829c->SetAlias("cut","TPCcut&&NClcut")
830c->Draw("Leg1_TPC_signal:Leg1_P_InnerParam>>sigTPC","cut","colz")
831c->Draw("Leg2_TPC_signal:Leg2_P_InnerParam>>+sigTPC","cut","colz")
832c1->Modified();
833c1->Update();
834c1->Print("pics/TPCsignal_P_cutNcl_tpc.png");
835
836/--- Mass
837
838c1->SetLogx(0)
839c1->SetLogy(1)
840c1->SetLogz(0)
841c->SetAlias("cut","1==1")
842c->SetLineColor(kBlack);
843c->SetMarkerColor(kBlack);
844c->Draw("M>>hM(50,1.99,3.99)","cut","e");
845hM->SetTitle(";Inv. Mass [GeV]; Pair (e+e-) / 40GeV")
846hM->SetMinimum(5);
847c->SetAlias("cut","NClcut")
848c->SetLineColor(kRed);
849c->SetMarkerColor(kRed);
850c->Draw("M>>hM2(50,1.99,3.99)","cut","esame");
851c->SetAlias("cut","TPCcut&&NClcut")
852c->SetLineColor(kGreen);
853c->SetMarkerColor(kGreen);
854c->Draw("M>>hM3(50,1.99,3.99)","cut","esame");
855c1->Modified();
856c1->Update();
857c1->Print("pics/M_nClCut_tpc.png");
858
859
860//========
861//TPC signal: ncl + tpc + tof cut
862//=======
863c1->SetLogx(1)
864c1->SetLogy(0)
865c1->SetLogz(1)
866c->SetAlias("cut","TOFcut2&&TPCcut&&NClcut")
867c->Draw("Leg1_TPC_signal:Leg1_P_InnerParam>>sigTPC","cut","colz")
868c->Draw("Leg2_TPC_signal:Leg2_P_InnerParam>>+sigTPC","cut","colz")
869c1->Modified();
870c1->Update();
871c1->Print("pics/TPCsignal_P_cutNcl_tpc.png");
872
873//--- Mass
874
875c1->SetLogx(0)
876c1->SetLogy(0)
877c1->SetLogz(0)
878c->SetAlias("cut","1==1")
879c->SetAlias("cut","TPCcut&&NClcut")
880c->SetLineColor(kGreen);
881c->Draw("M>>hM(50,1.99,3.99)","cut","e");
882hM->SetTitle(";Inv. Mass [GeV]; Pair (e+e-) / 40GeV")
883hM->SetMinimum(.1);
884c->SetAlias("cut","TOFcut2&&TPCcut&&NClcut")
885c->SetLineColor(kBlue);
886c->Draw("M>>hM2(50,1.99,3.99)","cut","esame");
887c1->Modified();
888c1->Update();
889c1->Print("pics/M_nClCut_tpc.png");
890
891//========
892//Inv Mass: different cuts
893//=======
894
895c1->SetLogx(0)
896c1->SetLogy(0)
897c1->SetLogz(0)
898c->SetAlias("cut","Ptcut&&TPCcut&&NClcut")
899c->SetLineColor(kMagenta);
900c->SetMarkerColor(kMagenta);
901c->SetMarkerStyle(22);
902c->Draw("M>>hM(50,1.99,3.99)","cut","e");
903
904c->SetAlias("cut","Pcut&&TPCcut&&NClcut")
905c->SetLineColor(kCyan+1);
906c->SetMarkerColor(kCyan+1);
907c->SetMarkerStyle(21);
908c->Draw("M>>hM2(50,1.99,3.99)","cut","esame");
909
910c->SetAlias("cut","TOFcut2&&TPCcut&&NClcut")
911c->SetMarkerStyle(20);
912c->SetLineColor(kBlue);
913c->SetMarkerColor(kBlue);
914c->Draw("M>>hM3(50,1.99,3.99)","cut","esame");
915
916c1->Modified();
917c1->Update();
918c1->Print("pics/M_nClCut_tpc_tof.png");
919
920
921
8df8e382 922
923*/
924