1 #if !defined(__CINT__) || defined(__MAKECINT__) 2 #include <TDatabasePDG.h> 5 #include <TLorentzVector.h> 8 #include <TClonesArray.h> 17 #include <TPythia6Decayer.h> 18 #include <TPaveStats.h> 63 gSystem->Load(
"libEGPythia6.so");
67 TPythia6Decayer* pdec=TPythia6Decayer::Instance();
68 if(fDecayTableFileName.CompareTo(
"")!=0){
69 if(fDecayTableFileName.Contains(
"ALICE_PHYSICS")){
70 gSystem->Exec(Form(
"cp %s .",fDecayTableFileName.Data()));
71 fDecayTableFileName.ReplaceAll(
"$ALICE_PHYSICS/PWGHF/vertexingHF/macros/",
"./");
73 pdec->SetDecayTableFile(fDecayTableFileName.Data());
74 pdec->ReadDecayTable();
82 TString outFileName=
"Acceptance_Toy_";
88 outFileName.Append(
"D0Kpi_");
94 outFileName.Append(
"DplusKpipi_");
100 outFileName.Append(
"DStarD0pi_");
106 outFileName.Append(
"DsKKpi_");
112 outFileName.Append(
"LcpKpi_");
118 outFileName.Append(
"LcK0Sp_");
120 printf(
"ERROR: Wrong decay selected\n");
124 else outFileName.Append(
"yfidPtDep_");
127 TDatabasePDG* db=TDatabasePDG::Instance();
129 TClonesArray *array =
new TClonesArray(
"TParticle",100);
131 TH2D* hPtVsYGen=
new TH2D(
"hPtVsYGen",
"",400,0.,40.,20.,-1.,1.);
132 hPtVsYGen->GetXaxis()->SetTitle(
"p_{T} (GeV/c)");
133 hPtVsYGen->GetYaxis()->SetTitle(
"y");
134 TH2D* hPtVsYGenLimAcc=
new TH2D(
"hPtVsYGenLimAcc",
"",400,0.,40.,20.,-1.,1.);
135 hPtVsYGenLimAcc->GetXaxis()->SetTitle(
"p_{T} (GeV/c)");
136 hPtVsYGenLimAcc->GetYaxis()->SetTitle(
"y");
137 TH2D* hPtVsYGenAcc=
new TH2D(
"hPtVsYGenAcc",
"",400,0.,40.,20.,-1.,1.);
138 hPtVsYGenAcc->GetXaxis()->SetTitle(
"p_{T} (GeV/c)");
139 hPtVsYGenAcc->GetYaxis()->SetTitle(
"y");
142 TH2D* hPtVsYGenLimAccLcpKpi[4];
143 TH2D* hPtVsYGenAccLcpKpi[4];
144 TString lcChan[4]={
"NonRes",
"L1520",
"Kstar",
"Delta"};
145 for(
Int_t ich=0; ich<4; ich++){
146 hPtVsYGenLimAccLcpKpi[ich]=
new TH2D(Form(
"hPtVsYGenLimAcc%s",lcChan[ich].
Data()),
"",400,0.,40.,20.,-1.,1.);
147 hPtVsYGenLimAccLcpKpi[ich]->GetXaxis()->SetTitle(
"p_{T} (GeV/c)");
148 hPtVsYGenLimAccLcpKpi[ich]->GetYaxis()->SetTitle(
"y");
149 hPtVsYGenAccLcpKpi[ich]=
new TH2D(Form(
"hPtVsYGenAcc%s",lcChan[ich].
Data()),
"",400,0.,40.,20.,-1.,1.);
150 hPtVsYGenAccLcpKpi[ich]->GetXaxis()->SetTitle(
"p_{T} (GeV/c)");
151 hPtVsYGenAccLcpKpi[ich]->GetYaxis()->SetTitle(
"y");
158 funcPt=
new TF1(
"fFONLL",
"[0]*x/TMath::Power((1+TMath::Power(x/[1],[3])),[2])",0.,40.);
159 funcPt->SetParameters(0.518046,3.01138,3.38914,1.75899);
160 outFileName.Append(
"FONLL8ptshape.root");
162 funcPt=
new TF1(
"fFONLL",
"[0]*x/TMath::Power((1+TMath::Power(x/[1],[3])),[2])",0.,40.);
163 funcPt->SetParameters(0.398252, 3.9603, 3.915, 1.51853);
164 outFileName.Append(
"FONLL8ptshapeFeedDown.root");
166 funcPt=
new TF1(
"fFONLL",
"[0]*x/TMath::Power((1+TMath::Power(x/[1],[3])),[2])",0.,40.);
167 funcPt->SetParameters(0.322643,2.96275,2.30301,2.5);
168 outFileName.Append(
"FONLL7ptshape.root");
170 funcPt=
new TF1(
"fFONLL",
"[0]*x/TMath::Power((1+TMath::Power(x/[1],[3])),[2])",0.,40.);
171 funcPt->SetParameters(0.302879,2.9750,3.68139,1.68855);
172 outFileName.Append(
"FONLL5ptshape.root");
174 funcPt=
new TF1(
"fFONLL",
"[0]*x/TMath::Power((1+TMath::Power(x/[1],[3])),[2])",0.,40.);
175 funcPt->SetParameters(0.322643,1.94635,1.40463,2.5);
176 outFileName.Append(
"PYTHIA7ptshape.root");
180 outFileName.Append(
"promptDplus");
183 outFileName.Append(
"promptDstar");
186 outFileName.Append(
"promptD0");
188 outFileName.Append(
"FONLL13ptshape.root");
193 outFileName.Append(
"feeddownDstar");
196 outFileName.Append(
"feeddownD");
198 outFileName.Append(
"FONLL13ptshape.root");
202 outFileName.Append(
"promptDplus");
205 outFileName.Append(
"promptDstar");
208 outFileName.Append(
"promptDs");
211 outFileName.Append(
"promptD0");
213 outFileName.Append(
"PYTHIA13ptshape.root");
217 outFileName.Append(
"feeddownDplus");
220 outFileName.Append(
"feeddownDstar");
223 outFileName.Append(
"feeddownDs");
226 outFileName.Append(
"feeddownD0");
228 outFileName.Append(
"PYTHIA13ptshape.root");
230 funcPt=
new TF1(
"fFlat",
"pol0",0.,40.);
231 funcPt->SetParameter(0,1.);
232 outFileName.Append(
"flatpt.root");
235 if (funcPt) funcPt->SetNpx(10000);
237 TRandom3* gener=
new TRandom3(0);
238 TLorentzVector* vec=
new TLorentzVector();
242 if(itry%10000==0) printf(
"Event %d\n",itry);
243 Float_t ptD = funcPt ? funcPt->GetRandom() : histPt->GetRandom();
244 Float_t phiD=gener->Rndm()*2*TMath::Pi();
245 Float_t yD=gener->Rndm()*2.-1.;
246 Float_t px=ptD*TMath::Cos(phiD);
247 Float_t py=ptD*TMath::Sin(phiD);
248 Float_t mt=TMath::Sqrt(massD*massD+ptD*ptD);
250 Float_t E=TMath::Sqrt(massD*massD+px*px+py*py+pz*pz);
253 vec->SetPxPyPzE(px,py,pz,E);
254 pdec->Decay(pdgCode,vec);
256 Int_t nentries = pdec->ImportParticles(array);
257 TParticle* dmes=(TParticle*)array->At(0);
258 Int_t nDaughters=dmes->GetNDaughters();
262 Int_t nProtonsInAcc=0;
268 Bool_t isOk=
CountPKpi(array,nentries,nPions,nKaons,nProtons,nPionsInAcc,nKaonsInAcc,nProtonsInAcc, idLcResChan);
271 if(nPions==nPionDau && nKaons==nKaonDau && nProtons==nProtonDau){
272 hPtVsYGen->Fill(ptD,yD);
273 if(TMath::Abs(yD)<0.5){
274 hPtVsYGenLimAcc->Fill(ptD,yD);
275 hPtVsYGenLimAccLcpKpi[idLcResChan]->Fill(ptD,yD);
278 if(nPionsInAcc==nPionDau && nKaonsInAcc==nKaonDau && nProtonsInAcc==nProtonDau){
279 hPtVsYGenAcc->Fill(ptD,yD);
280 hPtVsYGenAccLcpKpi[idLcResChan]->Fill(ptD,yD);
288 TH1D* hPtGenAcc=(
TH1D*)hPtVsYGenAcc->ProjectionX(
"hPtGenAcc");
289 hPtGenAcc->GetYaxis()->SetTitle(
"Entries");
290 TH1D* hPtGenLimAcc=(
TH1D*)hPtVsYGenLimAcc->ProjectionX(
"hPtGenLimAcc");
291 hPtGenLimAcc->GetYaxis()->SetTitle(
"Entries");
293 hPtGenLimAcc->Sumw2();
294 TH1D* hAccVsPt=(
TH1D*)hPtGenAcc->Clone(
"hAccVsPt");
295 hAccVsPt->Divide(hPtGenAcc,hPtGenLimAcc,1,1,
"B");
296 hAccVsPt->GetYaxis()->SetTitle(
"Acceptance");
297 hAccVsPt->SetStats(0);
299 TCanvas* c2d=
new TCanvas(
"c2d",
"Pt vs y",1200,600);
302 hPtVsYGen->Draw(
"colz");
304 hPtVsYGenLimAcc->Draw(
"colz");
306 hPtVsYGenAcc->Draw(
"colz");
308 TCanvas* c1d=
new TCanvas(
"c1d",
"Acceptance",1200,600);
311 hPtGenLimAcc->Draw(
"");
312 Double_t ymax=1.2*TMath::Max(hPtGenLimAcc->GetMaximum(),hPtGenAcc->GetMaximum());
313 hPtGenLimAcc->SetMaximum(ymax);
315 TPaveStats *st1=(TPaveStats*)hPtGenLimAcc->GetListOfFunctions()->FindObject(
"stats");
318 hPtGenAcc->SetLineColor(kRed+1);
319 hPtGenAcc->Draw(
"sames");
321 TPaveStats *st2=(TPaveStats*)hPtGenAcc->GetListOfFunctions()->FindObject(
"stats");
324 st2->SetTextColor(hPtGenAcc->GetLineColor());
330 TH1D* hPtGenAccLcpKpi[4]={0x0,0x0,0x0,0x0};
331 TH1D* hPtGenLimAccLcpKpi[4]={0x0,0x0,0x0,0x0};
332 TH1D* hAccVsPtLcpKpi[4]={0x0,0x0,0x0,0x0};
336 Int_t nTot=hPtGenLimAcc->GetEntries();
337 printf(
"Lc decay modes fractions: ");
338 for(
Int_t ich=0; ich<4; ich++){
339 hPtGenAccLcpKpi[ich]=(
TH1D*)hPtVsYGenAccLcpKpi[ich]->ProjectionX(Form(
"hPtGenAcc%s",lcChan[ich].
Data()));
340 hPtGenAccLcpKpi[ich]->GetYaxis()->SetTitle(
"Entries");
341 hPtGenAccLcpKpi[ich]->Sumw2();
342 hPtGenLimAccLcpKpi[ich]=(
TH1D*)hPtVsYGenLimAccLcpKpi[ich]->ProjectionX(Form(
"hPtGenLimAcc%s",lcChan[ich].
Data()));
343 hPtGenLimAccLcpKpi[ich]->GetYaxis()->SetTitle(
"Entries");
344 hPtGenLimAccLcpKpi[ich]->Sumw2();
345 hAccVsPtLcpKpi[ich]=(
TH1D*)hPtGenAccLcpKpi[ich]->Clone(Form(
"hAccVsPt%s",lcChan[ich].
Data()));
346 hAccVsPtLcpKpi[ich]->Divide(hPtGenAccLcpKpi[ich],hPtGenLimAccLcpKpi[ich],1.,1.,
"B");
347 hAccVsPtLcpKpi[ich]->GetYaxis()->SetTitle(
"Acceptance");
348 hAccVsPtLcpKpi[ich]->SetStats(0);
349 nentr[ich]=hPtGenLimAccLcpKpi[ich]->GetEntries();
356 TFile* outfil=
new TFile(outFileName.Data(),
"recreate");
358 hPtVsYGenLimAcc->Write();
359 hPtVsYGenAcc->Write();
360 hPtGenLimAcc->Write();
364 for(
Int_t ich=0; ich<4; ich++){
365 if(hPtGenAccLcpKpi[ich]) hPtGenAccLcpKpi[ich]->Write();
366 if(hPtGenLimAccLcpKpi[ich]) hPtGenLimAccLcpKpi[ich]->Write();
367 if(hAccVsPtLcpKpi[ich]) hAccVsPtLcpKpi[ich]->Write();
384 if (TMath::Abs(y) > 0.8)
return kFALSE;
386 Double_t maxFiducialY = -0.2/15*pt*pt+1.9/15*pt+0.5;
387 Double_t minFiducialY = 0.2/15*pt*pt-1.9/15*pt-0.5;
388 if (y < minFiducialY || y > maxFiducialY)
return kFALSE;
397 TParticle* dmes=(TParticle*)array->At(0);
401 for(
int j=0; j<nentries; j++){
402 TParticle * o = (TParticle*)array->At(j);
403 Int_t pdgdau=TMath::Abs(o->GetPdgCode());
406 if(
fDebugLevel>0) printf(
"K0 dacaying into K0L\n");
409 Float_t ptdau=TMath::Sqrt(o->Px()*o->Px()+o->Py()*o->Py());
424 if(pdgdau==211) nPionsInAcc++;
425 if(pdgdau==321) nKaonsInAcc++;
429 if(TMath::Abs(sumPx-dmes->Px())>0.001 ||
430 TMath::Abs(sumPy-dmes->Py())>0.001 ||
431 TMath::Abs(sumPz-dmes->Pz())>0.001){
432 printf(
"Momentum conservation violation\n");
443 TParticle* dmes=(TParticle*)array->At(0);
448 for(
int j=0; j<nentries; j++){
449 TParticle * o = (TParticle*)array->At(j);
450 Int_t pdgdau=TMath::Abs(o->GetPdgCode());
453 if(
fDebugLevel>0) printf(
"K0 dacaying into K0L\n");
456 Float_t ptdau=TMath::Sqrt(o->Px()*o->Px()+o->Py()*o->Py());
476 if(pdgdau==313) idLcResChan=2;
477 else if(pdgdau==2224) idLcResChan=3;
478 else if(pdgdau==3124) idLcResChan=1;
480 if(pdgdau==211) nPionsInAcc++;
481 if(pdgdau==321) nKaonsInAcc++;
482 if(pdgdau==2212) nProtonsInAcc++;
486 if(TMath::Abs(sumPx-dmes->Px())>0.001 ||
487 TMath::Abs(sumPy-dmes->Py())>0.001 ||
488 TMath::Abs(sumPz-dmes->Pz())>0.001){
489 printf(
"Momentum conservation violation\n");
500 TH1D *hFONLL13 =
new TH1D(
"hFONLL13TeV_D0",
"", 80, 0., 40.);
502 1.4686e+08, 3.9542e+08, 5.4901e+08, 5.2166e+08, 4.1083e+08, 2.9968e+08, 2.1299e+08, 1.5057e+08, 1.0701e+08, 7.6919e+07,
503 5.6121e+07, 4.1546e+07, 3.1184e+07, 2.3715e+07, 1.8253e+07, 1.4206e+07, 1.1175e+07, 8.8774e+06, 7.1169e+06, 5.7544e+06,
504 4.6899e+06, 3.8509e+06, 3.1841e+06, 2.6499e+06, 2.2189e+06, 1.8687e+06, 1.5823e+06, 1.3467e+06, 1.1516e+06, 9.8933e+05,
505 8.5356e+05, 7.3942e+05, 6.4302e+05, 5.6122e+05, 4.9154e+05, 4.3193e+05, 3.8074e+05, 3.3662e+05, 2.9846e+05, 2.6535e+05,
506 2.3653e+05, 2.1136e+05, 1.8932e+05, 1.6997e+05, 1.5293e+05, 1.3789e+05, 1.2458e+05, 1.1277e+05, 1.0227e+05, 9.2913e+04,
507 8.4560e+04, 7.7087e+04, 7.0388e+04, 6.4371e+04, 5.8956e+04, 5.4074e+04, 4.9667e+04, 4.5680e+04, 4.2068e+04, 3.8791e+04,
508 3.5813e+04, 3.3103e+04, 3.0633e+04, 2.8380e+04, 2.6321e+04, 2.4436e+04, 2.2710e+04, 2.1127e+04, 1.9673e+04, 1.8336e+04,
509 1.7106e+04, 1.5972e+04, 1.4926e+04, 1.3961e+04, 1.3069e+04, 1.2243e+04, 1.1479e+04, 1.0771e+04, 1.0113e+04, 9.5031e+03
511 for (
Int_t ibin=0; ibin<80; ++ibin) hFONLL13->SetBinContent(ibin+1, val[ibin]);
521 TH1D *hFONLL13 =
new TH1D(
"hFONLL13TeV_Dplus",
"", 80, 0., 40.);
523 1.5242e+08, 3.9396e+08, 5.3767e+08, 5.1263e+08, 4.0706e+08, 2.9926e+08, 2.1414e+08, 1.5230e+08, 1.0879e+08, 7.8507e+07,
524 5.7460e+07, 4.2651e+07, 3.2093e+07, 2.4462e+07, 1.8865e+07, 1.4708e+07, 1.1588e+07, 9.2185e+06, 7.3998e+06, 5.9900e+06,
525 4.8871e+06, 4.0167e+06, 3.3240e+06, 2.7686e+06, 2.3200e+06, 1.9552e+06, 1.6566e+06, 1.4107e+06, 1.2070e+06, 1.0374e+06,
526 8.9550e+05, 7.7610e+05, 6.7519e+05, 5.8953e+05, 5.1652e+05, 4.5404e+05, 4.0037e+05, 3.5409e+05, 3.1405e+05, 2.7929e+05,
527 2.4902e+05, 2.2258e+05, 1.9943e+05, 1.7909e+05, 1.6117e+05, 1.4535e+05, 1.3135e+05, 1.1892e+05, 1.0787e+05, 9.8024e+04,
528 8.9230e+04, 8.1359e+04, 7.4302e+04, 6.7963e+04, 6.2256e+04, 5.7112e+04, 5.2465e+04, 4.8261e+04, 4.4452e+04, 4.0996e+04,
529 3.7854e+04, 3.4995e+04, 3.2390e+04, 3.0012e+04, 2.7838e+04, 2.5849e+04, 2.4027e+04, 2.2355e+04, 2.0820e+04, 1.9408e+04,
530 1.8108e+04, 1.6910e+04, 1.5805e+04, 1.4785e+04, 1.3842e+04, 1.2969e+04, 1.2161e+04, 1.1411e+04, 1.0716e+04, 1.0070e+04
532 for (
Int_t ibin=0; ibin<80; ++ibin) hFONLL13->SetBinContent(ibin+1, val[ibin]);
542 TH1D *hFONLL13 =
new TH1D(
"hFONLL13TeV_Dstar",
"", 80, 0., 40.);
544 1.2433e+08, 3.4512e+08, 5.0662e+08, 5.1020e+08, 4.2016e+08, 3.1661e+08, 2.3064e+08, 1.6632e+08, 1.2007e+08, 8.7340e+07,
545 6.4329e+07, 4.8000e+07, 3.6287e+07, 2.7772e+07, 2.1492e+07, 1.6808e+07, 1.3278e+07, 1.0589e+07, 8.5178e+06, 6.9084e+06,
546 5.6462e+06, 4.6479e+06, 3.8519e+06, 3.2124e+06, 2.6951e+06, 2.2738e+06, 1.9285e+06, 1.6437e+06, 1.4076e+06, 1.2108e+06,
547 1.0459e+06, 9.0711e+05, 7.8968e+05, 6.8993e+05, 6.0484e+05, 5.3197e+05, 4.6933e+05, 4.1529e+05, 3.6850e+05, 3.2786e+05,
548 2.9246e+05, 2.6152e+05, 2.3441e+05, 2.1058e+05, 1.8958e+05, 1.7104e+05, 1.5461e+05, 1.4003e+05, 1.2706e+05, 1.1550e+05,
549 1.0517e+05, 9.5920e+04, 8.7626e+04, 8.0172e+04, 7.3461e+04, 6.7409e+04, 6.1940e+04, 5.6992e+04, 5.2508e+04, 4.8437e+04,
550 4.4736e+04, 4.1367e+04, 3.8296e+04, 3.5492e+04, 3.2929e+04, 3.0583e+04, 2.8433e+04, 2.6460e+04, 2.4648e+04, 2.2981e+04,
551 2.1446e+04, 2.0032e+04, 1.8727e+04, 1.7522e+04, 1.6407e+04, 1.5376e+04, 1.4420e+04, 1.3535e+04, 1.2713e+04, 1.1950e+04
553 for (
Int_t ibin=0; ibin<80; ++ibin) hFONLL13->SetBinContent(ibin+1, val[ibin]);
563 TH1D *hFONLL13 =
new TH1D(
"FONLL13TeV_feeddownD",
"", 80, 0., 40.);
565 1.0310e+07, 2.6790e+07, 3.4480e+07, 3.4430e+07, 3.0200e+07, 2.4740e+07, 1.9600e+07, 1.5300e+07, 1.1880e+07, 9.2260e+06,
566 7.1950e+06, 5.6470e+06, 4.4650e+06, 3.5580e+06, 2.8570e+06, 2.3120e+06, 1.8860e+06, 1.5490e+06, 1.2810e+06, 1.0660e+06,
567 8.9260e+05, 7.5170e+05, 6.3650e+05, 5.4160e+05, 4.6310e+05, 3.9770e+05, 3.4300e+05, 2.9700e+05, 2.5820e+05, 2.2520e+05,
568 1.9710e+05, 1.7310e+05, 1.5240e+05, 1.3460e+05, 1.1920e+05, 1.0590e+05, 9.4290e+04, 8.4160e+04, 7.5290e+04, 6.7500e+04,
569 6.0650e+04, 5.4610e+04, 4.9270e+04, 4.4530e+04, 4.0320e+04, 3.6580e+04, 3.3240e+04, 3.0250e+04, 2.7570e+04, 2.5170e+04,
570 2.3020e+04, 2.1070e+04, 1.9320e+04, 1.7740e+04, 1.6310e+04, 1.5010e+04, 1.3830e+04, 1.2760e+04, 1.1790e+04, 1.0900e+04,
571 1.0090e+04, 9.3520e+03, 8.6760e+03, 8.0560e+03, 7.4890e+03, 6.9670e+03, 6.4880e+03, 6.0470e+03, 5.6410e+03, 5.2670e+03,
572 4.9220e+03, 4.6030e+03, 4.3080e+03, 4.0350e+03, 3.7830e+03, 3.5480e+03, 3.3310e+03, 3.1290e+03, 2.9410e+03, 2.7670e+03
574 for (
Int_t ibin=0; ibin<80; ++ibin) hFONLL13->SetBinContent(ibin+1, val[ibin]);
584 TH1D *hFONLL13 =
new TH1D(
"FONLL13TeV_feeddownDstar",
"", 80, 0., 40.);
586 9.5260e+06, 2.5070e+07, 3.2890e+07, 3.3540e+07, 3.0010e+07, 2.5000e+07, 2.0090e+07, 1.5860e+07, 1.2430e+07, 9.7280e+06,
587 7.6360e+06, 6.0240e+06, 4.7820e+06, 3.8240e+06, 3.0800e+06, 2.5000e+06, 2.0430e+06, 1.6810e+06, 1.3930e+06, 1.1610e+06,
588 9.7390e+05, 8.2120e+05, 6.9610e+05, 5.9300e+05, 5.0750e+05, 4.3620e+05, 3.7650e+05, 3.2620e+05, 2.8370e+05, 2.4760e+05,
589 2.1680e+05, 1.9050e+05, 1.6780e+05, 1.4830e+05, 1.3140e+05, 1.1680e+05, 1.0400e+05, 9.2870e+04, 8.3100e+04, 7.4530e+04,
590 6.6990e+04, 6.0330e+04, 5.4440e+04, 4.9220e+04, 4.4580e+04, 4.0440e+04, 3.6760e+04, 3.3460e+04, 3.0510e+04, 2.7860e+04,
591 2.5470e+04, 2.3330e+04, 2.1390e+04, 1.9640e+04, 1.8060e+04, 1.6630e+04, 1.5320e+04, 1.4140e+04, 1.3060e+04, 1.2080e+04,
592 1.1190e+04, 1.0370e+04, 9.6190e+03, 8.9330e+03, 8.3050e+03, 7.7270e+03, 7.1970e+03, 6.7080e+03, 6.2580e+03, 5.8440e+03,
593 5.4610e+03, 5.1080e+03, 4.7810e+03, 4.4790e+03, 4.1980e+03, 3.9390e+03, 3.6970e+03, 3.4740e+03, 3.2650e+03, 3.0720e+03
595 for (
Int_t ibin=0; ibin<80; ++ibin) hFONLL13->SetBinContent(ibin+1, val[ibin]);
605 TH1D *hPYTHIA13 =
new TH1D(
"hPYTHIA13TeV_D0",
"", 40, 0., 40.);
607 2617743, 3763836, 2235903, 1140807, 587707, 317881, 180756, 107762, 67299,42882,
608 28550, 19690, 13817, 9754, 7205, 5299, 4100, 3177, 2386,1822,
609 1484, 1248, 933, 798, 639, 534, 435, 405, 304,260,
610 210, 196, 161, 143, 139, 99, 89, 80, 66,63
612 for (
Int_t ibin=0; ibin<40; ++ibin) hPYTHIA13->SetBinContent(ibin+1, val[ibin]);
622 TH1D *hPYTHIA13 =
new TH1D(
"hPYTHIA13TeV_Dplus",
"", 40, 0., 40.);
624 1192379, 1736283, 1047485, 540499, 281523, 152153, 87150, 52200, 32709, 20991,
625 13986, 9611, 6832, 4705, 3484, 2650, 2001, 1518, 1197, 924,
626 735, 576, 497, 402, 292, 261, 214, 173, 169, 150,
627 106, 102, 95, 70, 67, 47, 53, 46, 35, 35
629 for (
Int_t ibin=0; ibin<40; ++ibin) hPYTHIA13->SetBinContent(ibin+1, val[ibin]);
639 TH1D *hPYTHIA13 =
new TH1D(
"hPYTHIA13TeV_Dstar",
"", 40, 0., 40.);
641 922985, 1419749, 904587, 484407, 257862, 142386, 82177, 49839, 31103, 20422,
642 13493, 9272, 6549, 4746, 3344, 2575, 1959, 1493, 1161, 935,
643 672, 585, 456, 415, 328, 260, 199, 180, 161, 134,
644 109, 97, 103, 72, 63, 56, 40, 46, 38, 27
646 for (
Int_t ibin=0; ibin<40; ++ibin) hPYTHIA13->SetBinContent(ibin+1, val[ibin]);
656 TH1D *hPYTHIA13 =
new TH1D(
"hPYTHIA13TeV_Ds",
"", 40, 0., 40.);
658 346381, 519143, 320488, 167944, 87484, 47325, 26932, 16376, 10058, 6527,
659 4347, 3041, 2112, 1521, 1069, 849, 609, 468, 359, 275,
660 226, 197, 152, 124, 111, 90, 63, 60, 52, 46,
661 39, 35, 26, 29, 16, 20, 10, 13, 18, 9
663 for (
Int_t ibin=0; ibin<40; ++ibin) hPYTHIA13->SetBinContent(ibin+1, val[ibin]);
673 TH1D *hPYTHIA13 =
new TH1D(
"hPYTHIA13_feeddownD0",
"", 40, 0., 40.);
675 1814030, 2939561, 2059721, 1197596, 684753, 397435, 237432, 146442, 93029, 60222,
676 40940, 28861, 19992, 14344, 10602, 7742, 5781, 4395, 3421, 2732,
677 2216, 1763, 1395, 1208, 888, 735, 599, 509, 418, 374,
678 302, 281, 242, 200, 174, 158, 133, 104, 98, 88
680 for (
Int_t ibin=0; ibin<40; ++ibin) hPYTHIA13->SetBinContent(ibin+1, val[ibin]);
690 TH1D *hPYTHIA13 =
new TH1D(
"hPYTHIA13_feeddownDplus",
"", 40, 0., 40.);
692 779389, 1268000, 899979, 527442, 302782, 177610, 105677, 66601, 42008, 27618,
693 18802, 13024, 8975, 6530, 4773, 3495, 2708, 2020, 1634, 1212,
694 1017, 809, 665, 507, 389, 355, 285, 250, 218, 180,
695 143, 137, 106, 85, 71, 64, 57, 43, 50, 47
697 for (
Int_t ibin=0; ibin<40; ++ibin) hPYTHIA13->SetBinContent(ibin+1, val[ibin]);
707 TH1D *hPYTHIA13 =
new TH1D(
"hPYTHIA13_feeddownDstar",
"", 40, 0., 40.);
709 665735, 1144214, 856647, 523704, 309061, 183569, 111994, 70187, 45266, 29601,
710 20079, 14042, 10338, 7184, 5234, 4002, 2935, 2301, 1788, 1349,
711 1088, 895, 748, 591, 480, 378, 302, 263, 216, 182,
712 172, 122, 133, 100, 92, 87, 65, 50, 42, 45
714 for (
Int_t ibin=0; ibin<40; ++ibin) hPYTHIA13->SetBinContent(ibin+1, val[ibin]);
724 TH1D *hPYTHIA13 =
new TH1D(
"hPYTHIA13_feeddownDs",
"", 40, 0., 40.);
726 377925, 686435, 518802, 318819, 189396, 113651, 68963, 43048, 27776, 18177,
727 12356, 8643, 6100, 4512, 3170, 2479, 1835, 1424, 1086, 825,
728 659, 490, 465, 361, 308, 246, 181, 170, 117, 111,
729 112, 91, 69, 66, 54, 57, 39, 33, 31, 25
731 for (
Int_t ibin=0; ibin<40; ++ibin) hPYTHIA13->SetBinContent(ibin+1, val[ibin]);
Bool_t CountKpi(TClonesArray *array, Int_t nentries, Int_t &nPions, Int_t &nKaons, Int_t &nPionsInAcc, Int_t &nKaonsInAcc)
TH1D * LoadPYTHIA13TeV_promptD0()
TH1D * LoadFONLL13TeV_feeddownDstar()
TH1D * LoadPYTHIA13TeV_feeddownDs()
TH1D * LoadPYTHIA13TeV_feeddownDplus()
TH1D * LoadPYTHIA13TeV_feeddownD0()
TH1D * LoadPYTHIA13TeV_promptDs()
Bool_t Data(TH1F *h, Double_t *rangefit, Bool_t writefit, Double_t &sgn, Double_t &errsgn, Double_t &bkg, Double_t &errbkg, Double_t &sgnf, Double_t &errsgnf, Double_t &sigmafit, Int_t &status)
TH1D * LoadFONLL13TeV_promptD0()
TH1D * LoadFONLL13TeV_promptDstar()
TString fDecayTableFileName
TH1D * LoadFONLL13TeV_promptDplus()
TH1D * LoadFONLL13TeV_feeddownD()
TH1D * LoadPYTHIA13TeV_promptDstar()
TH1D * LoadPYTHIA13TeV_feeddownDstar()
Bool_t CountPKpi(TClonesArray *array, Int_t nentries, Int_t &nPions, Int_t &nKaons, Int_t &nProtons, Int_t &nPionsInAcc, Int_t &nKaonsInAcc, Int_t &nProtonsInAcc, Int_t &idLcResChan)
Bool_t IsInFiducialAcceptance(Double_t pt, Double_t y)
TH1D * LoadPYTHIA13TeV_promptDplus()