Skip to content

Commit f1d89fc

Browse files
PWGDQ: Update track indexing for derived tables
1 parent c0272aa commit f1d89fc

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
@@ -3020,7 +3020,7 @@ struct QaMatching {
30203020

30213021
int debugCounter{0};
30223022
fillQaMatchingAodEventForCollision(collisionInfo, collision, collisionInfo.reducedEventId, debugCounter);
3023-
fillQaMatchingMchTracksForCollision(collisionInfo, collision, muonTracks, taggedMuons, collisionInfo.reducedEventId);
3023+
fillQaMatchingMchTracksForCollision(collisionInfo, collision, muonTracks, taggedMuons, collisionInfo.reducedEventId, collisionInfo.reducedMchTrackIds);
30243024

30253025
registry.get<TH1>(HIST("tracksMultiplicityMFT"))->Fill(collisionInfo.mftTracks.size());
30263026
registry.get<TH1>(HIST("tracksMultiplicityMCH"))->Fill(collisionInfo.mchTracks.size());
@@ -3234,21 +3234,18 @@ struct QaMatching {
32343234
TCOLLISION const& collision,
32353235
TMUON const& muonTracks,
32363236
const std::vector<int64_t>& taggedMuons,
3237-
int32_t reducedEventId)
3237+
int32_t reducedEventId,
3238+
const std::map<int64_t, int64_t>& reducedMchTrackIds)
32383239
{
3239-
std::vector<int64_t> mchIds;
3240-
for (const auto& mchTrack : collisionInfo.mchTracks) {
3241-
if (std::find(mchIds.begin(), mchIds.end(), mchTrack.first) == mchIds.end()) {
3242-
mchIds.emplace_back(mchTrack.first);
3243-
}
3244-
}
3245-
for (const auto& candidate : collisionInfo.matchingCandidates) {
3246-
if (std::find(mchIds.begin(), mchIds.end(), candidate.first) == mchIds.end()) {
3247-
mchIds.emplace_back(candidate.first);
3248-
}
3240+
std::vector<std::pair<int64_t, int64_t>> orderedMchIds;
3241+
orderedMchIds.reserve(reducedMchTrackIds.size());
3242+
for (const auto& [mchIndex, reducedMchTrackId] : reducedMchTrackIds) {
3243+
orderedMchIds.emplace_back(reducedMchTrackId, mchIndex);
32493244
}
3245+
std::sort(orderedMchIds.begin(), orderedMchIds.end());
32503246

3251-
for (const auto& mchIndex : mchIds) {
3247+
for (const auto& [reducedMchTrackId, mchIndex] : orderedMchIds) {
3248+
(void)reducedMchTrackId;
32523249
auto const& mchTrack = muonTracks.rawIteratorAt(mchIndex);
32533250
int mftMchMatchAttempts = 0;
32543251
if (const auto& mchTrackInfoIt = collisionInfo.mchTracks.find(mchIndex); mchTrackInfoIt != collisionInfo.mchTracks.end()) {

0 commit comments

Comments
 (0)