Skip to content

Commit 8bc0347

Browse files
authored
[PWGDQ] use correct momentum scaling when computing invariant mass (#16365)
1 parent 685cf1f commit 8bc0347

1 file changed

Lines changed: 16 additions & 14 deletions

File tree

PWGDQ/Tasks/qaMatching.cxx

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)