Skip to content

Commit 4f58f7a

Browse files
PWGDQ: Update track indexing for derived tables
1 parent 16e8134 commit 4f58f7a

1 file changed

Lines changed: 10 additions & 13 deletions

File tree

PWGDQ/Tasks/qaMatching.cxx

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3018,7 +3018,7 @@ struct QaMatching {
30183018

30193019
int debugCounter{0};
30203020
fillQaMatchingAodEventForCollision(collisionInfo, collision, collisionInfo.reducedEventId, debugCounter);
3021-
fillQaMatchingMchTracksForCollision(collisionInfo, collision, muonTracks, taggedMuons, collisionInfo.reducedEventId);
3021+
fillQaMatchingMchTracksForCollision(collisionInfo, collision, muonTracks, taggedMuons, collisionInfo.reducedEventId, collisionInfo.reducedMchTrackIds);
30223022

30233023
registry.get<TH1>(HIST("tracksMultiplicityMFT"))->Fill(collisionInfo.mftTracks.size());
30243024
registry.get<TH1>(HIST("tracksMultiplicityMCH"))->Fill(collisionInfo.mchTracks.size());
@@ -3221,21 +3221,18 @@ struct QaMatching {
32213221
TCOLLISION const& collision,
32223222
TMUON const& muonTracks,
32233223
const std::vector<int64_t>& taggedMuons,
3224-
int32_t reducedEventId)
3224+
int32_t reducedEventId,
3225+
const std::map<int64_t, int64_t>& reducedMchTrackIds)
32253226
{
3226-
std::vector<int64_t> mchIds;
3227-
for (const auto& mchTrack : collisionInfo.mchTracks) {
3228-
if (std::find(mchIds.begin(), mchIds.end(), mchTrack.first) == mchIds.end()) {
3229-
mchIds.emplace_back(mchTrack.first);
3230-
}
3231-
}
3232-
for (const auto& candidate : collisionInfo.matchingCandidates) {
3233-
if (std::find(mchIds.begin(), mchIds.end(), candidate.first) == mchIds.end()) {
3234-
mchIds.emplace_back(candidate.first);
3235-
}
3227+
std::vector<std::pair<int64_t, int64_t>> orderedMchIds;
3228+
orderedMchIds.reserve(reducedMchTrackIds.size());
3229+
for (const auto& [mchIndex, reducedMchTrackId] : reducedMchTrackIds) {
3230+
orderedMchIds.emplace_back(reducedMchTrackId, mchIndex);
32363231
}
3232+
std::sort(orderedMchIds.begin(), orderedMchIds.end());
32373233

3238-
for (const auto& mchIndex : mchIds) {
3234+
for (const auto& [reducedMchTrackId, mchIndex] : orderedMchIds) {
3235+
(void)reducedMchTrackId;
32393236
auto const& mchTrack = muonTracks.rawIteratorAt(mchIndex);
32403237
int mftMchMatchAttempts = 0;
32413238
if (const auto& mchTrackInfoIt = collisionInfo.mchTracks.find(mchIndex); mchTrackInfoIt != collisionInfo.mchTracks.end()) {

0 commit comments

Comments
 (0)