@@ -1594,30 +1594,30 @@ struct QaMatching {
15941594 }
15951595
15961596 template <typename TMCH, typename TMFT, class C >
1597- o2::dataformats::GlobalFwdTrack propagateToVertexMft (const TMFT& muon ,
1597+ o2::dataformats::GlobalFwdTrack propagateToVertexMft (const TMFT& mftTrack ,
15981598 const TMCH& mchTrack,
15991599 const C& collision)
16001600 {
16011601 // extrapolation with MCH tools
16021602 auto mchTrackAtMFT = mExtrap .FwdtoMCH (fwdToTrackPar (mchTrack));
1603- o2::mch::TrackExtrap::extrapToVertexWithoutBranson (mchTrackAtMFT, muon .z ());
1603+ o2::mch::TrackExtrap::extrapToVertexWithoutBranson (mchTrackAtMFT, mftTrack .z ());
16041604
1605- auto muonTrackProp = mExtrap .FwdtoMCH (fwdToTrackPar (muon ));
1605+ auto mftTrackProp = mExtrap .FwdtoMCH (fwdToTrackPar (mftTrack ));
16061606
16071607 // update global track momentum from the MCH track
1608- double pRatio = muonTrackProp .p () / mchTrackAtMFT.p ();
1609- double newInvBendMom = muonTrackProp .getInverseBendingMomentum () * pRatio;
1610- muonTrackProp .setInverseBendingMomentum (newInvBendMom);
1611- muonTrackProp .setCharge (mchTrackAtMFT.getCharge ());
1608+ double pRatio = mftTrackProp .p () / mchTrackAtMFT.p ();
1609+ double newInvBendMom = mftTrackProp .getInverseBendingMomentum () * pRatio;
1610+ mftTrackProp .setInverseBendingMomentum (newInvBendMom);
1611+ mftTrackProp .setCharge (mchTrackAtMFT.getCharge ());
16121612
1613- o2::mch::TrackExtrap::extrapToVertex (muonTrackProp ,
1613+ o2::mch::TrackExtrap::extrapToVertex (mftTrackProp ,
16141614 collision.posX (),
16151615 collision.posY (),
16161616 collision.posZ (),
16171617 collision.covXX (),
16181618 collision.covYY ());
16191619
1620- return mExtrap .MCHtoFwd (muonTrackProp );
1620+ return mExtrap .MCHtoFwd (mftTrackProp );
16211621 }
16221622
16231623 template <class MCP >
@@ -2537,7 +2537,7 @@ struct QaMatching {
25372537 void fillDimuonPlotsMc (const CollisionInfo& collisionInfo,
25382538 C const & collisions,
25392539 TMUON const & muonTracks,
2540- TMFT const & /* mftTracks*/ )
2540+ TMFT const & mftTracks)
25412541 {
25422542 std::vector<MuonPair> muonPairs;
25432543 std::vector<GlobalMuonPair> globalMuonPairs;
@@ -2577,8 +2577,10 @@ struct QaMatching {
25772577 auto const & muonTrack2 = muonTracks.rawIteratorAt (candidates2[0 ].globalTrackId );
25782578 auto matchScore1 = candidates1[0 ].matchScore ;
25792579 auto matchScore2 = candidates2[0 ].matchScore ;
2580- auto const & mchTrack1 = muonTrack1.template matchMCHTrack_as <TMUON>();
2581- auto const & mchTrack2 = muonTrack2.template matchMCHTrack_as <TMUON>();
2580+ auto const & mchTrack1 = muonTracks.rawIteratorAt (candidates1[0 ].muonTrackId );
2581+ auto const & mchTrack2 = muonTracks.rawIteratorAt (candidates2[0 ].muonTrackId );
2582+ auto const & mftTrack1 = mftTracks.rawIteratorAt (candidates1[0 ].mftTrackId );
2583+ auto const & mftTrack2 = mftTracks.rawIteratorAt (candidates2[0 ].mftTrackId );
25822584 int sign1 = mchTrack1.sign ();
25832585 int sign2 = mchTrack2.sign ();
25842586
@@ -2604,8 +2606,8 @@ struct QaMatching {
26042606
26052607 double massMCH = getMuMuInvariantMass (propagateToVertexMch (mchTrack1, collision),
26062608 propagateToVertexMch (mchTrack2, collision));
2607- double mass = getMuMuInvariantMass (propagateToVertexMch (muonTrack1 , collision),
2608- propagateToVertexMch (muonTrack2 , collision));
2609+ double mass = getMuMuInvariantMass (propagateToVertexMft (mftTrack1, mchTrack1 , collision),
2610+ propagateToVertexMft (mftTrack2, mchTrack2 , collision));
26092611 registryDimuon.get <TH1>(HIST (" dimuon/invariantMass_MuonKine_GlobalMuonCuts" ))->Fill (massMCH);
26102612 registryDimuon.get <TH1>(HIST (" dimuon/invariantMass_ScaledMftKine_GlobalMuonCuts" ))->Fill (mass);
26112613 registryDimuon.get <TH2>(HIST (" dimuon/MC/invariantMass_MuonKine_GlobalMuonCuts_vs_match_type" ))->Fill (massMCH, matchType);
0 commit comments