@@ -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