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;
211 alephParameters[0] = 0.0283086/0.97;
212 //alephParameters[0] = 0.0283086;
213 alephParameters[1] = 2.63394e+01;
214 alephParameters[2] = 5.04114e-11;
215 alephParameters[3] = 2.12543e+00;
216 alephParameters[4] = 4.88663e+00;
219 TF1 *foDataProton = new TF1("foDataProton", "50*AliExternalTrackParam::BetheBlochAleph(x/0.93827,[0],[1],[2],[3],[4])",0.05,20);
220 TF1 *foDataProtonP = new TF1("foDataProtonP",Form( "50*AliExternalTrackParam::BetheBlochAleph(x/0.93827,[0],[1],[2],[3],[4])*(1+%f)",3*res),0.05,20);
221 TF1 *foDataProtonM = new TF1("foDataProtonM", Form("50*AliExternalTrackParam::BetheBlochAleph(x/0.93827,[0],[1],[2],[3],[4])*(1-%f)",res),0.05,20);
223 TF1 *foDataPion = new TF1("foDataPion", "50*AliExternalTrackParam::BetheBlochAleph(x/0.13957,[0],[1],[2],[3],[4])",0.05,20);
224 TF1 *foDataPionP = new TF1("foDataPionP",Form( "50*AliExternalTrackParam::BetheBlochAleph(x/0.13957,[0],[1],[2],[3],[4])*(1+%f)",res),0.05,20);
225 TF1 *foDataPionM = new TF1("foDataPionM", Form("50*AliExternalTrackParam::BetheBlochAleph(x/0.93827,[0],[1],[2],[3],[4])*(1-%f)",res),0.05,20);
227 TF1 *foDataElec = new TF1("foDataElec", "50*AliExternalTrackParam::BetheBlochAleph(x/0.000511,[0],[1],[2],[3],[4])",0.05,20);
228 TF1 *foDataElecP = new TF1("foDataElecP",Form( "50*AliExternalTrackParam::BetheBlochAleph(x/0.93827,[0],[1],[2],[3],[4])*(1+%f)",res),0.05,20);
229 TF1 *foDataElecM = new TF1("foDataElecM", Form("50*AliExternalTrackParam::BetheBlochAleph(x/0.93827,[0],[1],[2],[3],[4])*(1-%f)",res),0.05,20);
231 TF1 *foDataKaon = new TF1("foDataKaon", "50*AliExternalTrackParam::BetheBlochAleph(x/0.493677,[0],[1],[2],[3],[4])",0.05,20);
232 TF1 *foDataKaonP = new TF1("foDataKaonP",Form( "50*AliExternalTrackParam::BetheBlochAleph(x/0.93827,[0],[1],[2],[3],[4])*(1+%f)",res),0.05,20);
233 TF1 *foDataKaonM = new TF1("foDataKaonM", Form("50*AliExternalTrackParam::BetheBlochAleph(x/0.93827,[0],[1],[2],[3],[4])*(1-%f)",res),0.05,20);
235 TF1 *foDataMuon = new TF1("foDataMuon", "50*AliExternalTrackParam::BetheBlochAleph(x/0.105658,[0],[1],[2],[3],[4])",0.05,20);
236 TF1 *foDataMuonP = new TF1("foDataMuonP",Form( "50*AliExternalTrackParam::BetheBlochAleph(x/0.93827,[0],[1],[2],[3],[4])*(1+%f)",res),0.05,20);
237 TF1 *foDataMuonM = new TF1("foDataMuonM", Form("50*AliExternalTrackParam::BetheBlochAleph(x/0.93827,[0],[1],[2],[3],[4])*(1-%f)",res),0.05,20);
240 foDataProton->SetParameters(alephParameters);
241 foDataProtonP->SetParameters(alephParameters);
242 foDataProtonM->SetParameters(alephParameters);
243 foDataPion->SetParameters(alephParameters);
244 foDataPionP->SetParameters(alephParameters);
245 foDataPionM->SetParameters(alephParameters);
246 foDataElec->SetParameters(alephParameters);
247 foDataElecP->SetParameters(alephParameters);
248 foDataElecM->SetParameters(alephParameters);
249 foDataKaon->SetParameters(alephParameters);
250 foDataKaonP->SetParameters(alephParameters);
251 foDataKaonM->SetParameters(alephParameters);
252 foDataMuon->SetParameters(alephParameters);
253 foDataMuonP->SetParameters(alephParameters);
254 foDataMuonM->SetParameters(alephParameters);
256 foDataProton->SetLineColor(color);
257 foDataProtonP->SetLineColor(color-4);
258 foDataProtonM->SetLineColor(color-4);
259 foDataPion->SetLineColor(color);
260 foDataPionP->SetLineColor(color-4);
261 foDataPionM->SetLineColor(color-4);
262 foDataElec->SetLineColor(color);
263 foDataElecP->SetLineColor(color-4);
264 foDataElecM->SetLineColor(color-4);
265 foDataKaon->SetLineColor(color);
266 foDataKaonP->SetLineColor(color-4);
267 foDataKaonM->SetLineColor(color-4);
268 foDataMuon->SetLineColor(color);
269 foDataMuonP->SetLineColor(color-4);
270 foDataMuonM->SetLineColor(color-4);
273 foDataProton->SetLineWidth(lineWidth);
274 foDataProtonP->SetLineWidth(lineWidth);
275 foDataProtonM->SetLineWidth(lineWidth);
276 foDataPion->SetLineWidth(lineWidth);
277 foDataPionP->SetLineWidth(lineWidth);
278 foDataPionM->SetLineWidth(lineWidth);
279 foDataElec->SetLineWidth(lineWidth);
280 foDataElecP->SetLineWidth(lineWidth);
281 foDataElecM->SetLineWidth(lineWidth);
282 foDataKaon->SetLineWidth(lineWidth);
283 foDataKaonP->SetLineWidth(lineWidth);
284 foDataKaonM->SetLineWidth(lineWidth);
285 foDataMuon->SetLineWidth(lineWidth);
286 foDataMuonP->SetLineWidth(lineWidth);
287 foDataMuonM->SetLineWidth(lineWidth);
290 foDataProtonP->SetLineStyle(2);
291 foDataProtonM->SetLineStyle(2);
292 foDataPionP->SetLineStyle(2);
293 foDataPionM->SetLineStyle(2);
294 foDataElecP->SetLineStyle(2);
295 foDataElecM->SetLineStyle(2);
296 foDataKaonP->SetLineStyle(2);
297 foDataKaonM->SetLineStyle(2);
298 foDataMuonP->SetLineStyle(2);
299 foDataMuonM->SetLineStyle(2);
302 foDataProton->SetNpx(200);
303 foDataProtonP->SetNpx(200);
304 foDataProtonM->SetNpx(200);
305 foDataPion->SetNpx(200);
306 foDataPionP->SetNpx(200);
307 foDataPionM->SetNpx(200);
308 foDataElec->SetNpx(200);
309 foDataKaon->SetNpx(200);
310 foDataMuon->SetNpx(200);
312 foDataProton->Draw("same");
313 foDataProtonP->Draw("same");
314 foDataProtonM->Draw("same");
315 foDataPion->Draw("same");
316 foDataElec->Draw("same");
317 foDataKaon->Draw("same");
318 foDataMuon->Draw("same");
326 Int_t baseColors[5]={kRed, kGreen+1, kAzure-4, kMagenta, kCyan+1};
327 Int_t sigmaColorOffset=1;
329 Int_t baseColors[5]={kRed, kGreen+1, kAzure-4, kMagenta, kCyan+1};
330 Int_t sigmaColorOffset=0;
331 Int_t baseColors[5]={kRed, kRed, kRed, kRed, kRed};
333 Double_t sigmas[5]={3,3,3,3,3};
336 for (Int_t i=0; i<AliPID::kSPECIES; ++i) masses[i]=AliPID::ParticleMass(i);
339 Double_t alephParameters[5];
341 alephParameters[0] = 0.0283086;
342 alephParameters[1] = 2.63394e+01;
343 alephParameters[2] = 5.04114e-11;
344 alephParameters[3] = 2.12543e+00;
345 alephParameters[4] = 4.88663e+00;
355 for (Int_t i=0; i<5; ++i){
356 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);
357 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);
358 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);
360 fBethe[i]->SetParameters(alephParameters);
361 fBetheP[i]->SetParameters(alephParameters);
362 fBetheM[i]->SetParameters(alephParameters);
364 fBethe[i]->SetLineColor(baseColors[i]);
365 fBetheP[i]->SetLineColor(baseColors[i]-sigmaColorOffset);
366 fBetheM[i]->SetLineColor(baseColors[i]-sigmaColorOffset);
368 fBethe[i]->SetLineWidth(lineWidth);
369 fBetheP[i]->SetLineWidth(lineWidth);
370 fBetheM[i]->SetLineWidth(lineWidth);
372 fBetheP[i]->SetLineStyle(2);
373 fBetheM[i]->SetLineStyle(2);
375 fBethe[i]->SetNpx(200);
376 fBetheP[i]->SetNpx(200);
377 fBetheM[i]->SetNpx(200);
380 for (Int_t i=0; i<5; ++i){
381 fBethe[i]->Draw("same");
382 // fBetheP[i]->Draw("same");
383 // fBetheM[i]->Draw("same");
392 Double_t resolution=0.052;
394 TF1 *ffPio=new TF1(Form("fBethe%d",AliPID::kPion), Form("(%f*%f+(AliExternalTrackParam::BetheBlochAleph(x/%f,[0],[1],[2],[3],[4])-AliExternalTrackParam::BetheBlochAleph(x/%f,[0],[1],[2],[3],[4])))/%f", nSigma,resolution, AliPID::ParticleMass(AliPID::kPion), AliPID::ParticleMass(AliPID::kElectron), resolution), 0.05,200.);
395 ffPio->SetParameters(0.0283086/0.97,2.63394e+01,5.04114e-11,2.12543e+00,4.88663e+00);
398 TF1 f("fP","-8*exp(-0.6*x)",0,40);
408 c->SetAlias("cut","PairType==1")
411 c->SetAlias("nCls","Leg1_NclsTPC>90&&Leg2_NclsTPC>90");
416 c->SetAlias("cutE","abs(Leg1_TPC_nSigma_Electrons)<3&&abs(Leg2_TPC_nSigma_Electrons)<3");
417 c->SetAlias("cutE","Leg1_TPC_nSigma_Electrons>-1 && Leg2_TPC_nSigma_Electrons>-1");
418 c->SetAlias("cutPi","abs(Leg1_TPC_nSigma_Pions)>3&&abs(Leg2_TPC_nSigma_Pions)>3");
419 c->SetAlias("cutP","(Leg1_TPC_nSigma_Protons)>3.&&(Leg2_TPC_nSigma_Protons)>3.");
420 c->SetAlias("pidSig","cutE&&cutPi&&cutP");
423 // 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>-8*exp(-0.6*Leg2_P_InnerParam)");
424 c->SetAlias("eleParam","Leg1_TPC_nSigma_Electrons<5&&Leg2_TPC_nSigma_Electrons<5&&Leg1_TPC_nSigma_Electrons>-6*exp(-0.6*Leg1_P_InnerParam)&&Leg2_TPC_nSigma_Electrons>-6*exp(-0.6*Leg2_P_InnerParam)");
425 c->SetAlias("pidParam","eleParam&&cutP");
429 c->SetAlias("LegEta","abs(Leg1_Eta)<0.9&&abs(Leg2_Eta<0.9)");
430 c->SetAlias("Rap","abs(Y)<0.9");
431 c->SetAlias("QA","LegNcl&&LegEta&&Rap");
432 c->SetAlias("spdFirst","(Leg1_ITS_clusterMap&1)==1 && (Leg2_ITS_clusterMap&1)==1");
435 c->SetAlias("cut","PairType==1&&nCls&&pidSig&&LegEta&&Rap")
437 c->SetMarkerStyle(20);
438 c->SetMarkerSize(.8);
439 c->SetMarkerColor(kBlack);
440 c->SetLineColor(kBlack);
442 // c->SetAlias("nCls","Leg1_NclsTPC>120&&Leg2_NclsTPC>120");
443 c->Draw("M>>hM(50,2,4)","cut","e");
445 c->SetMarkerColor(kBlue);
446 c->SetLineColor(kBlue);
447 c->SetAlias("cut","PairType==1&&nCls&&pidParam&&LegEta&&Rap")
448 // c->SetAlias("nCls","Leg1_NclsTPC>140&&Leg2_NclsTPC>140");
449 c->Draw("M>>hM2(50,2,4)","cut","esame");
451 c->SetMarkerColor(kGreen);
452 c->SetLineColor(kGreen);
453 c->SetAlias("nCls","Leg1_NclsTPC>150&&Leg2_NclsTPC>150");
454 c->Draw("M>>hM3(50,2,4)","cut","esame");
459 c->SetAlias("cut","PairType==1&&nCls&&LegEta&&Rap")
461 AliDielectronHistos h("h","h");
462 h.AddClass("TPCsignal");
463 h.UserHistogram("TPCsignal","sigTPC","TPC signal;P [GeV];TPC signal [arb. Units]",400,.3,40,400,0.,200.,0,0,kTRUE,kFALSE)
464 h.GetHistogram("TPCsignal","sigTPC")->SetDirectory(gDirectory)
466 h.UserHistogram("TPCsignal","nSigE","TPC n #sigma Electrons;P [GeV];TPC n #sigma Electrons",200,.3,40.,100,-10.,10.,0,0,kTRUE,kFALSE)
467 h.GetHistogram("TPCsignal","nSigE")->SetDirectory(gDirectory)
468 h.UserHistogram("TPCsignal","nSigMu","TPC n #sigma Muons;P [GeV];TPC n #sigma Muons",400,.3,40.,500,-10.,10.,0,0,kTRUE,kFALSE)
469 h.GetHistogram("TPCsignal","nSigMu")->SetDirectory(gDirectory)
470 h.UserHistogram("TPCsignal","nSigPi","TPC n #sigma Pions;P [GeV];TPC n #sigma Pions",400,.3,40.,500,-10.,10.,0,0,kTRUE,kFALSE)
471 h.GetHistogram("TPCsignal","nSigPi")->SetDirectory(gDirectory)
472 h.UserHistogram("TPCsignal","nSigK","TPC n #sigma Kaons;P [GeV];TPC n #sigma Kaons",400,.3,40,500,-10,10,0,0,kTRUE,kFALSE)
473 h.GetHistogram("TPCsignal","nSigK")->SetDirectory(gDirectory)
474 h.UserHistogram("TPCsignal","nSigP","TPC n #sigma Protons;P [GeV];TPC n #sigma Protons",400,.3,40.,500,-10,10.,0,0,kTRUE,kFALSE)
475 h.GetHistogram("TPCsignal","nSigP")->SetDirectory(gDirectory)
478 c->Draw("Leg1_TPC_signal:Leg1_P_InnerParam>>sigTPC","cut","colz")
479 c->Draw("Leg2_TPC_signal:Leg2_P_InnerParam>>+sigTPC","cut","colz")
482 c->Draw("Leg1_TPC_nSigma_Electrons:Leg1_P_InnerParam>>nSigE","cut","colz")
483 c->Draw("Leg2_TPC_nSigma_Electrons:Leg2_P_InnerParam>>+nSigE","cut","colz")
485 c->Draw("Leg1_TPC_nSigma_Muos:Leg1_P_InnerParam>>nSigMu","cut","goff")
486 c->Draw("Leg2_TPC_nSigma_Muons:Leg1_P_InnerParam>>nSigMu","cut","goff")
487 c->Draw("Leg2_TPC_nSigma_Muons:Leg2_P_InnerParam>>+nSigMu","cut","colz")
489 c->Draw("Leg1_TPC_nSigma_Pions:Leg1_P_InnerParam>>nSigPi","cut","goff")
490 c->Draw("Leg2_TPC_nSigma_Pions:Leg2_P_InnerParam>>+nSigPi","cut","colz")
492 c->Draw("Leg1_TPC_nSigma_Kaons:Leg1_P_InnerParam>>nSigK","cut","goff")
493 c->Draw("Leg2_TPC_nSigma_Kaons:Leg2_P_InnerParam>>+nSigK","cut","colz")
495 c->Draw("Leg1_TPC_nSigma_Protons+.5:Leg1_P_InnerParam>>nSigP","cut","goff")
496 c->Draw("Leg2_TPC_nSigma_Protons+.5:Leg2_P_InnerParam>>+nSigP","cut","colz")
500 c->Draw("Leg1_TOF_nSigma_Electrons:Leg1_P_InnerParam>>nSigE","cut","colz")
501 c->Draw("Leg2_TOF_nSigma_Electrons:Leg2_P_InnerParam>>+nSigE","cut","colz")
504 c->Draw("Leg1_TOF_nSigma_Protons:Leg1_P_InnerParam>>nSigP","cut","goff")
505 c->Draw("Leg2_TOF_nSigma_Protons:Leg2_P_InnerParam>>+nSigP","cut","colz")
508 Pair->SetScanField(0)
509 Pair->Scan("EventInFile:File.GetString()","","colsize=1 col=3.d:100.s")
512 AliDielectronSignalFunc sig;
518 c->SetAlias("cutE","abs(Leg1_TPC_nSigma_Electrons)<3&&abs(Leg2_TPC_nSigma_Electrons)<3");
519 c->SetAlias("cutPi","abs(Leg1_TPC_nSigma_Pions)>5&&abs(Leg2_TPC_nSigma_Pions)>5");
520 // c->SetAlias("cutPi","Leg1_TPC_signal>65&&Leg2_TPC_signal>65");
521 c->SetAlias("cutP","(Leg1_TPC_nSigma_Protons)>5&&(Leg2_TPC_nSigma_Protons)>5");
522 c->SetAlias("cutK","abs(Leg1_TPC_nSigma_Kaons)>2&&abs(Leg2_TPC_nSigma_Kaons)>2");
523 c->SetAlias("pid","cutE&&cutPi&&cutP");
524 c->SetAlias("etaLeg","abs(Leg1_Eta)<.9&&abs(Leg2_Eta)<.9");
525 c->SetAlias("rap","abs(Y)<.9");
528 c->SetAlias("cutAdd","PairType==1&&abs(Leg1_ImpactParXY)<.02&&abs(Leg2_ImpactParXY)<.02&&Leg2_Pt>1.")
529 c->Draw("M>>hM(50,2,4)","PairType==1&&pid","e");
534 sig.Draw("samestat");
540 c->SetAlias("cutAdd","PairType==1&&abs(Leg1_ImpactParXY)<.03&&abs(Leg2_ImpactParXY)<.03&&Leg2_Pt>1")
541 c->SetAlias("cut","cutAdd&&pid&etaLeg&&rap")
543 c->Draw("M>>hM(50,1.99,3.99)","cut","e");
545 sig.Draw("samestat");
548 c->SetAlias("cut","PairType==1")
549 c->Draw("Leg1_TPC_signal:Leg1_P_InnerParam>>sigTPC","cut","colz")
550 c->Draw("Leg2_TPC_signal:Leg2_P_InnerParam>>+sigTPC","cut","colz")
553 c->SetAlias("cutE","abs(Leg1_TPC_nSigma_Electrons)<2&&abs(Leg2_TPC_nSigma_Electrons)<2");
554 c->SetAlias("cutPi","abs(Leg1_TPC_nSigma_Pions)>2&&abs(Leg2_TPC_nSigma_Pions)>2");
555 c->SetAlias("cutPi2","Leg1_TPC_signal>65&&Leg2_TPC_signal>65");
556 c->SetAlias("cutPi3","abs(Leg1_TPC_nSigma_Pions)>2.5&&abs(Leg2_TPC_nSigma_Pions)>2.5");
557 c->SetAlias("cutP","abs(Leg1_TPC_nSigma_Protons)>2&&abs(Leg2_TPC_nSigma_Protons)>2");
558 c->SetAlias("cutP2","abs(Leg1_TPC_nSigma_Protons)>1.5&&abs(Leg2_TPC_nSigma_Protons)>1.5");
559 c->SetAlias("cutK","abs(Leg1_TPC_nSigma_Kaons)>2&&abs(Leg2_TPC_nSigma_Kaons)>2");
560 c->SetAlias("cutdXY","abs(Leg1_ImpactParXY)<.02&&abs(Leg2_ImpactParXY)<.02")
561 c->SetAlias("cutPt","Leg2_Pt>1.")
562 c->SetAlias("cutPt2","Leg2_Pt>1.2")
565 c->SetMarkerSize(0.7);
567 c->SetMarkerStyle(20);
568 c->SetLineColor(kRed);
569 c->SetMarkerColor(kRed);
570 c->Draw("M>>hM(100,2,4)","cutPi&&cutPt","e");
572 c->SetMarkerStyle(21);
573 c->SetLineColor(kRed-1);
574 c->SetMarkerColor(kRed-2);
575 c->Draw("M>>hM2(100,2,4)","cutPi2&&cutPt","esame");
577 c->SetMarkerStyle(22);
578 c->SetLineColor(kRed-2);
579 c->SetMarkerColor(kRed-2);
580 c->Draw("M>>hM3(100,2,4)","cutPi3&&cutPt","esame");
583 c->SetMarkerStyle(20);
584 c->SetLineColor(kBlue);
585 c->SetMarkerColor(kBlue);
586 c->Draw("M>>hM4(100,2,4)","cutPi&&cutPt&&cutP","esame");
588 c->SetMarkerStyle(21);
589 c->SetLineColor(kBlue-1);
590 c->SetMarkerColor(kBlue-1);
591 c->Draw("M>>hM5(100,2,4)","cutPi2&&cutPt&&cutP","esame");
593 c->SetMarkerStyle(22);
594 c->SetLineColor(kBlue-2);
595 c->SetMarkerColor(kBlue-2);
596 c->Draw("M>>hM6(100,2,4)","cutPi3&&cutPt&&cutP","esame");
600 c->SetMarkerStyle(20);
601 c->SetLineColor(kGreen);
602 c->SetMarkerColor(kGreen);
603 c->Draw("M>>hM7(100,2,4)","cutPi&&cutPt&&cutP2","esame");
605 c->SetMarkerStyle(21);
606 c->SetLineColor(kGreen-1);
607 c->SetMarkerColor(kGreen-1);
608 c->Draw("M>>hM8(100,2,4)","cutPi2&&cutPt&&cutP2","esame");
610 c->SetMarkerStyle(22);
611 c->SetLineColor(kGreen-2);
612 c->SetMarkerColor(kGreen-2);
613 c->Draw("M>>hM9(100,2,4)","cutPi3&&cutPt&&cutP2","esame");
618 c->SetMarkerStyle(20);
619 c->SetLineColor(kMagentha);
620 c->SetMarkerColor(kMagentha);
621 c->Draw("M>>hM7(100,2,4)","cutPi&&cutPt&&cutP2","esame");
623 c->SetMarkerStyle(21);
624 c->SetLineColor(kMagentha-1);
625 c->SetMarkerColor(kMagentha-1);
626 c->Draw("M>>hM8(100,2,4)","cutPi2&&cutPt&&cutP2","esame");
628 c->SetMarkerStyle(22);
629 c->SetLineColor(kMagentha-2);
630 c->SetMarkerColor(kMagentha-2);
631 c->Draw("M>>hM9(100,2,4)","cutPi3&&cutPt&&cutP2","esame");
634 c->SetLineColor(kBlack);
635 c->SetMarkerColor(kBlue);
636 c->Draw("M>>hM4(100,2,4)","cutE&&cutPi&&cutK&&cutP&&cutdXY&&cutPt","esame");
642 c->SetAlias("cutE","Leg1_TPC_nSigma_Electrons>-1.5&&Leg2_TPC_nSigma_Electrons>-1.5");
643 // c->SetAlias("cutE","Leg1_TPC_signal>60&&Leg2_TPC_signal>60");
644 c->SetAlias("cutP","abs(Leg1_TPC_nSigma_Protons)>3&&abs(Leg2_TPC_nSigma_Protons)>3")
646 c->SetAlias("cutAdd","PairType==1&&abs(Leg1_ImpactParXY)<.03&&abs(Leg2_ImpactParXY)<.03&&Leg2_Pt>0")
647 c->SetAlias("cut","Leg2_Pt>1&&cutE&&cutP")
649 c->Draw("M>>hM(50,1.99,3.99)","cut","e");
651 c->SetAlias("cutAdd","PairType==1&&abs(Leg1_ImpactParXY)<.03&&abs(Leg2_ImpactParXY)<.03&&Leg2_Pt>.8")
652 c->Draw("M>>hM2(50,1.99,3.99)","cut","esame");
654 c->SetAlias("cutAdd","PairType==1&&abs(Leg1_ImpactParXY)<.03&&abs(Leg2_ImpactParXY)<.03&&Leg2_Pt>1")
655 c->Draw("M>>hM3(50,1.99,3.99)","cut","esame");
657 c->SetAlias("cutAdd","PairType==1&&abs(Leg1_ImpactParXY)<.03&&abs(Leg2_ImpactParXY)<.03&&Leg2_Pt>1.2")
658 c->Draw("M>>hM4(50,1.99,3.99)","cut","esame");
661 c->Draw("Leg1_TPC_signal:Leg1_P_InnerParam>>sigTPC","cut","goff")
662 c->Draw("Leg2_TPC_signal:Leg2_P_InnerParam>>+sigTPC","cut","goff")
663 c1->Modified();c1->Update()
666 c->SetAlias("cutE","Leg1_TPC_nSigma_Electrons>-1.5&&Leg2_TPC_nSigma_Electrons>-1.5");
667 c->SetAlias("cut","Leg2_P_InnerParam>1.5&&cutE")
668 c->SetMarkerStyle(21);
669 c->Draw("M>>hM(50,1.99,3.99)","cut","e");
671 c->SetAlias("cutE","Leg1_TPC_nSigma_Electrons>-1.5+.8&&Leg2_TPC_nSigma_Electrons>-1.5+.8");
672 c->SetAlias("cut","Leg2_P_InnerParam>1.5&&cutE")
673 c->SetMarkerStyle(20);
674 c->SetMarkerColor(kRed);
675 c->Draw("M>>hM3(50,1.99,3.99)","cut","esame");
680 //=================== pass 1 pass 2 comparison =======================
683 //------ cuts ------------
686 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");
688 c->SetAlias("Pcut","Leg1_P_InnerParam>1.3&&Leg2_P_InnerParam>1.3")
689 c->SetAlias("Ptcut","Leg1_Pt>1&&Leg2_Pt>1")
690 c->SetAlias("TOFcut","abs(Leg1_TOF_nSigma_Electrons)<3&&abs(Leg2_TOF_nSigma_Electrons)<3");
691 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)");
692 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))))")
693 c->SetAlias("NClcut","Leg1_NclsTPC>90&&Leg2_NclsTPC>90");
695 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)")
696 c->SetAlias("cut","PairType==1&&eleParam&&Run<127719")
697 c->SetAlias("cut","1==1")
698 c->SetAlias("cut","NClcut")
700 c->SetAlias("cut","TOFcut&&TPCcut&&NClcut")
702 c->SetAlias("cut","TOFcut2&&TPCcut&&NClcut")
704 c->SetAlias("cut","cutPro&&TPCcut&&NClcut")
706 c->SetAlias("cut","Pcut&&TPCcut&&NClcut")
708 c->SetAlias("cut","Ptcut&&TPCcut&&NClcut")
712 //------------ plots --------------
715 c->SetAlias("cut","1==1")
718 c->SetLineColor(kBlack);
719 c->Draw("M>>hM(50,1.99,3.99)","cut","e");
720 hM->SetTitle(";Inv. Mass [GeV]; Pair (e+e-) / 40GeV")
723 c1->Print("pics/M_noCut.png");
728 c->SetAlias("cut","1==1")
731 gStyle->SetOptStat(0);
732 c->Draw("Leg1_NclsTPC:Leg1_TPC_signal:Leg1_P_InnerParam>>test(1000,0,40,200,60,100)","cut","profcolz")
733 c->Draw("Leg2_NclsTPC:Leg2_TPC_signal:Leg2_P_InnerParam>>+test","cut","profcolz")
735 test->SetTitle("mean TPC number of clusters;P_{TPC} [GeV]; TPC signal [arb. units]")
738 c1->Print("pics/TPCnCl_P.png");
743 c->SetAlias("cut","NClcut")
744 c->Draw("Leg1_NclsTPC:Leg1_TPC_signal:Leg1_P_InnerParam>>test(1000,0,40,200,60,100)","cut","profcolz")
745 c->Draw("Leg2_NclsTPC:Leg2_TPC_signal:Leg2_P_InnerParam>>+test","cut","profcolz")
747 test->SetTitle("mean TPC number of clusters;P_{TPC} [GeV]; TPC signal [arb. units]")
750 c1->Print("pics/TPCnCl_P_cutNcl.png");
754 //tpc signal + signal cut
759 h.GetHistogram("TPCsignal","sigTPC")->GetYaxis()->SetRangeUser(60,100);
760 c->SetAlias("cut","NClcut")
761 c->Draw("Leg1_TPC_signal:Leg1_P_InnerParam>>sigTPC","cut","colz")
762 c->Draw("Leg2_TPC_signal:Leg2_P_InnerParam>>+sigTPC","cut","colz")
763 TF1 f("f1","[0]*(1-exp(-[1]*(x-[2])))",0.3,40);
764 f.SetParameters(70,1,-2);
768 c1->Print("pics/TPCsignal_P_cutNcl.png");
775 c->SetAlias("cut","1==1")
776 c->SetLineColor(kBlack);
777 c->SetMarkerColor(kBlack);
778 c->Draw("M>>hM(50,1.99,3.99)","cut","e");
779 hM->SetTitle(";Inv. Mass [GeV]; Pair (e+e-) / 40GeV")
781 c->SetAlias("cut","NClcut")
782 c->SetLineColor(kRed);
783 c->SetMarkerColor(kRed);
784 c->Draw("M>>hM2(50,1.99,3.99)","cut","esame");
787 c1->Print("pics/M_nClCut.png");
791 //tpc signal: ncl + tpc cut
796 c->SetAlias("cut","TPCcut&&NClcut")
797 c->Draw("Leg1_TPC_signal:Leg1_P_InnerParam>>sigTPC","cut","colz")
798 c->Draw("Leg2_TPC_signal:Leg2_P_InnerParam>>+sigTPC","cut","colz")
801 c1->Print("pics/TPCsignal_P_cutNcl_tpc.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");
818 c->SetAlias("cut","TPCcut&&NClcut")
819 c->SetLineColor(kGreen);
820 c->SetMarkerColor(kGreen);
821 c->Draw("M>>hM3(50,1.99,3.99)","cut","esame");
824 c1->Print("pics/M_nClCut_tpc.png");
828 //TPC signal: ncl + tpc + tof cut
833 c->SetAlias("cut","TOFcut2&&TPCcut&&NClcut")
834 c->Draw("Leg1_TPC_signal:Leg1_P_InnerParam>>sigTPC","cut","colz")
835 c->Draw("Leg2_TPC_signal:Leg2_P_InnerParam>>+sigTPC","cut","colz")
838 c1->Print("pics/TPCsignal_P_cutNcl_tpc.png");
845 c->SetAlias("cut","1==1")
846 c->SetAlias("cut","TPCcut&&NClcut")
847 c->SetLineColor(kGreen);
848 c->Draw("M>>hM(50,1.99,3.99)","cut","e");
849 hM->SetTitle(";Inv. Mass [GeV]; Pair (e+e-) / 40GeV")
851 c->SetAlias("cut","TOFcut2&&TPCcut&&NClcut")
852 c->SetLineColor(kBlue);
853 c->Draw("M>>hM2(50,1.99,3.99)","cut","esame");
856 c1->Print("pics/M_nClCut_tpc.png");
859 //Inv Mass: different cuts
865 c->SetAlias("cut","Ptcut&&TPCcut&&NClcut")
866 c->SetLineColor(kMagenta);
867 c->SetMarkerColor(kMagenta);
868 c->SetMarkerStyle(22);
869 c->Draw("M>>hM(50,1.99,3.99)","cut","e");
871 c->SetAlias("cut","Pcut&&TPCcut&&NClcut")
872 c->SetLineColor(kCyan+1);
873 c->SetMarkerColor(kCyan+1);
874 c->SetMarkerStyle(21);
875 c->Draw("M>>hM2(50,1.99,3.99)","cut","esame");
877 c->SetAlias("cut","TOFcut2&&TPCcut&&NClcut")
878 c->SetMarkerStyle(20);
879 c->SetLineColor(kBlue);
880 c->SetMarkerColor(kBlue);
881 c->Draw("M>>hM3(50,1.99,3.99)","cut","esame");
885 c1->Print("pics/M_nClCut_tpc_tof.png");
890 c->SetAlias("NClcut","Leg1_NclsTPC>90&&Leg2_NclsTPC>90");
891 c->SetAlias("Ptcut","Leg1_Pt>1&&Leg2_Pt>1")
892 c->SetAlias("PairT","PairType==1");
893 c->SetAlias("cut","NClcut&&Ptcut&&PairT")
896 c->SetAlias("cutE","abs(Leg1_TPC_nSigma_Electrons)<3&&abs(Leg2_TPC_nSigma_Electrons)<3");
897 c->SetAlias("cutPi","abs(Leg1_TPC_nSigma_Pions)>3&&abs(Leg2_TPC_nSigma_Pions)>3");
898 c->SetAlias("cutP","(Leg1_TPC_nSigma_Protons)>3&&(Leg2_TPC_nSigma_Protons)>3");
899 c->SetAlias("cut","NClcut&&Ptcut&&PairT&&cutE&&cutPi&&cutP")
901 c->SetAlias("eta","abs(Leg1_Eta)<0.88&&abs(Leg1_Eta)<0.88");
902 c->SetAlias("rap","abs(Y)<0.88");
903 c->SetAlias("spdFirst","(Leg1_ITS_clusterMap&1)==1&&(Leg2_ITS_clusterMap&1)==1")
904 c->SetAlias("cut","NClcut&&Ptcut&&PairT&&cutE&&cutPi&&cutP&&eta&&rap&&spdFirst")
905 c->Draw("M>>hM(50,1.98,1.98+50*.04)","cut","e")
908 c->SetAlias("cutProL1",Form("Leg1_TPC_nSigma_Electrons>(%f*%f+(AliExternalTrackParam::BetheBlochAleph(Leg1_P_InnerParam/%f,0.0283086/0.97,2.63394e+01,5.04114e-11,2.12543e+00,4.88663e+00)-AliExternalTrackParam::BetheBlochAleph(Leg1_P_InnerParam/%f,0.0283086/0.97,2.63394e+01,5.04114e-11,2.12543e+00,4.88663e+00)))/%f",nSigma,resolution, AliPID::ParticleMass(AliPID::kProton), AliPID::ParticleMass(AliPID::kElectron), resolution))
910 c->SetAlias("cutProL2",Form("Leg2_TPC_nSigma_Electrons>(%f*%f+(AliExternalTrackParam::BetheBlochAleph(Leg2_P_InnerParam/%f,0.0283086/0.97,2.63394e+01,5.04114e-11,2.12543e+00,4.88663e+00)-AliExternalTrackParam::BetheBlochAleph(Leg2_P_InnerParam/%f,0.0283086/0.97,2.63394e+01,5.04114e-11,2.12543e+00,4.88663e+00)))/%f",nSigma,resolution, AliPID::ParticleMass(AliPID::kProton), AliPID::ParticleMass(AliPID::kElectron), resolution))
912 c->SetAlias("cutPioL1",Form("Leg1_TPC_nSigma_Electrons>(%f*%f+(AliExternalTrackParam::BetheBlochAleph(Leg1_P_InnerParam/%f,0.0283086/0.97,2.63394e+01,5.04114e-11,2.12543e+00,4.88663e+00)-AliExternalTrackParam::BetheBlochAleph(Leg1_P_InnerParam/%f,0.0283086/0.97,2.63394e+01,5.04114e-11,2.12543e+00,4.88663e+00)))/%f",nSigma,resolution, AliPID::ParticleMass(AliPID::kPion), AliPID::ParticleMass(AliPID::kElectron), resolution))
914 c->SetAlias("cutPioL2",Form("Leg2_TPC_nSigma_Electrons>(%f*%f+(AliExternalTrackParam::BetheBlochAleph(Leg2_P_InnerParam/%f,0.0283086/0.97,2.63394e+01,5.04114e-11,2.12543e+00,4.88663e+00)-AliExternalTrackParam::BetheBlochAleph(Leg2_P_InnerParam/%f,0.0283086/0.97,2.63394e+01,5.04114e-11,2.12543e+00,4.88663e+00)))/%f",nSigma,resolution, AliPID::ParticleMass(AliPID::kPion), AliPID::ParticleMass(AliPID::kElectron), resolution))
916 c->SetAlias("cutPro","cutProL1&&cutProL2");
917 c->SetAlias("cutPio","cutPioL1&&cutPioL2");