@@ -1178,6 +1178,11 @@ class VarManager : public TObject
11781178 fgMagField = magField;
11791179 }
11801180
1181+ static float GetMagneticField ()
1182+ {
1183+ return fgMagField;
1184+ }
1185+
11811186 // Setup plane position for MFT-MCH matching
11821187 static void SetMatchingPlane (float z)
11831188 {
@@ -1195,6 +1200,11 @@ class VarManager : public TObject
11951200 fgzShiftFwd = z;
11961201 }
11971202
1203+ static float GetZShift ()
1204+ {
1205+ return fgzShiftFwd;
1206+ }
1207+
11981208 // Setup the 2 prong KFParticle
11991209 static void SetupTwoProngKFParticle (float magField)
12001210 {
@@ -1734,8 +1744,7 @@ void VarManager::FillMuonPDca(const T& muon, const C& collision, float* values)
17341744
17351745 if constexpr ((fillMap & MuonCov) > 0 || (fillMap & ReducedMuonCov) > 0 ) {
17361746
1737- o2::dataformats::GlobalFwdTrack propmuon = PropagateMuon (muon, collision);
1738- o2::dataformats::GlobalFwdTrack propmuonAtDCA = PropagateMuon (muon, collision, kToDCA );
1747+ o2::dataformats::GlobalFwdTrack propmuonAtDCA = o2::aod::fwdtrackutils::propagateMuon (muon, muon, collision, o2::aod::fwdtrackutils::propagationPoint::kToDCA , fgzShiftFwd, fgMagField);
17391748
17401749 float dcaX = (propmuonAtDCA.getX () - collision.posX ());
17411750 float dcaY = (propmuonAtDCA.getY () - collision.posY ());
@@ -1758,7 +1767,7 @@ void VarManager::FillPropagateMuon(const T& muon, const C& collision, float* val
17581767 }
17591768
17601769 if constexpr ((fillMap & MuonCov) > 0 || (fillMap & ReducedMuonCov) > 0 || (fillMap & MuonCovRealign) > 0 ) {
1761- o2::dataformats::GlobalFwdTrack propmuon = PropagateMuon (muon, collision);
1770+ o2::dataformats::GlobalFwdTrack propmuon = o2::aod::fwdtrackutils::propagateMuon (muon, muon, collision, o2::aod::fwdtrackutils::propagationPoint:: kToVertex , fgzShiftFwd, fgMagField );
17621771 values[kPt ] = propmuon.getPt ();
17631772 values[kX ] = propmuon.getX ();
17641773 values[kY ] = propmuon.getY ();
@@ -1770,8 +1779,8 @@ void VarManager::FillPropagateMuon(const T& muon, const C& collision, float* val
17701779 // Redo propagation only for muon tracks
17711780 // propagation of MFT tracks alredy done in fwdtrack-extention task
17721781 if (static_cast <int >(muon.trackType ()) > 2 ) {
1773- o2::dataformats::GlobalFwdTrack propmuonAtDCA = PropagateMuon (muon, collision, kToDCA );
1774- o2::dataformats::GlobalFwdTrack propmuonAtRabs = PropagateMuon (muon, collision, kToRabs );
1782+ o2::dataformats::GlobalFwdTrack propmuonAtDCA = o2::aod::fwdtrackutils::propagateMuon (muon, muon, collision, o2::aod::fwdtrackutils::propagationPoint:: kToDCA , fgzShiftFwd, fgMagField );
1783+ o2::dataformats::GlobalFwdTrack propmuonAtRabs = o2::aod::fwdtrackutils::propagateMuon (muon, muon, collision, o2::aod::fwdtrackutils::propagationPoint:: kToRabs , 0 , fgMagField );
17751784 float dcaX = (propmuonAtDCA.getX () - collision.posX ());
17761785 float dcaY = (propmuonAtDCA.getY () - collision.posY ());
17771786 values[kMuonDCAx ] = dcaX;
@@ -1807,7 +1816,7 @@ void VarManager::FillGlobalMuonRefit(T1 const& muontrack, T2 const& mfttrack, co
18071816 values = fgValues;
18081817 }
18091818 if constexpr ((fillMap & MuonCov) > 0 || (fillMap & ReducedMuonCov) > 0 ) {
1810- o2::dataformats::GlobalFwdTrack propmuon = PropagateMuon (muontrack, collision);
1819+ o2::dataformats::GlobalFwdTrack propmuon = o2::aod::fwdtrackutils::propagateMuon (muontrack, muontrack, collision, o2::aod::fwdtrackutils::propagationPoint:: kToVertex , fgzShiftFwd, fgMagField );
18111820 double px = propmuon.getP () * sin (M_PI / 2 - atan (mfttrack.tgl ())) * cos (mfttrack.phi ());
18121821 double py = propmuon.getP () * sin (M_PI / 2 - atan (mfttrack.tgl ())) * sin (mfttrack.phi ());
18131822 double pz = propmuon.getP () * cos (M_PI / 2 - atan (mfttrack.tgl ()));
@@ -1832,7 +1841,7 @@ void VarManager::FillGlobalMuonRefitCov(T1 const& muontrack, T2 const& mfttrack,
18321841 }
18331842 if constexpr ((MuonfillMap & MuonCov) > 0 ) {
18341843 if constexpr ((MFTfillMap & MFTCov) > 0 ) {
1835- o2::dataformats::GlobalFwdTrack propmuon = PropagateMuon (muontrack, collision);
1844+ o2::dataformats::GlobalFwdTrack propmuon = o2::aod::fwdtrackutils::propagateMuon (muontrack, muontrack, collision, o2::aod::fwdtrackutils::propagationPoint:: kToVertex , fgzShiftFwd, fgMagField );
18361845 auto mft = o2::aod::fwdtrackutils::getTrackParCovFwdShift (mfttrack, fgzShiftFwd, mftcov);
18371846
18381847 o2::dataformats::GlobalFwdTrack globalRefit = o2::aod::fwdtrackutils::refitGlobalMuonCov (propmuon, mft);
@@ -3166,7 +3175,7 @@ void VarManager::FillTrackCollision(T const& track, C const& collision, float* v
31663175 }
31673176 if constexpr ((fillMap & MuonCov) > 0 || (fillMap & MuonCovRealign) > 0 || (fillMap & ReducedMuonCov) > 0 ) {
31683177
3169- o2::dataformats::GlobalFwdTrack propmuonAtDCA = PropagateMuon (track, collision, kToDCA );
3178+ o2::dataformats::GlobalFwdTrack propmuonAtDCA = o2::aod::fwdtrackutils::propagateMuon (track, track, collision, o2::aod::fwdtrackutils::propagationPoint:: kToDCA , fgzShiftFwd, fgMagField );
31703179
31713180 float dcaX = (propmuonAtDCA.getX () - collision.posX ());
31723181 float dcaY = (propmuonAtDCA.getY () - collision.posY ());
@@ -3427,8 +3436,8 @@ void VarManager::FillPairPropagateMuon(T1 const& muon1, T2 const& muon2, const C
34273436 if (!values) {
34283437 values = fgValues;
34293438 }
3430- o2::dataformats::GlobalFwdTrack propmuon1 = PropagateMuon (muon1, collision);
3431- o2::dataformats::GlobalFwdTrack propmuon2 = PropagateMuon (muon2, collision);
3439+ o2::dataformats::GlobalFwdTrack propmuon1 = o2::aod::fwdtrackutils::propagateMuon (muon1, muon1, collision, o2::aod::fwdtrackutils::propagationPoint:: kToVertex , fgzShiftFwd, fgMagField );
3440+ o2::dataformats::GlobalFwdTrack propmuon2 = o2::aod::fwdtrackutils::propagateMuon (muon2, muon2, collision, o2::aod::fwdtrackutils::propagationPoint:: kToVertex , fgzShiftFwd, fgMagField );
34323441
34333442 float m = o2::constants::physics::MassMuon;
34343443
0 commit comments