diff --git a/DPG/Tasks/AOTTrack/derivedDataCreatorD0Calibration.cxx b/DPG/Tasks/AOTTrack/derivedDataCreatorD0Calibration.cxx index 0e58bbd8b3a..4e41c0e44c6 100644 --- a/DPG/Tasks/AOTTrack/derivedDataCreatorD0Calibration.cxx +++ b/DPG/Tasks/AOTTrack/derivedDataCreatorD0Calibration.cxx @@ -117,9 +117,9 @@ struct DerivedDataCreatorD0Calibration { std::string prefix = "ml"; } cfgMl; - using TracksWCovExtraPid = soa::Join; - using TracksWCovExtraTmoPid = soa::Join; - using TracksWCovExtraTmoPidAndQa = soa::Join; + using TracksWCovExtraPid = soa::Join; + using TracksWCovExtraTmoPid = soa::Join; + using TracksWCovExtraTmoPidAndQa = soa::Join; using CollisionsWEvSel = soa::Join; using TrackMeanOccs = soa::Join; @@ -233,8 +233,10 @@ struct DerivedDataCreatorD0Calibration { continue; } auto trackParCovPos = getTrackParCov(trackPos); - o2::dataformats::DCA dcaPos; - trackParCovPos.propagateToDCA(primaryVertex, bz, &dcaPos); + o2::dataformats::DCA dcaPos(trackPos.dcaXY(), trackPos.dcaZ(), trackPos.cYY(), trackPos.cZY(), trackPos.cZZ()); + if (trackPos.collisionId() != collision.globalIndex()) { + trackParCovPos.propagateToDCA(primaryVertex, bz, &dcaPos); + } if (!isSelectedTrackDca(cfgTrackCuts.binsPt, cfgTrackCuts.limitsDca, trackParCovPos.getPt(), dcaPos.getY(), dcaPos.getZ())) { continue; } @@ -269,8 +271,10 @@ struct DerivedDataCreatorD0Calibration { continue; } auto trackParCovNeg = getTrackParCov(trackNeg); - o2::dataformats::DCA dcaNeg; - trackParCovNeg.propagateToDCA(primaryVertex, bz, &dcaNeg); + o2::dataformats::DCA dcaNeg(trackNeg.dcaXY(), trackNeg.dcaZ(), trackNeg.cYY(), trackNeg.cZY(), trackNeg.cZZ()); + if (trackNeg.collisionId() != collision.globalIndex()) { + trackParCovNeg.propagateToDCA(primaryVertex, bz, &dcaNeg); + } if (!isSelectedTrackDca(cfgTrackCuts.binsPt, cfgTrackCuts.limitsDca, trackParCovNeg.getPt(), dcaNeg.getY(), dcaNeg.getZ())) { continue; }