void SetMCPid(){fMCPid=kTRUE;fReadMC=kTRUE;fRealPid=kFALSE;fResPid=kFALSE;return;}
void SetRealPid(){fRealPid=kTRUE;fMCPid=kFALSE;return;}
void SetResonantPid(){fResPid=kTRUE;fRealPid=kTRUE;fMCPid=kFALSE;return;}
- void SetCutsKF(Float_t cutsKF[10]){for(Int_t i=0;i<10;i++){fCutsKF[i]=cutsKF[i];}return;}
+ void SetCutsKF(Float_t cutsKF[2]){for(Int_t i=0;i<2;i++){fCutsKF[i]=cutsKF[i];}return;}
void SetUseKF(Bool_t useKF=kTRUE){fUseKF=useKF;}
void SetAnalysis(Bool_t analysis=kTRUE){fAnalysis=analysis;}
void SetMassLimits(Float_t range);
Double_t field=aod->GetMagneticField();
if (returnvaluePID==1 || returnvaluePID==3){
- pdgs[0]=2122;pdgs[2]=211;
- AliKFParticle *Lc1=ReconstructKF(d,pdgs,field,constraint);
- if(!Lc1) okLcpKpi=0;
- if(Lc1->GetChi2()/Lc1->GetNDF()>fCutsRD[GetGlobalIndex(2,ptbin)]) okLcpKpi=0;
+ pdgs[0]=2122;pdgs[2]=211;
+ AliKFParticle *lc1=ReconstructKF(d,pdgs,field,constraint);
+ if(!lc1){
+ okLcpKpi=0;
+ }else{
+ if(lc1->GetChi2()/lc1->GetNDF()>fCutsRD[GetGlobalIndex(2,ptbin)]) okLcpKpi=0;
+ }
} else if(returnvaluePID>=2){
- pdgs[0]=211;pdgs[2]=2212;
- AliKFParticle *Lc2=ReconstructKF(d,pdgs,field,constraint);
- if(!Lc2) okLcpiKp=0;
- if(Lc2->GetChi2()/Lc2->GetNDF()>fCutsRD[GetGlobalIndex(2,ptbin)])okLcpiKp=0;
+ pdgs[0]=211;pdgs[2]=2212;
+ AliKFParticle *lc2=ReconstructKF(d,pdgs,field,constraint);
+ if(!lc2){
+ okLcpiKp=0;
+ }else{
+ if(lc2->GetChi2()/lc2->GetNDF()>fCutsRD[GetGlobalIndex(2,ptbin)])okLcpiKp=0;
+ }
}
break;
AliKFParticle* AliRDHFCutsLctopKpi::ReconstructKF(AliAODRecoDecayHF3Prong *d,Int_t *pdgs,Double_t field,Bool_t constraint) const{
const Int_t nprongs=d->GetNProngs();
+ if(nprongs==0) return 0x0;
+
Int_t iprongs[nprongs];
for(Int_t i=0;i<nprongs;i++) iprongs[i]=i;