if ((trackAOD->Pt() < .2) || (trackAOD->Pt() > 5.0) || (TMath::Abs(trackAOD->Eta()) > .8) || (trackAOD->GetTPCNcls() < 70) || (trackAOD->GetDetPid()->GetTPCsignal() < 10.0) || (trackAOD->Chi2perNDF() < 0.1)) continue;
Double_t b[2] = {-99., -99.};
Double_t bCov[3] = {-99., -99., -99.};
- if (!(trackAOD->PropagateToDCA(event->GetPrimaryVertex(), event->GetMagneticField(), 100., b, bCov))) continue;
+ AliAODTrack copy(*trackAOD);
+ if (!(copy.PropagateToDCA(event->GetPrimaryVertex(), event->GetMagneticField(), 100., b, bCov))) continue;
if ((TMath::Abs(b[0]) > 0.3) || (TMath::Abs(b[1]) > 0.3)) continue;
multGlob++;
} //track loop
if ((trackAOD->Pt() < .2) || (trackAOD->Pt() > 5.0) || (TMath::Abs(trackAOD->Eta()) > .8) || (trackAOD->GetTPCNcls() < 70) || (trackAOD->GetDetPid()->GetTPCsignal() < 10.0) || (trackAOD->Chi2perNDF() < 0.1)) continue;
Double_t b[2] = {-99., -99.};
Double_t bCov[3] = {-99., -99., -99.};
- if (!(trackAOD->PropagateToDCA(event->GetPrimaryVertex(), event->GetMagneticField(), 100., b, bCov))) continue;
+ AliAODTrack copy(*trackAOD);
+ if (!(copy.PropagateToDCA(event->GetPrimaryVertex(), event->GetMagneticField(), 100., b, bCov))) continue;
if ((TMath::Abs(b[0]) > 0.3) || (TMath::Abs(b[1]) > 0.3)) continue;
multGlob++;
} //track loop
// fDCAConfig[0] > 1 pt dependent dca cut
if(fDebug > 1) cout << " *** PassesDCACut() *** " << endl;
if(fIsMC) return kTRUE;
+ AliAODTrack copy(*track);
if( (fDCAConfig[0] < 0.1) && (fDCAConfig[0] > -0.1) ) {
if(fQA) {
Double_t b[2] = { -99., -99.};
Double_t bCov[3] = { -99., -99., -99.};
- track->PropagateToDCA(fAOD->GetPrimaryVertex(), fAOD->GetMagneticField(), 100., b, bCov);
- fDCAXYQA->Fill(b[0]);
- fDCAZQA->Fill(b[1]);
- fDCAPrim->Fill(track->Pt(), b[0]);
+ if(copy.PropagateToDCA(fAOD->GetPrimaryVertex(), fAOD->GetMagneticField(), 100., b, bCov)) {
+ fDCAXYQA->Fill(b[0]);
+ fDCAZQA->Fill(b[1]);
+ fDCAPrim->Fill(track->Pt(), b[0]);
+ }
}
return kTRUE;
}
Double_t b[2] = { -99., -99.};
Double_t bCov[3] = { -99., -99., -99.};
- track->PropagateToDCA(fAOD->GetPrimaryVertex(), fAOD->GetMagneticField(), 100., b, bCov);
+ if(!copy.PropagateToDCA(fAOD->GetPrimaryVertex(), fAOD->GetMagneticField(), 100., b, bCov)) return kFALSE;
if((!fIsMC)&&fQA) fDCAMaterial->Fill(track->Pt(), b[0]);
if( (fDCAConfig[0] < -.9) && ( (TMath::Abs(b[0]) > fDCAConfig[1]) || (TMath::Abs(b[1]) > fDCAConfig[2])) ) return kFALSE;
if(fDCAConfig[0] > .9) {
if (fDebug>1) cout << " Received MC kaon " << endl;
Double_t b[2] = { -99., -99.};
Double_t bCov[3] = { -99., -99., -99.};
- track->PropagateToDCA(fAOD->GetPrimaryVertex(), fAOD->GetMagneticField(), 100., b, bCov);
+ AliAODTrack copy(*track);
+ if(!copy.PropagateToDCA(fAOD->GetPrimaryVertex(), fAOD->GetMagneticField(), 100., b, bCov)) return;
// find corresponding mc particle
AliAODMCParticle *partMC = (AliAODMCParticle*) arrayMC->At(TMath::Abs(track->GetLabel()));
if (!partMC) {