Skip to content

Commit bdd798a

Browse files
committed
Do propagation before introducing new point
1 parent 8be92e0 commit bdd798a

File tree

1 file changed

+14
-8
lines changed

1 file changed

+14
-8
lines changed

PWGLF/TableProducer/Nuspex/hyperhelium4sigmaRecoTask.cxx

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -233,20 +233,26 @@ std::array<float, 3> refitMotherTrack(TCollision& collision, TTrack& track, std:
233233
{
234234
auto trackPar = getTrackParCov(track);
235235

236-
std::array<float, 3> innermostPos = {0.f};
237-
std::array<float, 21> innermostCov = {0.f};
238-
trackPar.getXYZGlo(innermostPos);
239-
trackPar.getCovXYZPxPyPzGlo(innermostCov);
240-
236+
float trackIUPos[2] = {track.y(), track.z()};
237+
float trackIUCov[3] = {track.cYY(), track.cZY(), track.cZZ()};
241238
o2::dataformats::VertexBase primaryVtx = {{collision.posX(), collision.posY(), collision.posZ()}, {collision.covXX(), collision.covXY(), collision.covYY(), collision.covXZ(), collision.covYZ(), collision.covZZ()}};
242-
o2::dataformats::VertexBase innermostVtx = {{innermostPos[0], innermostPos[1], innermostPos[2]}, {innermostCov[0], innermostCov[1], innermostCov[2], innermostCov[3], innermostCov[4], innermostCov[5]}};
243239
o2::dataformats::VertexBase secondaryVtx = {{posSV[0], posSV[1], posSV[2]}, {covPosSV[0], covPosSV[1], covPosSV[2], covPosSV[3], covPosSV[4], covPosSV[5]}};
244240

245-
o2::base::Propagator::Instance()->propagateToDCABxByBz(primaryVtx, trackPar, 2.f, o2::base::Propagator::MatCorrType::USEMatCorrNONE);
241+
o2::base::Propagator::Instance()->propagateToDCABxByBz(primaryVtx, trackPar, 2.f, o2::base::Propagator::MatCorrType::USEMatCorrLUT);
246242

247243
trackPar.resetCovariance(999.f);
248244
std::array<float, 3> refitP = {-999.f, -999.f, -999.f};
249-
if (!trackPar.update(primaryVtx, 999.f) || !trackPar.update(innermostVtx, 999.f) || !trackPar.update(secondaryVtx, 999.f)) {
245+
if (!trackPar.update(primaryVtx, 999.f)) {
246+
return refitP;
247+
}
248+
249+
o2::base::Propagator::Instance()->PropagateToXBxByBz(trackPar, track.x());
250+
if (!trackPar.update(trackIUPos, trackIUCov)) {
251+
return refitP;
252+
}
253+
254+
o2::base::Propagator::Instance()->propagateToDCABxByBz(secondaryVtx, trackPar, 2.f, o2::base::Propagator::MatCorrType::USEMatCorrLUT);
255+
if (!trackPar.update(secondaryVtx, 999.f)) {
250256
return refitP;
251257
}
252258

0 commit comments

Comments
 (0)