Skip to content

Commit f13ec13

Browse files
mcoquet642alibuild
andauthored
[PWGDQ] global-muon-matcher: Saving values of mixing variables in output table (#17196)
Co-authored-by: ALICE Action Bot <alibuild@cern.ch>
1 parent 54fd408 commit f13ec13

1 file changed

Lines changed: 45 additions & 3 deletions

File tree

PWGDQ/Tasks/global-muon-matcher.cxx

Lines changed: 45 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -83,12 +83,22 @@ namespace globalmuonmatching
8383
DECLARE_SOA_COLUMN(IsTagged, isTagged, bool); //! Whether the MCH(-MID) track passes tagging cuts
8484
DECLARE_SOA_COLUMN(MatchRanking, matchRanking, int32_t); //! Match candidate ranking (-1 for base MCH entries)
8585
DECLARE_SOA_COLUMN(MixedGroupIndex, mixedGroupIndex, int32_t); //! Mixed-event group index (-1 for same-event candidates)
86+
DECLARE_SOA_COLUMN(DeltaBc, deltaBc, int64_t); //! |ΔBC| between mixed collisions (-1 if same-event)
87+
DECLARE_SOA_COLUMN(DeltaPhi, deltaPhi, float); //! |Δφ| between mixed MCH tracks (-1 if same-event)
88+
DECLARE_SOA_COLUMN(DeltaR, deltaR, float); //! ΔR = r2−r1 between mixed MCH tracks (-1 if same-event)
89+
DECLARE_SOA_COLUMN(DeltaAttemptsRel, deltaAttemptsRel, float); //! relative Δ(nMatchAttempts) (-1 if same-event)
90+
DECLARE_SOA_COLUMN(DeltaZ, deltaZ, float); //! |Δvz| between mixed collisions (-1 if same-event)
8691
} // namespace globalmuonmatching
8792

8893
DECLARE_SOA_TABLE(GmmCandFwdTrkExtras, "AOD", "GMMCANDEXTRA", //! Extra info joinable to FwdTracksReAlign
8994
globalmuonmatching::IsTagged,
9095
globalmuonmatching::MatchRanking,
91-
globalmuonmatching::MixedGroupIndex);
96+
globalmuonmatching::MixedGroupIndex,
97+
globalmuonmatching::DeltaBc,
98+
globalmuonmatching::DeltaPhi,
99+
globalmuonmatching::DeltaR,
100+
globalmuonmatching::DeltaAttemptsRel,
101+
globalmuonmatching::DeltaZ);
92102
} // namespace o2::aod
93103

94104
using MyEvents = soa::Join<aod::Collisions, aod::EvSels>;
@@ -128,6 +138,11 @@ struct GlobalMuonMatching {
128138
double matchChi2{-1};
129139
int matchRanking{-1};
130140
int32_t mixedGroupIndex{-1};
141+
int64_t deltaBc{-1};
142+
float deltaPhi{-1.f};
143+
float deltaR{-1.f};
144+
float deltaAttemptsRel{-1.f};
145+
float deltaZ{-1.f};
131146
};
132147

133148
struct MchTrackInfo {
@@ -933,7 +948,7 @@ struct GlobalMuonMatching {
933948
track.trackTimeRes());
934949

935950
storeFwdTrackCovariance(trackPar.getCovariances());
936-
gmCandidateFwdTrackExtras(isTagged, -1, -1);
951+
gmCandidateFwdTrackExtras(isTagged, -1, -1, -1, -1.f, -1.f, -1.f, -1.f);
937952
if (hasBcSlice) {
938953
gmAmbiguousFwdTracksReAlign(mGmmCandFwdTrackRowIndex, bcSlice.data());
939954
}
@@ -1015,7 +1030,14 @@ struct GlobalMuonMatching {
10151030
mchTrack.trackTimeRes());
10161031

10171032
storeFwdTrackCovariance(globalMuonRefit.getCovariances());
1018-
gmCandidateFwdTrackExtras(isMchTrackTagged(mchTrack.globalIndex()), candidate.matchRanking, candidate.mixedGroupIndex);
1033+
gmCandidateFwdTrackExtras(isMchTrackTagged(mchTrack.globalIndex()),
1034+
candidate.matchRanking,
1035+
candidate.mixedGroupIndex,
1036+
candidate.deltaBc,
1037+
candidate.deltaPhi,
1038+
candidate.deltaR,
1039+
candidate.deltaAttemptsRel,
1040+
candidate.deltaZ);
10191041
if (hasBcSlice) {
10201042
gmAmbiguousFwdTracksReAlign(mGmmCandFwdTrackRowIndex, bcSlice.data());
10211043
}
@@ -1357,8 +1379,14 @@ struct GlobalMuonMatching {
13571379
// add the candidates of MCH track #2 to the list of mixed candidates of track #1
13581380
mchTrackInfo1.mixedMatchingCandidates.push_back(mchTrackInfo2.matchingCandidates);
13591381
// update the muon track index of the mixed candidates to the index of track #1
1382+
// and store the mixing deltas for this group
13601383
for (auto& candidate : mchTrackInfo1.mixedMatchingCandidates.back()) { // o2-linter: disable=const-ref-in-for-loop (object is modified in loop)
13611384
candidate.muonTrackId = mchIndex1;
1385+
candidate.deltaBc = deltaBc;
1386+
candidate.deltaPhi = deltaPhi;
1387+
candidate.deltaR = deltaR;
1388+
candidate.deltaAttemptsRel = deltaAttemptsRel;
1389+
candidate.deltaZ = deltaZ;
13621390
}
13631391
}
13641392
}
@@ -1554,6 +1582,13 @@ struct GlobalMuonMatching {
15541582
break;
15551583
}
15561584
result.mixedGroupIndex = useMixedMatchingCandidates ? mixedGroupIndex : -1;
1585+
if (useMixedMatchingCandidates && !candidatesGroup.empty()) {
1586+
result.deltaBc = candidatesGroup.front().deltaBc;
1587+
result.deltaPhi = candidatesGroup.front().deltaPhi;
1588+
result.deltaR = candidatesGroup.front().deltaR;
1589+
result.deltaAttemptsRel = candidatesGroup.front().deltaAttemptsRel;
1590+
result.deltaZ = candidatesGroup.front().deltaZ;
1591+
}
15571592
storedCandidates.push_back(result);
15581593
++nStoredThisGroup;
15591594
}
@@ -1647,6 +1682,13 @@ struct GlobalMuonMatching {
16471682
break;
16481683
}
16491684
result.mixedGroupIndex = useMixedMatchingCandidates ? mixedGroupIndex : -1;
1685+
if (useMixedMatchingCandidates && !candidatesGroup.empty()) {
1686+
result.deltaBc = candidatesGroup.front().deltaBc;
1687+
result.deltaPhi = candidatesGroup.front().deltaPhi;
1688+
result.deltaR = candidatesGroup.front().deltaR;
1689+
result.deltaAttemptsRel = candidatesGroup.front().deltaAttemptsRel;
1690+
result.deltaZ = candidatesGroup.front().deltaZ;
1691+
}
16501692
storedCandidates.push_back(result);
16511693
++nStoredThisGroup;
16521694
}

0 commit comments

Comments
 (0)