Double_t b[2] = {-99., -99.};
Double_t bCov[3] = {-99., -99., -99.};
- if (!aodTrack->PropagateToDCA(fOutputAOD->GetPrimaryVertex(), fOutputAOD->GetMagneticField(), 100., b, bCov))
+
+
+ AliAODTrack *param = new AliAODTrack(*aodTrack);
+ if (!param->PropagateToDCA(fOutputAOD->GetPrimaryVertex(), fOutputAOD->GetMagneticField(), 100., b, bCov)){
+ if(param) delete param;
continue;
+ }
+ if(param) delete param;
if ((TMath::Abs(b[0]) > 3.0) || (TMath::Abs(b[1]) > 2.4))
continue;
Double_t b[2] = {-99., -99.};
Double_t bCov[3] = {-99., -99., -99.};
- if (!aodTrack->PropagateToDCA(fOutputAOD->GetPrimaryVertex(), fOutputAOD->GetMagneticField(), 100., b, bCov))
+
+ AliAODTrack *param = new AliAODTrack(*aodTrack);
+ if (!param->PropagateToDCA(fOutputAOD->GetPrimaryVertex(), fOutputAOD->GetMagneticField(), 100., b, bCov)){
+ if(param) delete param;
continue;
+ }
+ if(param) delete param;
if (!fFillDCA && ((TMath::Abs(b[0]) > 3.0) || (TMath::Abs(b[1]) > 2.4)))
continue;
Double_t b[2] = {-99., -99.};
Double_t bCov[3] = {-99., -99., -99.};
- if (!aodTrack->PropagateToDCA(fOutputAOD->GetPrimaryVertex(), fOutputAOD->GetMagneticField(), 100., b, bCov))
+
+ AliAODTrack *param = new AliAODTrack(*aodTrack);
+ if (!param->PropagateToDCA(fOutputAOD->GetPrimaryVertex(), fOutputAOD->GetMagneticField(), 100., b, bCov)){
+ if(param) delete param;
continue;
+ }
+ if(param) delete param;
if(TMath::Abs(b[0]) < 0.5/aodTrack->Pt()) continue;