3 void MakeDataReport(const char* outputFile="JpsiDataReport.pdf",
4 const char* histos="jpsi_HistosSE.root",
5 const char* cf="jpsi_CF.root")
8 // Make a pdf file with the efficiency report
13 AliDielectronCFdraw d(cf);
14 d.SetRangeUser("PairType",1,1);
15 d.SetRangeUser("Y",-.89,.9,"0");
18 TFile f("jpsi_HistosSE.root");
20 AliDielectronHistos h;
21 TIter nextHists((TList*)f.Get("Dielectron_Histos"));
23 TPaveText pt(.02,.6,.98,.8);
24 TText *t1=pt.AddText("");
25 TText *t2=pt.AddText("");
27 TCanvas *c1=new TCanvas;
32 // Invariant mass plots
40 t1->SetTitle("QA summary plots for");
42 while ( (list=(THashList*)nextHists()) ){
43 h.SetHistogramList(*list);
44 t2->SetTitle(list->GetName());
56 const Int_t NCont=255;
58 TStyle *st = new TStyle("mystyle","mystyle");
59 gROOT->GetStyle("Plain")->Copy((*st));
65 st->SetNumberContours(NCont);
67 st->SetOptStat("erm");
69 st->SetGridColor(kGray+1);
70 st->SetPadGridX(kTRUE);
71 st->SetPadGridY(kTRUE);
72 st->SetPadTickX(kTRUE);
73 st->SetPadTickY(kTRUE);
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 };
82 TColor::CreateGradientColorTable(NRGBs, stops, red, green, blue, NCont);
87 TFile f("jpsi_debug.root");
88 // if (!f.IsOpen()) return;
90 TTree *t=(TTree*)f.Get("Pair");
95 gStyle->SetOptStat(0);
97 TLegend *leg=new TLegend(0.59,.79,.99,.99);
100 l.SetLineColor(kGreen-5);
103 leg->SetFillColor(10);
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");
115 l.DrawLine(3.097,1,3.097,1e4);
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");
122 TCut d1_1="abs(Leg1_TPC_nSigma_Electrons)<1";
123 TCut d2_1="abs(Leg2_TPC_nSigma_Electrons)<1";
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");
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");
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");
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");
151 Double_t alephParameters[5];
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;
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);
166 foProton->SetParameters(alephParameters);
167 foPion->SetParameters(alephParameters);
168 foElec->SetParameters(alephParameters);
169 foKaon->SetParameters(alephParameters);
170 foMuon->SetParameters(alephParameters);
172 foProton->SetLineColor(color);
173 foPion->SetLineColor(color);
174 foElec->SetLineColor(color);
175 foKaon->SetLineColor(color);
176 foMuon->SetLineColor(color);
179 foProton->SetLineWidth(lineWidth);
180 foPion->SetLineWidth(lineWidth);
181 foElec->SetLineWidth(lineWidth);
182 foKaon->SetLineWidth(lineWidth);
183 foMuon->SetLineWidth(lineWidth);
186 foProton->SetNpx(200);
192 foProton->Draw("same");
193 foPion->Draw("same");
194 foElec->Draw("same");
195 foKaon->Draw("same");
196 foMuon->Draw("same");
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;
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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");
320 Int_t baseColors[5]={kRed, kGreen+1, kAzure-4, kMagenta, kCyan+1};
321 Int_t sigmaColorOffset=1;
323 Int_t baseColors[5]={kRed, kGreen+1, kAzure-4, kMagenta, kCyan+1};
324 Int_t sigmaColorOffset=0;
326 Double_t sigmas[5]={3,3,3,3,3};
329 for (Int_t i=0; i<AliPID::kSPECIES; ++i) masses[i]=AliPID::ParticleMass(i);
332 Double_t alephParameters[5];
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;
348 for (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);
353 fBethe[i]->SetParameters(alephParameters);
354 fBetheP[i]->SetParameters(alephParameters);
355 fBetheM[i]->SetParameters(alephParameters);
357 fBethe[i]->SetLineColor(baseColors[i]);
358 fBetheP[i]->SetLineColor(baseColors[i]-sigmaColorOffset);
359 fBetheM[i]->SetLineColor(baseColors[i]-sigmaColorOffset);
361 fBethe[i]->SetLineWidth(lineWidth);
362 fBetheP[i]->SetLineWidth(lineWidth);
363 fBetheM[i]->SetLineWidth(lineWidth);
365 fBetheP[i]->SetLineStyle(2);
366 fBetheM[i]->SetLineStyle(2);
368 fBethe[i]->SetNpx(200);
369 fBetheP[i]->SetNpx(200);
370 fBetheM[i]->SetNpx(200);
373 for (Int_t i=0; i<5; ++i){
374 fBethe[i]->Draw("same");
375 // fBetheP[i]->Draw("same");
376 // fBetheM[i]->Draw("same");
384 c->SetLineColor(kRed); c->Draw("M","Leg1_Pt>1.2","same");
385 c->SetLineColor(kGreen); c->Draw("M","Leg1_Pt>1.5","same");
386 c->SetLineColor(kBlue); c->Draw("M","Leg1_Pt>2","same");
387 c->SetLineColor(kMagenta); c->Draw("M","Leg1_Pt>2.5","same");
388 c->SetLineColor(kGreen-4); c->Draw("M","Leg1_Pt>3","same");
390 c->SetLineColor(kRed-2); c->Draw("M","Leg1_Pt>1.2&&Leg2_Pt>.5","same");
391 c->SetLineColor(kRed-4); c->Draw("M","Leg1_Pt>1.2&&Leg2_Pt>.7","same");
392 c->SetLineColor(kRed-6); c->Draw("M","Leg1_Pt>1.2&&Leg2_Pt>1","same");
393 c->SetLineColor(kRed-8); c->Draw("M","Leg1_Pt>1.2&&Leg2_Pt>1.2","same");
399 c->SetAlias("cutE","Leg1_TPC_nSigma_Electrons>-2&&(Leg2_TPC_nSigma_Electrons)>-2");
400 c->SetAlias("cutE","abs(Leg1_TPC_nSigma_Electrons)<2&&abs(Leg2_TPC_nSigma_Electrons)<2");
402 c->SetAlias("cutPi","Leg1_TPC_nSigma_Pions>2&&Leg2_TPC_nSigma_Pions>2");
403 c->SetAlias("cutP","abs(Leg1_TPC_nSigma_Protons)>2&&abs(Leg2_TPC_nSigma_Protons)>2");
404 c->SetAlias("cutK","abs(Leg1_TPC_nSigma_Kaons)>2&&abs(Leg2_TPC_nSigma_Kaons)>2");
405 c->SetAlias("cutMu","abs(Leg1_TPC_nSigma_Muons)>1.5&&abs(Leg2_TPC_nSigma_Muons)>1.5");
407 c->SetAlias("cutE","abs(Leg1_TPC_nSigma_Electrons)<3&&abs(Leg2_TPC_nSigma_Electrons)<3");
408 c->SetAlias("cutPi","abs(Leg1_TPC_nSigma_Pions)>2&&abs(Leg2_TPC_nSigma_Pions)>2");
409 c->SetAlias("cutP","abs(Leg1_TPC_nSigma_Protons+.5)>2&&abs(Leg2_TPC_nSigma_Protons+.5)>2");
410 c->SetAlias("pid","cutPi&&cutE");
414 c->SetAlias("pid","cutPi&&cutP&&cutK&&cutE");
415 c->SetAlias("pid","cutPi&&cutP&&cutK&&cutMu");
416 c->Draw("M>>h(50,1.99,3.99)","pid&&PairType==1&&Leg2_Pt>1","e");
421 AliDielectronSignalFunc fun
424 fun.Draw("samestat");
427 c->SetLineColor(kBlack);
428 c->Draw("M>>h(50,1.99,3.99)","cutPi&&PairType==1","e");
430 c->SetLineColor(kRed);
431 c->Draw("M>>h2(50,1.99,3.99)","cutPi&&cutK&&PairType==1","esame");
433 c->SetLineColor(kBlue);
434 c->Draw("M>>h3(50,1.99,3.99)","cutPi&&cutP&&PairType==1","esame");
436 c->SetLineColor(kGreen);
437 c->Draw("M>>h4(50,1.99,3.99)","cutPi&&cutMu&&PairType==1","esame");
445 c->SetLineColor(kBlack);
446 c->Draw("Leg1_Pt>>hPt(50,1.99,3.99)","cutPi&&PairType==1","goff");
447 c->Draw("Leg2_Pt>>hPt+","cutPi&&PairType==1","e");
449 c->SetLineColor(kRed);
450 c->Draw("Leg1_Pt>>hPt2(50,1.99,3.99)","cutPi&&cutK&&PairType==1","goff");
451 c->Draw("Leg2_Pt>>hPt2+","cutPi&&cutK&&PairType==1","esame");
453 c->SetLineColor(kBlue);
454 c->Draw("Leg1_Pt>>hPt3(50,1.99,3.99)","cutPi&&cutP&&PairType==1","goff");
455 c->Draw("Leg2_Pt>>hPt3+","cutPi&&cutP&&PairType==1","esame");
457 c->SetLineColor(kGreen);
458 c->Draw("Leg1_Pt>>hPt4(50,1.99,3.99)","cutPi&&cutLeg1_Ptu&&PairType==1","goff");
459 c->Draw("Leg1_Pt>>hPt4+","cutPi&&cutMu&&PairType==1","esame");
464 c->Draw("M>>hM5(100,1.99,3.99)","Leg1_TPC_signal>65&&Leg2_TPC_signal>65&&Leg2_Pt>1.3&&PairType==1","e");
468 c->Draw("M>>hM5(100,1.99,3.99)","Leg1_TPC_signal>65&&Leg2_TPC_signal>65&&Leg2_Pt>1.&&PairType==1","e")
470 AliDielectronSignalFunc fun
474 fun.Draw("samestat");
476 c->Draw("M>>hM5(50,1.99,3.99)","Leg1_TPC_signal>65&&Leg2_TPC_signal>65&&Leg2_Pt>1.1&&PairType==1","e")
481 c->SetAlias("cut","Leg1_TPC_signal>65&&Leg2_TPC_signal>65&&Leg2_Pt>1.&&PairType==1")
482 c->SetAlias("cut","Leg2_Pt>1&&PairType==1")
483 c->SetAlias("cut","Leg1_TPC_signal>65&&Leg2_TPC_signal>65&&cutP&&cutK&&PairType==1")
484 c->SetAlias("cut","cutP&&PairType==1")
485 c->SetAlias("cut","PairType==1&&abs(Leg1_TOF_nSigma_Protons)>2&&abs(Leg2_TOF_nSigma_Protons)>2")
487 c->SetAlias("cut","abs(Leg2_TOF_nSigma_Protons)>3&&abs(Leg2_TOF_nSigma_Pions)>")
488 c->SetAlias("cut","abs(Leg2_TOF_nSigma_Protons)>7-5.5/3*Leg2_P_InnerParam")
490 AliDielectronHistos h("h","h");
491 h.AddClass("TPCsignal");
492 h.UserHistogram("TPCsignal","sigTPC","TPC signal;P [GeV];TPC signal [arb. Units]",400,.3,40,400,0.,200.,0,0,kTRUE,kFALSE)
493 h.GetHistogram("TPCsignal","sigTPC")->SetDirectory(gDirectory)
495 h.UserHistogram("TPCsignal","nSigE","TPC n #sigma Electrons;P [GeV];TPC n #sigma Electrons",200,.3,40.,100,-4.,4.,0,0,kTRUE,kFALSE)
496 h.GetHistogram("TPCsignal","nSigE")->SetDirectory(gDirectory)
497 h.UserHistogram("TPCsignal","nSigMu","TPC n #sigma Muons;P [GeV];TPC n #sigma Muons",400,.3,40.,400,-4.,4.,0,0,kTRUE,kFALSE)
498 h.GetHistogram("TPCsignal","nSigMu")->SetDirectory(gDirectory)
499 h.UserHistogram("TPCsignal","nSigPi","TPC n #sigma Pions;P [GeV];TPC n #sigma Pions",400,.3,40.,400,-4.,4.,0,0,kTRUE,kFALSE)
500 h.GetHistogram("TPCsignal","nSigPi")->SetDirectory(gDirectory)
501 h.UserHistogram("TPCsignal","nSigK","TPC n #sigma Kaons;P [GeV];TPC n #sigma Kaons",400,.3,40,400,-4,4,0,0,kTRUE,kFALSE)
502 h.GetHistogram("TPCsignal","nSigK")->SetDirectory(gDirectory)
503 h.UserHistogram("TPCsignal","nSigP","TPC n #sigma Protons;P [GeV];TPC n #sigma Protons",400,.3,40.,400,-4,4.,0,0,kTRUE,kFALSE)
504 h.GetHistogram("TPCsignal","nSigP")->SetDirectory(gDirectory)
507 c->Draw("Leg1_TPC_signal:Leg1_P_InnerParam>>sigTPC","cut","colz")
508 c->Draw("Leg2_TPC_signal:Leg2_P_InnerParam>>+sigTPC","cut","colz")
511 c->Draw("Leg1_TPC_nSigma_Electrons:Leg1_P_InnerParam>>nSigE","cut","colz")
512 c->Draw("Leg2_TPC_nSigma_Electrons:Leg2_P_InnerParam>>+nSigE","cut","colz")
514 c->Draw("Leg1_TPC_nSigma_Muos:Leg1_P_InnerParam>>nSigMu","cut","goff")
515 c->Draw("Leg2_TPC_nSigma_Muons:Leg1_P_InnerParam>>nSigMu","cut","goff")
516 c->Draw("Leg2_TPC_nSigma_Muons:Leg2_P_InnerParam>>+nSigMu","cut","colz")
518 c->Draw("Leg1_TPC_nSigma_Pions:Leg1_P_InnerParam>>nSigPi","cut","goff")
519 c->Draw("Leg2_TPC_nSigma_Pions:Leg2_P_InnerParam>>+nSigPi","cut","colz")
521 c->Draw("Leg1_TPC_nSigma_Kaons:Leg1_P_InnerParam>>nSigK","cut","goff")
522 c->Draw("Leg2_TPC_nSigma_Kaons:Leg2_P_InnerParam>>+nSigK","cut","colz")
524 c->Draw("Leg1_TPC_nSigma_Protons+.5:Leg1_P_InnerParam>>nSigP","cut","goff")
525 c->Draw("Leg2_TPC_nSigma_Protons+.5:Leg2_P_InnerParam>>+nSigP","cut","colz")
529 c->Draw("Leg1_TOF_nSigma_Electrons:Leg1_P_InnerParam>>nSigE","cut","colz")
530 c->Draw("Leg2_TOF_nSigma_Electrons:Leg2_P_InnerParam>>+nSigE","cut","colz")
533 c->Draw("Leg1_TOF_nSigma_Protons:Leg1_P_InnerParam>>nSigP","cut","goff")
534 c->Draw("Leg2_TOF_nSigma_Protons:Leg2_P_InnerParam>>+nSigP","cut","colz")
537 Pair->SetScanField(0)
538 Pair->Scan("EventInFile:File.GetString()","","colsize=1 col=3.d:100.s")
541 AliDielectronSignalFunc sig;
545 c->SetAlias("cutE","abs(Leg1_TPC_nSigma_Electrons)<3&&abs(Leg2_TPC_nSigma_Electrons)<3");
546 c->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");
548 c->SetAlias("cutP","abs(Leg1_TPC_nSigma_Protons)>2&&abs(Leg2_TPC_nSigma_Protons)>2");
549 c->SetAlias("cutK","abs(Leg1_TPC_nSigma_Kaons)>2&&abs(Leg2_TPC_nSigma_Kaons)>2");
550 c->SetAlias("pid","cutE&&cutPi&&cutP&&cutK");
553 c->SetAlias("cutAdd","PairType==1&&abs(Leg1_ImpactParXY)<.02&&abs(Leg2_ImpactParXY)<.02&&Leg2_Pt>1.")
554 c->Draw("M>>hM(100,2,4)","cutAdd&&pid","e");
559 sig.Draw("samestat");
565 c->SetAlias("cutE","abs(Leg1_TPC_nSigma_Electrons)<3&&abs(Leg2_TPC_nSigma_Electrons)<2");
566 c->SetAlias("cutPi","abs(Leg1_TPC_nSigma_Pions)>1&&abs(Leg2_TPC_nSigma_Pions)>2");
567 c->SetAlias("cutPi","Leg1_TPC_signal>67&&Leg2_TPC_signal>67");
568 c->SetAlias("cutP","abs(Leg1_TPC_nSigma_Protons)>2&&abs(Leg2_TPC_nSigma_Protons)>2");
569 c->SetAlias("cutK","abs(Leg1_TPC_nSigma_Kaons)>2&&abs(Leg2_TPC_nSigma_Kaons)>2");
572 c->SetAlias("pid","cutE&&cutPi&&cutP&&cutK");
573 c->SetAlias("cutAdd","PairType==1&&abs(Leg1_ImpactParXY)<.03&&abs(Leg2_ImpactParXY)<.03&&Leg2_Pt>1")
574 c->SetAlias("cut","cutAdd&&pid")
576 c->Draw("M>>hM(50,1.99,3.99)","cut","e");
578 sig.Draw("samestat");
581 c->SetAlias("cut","PairType==1")
582 c->Draw("Leg1_TPC_signal:Leg1_P_InnerParam>>sigTPC","cut","colz")
583 c->Draw("Leg2_TPC_signal:Leg2_P_InnerParam>>+sigTPC","cut","colz")
586 c->SetAlias("cutE","abs(Leg1_TPC_nSigma_Electrons)<2&&abs(Leg2_TPC_nSigma_Electrons)<2");
587 c->SetAlias("cutPi","abs(Leg1_TPC_nSigma_Pions)>2&&abs(Leg2_TPC_nSigma_Pions)>2");
588 c->SetAlias("cutPi2","Leg1_TPC_signal>65&&Leg2_TPC_signal>65");
589 c->SetAlias("cutPi3","abs(Leg1_TPC_nSigma_Pions)>2.5&&abs(Leg2_TPC_nSigma_Pions)>2.5");
590 c->SetAlias("cutP","abs(Leg1_TPC_nSigma_Protons)>2&&abs(Leg2_TPC_nSigma_Protons)>2");
591 c->SetAlias("cutP2","abs(Leg1_TPC_nSigma_Protons)>1.5&&abs(Leg2_TPC_nSigma_Protons)>1.5");
592 c->SetAlias("cutK","abs(Leg1_TPC_nSigma_Kaons)>2&&abs(Leg2_TPC_nSigma_Kaons)>2");
593 c->SetAlias("cutdXY","abs(Leg1_ImpactParXY)<.02&&abs(Leg2_ImpactParXY)<.02")
594 c->SetAlias("cutPt","Leg2_Pt>1.")
595 c->SetAlias("cutPt2","Leg2_Pt>1.2")
598 c->SetMarkerSize(0.7);
600 c->SetMarkerStyle(20);
601 c->SetLineColor(kRed);
602 c->SetMarkerColor(kRed);
603 c->Draw("M>>hM(100,2,4)","cutPi&&cutPt","e");
605 c->SetMarkerStyle(21);
606 c->SetLineColor(kRed-1);
607 c->SetMarkerColor(kRed-2);
608 c->Draw("M>>hM2(100,2,4)","cutPi2&&cutPt","esame");
610 c->SetMarkerStyle(22);
611 c->SetLineColor(kRed-2);
612 c->SetMarkerColor(kRed-2);
613 c->Draw("M>>hM3(100,2,4)","cutPi3&&cutPt","esame");
616 c->SetMarkerStyle(20);
617 c->SetLineColor(kBlue);
618 c->SetMarkerColor(kBlue);
619 c->Draw("M>>hM4(100,2,4)","cutPi&&cutPt&&cutP","esame");
621 c->SetMarkerStyle(21);
622 c->SetLineColor(kBlue-1);
623 c->SetMarkerColor(kBlue-1);
624 c->Draw("M>>hM5(100,2,4)","cutPi2&&cutPt&&cutP","esame");
626 c->SetMarkerStyle(22);
627 c->SetLineColor(kBlue-2);
628 c->SetMarkerColor(kBlue-2);
629 c->Draw("M>>hM6(100,2,4)","cutPi3&&cutPt&&cutP","esame");
633 c->SetMarkerStyle(20);
634 c->SetLineColor(kGreen);
635 c->SetMarkerColor(kGreen);
636 c->Draw("M>>hM7(100,2,4)","cutPi&&cutPt&&cutP2","esame");
638 c->SetMarkerStyle(21);
639 c->SetLineColor(kGreen-1);
640 c->SetMarkerColor(kGreen-1);
641 c->Draw("M>>hM8(100,2,4)","cutPi2&&cutPt&&cutP2","esame");
643 c->SetMarkerStyle(22);
644 c->SetLineColor(kGreen-2);
645 c->SetMarkerColor(kGreen-2);
646 c->Draw("M>>hM9(100,2,4)","cutPi3&&cutPt&&cutP2","esame");
651 c->SetMarkerStyle(20);
652 c->SetLineColor(kMagentha);
653 c->SetMarkerColor(kMagentha);
654 c->Draw("M>>hM7(100,2,4)","cutPi&&cutPt&&cutP2","esame");
656 c->SetMarkerStyle(21);
657 c->SetLineColor(kMagentha-1);
658 c->SetMarkerColor(kMagentha-1);
659 c->Draw("M>>hM8(100,2,4)","cutPi2&&cutPt&&cutP2","esame");
661 c->SetMarkerStyle(22);
662 c->SetLineColor(kMagentha-2);
663 c->SetMarkerColor(kMagentha-2);
664 c->Draw("M>>hM9(100,2,4)","cutPi3&&cutPt&&cutP2","esame");
667 c->SetLineColor(kBlack);
668 c->SetMarkerColor(kBlue);
669 c->Draw("M>>hM4(100,2,4)","cutE&&cutPi&&cutK&&cutP&&cutdXY&&cutPt","esame");
675 c->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");
677 c->SetAlias("cutP","abs(Leg1_TPC_nSigma_Protons)>3&&abs(Leg2_TPC_nSigma_Protons)>3")
679 c->SetAlias("cutAdd","PairType==1&&abs(Leg1_ImpactParXY)<.03&&abs(Leg2_ImpactParXY)<.03&&Leg2_Pt>0")
680 c->SetAlias("cut","Leg2_Pt>1&&cutE&&cutP")
682 c->Draw("M>>hM(50,1.99,3.99)","cut","e");
684 c->SetAlias("cutAdd","PairType==1&&abs(Leg1_ImpactParXY)<.03&&abs(Leg2_ImpactParXY)<.03&&Leg2_Pt>.8")
685 c->Draw("M>>hM2(50,1.99,3.99)","cut","esame");
687 c->SetAlias("cutAdd","PairType==1&&abs(Leg1_ImpactParXY)<.03&&abs(Leg2_ImpactParXY)<.03&&Leg2_Pt>1")
688 c->Draw("M>>hM3(50,1.99,3.99)","cut","esame");
690 c->SetAlias("cutAdd","PairType==1&&abs(Leg1_ImpactParXY)<.03&&abs(Leg2_ImpactParXY)<.03&&Leg2_Pt>1.2")
691 c->Draw("M>>hM4(50,1.99,3.99)","cut","esame");
694 c->Draw("Leg1_TPC_signal:Leg1_P_InnerParam>>sigTPC","cut","goff")
695 c->Draw("Leg2_TPC_signal:Leg2_P_InnerParam>>+sigTPC","cut","goff")
696 c1->Modified();c1->Update()
699 c->SetAlias("cutE","Leg1_TPC_nSigma_Electrons>-1.5&&Leg2_TPC_nSigma_Electrons>-1.5");
700 c->SetAlias("cut","Leg2_P_InnerParam>1.5&&cutE")
701 c->SetMarkerStyle(21);
702 c->Draw("M>>hM(50,1.99,3.99)","cut","e");
704 c->SetAlias("cutE","Leg1_TPC_nSigma_Electrons>-1.5+.8&&Leg2_TPC_nSigma_Electrons>-1.5+.8");
705 c->SetAlias("cut","Leg2_P_InnerParam>1.5&&cutE")
706 c->SetMarkerStyle(20);
707 c->SetMarkerColor(kRed);
708 c->Draw("M>>hM3(50,1.99,3.99)","cut","esame");
713 //=================== pass 1 pass 2 comparison =======================
716 //------ cuts ------------
719 c->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");
721 c->SetAlias("Pcut","Leg1_P_InnerParam>1.3&&Leg2_P_InnerParam>1.3")
722 c->SetAlias("Ptcut","Leg1_Pt>1&&Leg2_Pt>1")
723 c->SetAlias("TOFcut","abs(Leg1_TOF_nSigma_Electrons)<3&&abs(Leg2_TOF_nSigma_Electrons)<3");
724 c->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)");
725 c->SetAlias("TPCcut","(Leg1_TPC_signal>70*(1-exp(-1*(Leg1_P_InnerParam+2))))&&(Leg2_TPC_signal>70*(1-exp(-1*(Leg2_P_InnerParam+2))))")
726 c->SetAlias("NClcut","Leg1_NclsTPC>120&&Leg2_NclsTPC>120");
728 c->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)")
729 c->SetAlias("cut","PairType==1&&eleParam&&Run<127719")
730 c->SetAlias("cut","1==1")
731 c->SetAlias("cut","NClcut")
733 c->SetAlias("cut","TOFcut&&TPCcut&&NClcut")
735 c->SetAlias("cut","TOFcut2&&TPCcut&&NClcut")
737 c->SetAlias("cut","cutPro&&TPCcut&&NClcut")
739 c->SetAlias("cut","Pcut&&TPCcut&&NClcut")
741 c->SetAlias("cut","Ptcut&&TPCcut&&NClcut")
745 //------------ plots --------------
748 c->SetAlias("cut","1==1")
751 c->SetLineColor(kBlack);
752 c->Draw("M>>hM(50,1.99,3.99)","cut","e");
753 hM->SetTitle(";Inv. Mass [GeV]; Pair (e+e-) / 40GeV")
756 c1->Print("pics/M_noCut.png");
761 c->SetAlias("cut","1==1")
764 gStyle->SetOptStat(0);
765 c->Draw("Leg1_NclsTPC:Leg1_TPC_signal:Leg1_P_InnerParam>>test(1000,0,40,200,60,100)","cut","profcolz")
766 c->Draw("Leg2_NclsTPC:Leg2_TPC_signal:Leg2_P_InnerParam>>+test","cut","profcolz")
768 test->SetTitle("mean TPC number of clusters;P_{TPC} [GeV]; TPC signal [arb. units]")
771 c1->Print("pics/TPCnCl_P.png");
776 c->SetAlias("cut","NClcut")
777 c->Draw("Leg1_NclsTPC:Leg1_TPC_signal:Leg1_P_InnerParam>>test(1000,0,40,200,60,100)","cut","profcolz")
778 c->Draw("Leg2_NclsTPC:Leg2_TPC_signal:Leg2_P_InnerParam>>+test","cut","profcolz")
780 test->SetTitle("mean TPC number of clusters;P_{TPC} [GeV]; TPC signal [arb. units]")
783 c1->Print("pics/TPCnCl_P_cutNcl.png");
787 //tpc signal + signal cut
792 h.GetHistogram("TPCsignal","sigTPC")->GetYaxis()->SetRangeUser(60,100);
793 c->SetAlias("cut","NClcut")
794 c->Draw("Leg1_TPC_signal:Leg1_P_InnerParam>>sigTPC","cut","colz")
795 c->Draw("Leg2_TPC_signal:Leg2_P_InnerParam>>+sigTPC","cut","colz")
796 TF1 f("f1","[0]*(1-exp(-[1]*(x-[2])))",0.3,40);
797 f.SetParameters(70,1,-2);
801 c1->Print("pics/TPCsignal_P_cutNcl.png");
808 c->SetAlias("cut","1==1")
809 c->SetLineColor(kBlack);
810 c->SetMarkerColor(kBlack);
811 c->Draw("M>>hM(50,1.99,3.99)","cut","e");
812 hM->SetTitle(";Inv. Mass [GeV]; Pair (e+e-) / 40GeV")
814 c->SetAlias("cut","NClcut")
815 c->SetLineColor(kRed);
816 c->SetMarkerColor(kRed);
817 c->Draw("M>>hM2(50,1.99,3.99)","cut","esame");
820 c1->Print("pics/M_nClCut.png");
824 //tpc signal: ncl + tpc cut
829 c->SetAlias("cut","TPCcut&&NClcut")
830 c->Draw("Leg1_TPC_signal:Leg1_P_InnerParam>>sigTPC","cut","colz")
831 c->Draw("Leg2_TPC_signal:Leg2_P_InnerParam>>+sigTPC","cut","colz")
834 c1->Print("pics/TPCsignal_P_cutNcl_tpc.png");
841 c->SetAlias("cut","1==1")
842 c->SetLineColor(kBlack);
843 c->SetMarkerColor(kBlack);
844 c->Draw("M>>hM(50,1.99,3.99)","cut","e");
845 hM->SetTitle(";Inv. Mass [GeV]; Pair (e+e-) / 40GeV")
847 c->SetAlias("cut","NClcut")
848 c->SetLineColor(kRed);
849 c->SetMarkerColor(kRed);
850 c->Draw("M>>hM2(50,1.99,3.99)","cut","esame");
851 c->SetAlias("cut","TPCcut&&NClcut")
852 c->SetLineColor(kGreen);
853 c->SetMarkerColor(kGreen);
854 c->Draw("M>>hM3(50,1.99,3.99)","cut","esame");
857 c1->Print("pics/M_nClCut_tpc.png");
861 //TPC signal: ncl + tpc + tof cut
866 c->SetAlias("cut","TOFcut2&&TPCcut&&NClcut")
867 c->Draw("Leg1_TPC_signal:Leg1_P_InnerParam>>sigTPC","cut","colz")
868 c->Draw("Leg2_TPC_signal:Leg2_P_InnerParam>>+sigTPC","cut","colz")
871 c1->Print("pics/TPCsignal_P_cutNcl_tpc.png");
878 c->SetAlias("cut","1==1")
879 c->SetAlias("cut","TPCcut&&NClcut")
880 c->SetLineColor(kGreen);
881 c->Draw("M>>hM(50,1.99,3.99)","cut","e");
882 hM->SetTitle(";Inv. Mass [GeV]; Pair (e+e-) / 40GeV")
884 c->SetAlias("cut","TOFcut2&&TPCcut&&NClcut")
885 c->SetLineColor(kBlue);
886 c->Draw("M>>hM2(50,1.99,3.99)","cut","esame");
889 c1->Print("pics/M_nClCut_tpc.png");
892 //Inv Mass: different cuts
898 c->SetAlias("cut","Ptcut&&TPCcut&&NClcut")
899 c->SetLineColor(kMagenta);
900 c->SetMarkerColor(kMagenta);
901 c->SetMarkerStyle(22);
902 c->Draw("M>>hM(50,1.99,3.99)","cut","e");
904 c->SetAlias("cut","Pcut&&TPCcut&&NClcut")
905 c->SetLineColor(kCyan+1);
906 c->SetMarkerColor(kCyan+1);
907 c->SetMarkerStyle(21);
908 c->Draw("M>>hM2(50,1.99,3.99)","cut","esame");
910 c->SetAlias("cut","TOFcut2&&TPCcut&&NClcut")
911 c->SetMarkerStyle(20);
912 c->SetLineColor(kBlue);
913 c->SetMarkerColor(kBlue);
914 c->Draw("M>>hM3(50,1.99,3.99)","cut","esame");
918 c1->Print("pics/M_nClCut_tpc_tof.png");