25 #include <TClonesArray.h> 31 #include <THnSparse.h> 32 #include <TDatabasePDG.h> 33 #include <Riostream.h> 35 #include "AliAnalysisManager.h" 36 #include "AliAODHandler.h" 37 #include "AliAODEvent.h" 38 #include "AliAODVertex.h" 39 #include "AliAODTrack.h" 40 #include "AliAODMCHeader.h" 41 #include "AliAODMCParticle.h" 42 #include "AliAODRecoDecay.h" 46 #include "AliAnalysisTaskSE.h" 50 #include "AliMultSelection.h" 67 fHistAllV0multNTPCout(0),
68 fHistSelV0multNTPCout(0),
78 fCosPiKPhiHist3D(0x0),
87 fWriteOnlySignal(kFALSE),
88 fDoCutVarHistos(kTRUE),
89 fUseSelectionBit(kFALSE),
91 fFillSparseDplus(kFALSE),
92 fFillImpParSparse(kFALSE),
93 fFillAcceptanceLevel(kFALSE),
96 fDoCutV0multTPCout(kFALSE),
106 fMaxDeltaPhiMass4Rot(0.010),
112 fMultSelectionObjectName(
"MultSelection"),
117 for(
Int_t i=0;i<3;i++){
121 for(
Int_t i=0;i<4;i++) {
149 for(
Int_t i=0;i<kMaxPtBins+1;i++){
152 for (
Int_t i=0; i<4; i++) {
221 for(
Int_t i=0;i<3;i++){
225 for(
Int_t i=0;i<4;i++) {
253 for(
Int_t i=0;i<kMaxPtBins+1;i++){
257 for (
Int_t i=0; i<4; i++) {
267 DefineOutput(1,TList::Class());
269 DefineOutput(2,TList::Class());
271 DefineOutput(3,AliNormalizationCounter::Class());
275 DefineOutput(4,TNtuple::Class());
284 printf(
"Max. number of Pt bins = %d\n",
kMaxPtBins);
298 printf(
"Number of Pt bins = %d\n",
fNPtBins);
324 for(
Int_t i=0;i<4;i++){
357 for(
Int_t i=0;i<3;i++){
368 for (
Int_t i=0; i<4; i++) {
388 if(fUseCentrAxis<kCentOff||fUseCentrAxis>=
kCentInvalid) AliWarning(
"Centrality estimator not valid");
403 if(fDebug > 1) printf(
"AnalysisTaskSEDs::Init() \n");
410 analysis->SetName(
"AnalysisCuts");
422 if(fDebug > 1) printf(
"AnalysisTaskSEDs::UserCreateOutputObjects() \n");
427 fOutput->SetName(
"OutputHistos");
429 fHistNEvents =
new TH1F(
"hNEvents",
"number of events ",15,-0.5,14.5);
431 fHistNEvents->GetXaxis()->SetBinLabel(2,
"nEvents Matched dAOD");
432 fHistNEvents->GetXaxis()->SetBinLabel(3,
"nEvents Mismatched dAOD");
434 fHistNEvents->GetXaxis()->SetBinLabel(5,
"n. passing IsEvSelected");
435 fHistNEvents->GetXaxis()->SetBinLabel(6,
"n. rejected due to trigger");
436 fHistNEvents->GetXaxis()->SetBinLabel(7,
"n. rejected due to not reco vertex");
437 fHistNEvents->GetXaxis()->SetBinLabel(8,
"n. rejected for contr vertex");
438 fHistNEvents->GetXaxis()->SetBinLabel(9,
"n. rejected for vertex out of accept");
439 fHistNEvents->GetXaxis()->SetBinLabel(10,
"n. rejected for pileup events");
440 fHistNEvents->GetXaxis()->SetBinLabel(11,
"no. of out centrality events");
441 fHistNEvents->GetXaxis()->SetBinLabel(12,
"no. of 3 prong candidates");
442 fHistNEvents->GetXaxis()->SetBinLabel(13,
"no. of Ds after filtering cuts");
443 fHistNEvents->GetXaxis()->SetBinLabel(14,
"no. of Ds after selection cuts");
444 fHistNEvents->GetXaxis()->SetBinLabel(15,
"no. of not on-the-fly rec Ds");
452 fHistCentrality[1]=
new TH1F(
"hCentr(selectedCent)",
"centrality(selectedCent)",10000,0.,100.);
453 fHistCentrality[2]=
new TH1F(
"hCentr(OutofCent)",
"centrality(OutofCent)",10000,0.,100.);
455 fHistCentralityMult[1]=
new TH2F(
"hCentrMult(selectedCent)",
"centrality vs mult(selectedCent)",100,0.5,30000.5,40,0.,100.);
456 fHistCentralityMult[2]=
new TH2F(
"hCentrMult(OutofCent)",
"centrality vs mult(OutofCent)",100,0.5,30000.5,40,0.,100.);
457 for(
Int_t i=0;i<3;i++){
462 fHistAllV0multNTPCout =
new TH2F(
"HistAllV0multNTPCout",
"V0mult vs # TPCout (all) ;V0mult ;# TPCout", 1000, 0., 40000, 1000, 0, 30000);
463 fHistSelV0multNTPCout =
new TH2F(
"HistSelV0multNTPCout",
"V0mult vs # TPCout (sel) ;V0mult ;# TPCout", 1000, 0., 40000, 1000, 0, 30000);
468 Double_t massDs=TDatabasePDG::Instance()->GetParticle(431)->Mass();
471 if(nInvMassBins%2==1) nInvMassBins++;
482 for(
Int_t iType=0; iType<4; iType++){
497 hisname.Form(
"hMass%sPt%d",htype.Data(),i);
500 hisname.Form(
"hMass%sPt%dphi",htype.Data(),i);
503 hisname.Form(
"hMass%sPt%dk0st",htype.Data(),i);
506 hisname.Form(
"hCosP%sPt%d",htype.Data(),i);
507 fCosPHist[index]=
new TH1F(hisname.Data(),hisname.Data(),100,0.5,1.);
508 hisname.Form(
"hCosPxy%sPt%d",htype.Data(),i);
509 fCosPxyHist[index]=
new TH1F(hisname.Data(),hisname.Data(),100,0.5,1.);
510 hisname.Form(
"hDLen%sPt%d",htype.Data(),i);
511 fDLenHist[index]=
new TH1F(hisname.Data(),hisname.Data(),100,0.,0.5);
512 hisname.Form(
"hDLenxy%sPt%d",htype.Data(),i);
513 fDLenxyHist[index]=
new TH1F(hisname.Data(),hisname.Data(),100,0.,0.5);
514 hisname.Form(
"hNDLenxy%sPt%d",htype.Data(),i);
515 fNDLenxyHist[index]=
new TH1F(hisname.Data(),hisname.Data(),100,0.,11.);
516 hisname.Form(
"hSumd02%sPt%d",htype.Data(),i);
517 fSumd02Hist[index]=
new TH1F(hisname.Data(),hisname.Data(),100,0.,1.);
518 hisname.Form(
"hSigVert%sPt%d",htype.Data(),i);
519 fSigVertHist[index]=
new TH1F(hisname.Data(),hisname.Data(),100,0.,0.1);
520 hisname.Form(
"hPtMax%sPt%d",htype.Data(),i);
521 fPtMaxHist[index]=
new TH1F(hisname.Data(),hisname.Data(),100,0.5,20.);
522 hisname.Form(
"hPtCand%sPt%d",htype.Data(),i);
523 fPtCandHist[index]=
new TH1F(hisname.Data(),hisname.Data(),100,0.5,20.);
524 hisname.Form(
"hDCA%sPt%d",htype.Data(),i);
525 fDCAHist[index]=
new TH1F(hisname.Data(),hisname.Data(),100,0.,0.1);
526 hisname.Form(
"hNormIP%sPt%d",htype.Data(),i);
527 fNormIPHist[index]=
new TH1F(hisname.Data(),hisname.Data(),100,0.,6.);
528 hisname.Form(
"hCosPiDs%sPt%d",htype.Data(),i);
529 fCosPiDsHist[index]=
new TH1F(hisname.Data(),hisname.Data(),100,0.5,1.);
530 hisname.Form(
"hCosPiKPhi%sPt%d",htype.Data(),i);
531 fCosPiKPhiHist[index]=
new TH1F(hisname.Data(),hisname.Data(),100,0.,0.5);
532 hisname.Form(
"hPtProng0%sPt%d",htype.Data(),i);
533 fPtProng0Hist[index]=
new TH1F(hisname.Data(),hisname.Data(),100,0.0,20.);
534 hisname.Form(
"hPtProng1%sPt%d",htype.Data(),i);
535 fPtProng1Hist[index]=
new TH1F(hisname.Data(),hisname.Data(),100,0.0,20.);
536 hisname.Form(
"hPtProng2%sPt%d",htype.Data(),i);
537 fPtProng2Hist[index]=
new TH1F(hisname.Data(),hisname.Data(),100,0.0,20.);
538 hisname.Form(
"hDalitz%sPt%d",htype.Data(),i);
539 fDalitz[index]=
new TH2F(hisname.Data(),hisname.Data(),100,0.,2.,100,0.,2.);
540 hisname.Form(
"hDalitz%sPt%dphi",htype.Data(),i);
541 fDalitzPhi[index]=
new TH2F(hisname.Data(),hisname.Data(),100,0.,2.,100,0.,2.);
542 hisname.Form(
"hDalitz%sPt%dk0st",htype.Data(),i);
543 fDalitzK0st[index]=
new TH2F(hisname.Data(),hisname.Data(),100,0.,2.,100,0.,2.);
574 fChanHist[0] =
new TH1F(
"hChanAll",
"KKpi and piKK candidates",64,-0.5,63.5);
575 fChanHist[1] =
new TH1F(
"hChanSig",
"KKpi and piKK candidates",64,-0.5,63.5);
576 fChanHist[2] =
new TH1F(
"hChanBkg",
"KKpi and piKK candidates",64,-0.5,63.5);
577 fChanHist[3] =
new TH1F(
"hChanReflSig",
"KKpi and piKK candidates",64,-0.5,63.5);
578 for(
Int_t i=0;i<4;i++){
583 fCosPHist3D =
new TH3F(
"fCosPHist3D",
"CosP vs Ds mass",nInvMassBins,minMass,maxMass,20,0.,20.,100,0.5,1.);
584 fCosPxyHist3D =
new TH3F(
"fCosPxyHist3D",
"CosPxy vs Ds mass",nInvMassBins,minMass,maxMass,20,0.,20.,100,0.5,1.);
585 fDLenHist3D =
new TH3F(
"fDLenHist3D",
"DLen vs Ds mass",nInvMassBins,minMass,maxMass,20,0.,20.,100,0.,0.5);
586 fDLenxyHist3D =
new TH3F(
"fDLenxyHist3D",
"DLenxy vs Ds mass",nInvMassBins,minMass,maxMass,20,0.,20.,100,0.,0.5);
587 fNDLenxyHist3D =
new TH3F(
"fNDLenxyHist3D",
"NDLenxy vs Ds mass",nInvMassBins,minMass,maxMass,20,0.,20.,100,0.,11.);
588 fSigVertHist3D =
new TH3F(
"fSigVertHist3D",
"SigVert vs Ds mass",nInvMassBins,minMass,maxMass,20,0.,20.,100,0.,0.1);
589 fDCAHist3D =
new TH3F(
"fDCAHist3D",
"DCA vs Ds mass",nInvMassBins,minMass,maxMass,20,0.,20.,100,0.,0.1);
590 fNormIPHist3D =
new TH3F(
"fNormIPHist3D",
"nIP vs Ds mass",nInvMassBins,minMass,maxMass,20,0.,20.,100,0.,6.);
591 fCosPiDsHist3D =
new TH3F(
"fCosPiDsHist3D",
"CosPiDs vs Ds mass",nInvMassBins,minMass,maxMass,20,0.,20.,100,0.5,1.);
592 fCosPiKPhiHist3D =
new TH3F(
"fCosPiKPhiHist3D",
"CosPiKPhi vs Ds mass",nInvMassBins,minMass,maxMass,20,0.,20.,100,0.,0.5);
593 fPtProng0Hist3D =
new TH3F(
"fPtProng0Hist3D",
"Pt prong0 vs Ds mass",nInvMassBins,minMass,maxMass,20,0.,20.,100,0.0,20.);
594 fPtProng1Hist3D =
new TH3F(
"fPtProng1Hist3D",
"Pt prong1 vs Ds mass",nInvMassBins,minMass,maxMass,20,0.,20.,100,0.0,20.);
595 fPtProng2Hist3D =
new TH3F(
"fPtProng2Hist3D",
"Pt prong2 vs Ds mass",nInvMassBins,minMass,maxMass,20,0.,20.,100,0.0,20.);
613 fPtVsMass=
new TH2F(
"hPtVsMass",
"PtVsMass (prod. cuts)",nInvMassBins,minMass,maxMass,40,0.,20.);
614 fPtVsMassPhi=
new TH2F(
"hPtVsMassPhi",
"PtVsMass (phi selection)",nInvMassBins,minMass,maxMass,200,0.,20.);
615 fPtVsMassK0st=
new TH2F(
"hPtVsMassK0st",
"PtVsMass (K0* selection)",nInvMassBins,minMass,maxMass,200,0.,20.);
616 fYVsPt=
new TH2F(
"hYVsPt",
"YvsPt (prod. cuts)",40,0.,20.,80,-2.,2.);
617 fYVsPtSig=
new TH2F(
"hYVsPtSig",
"YvsPt (MC, only sig., prod. cuts)",40,0.,20.,80,-2.,2.);
620 hisname.Form(
"hMassKKPt%d",i);
621 fMassHistKK[i]=
new TH1F(hisname.Data(),hisname.Data(),200,0.95,1.35);
624 hisname.Form(
"hMassKpiPt%d",i);
625 fMassHistKpi[i]=
new TH1F(hisname.Data(),hisname.Data(),200,0.7,1.1);
629 hisname.Form(
"hMassAllPt%dphi_RotBkg",i);
635 hisname.Form(
"fMassLSBkgHistPhiPt%d",i);
639 hisname.Form(
"fMassRSBkgHistPhiPt%d",i);
671 fNtupleDs =
new TNtuple(
"fNtupleDs",
"Ds",
"labDs:retcode:pdgcode0:Pt0:Pt1:Pt2:PtRec:P0:P1:P2:PidTrackBit0:PidTrackBit1:PidTrackBit2:PointingAngle:PointingAngleXY:DecLeng:DecLengXY:NorDecLeng:NorDecLengXY:InvMassKKpi:InvMasspiKK:sigvert:d00:d01:d02:dca:d0square:InvMassPhiKKpi:InvMassPhipiKK:InvMassK0starKKpi:InvMassK0starpiKK:cosinePiDsFrameKKpi:cosinePiDsFramepiKK:cosineKPhiFrameKKpi:cosineKPhiFramepiKK:centrality:runNumber");
676 fNtupleDs =
new TNtuple(
"fNtupleDs",
"Ds",
"Pt:InvMass:d0:origin");
695 if (matchingAODdeltaAODlevel<0 || (matchingAODdeltaAODlevel==0 &&
fAODProtection==1)) {
703 TClonesArray *array3Prong = 0;
704 if(!aod && AODEvent() && IsStandardAOD()) {
710 AliAODHandler* aodHandler = (AliAODHandler*)
711 ((AliAnalysisManager::GetAnalysisManager())->GetOutputEventHandler());
712 if(aodHandler->GetExtensions()) {
713 AliAODExtension *ext = (AliAODExtension*)aodHandler->GetExtensions()->FindObject(
"AliAOD.VertexingHF.root");
715 array3Prong=(TClonesArray*)aodFromExt->GetList()->FindObject(
"Charm3Prong");
718 array3Prong=(TClonesArray*)aod->GetList()->FindObject(
"Charm3Prong");
721 if(!aod || !array3Prong) {
722 printf(
"AliAnalysisTaskSEDs::UserExec: Charm3Prong branch not found!\n");
729 if(!aod->GetPrimaryVertex() || TMath::Abs(aod->GetMagneticField())<0.001)
return;
741 Float_t ntracks=aod->GetNumberOfTracks();
758 Int_t runNumber=aod->GetRunNumber();
762 TClonesArray *arrayMC=0;
763 AliAODMCHeader *mcHeader=0;
766 AliAODVertex *vtx1 = (AliAODVertex*)aod->GetPrimaryVertex();
772 arrayMC = (TClonesArray*)aod->GetList()->FindObject(AliAODMCParticle::StdBranchName());
774 printf(
"AliAnalysisTaskSEDs::UserExec: MC particles branch not found!\n");
779 mcHeader = (AliAODMCHeader*)aod->GetList()->FindObject(AliAODMCHeader::StdBranchName());
781 printf(
"AliAnalysisTaskSEDs::UserExec: MC header branch not found!\n");
789 if(aod->GetTriggerMask()==0 && (runNumber>=195344 && runNumber<=195677))
795 Double_t zMCVertex = mcHeader->GetVtxZ();
810 AliAODVZERO *aodVZERO = (AliAODVZERO*)aod->GetVZEROData();
812 for(
int ich=0; ich<64;ich++) V0mult += aodVZERO->GetMultiplicity(ich);
815 for (
Int_t i=0;i<aod->GetNumberOfTracks();++i) {
816 AliVTrack *track = aod->GetTrack(i);
817 if (!track)
continue;
818 if((track->GetStatus() & AliVTrack::kTPCout)) nTPCout++;
821 if(nTPCout > (0.32*V0mult+750))
return;
825 Int_t n3Prong = array3Prong->GetEntriesFast();
826 if(fDebug>1) printf(
"Number of Ds->KKpi: %d\n",n3Prong);
828 Int_t pdgDstoKKpi[3]={321,321,211};
831 Double_t massPhi=TDatabasePDG::Instance()->GetParticle(333)->Mass();
838 for (
Int_t i3Prong = 0; i3Prong < n3Prong; i3Prong++) {
863 AliAODVertex *origownvtx=0x0;
868 fYVsPt->Fill(ptCand,rapid);
874 Int_t retCodeNoRes=retCodeAnalysisCuts;
884 massKK=d->InvMass2Prongs(0,1,321,321);
885 Double_t massKp=d->InvMass2Prongs(1,2,321,211);
890 massKK=d->InvMass2Prongs(1,2,321,321);
891 Double_t massKp=d->InvMass2Prongs(0,1,211,321);
896 Int_t isKKpi=retCodeAnalysisCuts&1;
897 Int_t ispiKK=retCodeAnalysisCuts&2;
898 Int_t isPhiKKpi=retCodeAnalysisCuts&4;
899 Int_t isPhipiKK=retCodeAnalysisCuts&8;
900 Int_t isK0starKKpi=retCodeAnalysisCuts&16;
901 Int_t isK0starpiKK=retCodeAnalysisCuts&32;
903 if(retCodeAnalysisCuts>0){
923 if(weightKKpi>1. || weightKKpi<0.) weightKKpi=0.;
924 if(weightpiKK>1. || weightpiKK<0.) weightpiKK=0.;
931 Int_t indexMCKKpi=-1;
932 Int_t indexMCpiKK=-1;
941 labDs = d->MatchToMC(431,arrayMC,3,pdgDstoKKpi);
942 labDplus = d->MatchToMC(411,arrayMC,3,pdgDstoKKpi);
944 Int_t labDau0=((AliAODTrack*)d->GetDaughter(0))->GetLabel();
945 AliAODMCParticle* p=(AliAODMCParticle*)arrayMC->UncheckedAt(TMath::Abs(labDau0));
946 pdgCode0=TMath::Abs(p->GetPdgCode());
977 Int_t labDau0=((AliAODTrack*)d->GetDaughter(0))->GetLabel();
978 AliAODMCParticle* p=(AliAODMCParticle*)arrayMC->UncheckedAt(TMath::Abs(labDau0));
979 pdgCode0=TMath::Abs(p->GetPdgCode());
985 Float_t trueImpParDsFromB = 99999.;
990 fMassHist[index]->Fill(invMass,weightKKpi);
991 fPtVsMass->Fill(invMass,ptCand,weightKKpi);
993 if(
fDoBkgPhiSB && (0.010<TMath::Abs(massKK-massPhi)) && (TMath::Abs(massKK-massPhi)<0.030) ) {
1006 if(
fReadMC && indexMCKKpi!=-1){
1007 fMassHist[indexMCKKpi]->Fill(invMass,weightKKpi);
1012 AliAODMCParticle *partDs;
1014 partDs = (AliAODMCParticle*)arrayMC->At(labDs);
1016 if(labDplus >= 0) partDs = (AliAODMCParticle*)arrayMC->At(labDplus);
1028 if(isK0starKKpi)
fMassHistK0st[indexMCKKpi]->Fill(invMass,weightKKpi);
1032 Double_t array4ImpPar[3] = {invMass,ptCand,impParxy};
1038 Double_t array4ImpParTrueB[3] = {invMass,ptCand,trueImpParDsFromB};
1055 fMassHist[index]->Fill(invMass,weightpiKK);
1056 fPtVsMass->Fill(invMass,ptCand,weightpiKK);
1058 if(
fDoBkgPhiSB && (0.010<TMath::Abs(massKK-massPhi)) && (TMath::Abs(massKK-massPhi)<0.030) ) {
1071 if(
fReadMC && indexMCpiKK!=-1){
1072 fMassHist[indexMCpiKK]->Fill(invMass,weightpiKK);
1077 AliAODMCParticle *partDs;
1078 if(indexMCpiKK==
GetSignalHistoIndex(iPtBin)) partDs = (AliAODMCParticle*)arrayMC->At(labDs);
1079 if(labDplus >= 0) partDs = (AliAODMCParticle*)arrayMC->At(labDplus);
1091 if(isK0starpiKK)
fMassHistK0st[indexMCpiKK]->Fill(invMass,weightpiKK);
1095 Double_t array4ImpPar[3] = {invMass,ptCand,impParxy};
1101 Double_t array4ImpParTrueB[3] = {invMass,ptCand,trueImpParDsFromB};
1117 const Int_t nProng = 3;
1134 for(
Int_t ijp=0; ijp<nProng; ijp++) normIPprong[ijp]=-999.;
1142 cent = multSelection->GetMultiplicityPercentile(Form(
"%s",
fCentEstName.Data()));
1143 Int_t qual = multSelection->GetEvSelCode();
1144 if(qual == 199 ) cent=-999;
1149 AliDebug(2,
"Using Histogram as Pt weight function");
1156 massKK = d->InvMass2Prongs(0,1,321,321);
1157 deltaMassKK = TMath::Abs(massKK-massPhi);
1160 cosPiKPhi = TMath::Abs(cosPiKPhi*cosPiKPhi*cosPiKPhi);
1162 for(
Int_t ip=0; ip<nProng; ip++) {
1165 tmpNormIP[ip] = diffIP/errdiffIP;
1166 if(ip==0) normIP = tmpNormIP[ip];
1167 else if(TMath::Abs(tmpNormIP[ip])>TMath::Abs(normIP)) normIP = tmpNormIP[ip];
1169 normIPprong[0] = tmpNormIP[0];
1170 normIPprong[1] = tmpNormIP[1];
1171 normIPprong[2] = tmpNormIP[2];
1173 Double_t var4nSparse[
knVarForSparse] = {invMass,ptCand,deltaMassKK*1000,dlen*1000,dlenxy*1000,normdlxy,cosp*100,cospxy*100,
1174 sigvert*1000,cosPiDs*10,cosPiKPhi*10,TMath::Abs(normIP),nTracklets,cent,absimpparxy*10000};
1181 if(candType==1.5)
fnSparseMC[2]->Fill(var4nSparse,ptWeight);
1182 if(candType==2.5)
fnSparseMC[3]->Fill(var4nSparse,ptWeight);
1194 massKK = d->InvMass2Prongs(1,2,321,321);
1195 deltaMassKK = TMath::Abs(massKK-massPhi);
1198 cosPiKPhi = TMath::Abs(cosPiKPhi*cosPiKPhi*cosPiKPhi);
1200 for(
Int_t ip=0; ip<nProng; ip++) {
1203 tmpNormIP[ip] = diffIP/errdiffIP;
1204 if(ip==0) normIP = tmpNormIP[ip];
1205 else if(TMath::Abs(tmpNormIP[ip])>TMath::Abs(normIP)) normIP = tmpNormIP[ip];
1208 normIPprong[0] = tmpNormIP[2];
1209 normIPprong[1] = tmpNormIP[1];
1210 normIPprong[2] = tmpNormIP[0];
1212 Double_t var4nSparse[
knVarForSparse] = {invMass,ptCand,deltaMassKK*1000,dlen*1000,dlenxy*1000,normdlxy,cosp*100,cospxy*100,
1213 sigvert*1000,cosPiDs*10,cosPiKPhi*10,TMath::Abs(normIP),nTracklets,cent,absimpparxy*10000};
1220 if(candType==1.5)
fnSparseMC[2]->Fill(var4nSparse,ptWeight);
1221 if(candType==2.5)
fnSparseMC[3]->Fill(var4nSparse,ptWeight);
1230 if(
fReadMC && (isPhiKKpi || isPhiKKpi)) {
1231 Double_t var[6] = {ptCand,normIP,normIPprong[0],normIPprong[1],normIPprong[2],candType};
1238 Double_t sumD02=d->Getd0Prong(0)*d->Getd0Prong(0)+d->Getd0Prong(1)*d->Getd0Prong(1)+d->Getd0Prong(2)*d->Getd0Prong(2);
1242 for(
Int_t i=0;i<3;i++){
1243 if(d->PtProng(i)>
ptmax)ptmax=d->PtProng(i);
1276 Double_t massKK=d->InvMass2Prongs(0,1,321,321);
1277 Double_t massKp=d->InvMass2Prongs(1,2,321,211);
1278 fDalitz[index]->Fill(massKK,massKp);
1279 if(isPhiKKpi)
fDalitzPhi[index]->Fill(massKK,massKp);
1280 if(isK0starKKpi)
fDalitzK0st[index]->Fill(massKK,massKp);
1281 if(
fReadMC && indexMCKKpi!=-1){
1282 fDalitz[indexMCKKpi]->Fill(massKK,massKp);
1283 if(isPhiKKpi)
fDalitzPhi[indexMCKKpi]->Fill(massKK,massKp);
1284 if(isK0starKKpi)
fDalitzK0st[indexMCKKpi]->Fill(massKK,massKp);
1304 Double_t massKK=d->InvMass2Prongs(1,2,321,321);
1305 Double_t massKp=d->InvMass2Prongs(0,1,211,321);
1306 fDalitz[index]->Fill(massKK,massKp);
1307 if(isPhipiKK)
fDalitzPhi[index]->Fill(massKK,massKp);
1308 if(isK0starpiKK)
fDalitzK0st[index]->Fill(massKK,massKp);
1311 if(
fReadMC && indexMCpiKK!=-1){
1312 fDalitz[indexMCpiKK]->Fill(massKK,massKp);
1313 if(isPhipiKK)
fDalitzPhi[indexMCpiKK]->Fill(massKK,massKp);
1314 if(isK0starpiKK)
fDalitzK0st[indexMCpiKK]->Fill(massKK,massKp);
1340 AliAODTrack *track0=(AliAODTrack*)d->GetDaughter(0);
1341 AliAODTrack *track1=(AliAODTrack*)d->GetDaughter(1);
1342 AliAODTrack *track2=(AliAODTrack*)d->GetDaughter(2);
1350 tmp[1]=
Float_t(retCodeAnalysisCuts);
1352 tmp[3]=d->PtProng(0);
1353 tmp[4]=d->PtProng(1);
1354 tmp[5]=d->PtProng(2);
1356 tmp[7]=d->PProng(0);
1357 tmp[8]=d->PProng(1);
1358 tmp[9]=d->PProng(2);
1359 tmp[10]=
Int_t(bitMapPIDTrack0);
1360 tmp[11]=
Int_t(bitMapPIDTrack1);
1361 tmp[12]=
Int_t(bitMapPIDTrack2);
1371 tmp[22]=d->Getd0Prong(0);
1372 tmp[23]=d->Getd0Prong(1);
1373 tmp[24]=d->Getd0Prong(2);
1374 tmp[25]=d->GetDCA();
1375 tmp[26]=d->Getd0Prong(0)*d->Getd0Prong(0)+d->Getd0Prong(1)*d->Getd0Prong(1)+d->Getd0Prong(2)*d->Getd0Prong(2);
1376 tmp[27]=d->InvMass2Prongs(0,1,321,321);
1377 tmp[28]=d->InvMass2Prongs(1,2,321,321);
1378 tmp[29]=d->InvMass2Prongs(1,2,321,211);
1379 tmp[30]=d->InvMass2Prongs(0,1,211,321);
1384 tmp[35]=(
Float_t)(centrality);
1420 if(fDebug > 1) printf(
"AnalysisTaskSEDs: Terminate() \n");
1423 printf(
"ERROR: fOutput not available\n");
1428 printf(
"Number of analyzed events = %d\n",(
Int_t)
fHistNEvents->GetBinContent(2));
1430 printf(
"ERROR: fHistNEvents not available\n");
1443 Double_t zMCVertex = mcHeader->GetVtxZ();
1445 for(
Int_t iPart=0; iPart<arrayMC->GetEntriesFast(); iPart++){
1447 AliAODMCParticle* mcPart =
dynamic_cast<AliAODMCParticle*
>(arrayMC->At(iPart));
1449 if(TMath::Abs(mcPart->GetPdgCode()) == 431) {
1453 Bool_t isGoodDecay = kFALSE;
1454 Int_t labDau[3] = {-1,-1,-1};
1455 Bool_t isFidAcc = kFALSE;
1456 Bool_t isDaugInAcc = kFALSE;
1459 if(deca == 1) isGoodDecay=kTRUE;
1461 if(labDau[0]==-1)
continue;
1474 AliDebug(2,
"Using Histogram as Pt weight function");
1477 if(orig==4)
fnSparseMC[0]->Fill(var4nSparseAcc,ptWeight);
1478 if(orig==5)
fnSparseMC[1]->Fill(var4nSparseAcc,ptWeight);
1488 Bool_t isGoodDecay = kFALSE;
1489 Int_t labDau[3] = {-1,-1,-1};
1490 Bool_t isFidAcc = kFALSE;
1491 Bool_t isDaugInAcc = kFALSE;
1494 if(deca == 1) isGoodDecay=kTRUE;
1496 if(labDau[0]==-1)
continue;
1509 AliDebug(2,
"Using Histogram as Pt weight function");
1526 for (
Int_t iProng = 0; iProng<nProng; iProng++){
1527 AliAODMCParticle* mcPartDaughter=
dynamic_cast<AliAODMCParticle*
>(arrayMC->At(labDau[iProng]));
1528 if(!mcPartDaughter) {
1531 Double_t eta = mcPartDaughter->Eta();
1532 Double_t pt = mcPartDaughter->Pt();
1533 if (TMath::Abs(eta) > 0.9 || pt < 0.1) {
1543 const Int_t nprongs = 3;
1544 Double_t PxProng[nprongs], PyProng[nprongs], PzProng[nprongs], P2Prong[nprongs], mProng[nprongs];
1554 for (
Int_t ip=0; ip<nprongs; ip++) {
1555 PxProng[ip] = d->PxProng(ip);
1556 PyProng[ip] = d->PxProng(ip);
1557 PzProng[ip] = d->PzProng(ip);
1558 P2Prong[ip] = d->P2Prong(ip);
1559 mProng[ip] = TDatabasePDG::Instance()->GetParticle(pdg[ip])->Mass();
1562 for(
Int_t i=0; i<9; i++) {
1567 Double_t phirot=TMath::Pi()*(5/6.+1/27.*i);
1569 PxProng[idPion] = PxProng[idPion]*TMath::Cos(phirot)-PyProng[idPion]*TMath::Sin(phirot);
1570 PyProng[idPion] = PxProng[idPion]*TMath::Sin(phirot)+PyProng[idPion]*TMath::Cos(phirot);
1572 for (
Int_t j=0; j<nprongs; j++) {
1577 P2 = Px*Px + Py*Py + Pz*Pz;
1580 for(
Int_t j=0; j<nprongs; j++) {
1581 energysum += TMath::Sqrt(mProng[j]*mProng[j]+P2Prong[j]);
1591 Double_t massDs=TDatabasePDG::Instance()->GetParticle(431)->Mass();
1596 Int_t nTrklBins = 1;
1598 Int_t nCentrBins = 1;
1601 Int_t nBinsReco[
knVarForSparse] = {nInvMassBins,24, 30, 14, 14, 20, 10, 10, 14, 6, 6, 12, nTrklBins, nCentrBins, 30};
1602 Double_t xminReco[
knVarForSparse] = {
minMass, 0., 0., 0., 0., 0., 90., 90., 0., 7., 0., 0., 1., 0., 0.};
1603 Double_t xmaxReco[
knVarForSparse] = {
maxMass, 24., 15., 70., 70., 10., 100., 100., 70., 10., 3., 6., 301., 101., 300.};
1604 TString axis[
knVarForSparse] = {
"invMassDsAllPhi",
"p_{T}",
"#Delta Mass(KK)",
"dlen",
"dlen_{xy}",
"normdl_{xy}",
"cosP",
"cosP_{xy}",
"sigVert",
"cosPiDs",
"|cosPiKPhi^{3}|",
"normIP",
"N tracklets",Form(
"Percentile (%s)",
fCentEstName.Data()),
"ImpPar_{xy}"};
1607 nInvMassBins=(
Int_t)(0.45/fMassBinSize+0.5);
1610 nBinsReco[0] = nInvMassBins;
1639 TString label[2] = {
"fromC",
"fromB"};
1640 for (
Int_t i=0; i<2; i++) {
1643 fnSparseMC[i]->GetAxis(0)->SetTitle(
"p_{T} (GeV/c)");
1645 fnSparseMC[i]->GetAxis(2)->SetTitle(
"N tracklets");
1650 titleSparse = Form(
"MC nSparse D^{+} (%s)- %s",
fFillAcceptanceLevel ?
"Acc.Step" :
"Gen.Acc.Step", label[i].
Data());
1658 for (
Int_t i=2; i<4; i++) {
1659 fnSparseMC[i] =
new THnSparseF(Form(
"fnSparseReco_%s",label[i-2].
Data()),Form(
"MC nSparse (Reco Step)- %s",label[i-2].
Data()),
knVarForSparse, nBinsReco, xminReco, xmaxReco);
1667 fnSparseMCDplus[i] =
new THnSparseF(Form(
"fnSparseRecoDplus_%s",label[i-2].
Data()),Form(
"MC nSparse D^{+} (Reco Step)- %s",label[i-2].
Data()), knVarForSparse, nBinsReco, xminReco, xmaxReco);
1678 fnSparse->GetAxis(j)->SetTitle(Form(
"%s",axis[j].
Data()));
1696 fnSparseIP->GetAxis(5)->SetTitle(
"candType (0.5=bkg; 1.5=prompt; 2.5=FD)");
1704 Double_t massDs=TDatabasePDG::Instance()->GetParticle(431)->Mass();
1729 for(
Int_t iSparse=0; iSparse<4; iSparse++) {
1740 mcHeader->GetVertex(vtxTrue);
1742 partDs->XvYvZv(origD);
1744 Double_t pXdauTrue[3],pYdauTrue[3],pZdauTrue[3];
1745 for(
Int_t iDau=0; iDau<3; iDau++){
1751 Int_t nDau=partDs->GetNDaughters();
1752 Int_t labelFirstDau = partDs->GetDaughter(0);
1755 for(
Int_t iDau=0; iDau<2; iDau++){
1756 Int_t ind = labelFirstDau+iDau;
1757 AliAODMCParticle* part =
dynamic_cast<AliAODMCParticle*
>(arrayMC->At(ind));
1759 AliError(
"Daughter particle not found in MC array");
1762 Int_t pdgCode=TMath::Abs(part->GetPdgCode());
1764 pXdauTrue[theDau]=part->Px();
1765 pYdauTrue[theDau]=part->Py();
1766 pZdauTrue[theDau]=part->Pz();
1769 Int_t nDauRes=part->GetNDaughters();
1771 Int_t labelFirstDauRes = part->GetDaughter(0);
1772 for(
Int_t iDauRes=0; iDauRes<2; iDauRes++){
1773 Int_t indDR = labelFirstDauRes+iDauRes;
1774 AliAODMCParticle* partDR =
dynamic_cast<AliAODMCParticle*
>(arrayMC->At(indDR));
1776 AliError(
"Daughter particle not found in MC array");
1780 Int_t pdgCodeDR=TMath::Abs(partDR->GetPdgCode());
1782 pXdauTrue[theDau]=partDR->Px();
1783 pYdauTrue[theDau]=partDR->Py();
1784 pZdauTrue[theDau]=partDR->Pz();
1793 AliError(
"Wrong number of decay prongs");
1798 AliAODRecoDecayHF aodDsMC(vtxTrue,origD,3,charge,pXdauTrue,pYdauTrue,pZdauTrue,d0dummy);
1808 fHistoPtWeight =
new TH1F(
"histoWeight",
"histoWeight",500,0.,50.);
1810 Float_t binc[500]={ 1.695705, 1.743693, 1.790289, 1.835410, 1.878981, 1.920938, 1.961223, 1.999787, 2.036589, 2.071597, 2.104784, 2.136132, 2.165629, 2.193270, 2.219057, 2.174545, 2.064698, 1.959489, 1.858770, 1.762396, 1.670224, 1.582115, 1.497931, 1.417541, 1.340814, 1.267622, 1.197842, 1.131352, 1.068033, 1.007770, 0.950450, 0.895963, 0.844202, 0.795062, 0.748441, 0.704241, 0.662363, 0.622715, 0.585204, 0.549742, 0.516242, 0.484620, 0.454795, 0.426686, 0.400217, 0.375314, 0.351903, 0.329915, 0.309281, 0.289936, 0.271816, 0.254860, 0.239007, 0.224201, 0.210386, 0.197508, 0.185516, 0.174360, 0.163992, 0.154366, 0.145438, 0.137166, 0.129508, 0.122426, 0.115882, 0.109840, 0.104266, 0.099128, 0.094395, 0.090036, 0.086023, 0.082331, 0.078933, 0.075805, 0.072925, 0.070271, 0.067823, 0.065562, 0.063471, 0.061532, 0.059730, 0.058051, 0.056481, 0.055007, 0.053619, 0.052306, 0.051059, 0.049867, 0.048725, 0.047624, 0.046558, 0.045522, 0.044511, 0.043521, 0.042548, 0.041590, 0.040643, 0.039706, 0.038778, 0.037857, 0.036944, 0.036039, 0.035141, 0.034251, 0.033370, 0.032500, 0.031641, 0.030796, 0.029966, 0.029153, 0.028359, 0.027587, 0.026837, 0.026113, 0.025416, 0.024748, 0.024111, 0.023507, 0.022937, 0.022402, 0.021904, 0.021443, 0.021020, 0.020634, 0.020286, 0.019974, 0.019698, 0.019455, 0.019244, 0.019062, 0.018905, 0.018770, 0.018652, 0.018545, 0.018444, 0.018342, 0.018231, 0.018102, 0.017947, 0.017755, 0.017536, 0.017327, 0.017120, 0.016915, 0.016713, 0.016514, 0.016317, 0.016122, 0.015929, 0.015739, 0.015551, 0.015366, 0.015182, 0.015001, 0.014822, 0.014645, 0.014470, 0.014297, 0.014127, 0.013958, 0.013791, 0.013627, 0.013464, 0.013303, 0.013145, 0.012988, 0.012833, 0.012679, 0.012528, 0.012378, 0.012231, 0.012085, 0.011940, 0.011798, 0.011657, 0.011518, 0.011380, 0.011244, 0.011110, 0.010978, 0.010846, 0.010717, 0.010589, 0.010463, 0.010338, 0.010214, 0.010092, 0.009972, 0.009853, 0.009735, 0.009619, 0.009504, 0.009391, 0.009279, 0.009168, 0.009058, 0.008950, 0.008843, 0.008738, 0.008633, 0.008530, 0.008429, 0.008328, 0.008229, 0.008130, 0.008033, 0.007937, 0.007843, 0.007749, 0.007656, 0.007565, 0.007475, 0.007385, 0.007297, 0.007210, 0.007124, 0.007039, 0.006955, 0.006872, 0.006790, 0.006709, 0.006629, 0.006550, 0.006471, 0.006394, 0.006318, 0.006242, 0.006168, 0.006094, 0.006022, 0.005950, 0.005879, 0.005808, 0.005739, 0.005671, 0.005603, 0.005536, 0.005470, 0.005405, 0.005340, 0.005276, 0.005213, 0.005151, 0.005090, 0.005029, 0.004969, 0.004909, 0.004851, 0.004793, 0.004736, 0.004679, 0.004623, 0.004568, 0.004514, 0.004460, 0.004406, 0.004354, 0.004302, 0.004251, 0.004200, 0.004150, 0.004100, 0.004051, 0.004003, 0.003955, 0.003908, 0.003861, 0.003815, 0.003770, 0.003725, 0.003680, 0.003636, 0.003593, 0.003550, 0.003507, 0.003466, 0.003424, 0.003383, 0.003343, 0.003303, 0.003264, 0.003225, 0.003186, 0.003148, 0.003110, 0.003073, 0.003037, 0.003000, 0.002965, 0.002929, 0.002894, 0.002860, 0.002826, 0.002792, 0.002758, 0.002726, 0.002693, 0.002661, 0.002629, 0.002598, 0.002567, 0.002536, 0.002506, 0.002476, 0.002446, 0.002417, 0.002388, 0.002360, 0.002332, 0.002304, 0.002276, 0.002249, 0.002222, 0.002196, 0.002169, 0.002144, 0.002118, 0.002093, 0.002068, 0.002043, 0.002019, 0.001995, 0.001971, 0.001947, 0.001924, 0.001901, 0.001878, 0.001856, 0.001834, 0.001812, 0.001790, 0.001769, 0.001748, 0.001727, 0.001706, 0.001686, 0.001666, 0.001646, 0.001626, 0.001607, 0.001588, 0.001569, 0.001550, 0.001531, 0.001513, 0.001495, 0.001477, 0.001460, 0.001442, 0.001425, 0.001408, 0.001391, 0.001374, 0.001358, 0.001342, 0.001326, 0.001310, 0.001294, 0.001279, 0.001264, 0.001249, 0.001234, 0.001219, 0.001204, 0.001190, 0.001176, 0.001162, 0.001148, 0.001134, 0.001121, 0.001107, 0.001094, 0.001081, 0.001068, 0.001055, 0.001043, 0.001030, 0.001018, 0.001006, 0.000994, 0.000982, 0.000970, 0.000959, 0.000947, 0.000936, 0.000925, 0.000914, 0.000903, 0.000892, 0.000881, 0.000871, 0.000860, 0.000850, 0.000840, 0.000830, 0.000820, 0.000810, 0.000801, 0.000791, 0.000782, 0.000772, 0.000763, 0.000754, 0.000745, 0.000736, 0.000727, 0.000719, 0.000710, 0.000702, 0.000693, 0.000685, 0.000677, 0.000669, 0.000661, 0.000653, 0.000645, 0.000637, 0.000630, 0.000622, 0.000615, 0.000607, 0.000600, 0.000593, 0.000586, 0.000579, 0.000572, 0.000565, 0.000558, 0.000552, 0.000545, 0.000539, 0.000532, 0.000526, 0.000520, 0.000513, 0.000507, 0.000501, 0.000495, 0.000489, 0.000483, 0.000478, 0.000472, 0.000466, 0.000461, 0.000455, 0.000450, 0.000444, 0.000439, 0.000434, 0.000429, 0.000424, 0.000419, 0.000414, 0.000409, 0.000404, 0.000399, 0.000394, 0.000389, 0.000385, 0.000380, 0.000376, 0.000371, 0.000367, 0.000362, 0.000358, 0.000354, 0.000350, 0.000345, 0.000341, 0.000337, 0.000333, 0.000329, 0.000325, 0.000321, 0.000318, 0.000314, 0.000310, 0.000306, 0.000303, 0.000299, 0.000295, 0.000292, 0.000288, 0.000285, 0.000282, 0.000278, 0.000275, 0.000272, 0.000268, 0.000265, 0.000262, 0.000259, 0.000256, 0.000253, 0.000250, 0.000247, 0.000244, 0.000241, 0.000238, 0.000235};
1811 for(
Int_t i=0; i<500; i++){
1824 fHistoPtWeight =
new TH1F(
"histoWeight",
"histoWeight",400,0.,40.);
1826 Float_t binc[400]={1.118416, 1.003458, 0.935514, 0.907222, 0.904359, 0.913668, 0.933906, 0.963898, 0.996388, 1.031708, 1.066404, 1.099683, 1.125805, 1.145181, 1.165910, 1.181905, 1.193425, 1.203891, 1.204726, 1.209411, 1.209943, 1.204763, 1.205291, 1.198912, 1.197390, 1.182005, 1.184194, 1.175994, 1.167881, 1.158348, 1.147190, 1.139833, 1.126940, 1.123322, 1.108389, 1.102199, 1.089464, 1.075874, 1.061964, 1.051429, 1.038113, 1.026668, 1.011441, 0.998567, 0.987658, 0.972434, 0.950068, 0.940758, 0.916880, 0.911931, 0.894512, 0.878691, 0.860589, 0.848025, 0.830774, 0.819399, 0.801134, 0.775276, 0.766382, 0.750495, 0.736935, 0.717529, 0.702637, 0.689152, 0.671334, 0.652030, 0.635696, 0.621365, 0.608362, 0.599019, 0.576024, 0.562136, 0.550938, 0.533587, 0.516410, 0.509744, 0.501655, 0.487402, 0.476469, 0.463762, 0.445979, 0.438088, 0.422214, 0.417467, 0.404357, 0.391450, 0.379996, 0.371201, 0.361497, 0.352912, 0.343189, 0.329183, 0.327662, 0.310783, 0.304525, 0.301007, 0.293306, 0.278332, 0.274419, 0.267361, 0.261459, 0.255514, 0.249293, 0.241129, 0.237600, 0.231343, 0.221982, 0.216872, 0.211094, 0.206954, 0.202333, 0.196572, 0.193274, 0.188240, 0.181817, 0.178364, 0.173614, 0.167135, 0.166055, 0.163423, 0.156557, 0.155821, 0.151985, 0.144909, 0.145062, 0.139720, 0.138873, 0.131892, 0.129969, 0.126509, 0.126978, 0.120451, 0.117661, 0.116300, 0.115604, 0.112215, 0.109237, 0.107720, 0.106419, 0.102050, 0.102777, 0.097406, 0.098447, 0.095964, 0.093868, 0.092430, 0.089329, 0.088249, 0.085881, 0.084417, 0.085498, 0.082444, 0.079151, 0.079565, 0.077811, 0.077293, 0.075218, 0.072445, 0.073054, 0.071545, 0.070279, 0.068046, 0.067854, 0.068092, 0.065378, 0.064405, 0.062060, 0.063391, 0.061718, 0.059616, 0.058913, 0.058895, 0.058311, 0.056320, 0.056527, 0.055349, 0.053701, 0.054735, 0.052264, 0.051277, 0.051554, 0.050545, 0.048995, 0.049507, 0.048466, 0.048156, 0.046809, 0.047600, 0.046078, 0.044801, 0.044113, 0.043700, 0.043530, 0.043396, 0.042556, 0.041048, 0.041657, 0.040394, 0.041314, 0.040720, 0.039656, 0.038478, 0.039276, 0.038777, 0.037730, 0.036918, 0.036466, 0.035827, 0.035285, 0.035963, 0.034371, 0.034757, 0.033205, 0.033666, 0.033266, 0.032583, 0.033570, 0.032102, 0.032107, 0.031464, 0.032160, 0.030091, 0.030564, 0.029464, 0.029613, 0.029626, 0.029512, 0.029324, 0.028607, 0.027628, 0.027251, 0.027072, 0.027077, 0.026724, 0.026961, 0.026303, 0.026237, 0.025454, 0.025133, 0.025365, 0.026014, 0.024807, 0.023901, 0.023459, 0.023405, 0.023654, 0.023981, 0.023675, 0.022493, 0.022781, 0.021801, 0.021704, 0.022372, 0.021189, 0.020681, 0.020779, 0.021324, 0.020558, 0.020901, 0.020586, 0.020808, 0.019276, 0.019516, 0.019706, 0.018935, 0.018632, 0.018516, 0.019187, 0.018916, 0.018039, 0.018208, 0.018045, 0.017628, 0.017916, 0.017711, 0.017838, 0.017222, 0.016565, 0.015733, 0.016264, 0.015826, 0.016090, 0.016622, 0.015802, 0.016621, 0.015441, 0.015309, 0.014860, 0.014935, 0.014968, 0.014443, 0.014485, 0.015136, 0.014078, 0.014414, 0.013908, 0.014071, 0.014078, 0.013766, 0.013436, 0.013507, 0.013480, 0.013224, 0.013041, 0.013935, 0.012885, 0.012453, 0.012528, 0.012492, 0.012225, 0.012542, 0.012706, 0.012136, 0.011902, 0.011560, 0.011448, 0.011861, 0.011271, 0.011831, 0.011159, 0.011171, 0.010966, 0.011311, 0.011002, 0.011130, 0.010995, 0.010450, 0.010663, 0.010678, 0.010492, 0.009861, 0.010507, 0.009916, 0.010121, 0.010029, 0.010046, 0.009370, 0.009647, 0.010104, 0.009282, 0.009830, 0.009403, 0.009148, 0.009172, 0.008893, 0.009158, 0.009019, 0.008780, 0.008579, 0.009063, 0.008634, 0.008988, 0.008265, 0.008581, 0.008575, 0.008690, 0.008181, 0.008352, 0.008150, 0.008430, 0.008256, 0.008119, 0.008453, 0.008447, 0.008021, 0.007938, 0.008025, 0.007718, 0.008127, 0.007651, 0.007590, 0.007316, 0.007839, 0.007504, 0.007341, 0.007527, 0.007263, 0.007668, 0.007306, 0.007271, 0.006910, 0.007257, 0.007260, 0.006810, 0.006967, 0.006887, 0.006867, 0.007202, 0.006829, 0.006370, 0.006710, 0.006417, 0.006361, 0.006800, 0.006410, 0.006323, 0.006790, 0.006322, 0.006673, 0.006547};
1827 for(
Int_t i=0; i<400; i++){
1840 fHistoPtWeight =
new TH1F(
"histoWeight",
"histoWeight",400,0.,40.);
1842 Float_t binc[400]={2.166180, 1.866117, 1.667595, 1.547176, 1.486661, 1.457891, 1.426949, 1.399055, 1.383278, 1.349383, 1.317009, 1.282321, 1.234257, 1.181136, 1.136655, 1.087523, 1.037912, 0.993256, 0.944746, 0.900948, 0.865869, 0.827193, 0.794424, 0.757723, 0.733020, 0.700164, 0.682189, 0.659872, 0.637918, 0.615749, 0.593020, 0.574402, 0.556158, 0.542663, 0.525494, 0.516038, 0.503629, 0.490980, 0.479143, 0.469005, 0.457749, 0.447668, 0.436803, 0.427073, 0.418282, 0.407867, 0.395093, 0.387861, 0.374742, 0.369462, 0.360146, 0.351991, 0.342990, 0.336259, 0.327730, 0.322382, 0.314602, 0.303874, 0.299820, 0.293049, 0.287539, 0.280329, 0.274866, 0.269939, 0.263299, 0.256057, 0.249215, 0.242170, 0.235704, 0.230709, 0.220529, 0.213921, 0.208394, 0.202424, 0.196700, 0.194943, 0.192620, 0.187894, 0.184411, 0.180204, 0.172915, 0.169077, 0.162201, 0.159636, 0.153904, 0.148296, 0.143282, 0.139306, 0.135561, 0.132342, 0.128696, 0.123444, 0.122873, 0.116544, 0.114197, 0.112878, 0.110018, 0.104547, 0.103222, 0.100707, 0.098622, 0.096513, 0.094295, 0.091334, 0.090122, 0.087870, 0.084894, 0.083729, 0.082265, 0.081404, 0.080323, 0.078750, 0.078132, 0.076781, 0.074823, 0.074050, 0.072614, 0.070093, 0.069828, 0.068907, 0.066189, 0.066054, 0.064600, 0.061757, 0.061986, 0.059862, 0.059656, 0.056807, 0.055956, 0.054386, 0.054507, 0.051629, 0.050358, 0.049702, 0.049331, 0.047814, 0.046476, 0.045762, 0.045142, 0.043224, 0.043484, 0.041282, 0.041794, 0.040809, 0.039985, 0.039439, 0.038181, 0.037782, 0.036831, 0.036264, 0.036790, 0.035535, 0.034173, 0.034409, 0.033659, 0.033308, 0.032290, 0.030981, 0.031121, 0.030361, 0.029708, 0.028653, 0.028461, 0.028449, 0.027208, 0.026697, 0.025623, 0.026069, 0.025279, 0.024332, 0.024341, 0.024629, 0.024677, 0.024117, 0.024490, 0.024257, 0.023804, 0.024537, 0.023692, 0.023502, 0.023888, 0.023673, 0.023193, 0.023684, 0.023429, 0.023521, 0.023014, 0.023346, 0.022544, 0.021866, 0.021477, 0.021224, 0.021089, 0.020972, 0.020515, 0.019739, 0.019982, 0.019328, 0.019719, 0.019387, 0.018833, 0.018227, 0.018558, 0.018276, 0.017738, 0.017460, 0.017365, 0.017178, 0.017033, 0.017478, 0.016817, 0.017119, 0.016463, 0.016802, 0.016711, 0.016475, 0.017083, 0.016441, 0.016548, 0.016320, 0.016786, 0.015804, 0.016153, 0.015668, 0.015843, 0.015810, 0.015651, 0.015454, 0.014981, 0.014376, 0.014089, 0.013906, 0.013818, 0.013549, 0.013580, 0.013160, 0.013040, 0.012566, 0.012324, 0.012353, 0.012582, 0.011915, 0.011401, 0.011112, 0.011008, 0.011046, 0.011119, 0.010954, 0.010439, 0.010604, 0.010179, 0.010163, 0.010507, 0.009981, 0.009771, 0.009846, 0.010134, 0.009798, 0.009991, 0.009869, 0.010005, 0.009295, 0.009438, 0.009557, 0.009210, 0.009088, 0.009057, 0.009412, 0.009306, 0.008899, 0.009009, 0.008952, 0.008764, 0.008926, 0.008842, 0.008924, 0.008634, 0.008322, 0.007920, 0.008205, 0.008000, 0.008151, 0.008438, 0.008037, 0.008472, 0.007886, 0.007835, 0.007621, 0.007675, 0.007707, 0.007452, 0.007489, 0.007841, 0.007308, 0.007497, 0.007248, 0.007348, 0.007367, 0.007227, 0.007097, 0.007179, 0.007209, 0.007115, 0.007059, 0.007588, 0.007058, 0.006862, 0.006945, 0.006965, 0.006856, 0.007075, 0.007209, 0.006925, 0.006830, 0.006672, 0.006645, 0.006923, 0.006615, 0.006982, 0.006622, 0.006666, 0.006579, 0.006823, 0.006673, 0.006786, 0.006740, 0.006440, 0.006606, 0.006650, 0.006568, 0.006206, 0.006646, 0.006305, 0.006468, 0.006442, 0.006486, 0.006080, 0.006291, 0.006622, 0.006113, 0.006506, 0.006254, 0.006114, 0.006161, 0.006002, 0.006211, 0.006146, 0.006012, 0.005902, 0.006264, 0.005996, 0.006271, 0.005793, 0.006043, 0.006067, 0.006177, 0.005842, 0.005991, 0.005872, 0.006102, 0.006003, 0.005930, 0.006201, 0.006224, 0.005937, 0.005901, 0.005992, 0.005788, 0.006121, 0.005787, 0.005766, 0.005582, 0.006006, 0.005774, 0.005672, 0.005841, 0.005660, 0.006000, 0.005741, 0.005737, 0.005475, 0.005773, 0.005799, 0.005462, 0.005610, 0.005569, 0.005574, 0.005871, 0.005589, 0.005234, 0.005535, 0.005314, 0.005288, 0.005676, 0.005371, 0.005319, 0.005734, 0.005360, 0.005679, 0.005593};
1843 for(
Int_t i=0; i<400; i++){
1855 fHistoPtWeight =
new TH1F(
"histoWeight",
"histoWeight",400,0.,40.);
1857 Float_t binc[400]={1.179906, 1.091249, 1.047774, 1.045579, 1.071679, 1.112413, 1.167414, 1.236240, 1.310301, 1.390289, 1.471711, 1.553389, 1.626886, 1.692115, 1.760647, 1.813658, 1.850817, 1.886699, 1.907671, 1.934832, 1.955433, 1.966727, 1.987262, 1.996316, 2.013326, 1.973926, 1.931144, 1.871654, 1.812942, 1.752718, 1.690846, 1.635303, 1.572611, 1.523510, 1.459790, 1.402510, 1.331908, 1.261575, 1.192241, 1.127915, 1.061798, 0.998830, 0.933514, 0.871774, 0.812936, 0.762844, 0.719340, 0.686587, 0.644108, 0.615714, 0.579512, 0.545254, 0.510508, 0.479884, 0.447423, 0.426154, 0.408934, 0.388264, 0.376424, 0.361389, 0.347757, 0.331685, 0.318029, 0.305285, 0.290922, 0.278523, 0.269807, 0.262025, 0.254878, 0.249325, 0.238179, 0.230899, 0.224792, 0.216253, 0.207879, 0.204465, 0.201153, 0.195373, 0.190926, 0.185773, 0.178589, 0.175371, 0.168959, 0.167004, 0.161705, 0.156809, 0.152788, 0.149806, 0.146429, 0.143478, 0.140037, 0.134813, 0.134679, 0.128205, 0.126078, 0.125038, 0.122214, 0.116329, 0.115044, 0.112427, 0.110279, 0.108098, 0.105784, 0.102628, 0.101429, 0.099101, 0.095464, 0.093631, 0.091491, 0.090045, 0.088374, 0.086188, 0.085067, 0.083168, 0.080636, 0.079414, 0.077610, 0.075013, 0.074825, 0.073932, 0.071106, 0.071050, 0.069574, 0.066593, 0.066924, 0.064876, 0.065064, 0.062345, 0.061980, 0.060859, 0.061616, 0.058952, 0.058079, 0.057894, 0.058031, 0.056604, 0.055180, 0.054490, 0.053909, 0.051768, 0.052210, 0.049552, 0.050152, 0.048955, 0.047953, 0.047224, 0.045588, 0.044985, 0.043728, 0.042934, 0.043434, 0.041834, 0.040118, 0.040281, 0.039348, 0.038987, 0.037793, 0.036258, 0.036420, 0.035528, 0.034761, 0.033524, 0.033296, 0.033280, 0.031825, 0.031351, 0.030329, 0.031103, 0.030401, 0.029481, 0.029247, 0.029352, 0.029174, 0.028286, 0.028500, 0.028017, 0.027293, 0.027932, 0.026779, 0.026379, 0.026628, 0.026211, 0.025508, 0.025877, 0.025433, 0.025328, 0.024636, 0.025069, 0.024282, 0.023625, 0.023278, 0.023074, 0.023000, 0.022943, 0.022514, 0.021767, 0.022180, 0.021594, 0.022175, 0.021944, 0.021456, 0.020901, 0.021419, 0.021230, 0.020738, 0.020322, 0.020055, 0.019686, 0.019371, 0.019725, 0.018835, 0.019029, 0.018163, 0.018398, 0.018163, 0.017719, 0.018126, 0.017208, 0.017086, 0.016622, 0.016865, 0.015663, 0.015791, 0.015108, 0.015069, 0.015033, 0.015006, 0.014940, 0.014604, 0.014133, 0.013968, 0.013904, 0.013934, 0.013780, 0.013930, 0.013727, 0.013940, 0.013763, 0.013826, 0.014192, 0.014801, 0.014347, 0.014048, 0.014009, 0.014197, 0.014571, 0.014999, 0.015030, 0.014491, 0.014891, 0.014456, 0.014596, 0.015256, 0.014648, 0.014492, 0.014756, 0.015344, 0.014986, 0.015433, 0.015394, 0.015756, 0.014778, 0.015145, 0.015478, 0.015051, 0.014986, 0.015067, 0.015793, 0.015748, 0.015188, 0.015502, 0.015533, 0.015340, 0.015759, 0.015745, 0.016026, 0.015635, 0.015194, 0.014579, 0.015225, 0.014963, 0.015365, 0.016030, 0.015387, 0.016341, 0.015327, 0.015340, 0.015030, 0.015246, 0.015420, 0.015015, 0.015195, 0.016021, 0.015034, 0.015528, 0.015114, 0.015423, 0.015564, 0.015348, 0.015107, 0.015314, 0.015411, 0.015243, 0.015154, 0.016324, 0.015215, 0.014823, 0.015030, 0.015104, 0.014896, 0.015400, 0.015721, 0.015131, 0.014951, 0.014630, 0.014597, 0.015235, 0.014583, 0.015418, 0.014648, 0.014769, 0.014601, 0.015167, 0.014857, 0.015134, 0.015053, 0.014405, 0.014800, 0.014921, 0.014760, 0.013966, 0.014979, 0.014230, 0.014620, 0.014581, 0.014701, 0.013799, 0.014299, 0.015071, 0.013931, 0.014846, 0.014290, 0.013988, 0.014113, 0.013767, 0.014263, 0.014131, 0.013840, 0.013604, 0.014456, 0.013853, 0.014505, 0.013416, 0.014010, 0.014081, 0.014352, 0.013589, 0.013952, 0.013690, 0.014241, 0.014024, 0.013868, 0.014517, 0.014587, 0.013927, 0.013857, 0.014084, 0.013619, 0.014417, 0.013644, 0.013607, 0.013185, 0.014200, 0.013665, 0.013437, 0.013849, 0.013431, 0.014252, 0.013648, 0.013652, 0.013039, 0.013761, 0.013836, 0.013043, 0.013408, 0.013319, 0.013344, 0.014065, 0.013400, 0.012560, 0.013294, 0.012773, 0.012721, 0.013663, 0.012939, 0.012823, 0.013835, 0.012942, 0.013723, 0.013525};
1858 for(
Int_t i=0; i<400; i++){
1870 fHistoPtWeight =
new TH1F(
"histoWeight",
"histoWeight",400,0.,40.);
1872 Float_t binc[400]={1.489198, 1.386131, 1.328213, 1.309866, 1.324383, 1.364766, 1.424282, 1.496803, 1.576996, 1.660407, 1.743464, 1.823431, 1.898334, 1.966862, 2.028262, 2.082235, 2.128839, 2.168395, 2.201406, 2.228492, 2.250331, 2.267616, 2.281022, 2.291181, 2.298668, 2.303992, 2.307592, 2.309839, 2.311043, 2.311454, 2.311272, 2.310653, 2.309719, 2.308559, 2.307242, 2.305816, 2.304318, 2.302771, 2.301193, 2.299596, 2.297986, 2.296369, 2.294749, 2.293127, 2.291504, 2.289881, 2.288259, 2.286638, 2.285018, 2.283398, 2.281780, 2.280163, 2.278547, 2.276933, 2.275319, 2.273707, 2.272095, 2.270485, 2.268876, 2.267268, 2.265661, 2.264056, 2.262451, 2.260848, 2.259246, 2.257645, 2.256045, 2.254446, 2.252848, 2.251252, 2.249656, 2.248062, 2.246469, 2.244877, 2.243286, 2.241696, 2.240108, 2.238520, 2.236934, 2.235348, 2.233764, 2.232181, 2.230599, 2.229019, 2.227439, 2.225860, 2.224283, 2.222707, 2.221132, 2.219557, 2.217985, 2.216413, 2.214842, 2.213272, 2.211704, 2.210136, 2.208570, 2.207005, 2.205441, 2.203878, 2.202316, 2.200755, 2.199196, 2.197637, 2.196080, 2.194524, 2.192968, 2.192011, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000, 2.192000};
1873 for(
Int_t i=0; i<400; i++){
1884 fHistoPtWeight =
new TH1F(
"histoWeight",
"histoWeight",500,0.,50.);
1886 Float_t binc[500]={0.7836, 0.7203, 0.6840, 0.6749, 0.6840, 0.7038, 0.7337, 0.7691, 0.8098, 0.8520, 0.8917, 0.9331, 0.9673, 0.9985, 1.0297, 1.0569, 1.0781, 1.0993, 1.1166, 1.1285, 1.1425, 1.1520, 1.1598, 1.1685, 1.1762, 1.1791, 1.1858, 1.1899, 1.1944, 1.1986, 1.1968, 1.2041, 1.2072, 1.2031, 1.2068, 1.2090, 1.2079, 1.2089, 1.2081, 1.2047, 1.2088, 1.2093, 1.2085, 1.2105, 1.2099, 1.2125, 1.2108, 1.2090, 1.2071, 1.2066, 1.2122, 1.2126, 1.2131, 1.2136, 1.2141, 1.2145, 1.2150, 1.2155, 1.2160, 1.2165, 1.2169, 1.2174, 1.2179, 1.2184, 1.2188, 1.2193, 1.2198, 1.2203, 1.2207, 1.2212, 1.2217, 1.2222, 1.2227, 1.2231, 1.2236, 1.2241, 1.2246, 1.2250, 1.2255, 1.2260, 1.2265, 1.2269, 1.2274, 1.2279, 1.2284, 1.2289, 1.2293, 1.2298, 1.2303, 1.2308, 1.2312, 1.2317, 1.2322, 1.2327, 1.2331, 1.2336, 1.2341, 1.2346, 1.2351, 1.2355, 1.2360, 1.2365, 1.2370, 1.2374, 1.2379, 1.2384, 1.2389, 1.2393, 1.2398, 1.2403, 1.2408, 1.2413, 1.2417, 1.2422, 1.2427, 1.2432, 1.2436, 1.2441, 1.2446, 1.2451, 1.2455, 1.2460, 1.2465, 1.2470, 1.2475, 1.2479, 1.2484, 1.2489, 1.2494, 1.2498, 1.2503, 1.2508, 1.2513, 1.2517, 1.2522, 1.2527, 1.2532, 1.2537, 1.2541, 1.2546, 1.2551, 1.2556, 1.2560, 1.2565, 1.2570, 1.2575, 1.2579, 1.2584, 1.2589, 1.2594, 1.2599, 1.2603, 1.2608, 1.2613, 1.2618, 1.2622, 1.2627, 1.2632, 1.2637, 1.2641, 1.2646, 1.2651, 1.2656, 1.2661, 1.2665, 1.2670, 1.2675, 1.2680, 1.2684, 1.2689, 1.2694, 1.2699, 1.2703, 1.2708, 1.2713, 1.2718, 1.2723, 1.2727, 1.2732, 1.2737, 1.2742, 1.2746, 1.2751, 1.2756, 1.2761, 1.2765, 1.2770, 1.2775, 1.2780, 1.2785, 1.2789, 1.2794, 1.2799, 1.2804, 1.2808, 1.2813, 1.2818, 1.2823, 1.2827, 1.2832, 1.2837, 1.2842, 1.2847, 1.2851, 1.2856, 1.2861, 1.2866, 1.2870, 1.2875, 1.2880, 1.2885, 1.2889, 1.2894, 1.2899, 1.2904, 1.2909, 1.2913, 1.2918, 1.2923, 1.2928, 1.2932, 1.2937, 1.2942, 1.2947, 1.2951, 1.2956, 1.2961, 1.2966, 1.2971, 1.2975, 1.2980, 1.2985, 1.2990, 1.2994, 1.2999, 1.3004, 1.3009, 1.3013, 1.3018, 1.3023, 1.3028, 1.3033, 1.3037, 1.3042, 1.3047, 1.3052, 1.3056, 1.3061, 1.3066, 1.3071, 1.3075, 1.3080, 1.3085, 1.3090, 1.3095, 1.3099, 1.3104, 1.3109, 1.3114, 1.3118, 1.3123, 1.3128, 1.3133, 1.3137, 1.3142, 1.3147, 1.3152, 1.3157, 1.3161, 1.3166, 1.3171, 1.3176, 1.3180, 1.3185, 1.3190, 1.3195, 1.3199, 1.3204, 1.3209, 1.3214, 1.3219, 1.3223, 1.3228, 1.3233, 1.3238, 1.3242, 1.3247, 1.3252, 1.3257, 1.3262, 1.3266, 1.3271, 1.3276, 1.3281, 1.3285, 1.3290, 1.3295, 1.3300, 1.3304, 1.3309, 1.3314, 1.3319, 1.3324, 1.3328, 1.3333, 1.3338, 1.3343, 1.3347, 1.3352, 1.3357, 1.3362, 1.3366, 1.3371, 1.3376, 1.3381, 1.3386, 1.3390, 1.3395, 1.3400, 1.3405, 1.3409, 1.3414, 1.3419, 1.3424, 1.3428, 1.3433, 1.3438, 1.3443, 1.3448, 1.3452, 1.3457, 1.3462, 1.3467, 1.3471, 1.3476, 1.3481, 1.3486, 1.3490, 1.3495, 1.3500, 1.3505, 1.3510, 1.3514, 1.3519, 1.3524, 1.3529, 1.3533, 1.3538, 1.3543, 1.3548, 1.3552, 1.3557, 1.3562, 1.3567, 1.3572, 1.3576, 1.3581, 1.3586, 1.3591, 1.3595, 1.3600, 1.3605, 1.3610, 1.3614, 1.3619, 1.3624, 1.3629, 1.3634, 1.3638, 1.3643, 1.3648, 1.3653, 1.3657, 1.3662, 1.3667, 1.3672, 1.3676, 1.3681, 1.3686, 1.3691, 1.3696, 1.3700, 1.3705, 1.3710, 1.3715, 1.3719, 1.3724, 1.3729, 1.3734, 1.3738, 1.3743, 1.3748, 1.3753, 1.3758, 1.3762, 1.3767, 1.3772, 1.3777, 1.3781, 1.3786, 1.3791, 1.3796, 1.3800, 1.3805, 1.3810, 1.3815, 1.3820, 1.3824, 1.3829, 1.3834, 1.3839, 1.3843, 1.3848, 1.3853, 1.3858, 1.3862, 1.3867, 1.3872, 1.3877, 1.3882, 1.3886, 1.3891, 1.3896, 1.3901, 1.3905, 1.3910, 1.3915, 1.3920, 1.3924, 1.3929, 1.3934, 1.3939, 1.3944, 1.3948, 1.3953, 1.3958, 1.3963, 1.3967, 1.3972, 1.3977, 1.3982, 1.3986, 1.3991, 1.3996, 1.4001, 1.4006, 1.4010, 1.4015, 1.4020, 1.4025, 1.4029, 1.4034, 1.4039, 1.4044, 1.4048, 1.4053, 1.4058, 1.4063, 1.4068, 1.4072, 1.4077, 1.4082, 1.4087, 1.4091, 1.4096, 1.4101, 1.4106, 1.4110, 1.4115, 1.4120, 1.4125, 1.4130, 1.4134, 1.4139, 1.4144, 1.4149, 1.4153, 1.4158, 1.4163, 1.4168, 1.4172, 1.4177, 1.4182, 1.4187, 1.4192, 1.4196, 1.4201, 1.4206, 1.4211, 1.4215, 1.4220, 1.4225, 1.4230, 1.4234, 1.4239, 1.4244, 1.4249, 1.4254, 1.4258, 1.4263};
1887 for(
Int_t i=0; i<500; i++){
1903 if( (bin2>0) && (bin2<=histoNbins) ) {
1906 if(bin2==1) bin1=bin2+2;
1907 if(bin2==histoNbins) bin3=bin2-2;
1914 Double_t a=( (y_3-y_2)*(x_1-x_2) - (y_1-y_2)*(x_3-x_2) )/( (x_3*x_3-x_2*x_2)*(x_1-x_2) - (x_1*x_1-x_2*x_2)*(x_3-x_2) );
1915 Double_t b=((y_1-y_2)-a*(x_1*x_1-x_2*x_2))/(x_1-x_2);
1917 weight = a*pt*pt+b*pt+
c;
Double_t NormalizedDecayLengthXY() const
Bool_t IsEventRejectedDueToCentrality() const
THnSparseF * fnSparseMCDplus[4]
TH1F * fPtMaxHist[4 *kMaxPtBins]
! hist. for Pt Max (Prod Cuts)
Bool_t IsEventRejectedDueToZVertexOutsideFiducialRegion() const
Double_t NormalizedDecayLength() const
THnSparseF * fnSparseMC[4]
!<!THnSparse for topomatic variable
void SetPtWeightsFromFONLL5overLHC16i2abc()
Bool_t IsEventRejectedDueToNotRecoVertex() const
void CreateImpactParameterSparses()
Double_t InvMassDsKKpi() const
void StoreCandidates(AliVEvent *, Int_t nCand=0, Bool_t flagFilter=kTRUE)
void Getd0MeasMinusExpProng(Int_t ip, Double_t magf, Double_t &d0diff, Double_t &errd0diff) const
TH1F * fPtProng1Hist[4 *kMaxPtBins]
! hist. for DCA (Prod Cuts)
TH3F * fCosPxyHist3D
! cosPxy vs Ds mass vs pt
TH1F * fDLenxyHist[4 *kMaxPtBins]
! hist. of norm decay length XY (sig,bkg,tot)
TH1F * fNormIPHist[4 *kMaxPtBins]
! hist. for topomatic variable
TH3F * fPtProng1Hist3D
! Pt prong1 vs Ds mass vs pt
Double_t InvMassDspiKK() const
void SetPtBins(Int_t n, Float_t *lim)
Int_t IsEventSelectedInCentrality(AliVEvent *event)
Bool_t HasSelectionBit(Int_t i) const
TH1F * fNDLenxyHist[4 *kMaxPtBins]
! hist. of decay length XY (sig,bkg,tot)
TH2F * fDalitzK0st[4 *kMaxPtBins]
! dalitz plot via K0* (sig,bkg,tot)
static Int_t CheckDsDecay(AliMCEvent *mcEvent, Int_t label, Int_t *arrayDauLab)
void UnsetOwnPrimaryVtx()
Bool_t fFillSparseDplus
flag for usage of THnSparse
Double_t CosPiDsLabFrameKKpi() const
Double_t ImpParXY() const
Int_t GetHistoIndex(Int_t iPtBin) const
static Int_t CheckMatchingAODdeltaAODevents()
THnSparseF * fImpParSparse
!<!THnSparse for MC for D+->kkpi
TH3F * fSigVertHist3D
! SigVert vs Ds mass vs pt
Double_t fMassRange
limits for pt bins
Bool_t IsEventRejectedDueToVertexContributors() const
void SetPtWeightsFromFONLL5overLHC18a4a2()
TH2F * fPtVsMass
! hist. of pt vs. mass (prod. cuts)
void SetFillCentralityAxis(Int_t flag=0)
Double_t CosPointingAngleXY() const
TH1F * fPtProng0Hist[4 *kMaxPtBins]
! hist. for Pt Max (Prod Cuts)
Bool_t FillRecoCand(AliVEvent *event, AliAODRecoDecayHF3Prong *rd3)
TH2F * fYVsPtSig
! hist. of Y vs. Pt (MC, only sig, prod. cuts)
Int_t GetPidOption() const
THnSparseF * fImpParSparseMC[4]
!<!THnSparse for imp. par. on data
Float_t GetTrueImpactParameterDstoPhiPi(const AliAODMCHeader *mcHeader, TClonesArray *arrayMC, const AliAODMCParticle *partDs) const
virtual void UserCreateOutputObjects()
Implementation of interface methods.
virtual Bool_t IsInFiducialAcceptance(Double_t pt, Double_t y) const
static Int_t CheckOrigin(TClonesArray *arrayMC, AliAODMCParticle *mcPart, Bool_t searchUpToQuark=kTRUE)
Functions to check the decay tree.
Bool_t fFillSparse
flag for usage of HasSelectionBit
Double_t GetMaxVtxZ() const
TH1F * fSumd02Hist[4 *kMaxPtBins]
! hist. for sum d02 (Prod Cuts)
TH3F * fCosPiKPhiHist3D
! cosPiKPhi vs Ds mass vs pt
UInt_t GetPIDTrackTPCTOFBitMap(AliAODTrack *track) const
TH1F * fMassHistPhi[4 *kMaxPtBins]
! hist. of mass spectra via phi (sig,bkg,tot)
TH1F * fCosPiKPhiHist[4 *kMaxPtBins]
! hist. for CosPiKPhi
Bool_t fDoBkgPhiSB
flag to create rotational bkg (rotating pi track)
THnSparseF * fnSparse
Cuts for Analysis.
TNtuple * fNtupleDs
! output ntuple
virtual ~AliAnalysisTaskSEDs()
TH1F * fMassRotBkgHistPhi[kMaxPtBins]
! hist. of bkg generated from rot. of the pion
void GenerateRotBkg(AliAODRecoDecayHF3Prong *d, Int_t dec, Int_t iPtBin)
Bool_t fDoRotBkg
flag for filling true reconstructed Ds at acceptance level (see FillMCGenAccHistos) ...
TH3F * fPtProng0Hist3D
! Pt prong0 vs Ds mass vs pt
TH1F * fHistCentrality[3]
!hist. for cent distr (all,sel ev, )
void SetPtWeightsFromFONLL5anddataoverLHC16i2a()
static Int_t GetNumberOfTrackletsInEtaRange(AliAODEvent *ev, Double_t mineta, Double_t maxeta)
TH3F * fDCAHist3D
! DCA vs Ds mass vs pt
TH3F * fCosPHist3D
! cosP vs Ds mass vs pt
AliNormalizationCounter * fCounter
flag to set mass window of phi meson (when using pion rotation to create bkg)
void SetPtWeightsFromFONLL13overLHC17c3a12()
TH2F * fHistCentralityMult[3]
!hist. for cent distr vs mult (all,sel ev, )
TH1F * fHistNEvents
! hist. for No. of events
static Int_t CheckDplusKKpiDecay(AliMCEvent *mcEvent, Int_t label, Int_t *arrayDauLab)
Double_t GetPtWeightFromHistogram(Double_t pt)
AliRDHFCutsDstoKKpi * fAnalysisCuts
TList * fOutput
! list send on output slot 0
TH2F * fHistAllV0multNTPCout
! histo for V0mult vs #tracks TPCout (all)
Double_t CosPiKPhiRFrameKKpi() const
Bool_t fUseTrkl
flag to decide whether to use pt-weights != 1 when filling the container or not
TH1F * fCosPxyHist[4 *kMaxPtBins]
! hist. of cosXY pointing angle (sig,bkg,tot)
void SetPtWeightsFromFONLL5andTAMUoverLHC16i2abc()
AliAODVertex * GetOwnPrimaryVtx() const
virtual Int_t IsSelected(TObject *obj, Int_t selectionLevel)
Double_t GetSigmaVert(const AliAODEvent *aod=0x0)
THnSparseF * fnSparseIP
!<!THnSparse for candidates on data
TH3F * fPtProng2Hist3D
! Pt prong2 vs Ds mass vs pt
Bool_t CheckDaugAcc(TClonesArray *arrayMC, Int_t nProng, Int_t *labDau)
see enum
TH2F * fDalitzPhi[4 *kMaxPtBins]
! dalitz plot via phi (sig,bkg,tot)
TH2F * fHistSelV0multNTPCout
! histo for V0mult vs #tracks TPCout (sel)
Float_t GetCentrality(AliAODEvent *aodEvent)
Bool_t IsEventRejectedDueToPileup() const
TH3F * fDLenHist3D
! Dlen vs Ds mass vs pt
TH1F * fMassHistKpi[kMaxPtBins]
! hist. of mass spectra of Kpi
TH1F * fMassRSBkgHistPhi[kMaxPtBins]
! hist. of bkg generated from right phi sideband + pion
TH3F * fNormIPHist3D
! nIP vs Ds mass vs pt
Bool_t IsCutOnResonancesApplied() const
TH1F * fPtCandHist[4 *kMaxPtBins]
! hist. for Pt Max (Prod Cuts)
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)
void SetOwnPrimaryVtx(const AliAODVertex *vtx)
Double_t CosPiDsLabFramepiKK() const
Bool_t fReadMC
0 = pp, 1 = pPb,PbPb
Double_t DecayLengthXY() const
Int_t fAODProtection
flag to fill sparse with Ntracklets
Bool_t GetIsPrimaryWithoutDaughters() const
TH1F * fCosPiDsHist[4 *kMaxPtBins]
! hist. for CosPiDs
Int_t GetSignalHistoIndex(Int_t iPtBin) const
Bool_t IsEventSelected(AliVEvent *event)
TH1F * fMassLSBkgHistPhi[kMaxPtBins]
! hist. of bkg generated from left phi sideband + pion
virtual void UserExec(Option_t *option)
void StoreEvent(AliVEvent *, AliRDHFCuts *, Bool_t mc=kFALSE, Int_t multiplicity=-9999, Double_t spherocity=-99.)
Int_t GetReflSignalHistoIndex(Int_t iPtBin) const
void CreateCutVarsAndEffSparses()
virtual void Terminate(Option_t *option)
TH1F * fCosPHist[4 *kMaxPtBins]
! hist. of cos pointing angle (sig,bkg,tot)
TString fCentEstName
name of the AliMultSelection object to be considered
TH3F * fDLenxyHist3D
! Dlenxy vs Ds mass vs pt
Bool_t fFillImpParSparse
flag for usage of THnSparse
Bool_t fDoCutV0multTPCout
flag to create bkg from phi sidebands
void CleanOwnPrimaryVtx(AliAODRecoDecayHF *d, AliAODEvent *aod, AliAODVertex *origownvtx) const
Float_t * GetPtBinLimits() const
Bool_t fUseWeight
flag to activate cut on V0mult vs #tracks TPCout
Double_t fMaxDeltaPhiMass4Rot
TH1F * fDLenHist[4 *kMaxPtBins]
! hist. of decay length (sig,bkg,tot)
Bool_t fUseSelectionBit
flag to create and fill histos with distributions of cut variables
Double_t GetWeightForpiKK() const
Double_t GetWeightForKKpi() const
TH1F * fChanHist[4]
! hist. with KKpi and piKK candidates (sig,bkg,tot)
TH1F * fMassHist[4 *kMaxPtBins]
! hist. of mass spectra (sig,bkg,tot)
TH1F * fDCAHist[4 *kMaxPtBins]
! hist. for DCA (Prod Cuts)
Bool_t IsEventRejectedDueToTrigger() const
Bool_t fDoCutVarHistos
flag to control ntuple writing in MC
TH1F * fPtProng2Hist[4 *kMaxPtBins]
! hist. for DCA (Prod Cuts)
Double_t CosPointingAngle() const
void SetPtWeightsFromFONLL5andBAMPSoverLHC16i2abc()
void FillMCGenAccHistos(TClonesArray *arrayMC, AliAODMCHeader *mcHeader, Double_t nTracklets)
TH2F * fDalitz[4 *kMaxPtBins]
! dalitz plot (sig,bkg,tot)
Int_t GetUseCentrality() const
TH1F * fSigVertHist[4 *kMaxPtBins]
! hist. for sigVert (Prod Cuts)
Bool_t RecalcOwnPrimaryVtx(AliAODRecoDecayHF *d, AliAODEvent *aod) const
Double_t DecayLength() const
TH3F * fNDLenxyHist3D
! NDlenxy vs Ds mass vs pt
TH2F * fPtVsMassPhi
! hist. of pt vs. mass (phi selection)
TH1F * fMassHistKK[kMaxPtBins]
! hist. of mass spectra of KK
Double_t CosPiKPhiRFramepiKK() const
TH1F * fMassHistK0st[4 *kMaxPtBins]
! hist. of mass spectra via K0* (sig,bkg,tot)
TH2F * fYVsPt
! hist. of Y vs. Pt (prod. cuts)
Bool_t fFillAcceptanceLevel
flag for usage of sparse for imp. parameter
TString fMultSelectionObjectName
!<!THnSparse for imp. par. on MC
TH2F * fPtVsMassK0st
! hist. of pt vs. mass (K0* selection)
TList * fListCuts
number of Pt bins
void ApplyCutOnResonances(Bool_t opt=kTRUE)
TList * OpenFile(const char *fname)
UChar_t fNPtBins
-1: no protection, 0: check AOD/dAOD nEvents only, 1: check AOD/dAOD nEvents + TProcessID names ...
Bool_t fWriteOnlySignal
flag for access to MC
TH3F * fCosPiDsHist3D
! cosPiDs vs Ds mass vs pt
Double_t fMassBinSize
range for mass histogram
Double_t fminMass
bin size for inv. mass histo
Int_t GetBackgroundHistoIndex(Int_t iPtBin) const
Float_t fPtLimits[kMaxPtBins+1]