@@ -122,22 +122,24 @@ struct TrackDcaCovFillerRun2 {
122122 }
123123
124124 bool isPropagationOK = true ;
125- if (track.has_collision ()) {
126- auto const & collision = track.collision ();
127- if constexpr (fillCovMat) {
128- mVtx .setPos ({collision.posX (), collision.posY (), collision.posZ ()});
129- mVtx .setCov (collision.covXX (), collision.covXY (), collision.covYY (), collision.covXZ (), collision.covYZ (), collision.covZZ ());
130- isPropagationOK = o2::base::Propagator::Instance ()->propagateToDCABxByBz (mVtx , mTrackParCov , 2 .f , matCorr, &mDcaInfoCov );
125+ if (track.trackType () == o2::aod::track::TrackTypeEnum::Run2Track && track.itsChi2NCl () != 0 .f && track.tpcChi2NCl () != 0 .f && std::abs (track.x ()) < 10 .f ) {
126+ if (track.has_collision ()) {
127+ auto const & collision = track.collision ();
128+ if constexpr (fillCovMat) {
129+ mVtx .setPos ({collision.posX (), collision.posY (), collision.posZ ()});
130+ mVtx .setCov (collision.covXX (), collision.covXY (), collision.covYY (), collision.covXZ (), collision.covYZ (), collision.covZZ ());
131+ isPropagationOK = o2::base::Propagator::Instance ()->propagateToDCABxByBz (mVtx , mTrackParCov , 2 .f , matCorr, &mDcaInfoCov );
132+ } else {
133+ isPropagationOK = o2::base::Propagator::Instance ()->propagateToDCABxByBz ({collision.posX (), collision.posY (), collision.posZ ()}, mTrackPar , 2 .f , matCorr, &mDcaInfo );
134+ }
131135 } else {
132- isPropagationOK = o2::base::Propagator::Instance ()->propagateToDCABxByBz ({collision.posX (), collision.posY (), collision.posZ ()}, mTrackPar , 2 .f , matCorr, &mDcaInfo );
133- }
134- } else {
135- if constexpr (fillCovMat) {
136- mVtx .setPos ({mMeanVtx ->getX (), mMeanVtx ->getY (), mMeanVtx ->getZ ()});
137- mVtx .setCov (mMeanVtx ->getSigmaX () * mMeanVtx ->getSigmaX (), 0 .0f , mMeanVtx ->getSigmaY () * mMeanVtx ->getSigmaY (), 0 .0f , 0 .0f , mMeanVtx ->getSigmaZ () * mMeanVtx ->getSigmaZ ());
138- isPropagationOK = o2::base::Propagator::Instance ()->propagateToDCABxByBz (mVtx , mTrackParCov , 2 .f , matCorr, &mDcaInfoCov );
139- } else {
140- isPropagationOK = o2::base::Propagator::Instance ()->propagateToDCABxByBz ({mMeanVtx ->getX (), mMeanVtx ->getY (), mMeanVtx ->getZ ()}, mTrackPar , 2 .f , matCorr, &mDcaInfo );
136+ if constexpr (fillCovMat) {
137+ mVtx .setPos ({mMeanVtx ->getX (), mMeanVtx ->getY (), mMeanVtx ->getZ ()});
138+ mVtx .setCov (mMeanVtx ->getSigmaX () * mMeanVtx ->getSigmaX (), 0 .0f , mMeanVtx ->getSigmaY () * mMeanVtx ->getSigmaY (), 0 .0f , 0 .0f , mMeanVtx ->getSigmaZ () * mMeanVtx ->getSigmaZ ());
139+ isPropagationOK = o2::base::Propagator::Instance ()->propagateToDCABxByBz (mVtx , mTrackParCov , 2 .f , matCorr, &mDcaInfoCov );
140+ } else {
141+ isPropagationOK = o2::base::Propagator::Instance ()->propagateToDCABxByBz ({mMeanVtx ->getX (), mMeanVtx ->getY (), mMeanVtx ->getZ ()}, mTrackPar , 2 .f , matCorr, &mDcaInfo );
142+ }
141143 }
142144 }
143145
0 commit comments