25 #include <TDatabasePDG.h> 99 if(&source ==
this)
return *
this;
116 pdg[0]=211; pdg[1]=321; pdg[2]=211; pdg[3]=211;
118 pdg[1]=211; pdg[3]=321;
129 pdg[0]=321; pdg[1]=211; pdg[2]=211; pdg[3]=211;
131 pdg[0]=211; pdg[2]=321;
157 Double_t mD0PDG = TDatabasePDG::Instance()->GetParticle(421)->Mass();
163 if(TMath::Abs(mD0[0]-mD0PDG)<=cuts[0]) {goodMass=kTRUE; okD0=1;}
164 if(TMath::Abs(mD0[1]-mD0PDG)<=cuts[0]) {goodMass=kTRUE; okD0=1;}
165 if(TMath::Abs(mD0bar[0]-mD0PDG)<=cuts[0]) {goodMass=kTRUE; okD0bar=1;}
166 if(TMath::Abs(mD0bar[1]-mD0PDG)<=cuts[0]) {goodMass=kTRUE; okD0bar=1;}
167 if(!goodMass)
return kFALSE;
171 if(GetDCA(0)>cuts[1])
return kFALSE;
172 if(GetDCA(1)>cuts[1])
return kFALSE;
173 if(GetDCA(2)>cuts[1])
return kFALSE;
174 if(GetDCA(3)>cuts[1])
return kFALSE;
175 if(GetDCA(4)>cuts[1])
return kFALSE;
176 if(GetDCA(5)>cuts[1])
return kFALSE;
195 if(Pt()<cuts[6])
return kFALSE;
201 if(!good)
return kFALSE;
214 for(
Int_t i=0;i<2;i++){massD0[i]=0.;massD0bar[i]=0.;}
217 Double_t mPDG=TDatabasePDG::Instance()->GetParticle(421)->Mass();
218 Double_t mPDGRho=TDatabasePDG::Instance()->GetParticle(113)->Mass();
220 if(TMath::Abs(minv01-mPDGRho)<cutRho) isRho=kTRUE;
222 UInt_t pdg1[4]={211,211,321,211};
224 if(TMath::Abs(mass1-mPDG)<cutMass) {isTrue=kTRUE;isGood=kTRUE;}
225 if(isTrue) massD0bar[1]=mass1;
227 UInt_t pdg2[4]={211,211,211,321};
229 if(TMath::Abs(mass2-mPDG)<cutMass) {isTrue=kTRUE;isGood=kTRUE;}
230 if(isTrue) massD0[1]=mass2;
234 if(TMath::Abs(minv03-mPDGRho)<cutRho) isRho=kTRUE;
236 UInt_t pdg1[4]={211,211,321,211};
238 if(TMath::Abs(mass1-mPDG)<cutMass) {isTrue=kTRUE;isGood=kTRUE;}
239 if(isTrue) massD0bar[1]=mass1;
241 UInt_t pdg2[4]={211,321,211,211};
243 if(TMath::Abs(mass2-mPDG)<cutMass) {isTrue=kTRUE;isGood=kTRUE;}
244 if(isTrue) massD0[0]=mass2;
248 if(TMath::Abs(minv12-mPDGRho)<cutRho) isRho=kTRUE;
250 UInt_t pdg1[4]={321,211,211,211};
252 if(TMath::Abs(mass1-mPDG)<cutMass) {isTrue=kTRUE;isGood=kTRUE;}
253 if(isTrue) massD0bar[0]=mass1;
255 UInt_t pdg2[4]={211,211,211,321};
257 if(TMath::Abs(mass2-mPDG)<cutMass) {isTrue=kTRUE;isGood=kTRUE;}
258 if(isTrue) massD0[1]=mass2;
262 if(TMath::Abs(minv23-mPDGRho)<cutRho) isRho=kTRUE;
264 UInt_t pdg1[4]={321,211,211,211};
266 if(TMath::Abs(mass1-mPDG)<cutMass) {isTrue=kTRUE;isGood=kTRUE;}
267 if(isTrue) massD0bar[0]=mass1;
269 UInt_t pdg2[4]={211,321,211,211};
271 if(TMath::Abs(mass2-mPDG)<cutMass) {isTrue=kTRUE;isGood=kTRUE;}
272 if(isTrue) massD0[0]=mass2;
AliAODRecoDecayHF4Prong & operator=(const AliAODRecoDecayHF4Prong &source)
Bool_t SelectD0(const Double_t *cuts, Int_t &okD0, Int_t &okD0bar) const
AliAODRecoDecayHF & operator=(const AliAODRecoDecayHF &source)
void InvMass(Int_t icalo, TString particle, TString fileName)
Double_t InvMassRho(Int_t i, Int_t j) const
void InvMassD0(Double_t mD0[2]) const
Bool_t CutRhoMass(Double_t massD0[2], Double_t massD0bar[2], Double_t CutMass, Double_t CutRho) const
Double_t fDist3toPrim
distance prim vert - 2 opposite sign track vertex
void InvMassD0bar(Double_t mD0bar[2]) const
Double_t fDist4toPrim
distance prim vert - 3 track vertex
AliAODRecoDecayHF4Prong()
Double_t CosPointingAngle() const