fYVsPtTC(0),
fYVsPtSig(0),
fYVsPtSigTC(0),
+ fPhiEtaCand(0),
+ fPhiEtaCandSigReg(0),
fSPDMult(0),
fNtupleDplus(0),
fUpmasslimit(1.965),
fCutsDistr(kFALSE),
fDoImpPar(kFALSE),
fNImpParBins(400),
- fLowerImpPar(-2000.),
- fHigherImpPar(2000.),
+ fLowerImpPar(-1000.),
+ fHigherImpPar(1000.),
fDoLS(0),
+ fEtaSelection(0),
fSystem(0)
{
// Default constructor
fYVsPtTC(0),
fYVsPtSig(0),
fYVsPtSigTC(0),
+ fPhiEtaCand(0),
+ fPhiEtaCandSigReg(0),
fSPDMult(0),
fNtupleDplus(0),
fUpmasslimit(1.965),
fCutsDistr(kFALSE),
fDoImpPar(kFALSE),
fNImpParBins(400),
- fLowerImpPar(-2000.),
- fHigherImpPar(2000.),
+ fLowerImpPar(-1000.),
+ fHigherImpPar(1000.),
fDoLS(0),
+ fEtaSelection(0),
fSystem(0)
{
//
//PostData(2,fRDCutsloose);//we should then put those cuts in a tlist if we have more than 1
fListCuts=new TList();
+ fListCuts->SetOwner();
AliRDHFCutsDplustoKpipi *analysis = new AliRDHFCutsDplustoKpipi(*fRDCutsAnalysis);
analysis->SetName("AnalysisCuts");
TString hisname;
Int_t index=0;
Int_t nbins=GetNBinsHistos();
- fHistCentrality[0]=new TH1F("centrality","centrality",100,0.5,30000.5);
- fHistCentrality[1]=new TH1F("centrality(selectedCent)","centrality(selectedCent)",100,0.5,30000.5);
- fHistCentrality[2]=new TH1F("centrality(OutofCent)","centrality(OutofCent)",100,0.5,30000.5);
+ fHistCentrality[0]=new TH2F("hCentrMult","centrality",100,0.5,30000.5,40,0.,100.);
+ fHistCentrality[1]=new TH2F("hCentrMult(selectedCent)","centrality(selectedCent)",100,0.5,30000.5,40,0.,100.);
+ fHistCentrality[2]=new TH2F("hCentrMult(OutofCent)","centrality(OutofCent)",100,0.5,30000.5,40,0.,100.);
for(Int_t i=0;i<3;i++){
fHistCentrality[i]->Sumw2();
fOutput->Add(fHistCentrality[i]);
fMassHist[index]=new TH1F(hisname.Data(),hisname.Data(),nbins,fLowmasslimit,fUpmasslimit);
fMassHist[index]->Sumw2();
hisname.Form("hCosPAllPt%d",i);
- fCosPHist[index]=new TH1F(hisname.Data(),hisname.Data(),nbins,0.5,1.);
+ fCosPHist[index]=new TH1F(hisname.Data(),hisname.Data(),100,0.5,1.);
fCosPHist[index]->Sumw2();
hisname.Form("hDLenAllPt%d",i);
- fDLenHist[index]=new TH1F(hisname.Data(),hisname.Data(),nbins,0.,0.5);
+ fDLenHist[index]=new TH1F(hisname.Data(),hisname.Data(),100,0.,0.5);
fDLenHist[index]->Sumw2();
hisname.Form("hSumd02AllPt%d",i);
- fSumd02Hist[index]=new TH1F(hisname.Data(),hisname.Data(),nbins,0.,1.);
+ fSumd02Hist[index]=new TH1F(hisname.Data(),hisname.Data(),100,0.,1.);
fSumd02Hist[index]->Sumw2();
hisname.Form("hSigVertAllPt%d",i);
- fSigVertHist[index]=new TH1F(hisname.Data(),hisname.Data(),nbins,0.,0.1);
+ fSigVertHist[index]=new TH1F(hisname.Data(),hisname.Data(),100,0.,0.1);
fSigVertHist[index]->Sumw2();
hisname.Form("hPtMaxAllPt%d",i);
- fPtMaxHist[index]=new TH1F(hisname.Data(),hisname.Data(),nbins,0.5,5.);
+ fPtMaxHist[index]=new TH1F(hisname.Data(),hisname.Data(),100,0.5,5.);
fPtMaxHist[index]->Sumw2();
hisname.Form("hPtKPt%d",i);
- fPtKHist[index]=new TH1F(hisname.Data(),hisname.Data(),nbins,0.5,5.);
+ fPtKHist[index]=new TH1F(hisname.Data(),hisname.Data(),100,0.,5.);
fPtKHist[index]->Sumw2();
hisname.Form("hPtpi1Pt%d",i);
- fPtpi1Hist[index]=new TH1F(hisname.Data(),hisname.Data(),nbins,0.5,5.);
+ fPtpi1Hist[index]=new TH1F(hisname.Data(),hisname.Data(),100,0.,5.);
fPtpi1Hist[index]->Sumw2();
hisname.Form("hPtpi2Pt%d",i);
- fPtpi2Hist[index]=new TH1F(hisname.Data(),hisname.Data(),nbins,0.5,5.);
+ fPtpi2Hist[index]=new TH1F(hisname.Data(),hisname.Data(),100,0.,5.);
fPtpi2Hist[index]->Sumw2();
hisname.Form("hDCAAllPt%d",i);
- fDCAHist[index]=new TH1F(hisname.Data(),hisname.Data(),nbins,0.,0.1);
+ fDCAHist[index]=new TH1F(hisname.Data(),hisname.Data(),100,0.,0.1);
fDCAHist[index]->Sumw2();
hisname.Form("hDLxyPt%d",i);
- fDLxy[index]=new TH1F(hisname.Data(),hisname.Data(),nbins,0.,10.);
+ fDLxy[index]=new TH1F(hisname.Data(),hisname.Data(),100,0.,10.);
fDLxy[index]->Sumw2();
hisname.Form("hCosxyPt%d",i);
- fCosxy[index]=new TH1F(hisname.Data(),hisname.Data(),nbins,0.85,1.);
+ fCosxy[index]=new TH1F(hisname.Data(),hisname.Data(),100,-1,1.);
fCosxy[index]->Sumw2();
hisname.Form("hDLxyPt%dTC",i);
- fDLxyTC[index]=new TH1F(hisname.Data(),hisname.Data(),nbins,0.,10.);
+ fDLxyTC[index]=new TH1F(hisname.Data(),hisname.Data(),100,0.,10.);
fDLxyTC[index]->Sumw2();
hisname.Form("hCosxyPt%dTC",i);
- fCosxyTC[index]=new TH1F(hisname.Data(),hisname.Data(),nbins,0.85,1.);
+ fCosxyTC[index]=new TH1F(hisname.Data(),hisname.Data(),100,-1,1.);
fCosxyTC[index]->Sumw2();
hisname.Form("hMassPt%dTC",i);
fMassHist[index]=new TH1F(hisname.Data(),hisname.Data(),nbins,fLowmasslimit,fUpmasslimit);
fMassHist[index]->Sumw2();
hisname.Form("hCosPSigPt%d",i);
- fCosPHist[index]=new TH1F(hisname.Data(),hisname.Data(),nbins,0.5,1.);
+ fCosPHist[index]=new TH1F(hisname.Data(),hisname.Data(),100,0.5,1.);
fCosPHist[index]->Sumw2();
hisname.Form("hDLenSigPt%d",i);
- fDLenHist[index]=new TH1F(hisname.Data(),hisname.Data(),nbins,0.,0.5);
+ fDLenHist[index]=new TH1F(hisname.Data(),hisname.Data(),100,0.,0.5);
fDLenHist[index]->Sumw2();
hisname.Form("hSumd02SigPt%d",i);
- fSumd02Hist[index]=new TH1F(hisname.Data(),hisname.Data(),nbins,0.,1.);
+ fSumd02Hist[index]=new TH1F(hisname.Data(),hisname.Data(),100,0.,1.);
fSumd02Hist[index]->Sumw2();
hisname.Form("hSigVertSigPt%d",i);
- fSigVertHist[index]=new TH1F(hisname.Data(),hisname.Data(),nbins,0.,0.1);
+ fSigVertHist[index]=new TH1F(hisname.Data(),hisname.Data(),100,0.,0.1);
fSigVertHist[index]->Sumw2();
hisname.Form("hPtMaxSigPt%d",i);
- fPtMaxHist[index]=new TH1F(hisname.Data(),hisname.Data(),nbins,0.5,5.);
+ fPtMaxHist[index]=new TH1F(hisname.Data(),hisname.Data(),100,0.5,5.);
fPtMaxHist[index]->Sumw2();
hisname.Form("hPtKSigPt%d",i);
- fPtKHist[index]=new TH1F(hisname.Data(),hisname.Data(),nbins,0.5,5.);
+ fPtKHist[index]=new TH1F(hisname.Data(),hisname.Data(),100,0.,5.);
fPtKHist[index]->Sumw2();
hisname.Form("hPtpi1SigPt%d",i);
- fPtpi1Hist[index]=new TH1F(hisname.Data(),hisname.Data(),nbins,0.5,5.);
+ fPtpi1Hist[index]=new TH1F(hisname.Data(),hisname.Data(),100,0.,5.);
fPtpi1Hist[index]->Sumw2();
hisname.Form("hPtpi2SigPt%d",i);
- fPtpi2Hist[index]=new TH1F(hisname.Data(),hisname.Data(),nbins,0.5,5.);
+ fPtpi2Hist[index]=new TH1F(hisname.Data(),hisname.Data(),100,0.,5.);
fPtpi2Hist[index]->Sumw2();
hisname.Form("hDCASigPt%d",i);
- fDCAHist[index]=new TH1F(hisname.Data(),hisname.Data(),nbins,0.,0.1);
+ fDCAHist[index]=new TH1F(hisname.Data(),hisname.Data(),100,0.,0.1);
fDCAHist[index]->Sumw2();
hisname.Form("hDLxySigPt%d",i);
- fDLxy[index]=new TH1F(hisname.Data(),hisname.Data(),nbins,0.,10.);
+ fDLxy[index]=new TH1F(hisname.Data(),hisname.Data(),100,0.,10.);
fDLxy[index]->Sumw2();
hisname.Form("hCosxySigPt%d",i);
- fCosxy[index]=new TH1F(hisname.Data(),hisname.Data(),nbins,0.85,1.);
+ fCosxy[index]=new TH1F(hisname.Data(),hisname.Data(),100,-1,1.);
fCosxy[index]->Sumw2();
hisname.Form("hDLxySigPt%dTC",i);
- fDLxyTC[index]=new TH1F(hisname.Data(),hisname.Data(),nbins,0.,10.);
+ fDLxyTC[index]=new TH1F(hisname.Data(),hisname.Data(),100,0.,10.);
fDLxyTC[index]->Sumw2();
hisname.Form("hCosxySigPt%dTC",i);
- fCosxyTC[index]=new TH1F(hisname.Data(),hisname.Data(),nbins,0.85,1.);
+ fCosxyTC[index]=new TH1F(hisname.Data(),hisname.Data(),100,-1,1.);
fCosxyTC[index]->Sumw2();
hisname.Form("hSigPt%dTC",i);
fMassHistTC[index]=new TH1F(hisname.Data(),hisname.Data(),nbins,fLowmasslimit,fUpmasslimit);
fMassHist[index]=new TH1F(hisname.Data(),hisname.Data(),nbins,fLowmasslimit,fUpmasslimit);
fMassHist[index]->Sumw2();
hisname.Form("hCosPBkgPt%d",i);
- fCosPHist[index]=new TH1F(hisname.Data(),hisname.Data(),nbins,0.5,1.);
+ fCosPHist[index]=new TH1F(hisname.Data(),hisname.Data(),100,0.5,1.);
fCosPHist[index]->Sumw2();
hisname.Form("hDLenBkgPt%d",i);
- fDLenHist[index]=new TH1F(hisname.Data(),hisname.Data(),nbins,0.,0.5);
+ fDLenHist[index]=new TH1F(hisname.Data(),hisname.Data(),100,0.,0.5);
fDLenHist[index]->Sumw2();
hisname.Form("hSumd02BkgPt%d",i);
- fSumd02Hist[index]=new TH1F(hisname.Data(),hisname.Data(),nbins,0.,1.);
+ fSumd02Hist[index]=new TH1F(hisname.Data(),hisname.Data(),100,0.,1.);
fSumd02Hist[index]->Sumw2();
hisname.Form("hSigVertBkgPt%d",i);
- fSigVertHist[index]=new TH1F(hisname.Data(),hisname.Data(),nbins,0.,0.1);
+ fSigVertHist[index]=new TH1F(hisname.Data(),hisname.Data(),100,0.,0.1);
fSigVertHist[index]->Sumw2();
hisname.Form("hPtMaxBkgPt%d",i);
- fPtMaxHist[index]=new TH1F(hisname.Data(),hisname.Data(),nbins,0.5,5.);
+ fPtMaxHist[index]=new TH1F(hisname.Data(),hisname.Data(),100,0.5,5.);
fPtMaxHist[index]->Sumw2();
hisname.Form("hPtKBkgPt%d",i);
- fPtKHist[index]=new TH1F(hisname.Data(),hisname.Data(),nbins,0.5,5.);
+ fPtKHist[index]=new TH1F(hisname.Data(),hisname.Data(),100,0.,5.);
fPtKHist[index]->Sumw2();
hisname.Form("hPtpi1BkgPt%d",i);
- fPtpi1Hist[index]=new TH1F(hisname.Data(),hisname.Data(),nbins,0.5,5.);
+ fPtpi1Hist[index]=new TH1F(hisname.Data(),hisname.Data(),100,0.,5.);
fPtpi1Hist[index]->Sumw2();
hisname.Form("hPtpi2BkgPt%d",i);
- fPtpi2Hist[index]=new TH1F(hisname.Data(),hisname.Data(),nbins,0.5,5.);
+ fPtpi2Hist[index]=new TH1F(hisname.Data(),hisname.Data(),100,0.,5.);
fPtpi2Hist[index]->Sumw2();
hisname.Form("hDCABkgPt%d",i);
- fDCAHist[index]=new TH1F(hisname.Data(),hisname.Data(),nbins,0.,0.1);
+ fDCAHist[index]=new TH1F(hisname.Data(),hisname.Data(),100,0.,0.1);
fDCAHist[index]->Sumw2();
hisname.Form("hDLxyBkgPt%d",i);
- fDLxy[index]=new TH1F(hisname.Data(),hisname.Data(),nbins,0.,10.);
+ fDLxy[index]=new TH1F(hisname.Data(),hisname.Data(),100,0.,10.);
fDLxy[index]->Sumw2();
hisname.Form("hCosxyBkgPt%d",i);
- fCosxy[index]=new TH1F(hisname.Data(),hisname.Data(),nbins,0.85,1.);
+ fCosxy[index]=new TH1F(hisname.Data(),hisname.Data(),100,-1,1.);
fCosxy[index]->Sumw2();
hisname.Form("hDLxyBkgPt%dTC",i);
- fDLxyTC[index]=new TH1F(hisname.Data(),hisname.Data(),nbins,0.,10.);
+ fDLxyTC[index]=new TH1F(hisname.Data(),hisname.Data(),100,0.,10.);
fDLxyTC[index]->Sumw2();
hisname.Form("hCosxyBkgPt%dTC",i);
- fCosxyTC[index]=new TH1F(hisname.Data(),hisname.Data(),nbins,0.85,1.);
+ fCosxyTC[index]=new TH1F(hisname.Data(),hisname.Data(),100,-1,1.);
fCosxyTC[index]->Sumw2();
fPtVsMass=new TH2F("hPtVsMass","PtVsMass (prod. cuts)",nbins,fLowmasslimit,fUpmasslimit,200,0.,20.);
fPtVsMassTC=new TH2F("hPtVsMassTC","PtVsMass (analysis cuts)",nbins,fLowmasslimit,fUpmasslimit,200,0.,20.);
- fYVsPt=new TH2F("hYVsPt","YvsPt (prod. cuts)",40,0.,20.,80,-2.,2.);
- fYVsPtTC=new TH2F("hYVsPtTC","YvsPt (analysis cuts)",40,0.,20.,80,-2.,2.);
+ fYVsPt=new TH3F("hYVsPt","YvsPt (prod. cuts)",40,0.,20.,80,-2.,2.,nbins,fLowmasslimit,fUpmasslimit);
+ fYVsPtTC=new TH3F("hYVsPtTC","YvsPt (analysis cuts)",40,0.,20.,80,-2.,2.,nbins,fLowmasslimit,fUpmasslimit);
fYVsPtSig=new TH2F("hYVsPtSig","YvsPt (MC, only sig., prod. cuts)",40,0.,20.,80,-2.,2.);
fYVsPtSigTC=new TH2F("hYVsPtSigTC","YvsPt (MC, only Sig, analysis cuts)",40,0.,20.,80,-2.,2.);
+ fPhiEtaCand=new TH2F("hPhiEtaCand","phi vs. eta candidates",20,-1.,1.,50,0.,2*TMath::Pi());
+ fPhiEtaCandSigReg=new TH2F("hPhiEtaCandSigReg","phi vs. eta candidates",20,-1.,1.,50,0.,2*TMath::Pi());
fSPDMult = new TH1F("hSPDMult", "Tracklets multiplicity; Tracklets ; Entries",200,0.,200.);
fOutput->Add(fPtVsMass);
fOutput->Add(fPtVsMassTC);
fOutput->Add(fYVsPtTC);
fOutput->Add(fYVsPtSig);
fOutput->Add(fYVsPtSigTC);
+ fOutput->Add(fPhiEtaCand);
+ fOutput->Add(fPhiEtaCandSigReg);
fOutput->Add(fSPDMult);
OpenFile(4); // 4 is the slot number of the ntuple
- fNtupleDplus = new TNtuple("fNtupleDplus","D +","pdg:Px:Py:Pz:Pt:piddau0:piddau1:piddau2:Ptpi:PtK:Ptpi2:mompi:momK:mompi2:cosp:cospxy:DecLen:NormDecLen:DecLenXY:NormDecLenXY:InvMass:sigvert:d0Pi:d0K:d0Pi2:maxdca:ntracks:centr:RunNumber");
+ fNtupleDplus = new TNtuple("fNtupleDplus","D +","pdg:Px:Py:Pz:Pt:charge:piddau0:piddau1:piddau2:Ptpi:PtK:Ptpi2:mompi:momK:mompi2:cosp:cospxy:DecLen:NormDecLen:DecLenXY:NormDecLenXY:InvMass:sigvert:d0Pi:d0K:d0Pi2:maxdca:ntracks:centr:RunNumber:BadDau");
}
//Event selection
Bool_t isEvSel=fRDCutsAnalysis->IsEventSelected(aod);
- Float_t ntracks=aod->GetNTracks();//fRDCutsAnalysis->GetCentrality(aod);
- fHistCentrality[0]->Fill(ntracks);
+ Float_t ntracks=aod->GetNTracks();
+ Float_t evCentr=0;
+ if(fRDCutsAnalysis->GetUseCentrality()>0) evCentr=fRDCutsAnalysis->GetCentrality(aod);
+ fHistCentrality[0]->Fill(ntracks,evCentr);
if(fRDCutsAnalysis->GetWhyRejection()==5) fHistNEvents->Fill(2);
if(fRDCutsAnalysis->GetWhyRejection()==1) fHistNEvents->Fill(3);
- if(fRDCutsAnalysis->GetWhyRejection()==2){fHistNEvents->Fill(4);fHistCentrality[2]->Fill(ntracks);}
+ if(fRDCutsAnalysis->GetWhyRejection()==2){fHistNEvents->Fill(4);fHistCentrality[2]->Fill(ntracks,evCentr);}
if(fRDCutsAnalysis->GetWhyRejection()==6)fHistNEvents->Fill(5);
if(fRDCutsAnalysis->GetWhyRejection()==7)fHistNEvents->Fill(6);
// printf("ntracklet===%d\n",tracklets);
fSPDMult->Fill(tracklets);
- fHistCentrality[1]->Fill(ntracks);
+ fHistCentrality[1]->Fill(ntracks,evCentr);
fHistNEvents->Fill(1);
TClonesArray *arrayMC=0;
fHistNEvents->Fill(8);
continue;
}
+
+ Int_t passTightCuts=fRDCutsAnalysis->IsSelected(d,AliRDHFCuts::kAll,aod);
+
+ if(!fRDCutsAnalysis->GetIsSelectedCuts()) continue;
+
+ Double_t etaD=d->Eta();
+ Double_t phiD=d->Phi();
+ if(fEtaSelection!=0){
+ if(fEtaSelection==1 && etaD<0) continue;
+ if(fEtaSelection==-1 && etaD>0) continue;
+ }
+
Bool_t unsetvtx=kFALSE;
if(!d->GetOwnPrimaryVtx()){
d->SetOwnPrimaryVtx(vtx1);
unsetvtx=kTRUE;
}
-
- Int_t passTightCuts=fRDCutsAnalysis->IsSelected(d,AliRDHFCuts::kAll,aod);
- if(!fRDCutsAnalysis->GetIsSelectedCuts())continue;//filling loose cuts histos with no-pid informations
Double_t ptCand = d->Pt();
Int_t iPtBin = fRDCutsAnalysis->PtBin(ptCand);
Double_t invMass=d->InvMassDplus();
Double_t rapid=d->YDplus();
- fYVsPt->Fill(ptCand,rapid);
- if(passTightCuts) {fYVsPtTC->Fill(ptCand,rapid);nOS++;}
+ fYVsPt->Fill(ptCand,rapid,invMass);
+ if(passTightCuts) {fYVsPtTC->Fill(ptCand,rapid,invMass);nOS++;}
Bool_t isFidAcc=fRDCutsAnalysis->IsInFiducialAcceptance(ptCand,rapid);
if(isFidAcc){
fPtVsMass->Fill(invMass,ptCand);
- if(passTightCuts) fPtVsMassTC->Fill(invMass,ptCand);
+ if(passTightCuts){
+ fPtVsMassTC->Fill(invMass,ptCand);
+ fPhiEtaCand->Fill(etaD,phiD);
+ if(TMath::Abs(invMass-1.8696)<0.05) fPhiEtaCandSigReg->Fill(etaD,phiD);
+ }
}
cxy=d->CosPointingAngleXY();
}
Double_t impparXY=d->ImpParXY()*10000.;
- Double_t arrayForSparse[6]={invMass,ptCand,impparXY,cosp,dlen,tracklets};
- Double_t arrayForSparseTrue[6]={invMass,ptCand,trueImpParXY,cosp,dlen,tracklets};
+ Double_t arrayForSparse[6]={invMass,ptCand,impparXY,cosp,dlen,static_cast<Double_t>(tracklets)};
+ Double_t arrayForSparseTrue[6]={invMass,ptCand,trueImpParXY,cosp,dlen,static_cast<Double_t>(tracklets)};
//Ntuple
- Float_t tmp[29];
+ Float_t tmp[31];
if(fFillNtuple){
tmp[0]=pdgCode;
+ if(!isPrimary) tmp[0]+=5000.;
tmp[1]=d->Px();
tmp[2]=d->Py();
tmp[3]=d->Pz();
tmp[4]=d->Pt();
+ tmp[5]=d->GetCharge();
// tmp[5]=fRDCutsAnalysis->GetPIDBitMask(d);
- tmp[5]=fRDCutsAnalysis->GetPIDTrackTPCTOFBitMap((AliAODTrack*)d->GetDaughter(0));
- tmp[6]=fRDCutsAnalysis->GetPIDTrackTPCTOFBitMap((AliAODTrack*)d->GetDaughter(1));
- tmp[7]=fRDCutsAnalysis->GetPIDTrackTPCTOFBitMap((AliAODTrack*)d->GetDaughter(2));
- tmp[8]=d->PtProng(0);
- tmp[9]=d->PtProng(1);
- tmp[10]=d->PtProng(2);
- tmp[11]=d->PProng(0);
- tmp[12]=d->PProng(1);
- tmp[13]=d->PProng(2);
- tmp[14]=cosp;
- tmp[15]=cxy;
- tmp[16]=dlen;
- tmp[17]=d->NormalizedDecayLength();
- tmp[18]=d->DecayLengthXY();
- tmp[19]=dlxy;
- tmp[20]=d->InvMassDplus();
- tmp[21]=sigvert;
- tmp[22]=d->Getd0Prong(0);
- tmp[23]=d->Getd0Prong(1);
- tmp[24]=d->Getd0Prong(2);
- tmp[25]=maxdca;
- tmp[26]=ntracks;
- tmp[27]=fRDCutsAnalysis->GetCentrality(aod);
- tmp[28]=runNumber;
+ tmp[6]=fRDCutsAnalysis->GetPIDTrackTPCTOFBitMap((AliAODTrack*)d->GetDaughter(0));
+ tmp[7]=fRDCutsAnalysis->GetPIDTrackTPCTOFBitMap((AliAODTrack*)d->GetDaughter(1));
+ tmp[8]=fRDCutsAnalysis->GetPIDTrackTPCTOFBitMap((AliAODTrack*)d->GetDaughter(2));
+ tmp[9]=d->PtProng(0);
+ tmp[10]=d->PtProng(1);
+ tmp[11]=d->PtProng(2);
+ tmp[12]=d->PProng(0);
+ tmp[13]=d->PProng(1);
+ tmp[14]=d->PProng(2);
+ tmp[15]=cosp;
+ tmp[16]=cxy;
+ tmp[17]=dlen;
+ tmp[18]=d->NormalizedDecayLength();
+ tmp[19]=d->DecayLengthXY();
+ tmp[20]=dlxy;
+ tmp[21]=d->InvMassDplus();
+ tmp[22]=sigvert;
+ tmp[23]=d->Getd0Prong(0);
+ tmp[24]=d->Getd0Prong(1);
+ tmp[25]=d->Getd0Prong(2);
+ tmp[26]=maxdca;
+ tmp[27]=ntracks;
+ tmp[28]=fRDCutsAnalysis->GetCentrality(aod);
+ tmp[29]=runNumber;
+ tmp[30]=d->HasBadDaughters();
fNtupleDplus->Fill(tmp);
PostData(4,fNtupleDplus);
}
fMassHist[index]->Fill(invMass);
if(fCutsDistr){
Float_t fact=1.;
- Float_t factor[3];
+ Float_t factor[3]={1.,1.,1.};
if(fUseStrangeness) fact=GetStrangenessWeights(d,arrayMC,factor);
fCosPHist[index]->Fill(cosp,fact);
fDLenHist[index]->Fill(dlen,fact);
}
}else{//outside fidAcc
if(labDp>=0){
- fYVsPtSig->Fill(ptCand,rapid);
- if(passTightCuts)fYVsPtSigTC->Fill(ptCand,rapid);
+ fYVsPtSig->Fill(ptCand,rapid, invMass);
+ if(passTightCuts)fYVsPtSigTC->Fill(ptCand,rapid, invMass);
}
}
}//readmc
printf("ERROR: fOutput not available\n");
return;
}
- fHistNEvents = dynamic_cast<TH1F*>(fOutput->FindObject("fHistNEvents"));
- TString hisname;
- Int_t index=0;
+ fHistNEvents = dynamic_cast<TH1F*>(fOutput->FindObject("fHistNEvents"));
+ if(fHistNEvents){
+ printf("Number of analyzed events = %d\n",(Int_t)fHistNEvents->GetBinContent(2));
+ }else{
+ printf("ERROR: fHistNEvents not available\n");
+ return;
+ }
- for(Int_t i=0;i<fNPtBins;i++){
- index=GetHistoIndex(i);
-
- hisname.Form("hMassPt%dTC",i);
- fMassHistTC[index]=dynamic_cast<TH1F*>(fOutput->FindObject(hisname.Data()));
- }
-
- TCanvas *c1=new TCanvas("c1","D+ invariant mass distribution",500,500);
- c1->cd();
- TH1F *hMassPt=(TH1F*)fOutput->FindObject("hMassPt3TC");
- hMassPt->SetLineColor(kBlue);
- hMassPt->SetXTitle("M[GeV/c^{2}]");
- hMassPt->Draw();
-
return;
}
//_________________________________________________________________________________________________