From 69697b317727c2f5530b7b38e5b403dffd24c8a8 Mon Sep 17 00:00:00 2001 From: Niveditha Ramasubramanian Date: Wed, 25 Mar 2026 14:50:52 +0100 Subject: [PATCH 01/15] adding derived AO2D tables --- PWGDQ/Tasks/qaMatching.cxx | 234 ++++++++++++++++++++++++++++++++++++- 1 file changed, 231 insertions(+), 3 deletions(-) diff --git a/PWGDQ/Tasks/qaMatching.cxx b/PWGDQ/Tasks/qaMatching.cxx index ea18c0aa9d7..273f858a05e 100644 --- a/PWGDQ/Tasks/qaMatching.cxx +++ b/PWGDQ/Tasks/qaMatching.cxx @@ -22,6 +22,7 @@ #include "CCDB/BasicCCDBManager.h" #include "DataFormatsParameters/GRPMagField.h" #include "Framework/ASoAHelpers.h" +#include "Framework/AnalysisDataModel.h" #include "Framework/AnalysisTask.h" #include "Framework/runDataProcessing.h" #include "GlobalTracking/MatchGlobalFwd.h" @@ -44,6 +45,63 @@ using namespace o2; using namespace o2::framework; using namespace o2::aod; +namespace qamatching +{ +DECLARE_SOA_COLUMN(ReducedEventId, reducedEventId, int64_t); +DECLARE_SOA_COLUMN(P, p, float); +DECLARE_SOA_COLUMN(Pt, pt, float); +DECLARE_SOA_COLUMN(Eta, eta, float); +DECLARE_SOA_COLUMN(Phi, phi, float); +DECLARE_SOA_COLUMN(MatchLabel, matchlabel, int8_t); +DECLARE_SOA_COLUMN(TrackId, trackid, int64_t); +DECLARE_SOA_COLUMN(MatchType, matchType, int8_t); +DECLARE_SOA_COLUMN(MatchScore, matchScore, float); +DECLARE_SOA_COLUMN(MatchRanking, matchRanking, int32_t); +DECLARE_SOA_COLUMN(MftMultiplicity, mftMultiplicity, int32_t); +DECLARE_SOA_COLUMN(TrackType, tracktype, int8_t); +DECLARE_SOA_COLUMN(MftMatchAttempts, mftmatchattempts, int32_t); +DECLARE_SOA_COLUMN(X_atVtx, x_atVtx, float); +DECLARE_SOA_COLUMN(Y_atVtx, y_atVtx, float); +DECLARE_SOA_COLUMN(Z_atVtx, z_atVtx, float); +DECLARE_SOA_COLUMN(Px_atVtx, px_atVtx, float); +DECLARE_SOA_COLUMN(Py_atVtx, py_atVtx, float); +DECLARE_SOA_COLUMN(Pz_atVtx, pz_atVtx, float); +DECLARE_SOA_COLUMN(ColX, colx, float); +DECLARE_SOA_COLUMN(ColY, coly, float); +DECLARE_SOA_COLUMN(ColZ, colz, float); +} // namespace qamatching + +namespace o2::aod +{ +DECLARE_SOA_TABLE(QaMatchingEvents, "AOD", "QAMEVT", + qamatching::ReducedEventId, + qamatching::MftMultiplicity, + qamatching::ColX, + qamatching::ColY, + qamatching::ColZ); +DECLARE_SOA_TABLE(QaMatchingMCHTrack, "AOD", "QAMCHTRK", + qamatching::ReducedEventId, + qamatching::TrackId, + qamatching::TrackType, + qamatching::P, + qamatching::Pt, + qamatching::Eta, + qamatching::Phi, + qamatching::MftMatchAttempts, + qamatching::X_atVtx, + qamatching::Y_atVtx, + qamatching::Z_atVtx, + qamatching::Px_atVtx, + qamatching::Py_atVtx, + qamatching::Pz_atVtx); +DECLARE_SOA_TABLE(QaMatchingCandidates, "AOD", "QAMCAND", + qamatching::ReducedEventId, + qamatching::MatchLabel, + qamatching::TrackId, + qamatching::P, qamatching::Pt, qamatching::Eta, qamatching::Phi, + qamatching::MatchType, qamatching::MatchScore, qamatching::MatchRanking); +} // namespace o2::aod + using MyEvents = soa::Join; using MyMuons = soa::Join; using MyMuonsMC = soa::Join; @@ -153,9 +211,9 @@ struct qaMatching { /// Variables for histograms configuration Configurable fNCandidatesMax{"cfgNCandidatesMax", 5, "Number of matching candidates stored for each muon track"}; Configurable fMftTrackMultiplicityMax{"cfgMftTrackMultiplicityMax", 1000, "Maximum number of MFT tracks per collision"}; - double mBzAtMftCenter{0}; + o2::globaltracking::MatchGlobalFwd mExtrap; using MatchingFunc_t = std::function(const o2::dataformats::GlobalFwdTrack& mchtrack, const o2::track::TrackParCovFwd& mfttrack)>; @@ -343,6 +401,10 @@ struct qaMatching { std::unordered_map matchingHistos; matrix dimuonHistos; + Produces qaMatchingEvents; + Produces qaMatchingMCHTrack; + Produces qaMatchingCandidates; + struct EfficiencyPlotter { o2::framework::HistPtr p_num; o2::framework::HistPtr p_den; @@ -1576,6 +1638,28 @@ struct qaMatching { return trueMatchIndex; } + template + int GetTrueMatchIndexTrackType(TMUON const& muonTracks, + TMUONS const& muonTracksAll, + TMFTS const& mftTracks, + const std::vector& matchCandidatesVector, + const std::vector>& matchablePairs) + { + // Same definition as GetTrueMatchIndex, but require trackType-based IsMuon. + int trueMatchIndex = 0; + for (size_t i = 0; i < matchCandidatesVector.size(); i++) { + auto const& muonTrack = muonTracks.rawIteratorAt(matchCandidatesVector[i].globalTrackId); + if (!IsMuon(muonTrack, muonTracksAll, mftTracks)) { + continue; + } + if (IsTrueGlobalMatching(muonTrack, matchablePairs)) { + trueMatchIndex = i + 1; + break; + } + } + return trueMatchIndex; + } + template bool IsMuon(const TMCH& mchTrack, const TMFT& mftTrack) @@ -1623,6 +1707,7 @@ struct qaMatching { return kMatchTypeUndefined; auto const& mchTrack = muonTrack.template matchMCHTrack_as(); + auto const& mftTrack = muonTrack.template matchMFTTrack_as(); bool isPaired = IsMatchableMCH(mchTrack.globalIndex(), matchablePairs); bool isMuon = IsMuon(muonTrack, muonTracks, mftTracks); @@ -2034,8 +2119,8 @@ struct qaMatching { // find the index of the matching candidate that corresponds to the true match // index=1 corresponds to the leading candidate // index=0 means no candidate was found that corresponds to the true match - int trueMatchIndex = GetTrueMatchIndex(muonTracks, globalTracksVector, matchablePairs); - int trueMatchIndexProd = GetTrueMatchIndex(muonTracks, matchingCandidatesProd.at(mchIndex), matchablePairs); + int trueMatchIndex = GetTrueMatchIndexTrackType(muonTracks, muonTracks, mftTracks, globalTracksVector, matchablePairs); + int trueMatchIndexProd = GetTrueMatchIndexTrackType(muonTracks, muonTracks, mftTracks, matchingCandidatesProd.at(mchIndex), matchablePairs); float mcParticleDz = -1000; if (mchTrack.has_mcParticle()) { @@ -2755,6 +2840,106 @@ struct qaMatching { FillDimuonPlotsMC(collisionInfo, collisions, muonTracks, mftTracks); } + template + void FillQaMatchingAodTablesForCollision(TCOLLISION const& collision, + TMUON const& muonTracks, + const MatchingCandidates& matchingCandidates, + int8_t matchLabel, + int64_t reducedEventId) + { + for (const auto& [mchIndex, candidates] : matchingCandidates) { + if (candidates.empty()) { + continue; + } + + const auto& mchTrack = muonTracks.rawIteratorAt(mchIndex); + if (!IsGoodGlobalMuon(mchTrack, collision)) { + continue; + } + float p = mchTrack.p(); + float pt = mchTrack.pt(); + float eta = mchTrack.eta(); + float phi = mchTrack.phi(); + + for (const auto& candidate : candidates) { + qaMatchingCandidates( + reducedEventId, + matchLabel, + mchIndex, + p, + pt, + eta, + phi, + static_cast(candidate.matchType), + static_cast(candidate.matchScore), + static_cast(candidate.matchRanking)); + } + } + + } + + template + void FillQaMatchingAodEventForCollision(const CollisionInfo& collisionInfo, + TCOLLISION const& collision, + int64_t reducedEventId, + int& debugCounter) + { + int32_t mftMultiplicity = static_cast(collisionInfo.mftTracks.size()); + qaMatchingEvents( + reducedEventId, + mftMultiplicity, + static_cast(collision.posX()), + static_cast(collision.posY()), + static_cast(collision.posZ())); + + if (fQaMatchingAodDebug > 0 && debugCounter < fQaMatchingAodDebug) { + LOGF(info, "[AO2D] reducedEvent=%lld mftMult=%d", + static_cast(reducedEventId), + static_cast(mftMultiplicity)); + debugCounter += 1; + } + } + + template + void FillQaMatchingMchTracksForCollision(const CollisionInfo& collisionInfo, + TCOLLISIONS const& collisions, + TCOLLISION const& collision, + TMUON const& muonTracks, + TMFT const& mftTracks, + TBC const& bcs, + int64_t reducedEventId) + { + std::unordered_set mchIds; + for (const auto& mchIndex : collisionInfo.mchTracks) { + mchIds.insert(mchIndex); + } + for (const auto& [mchIndex, candidates] : collisionInfo.matchingCandidates) { + (void)candidates; + mchIds.insert(mchIndex); + } + + for (const auto& mchIndex : mchIds) { + auto const& mchTrack = muonTracks.rawIteratorAt(mchIndex); + int mftMchMatchAttempts = GetMftMchMatchAttempts(collisions, bcs, mchTrack, mftTracks); + auto mchTrackAtVertex = VarManager::PropagateMuon(mchTrack, collision, VarManager::kToVertex); + qaMatchingMCHTrack( + reducedEventId, + mchIndex, + static_cast(mchTrack.trackType()), + static_cast(mchTrack.p()), + static_cast(mchTrack.pt()), + static_cast(mchTrack.eta()), + static_cast(mchTrack.phi()), + static_cast(mftMchMatchAttempts), + static_cast(mchTrackAtVertex.getX()), + static_cast(mchTrackAtVertex.getY()), + static_cast(mchTrackAtVertex.getZ()), + static_cast(mchTrackAtVertex.getPx()), + static_cast(mchTrackAtVertex.getPy()), + static_cast(mchTrackAtVertex.getPz())); + } + } + void processQAMC(MyEvents const& collisions, aod::BCsWithTimestamps const& bcs, MyMuonsMC const& muonTracks, @@ -2776,6 +2961,49 @@ struct qaMatching { mftTrackCovs[mftTrackCov.matchMFTTrackId()] = mftTrackCov.globalIndex(); } + std::unordered_map reducedEventIds; + int64_t reducedEventCounter = 0; + for (auto const& [collisionIndex, collisionInfo] : fCollisionInfos) { + reducedEventIds.emplace(collisionInfo.index, reducedEventCounter); + reducedEventCounter += 1; + } + + int debugCounter = 0; + for (auto const& [collisionIndex, collisionInfo] : fCollisionInfos) { + auto it = reducedEventIds.find(collisionInfo.index); + if (it == reducedEventIds.end()) { + continue; + } + int64_t reducedEventId = it->second; + auto collision = collisions.rawIteratorAt(collisionInfo.index); + FillQaMatchingAodEventForCollision(collisionInfo, collision, reducedEventId, debugCounter); + FillQaMatchingMchTracksForCollision(collisionInfo, collisions, collision, muonTracks, mftTracks, bcs, reducedEventId); + } + + struct AodLabel { + const char* name; + int8_t id; + }; + std::array aodLabels{{{"ProdAll", 0}, {"MatchXYPhiTanl", 1}, {"MatchXYPhiTanlMom", 2}}}; + for (const auto& aodLabel : aodLabels) { + if (matchingChi2Functions.find(aodLabel.name) == matchingChi2Functions.end()) { + LOGF(warn, "[AO2D] Chi2 label not found: %s", aodLabel.name); + continue; + } + debugCounter = 0; + for (auto const& [collisionIndex, collisionInfo] : fCollisionInfos) { + auto it = reducedEventIds.find(collisionInfo.index); + if (it == reducedEventIds.end()) { + continue; + } + int64_t reducedEventId = it->second; + MatchingCandidates matchingCandidates; + RunChi2Matching(collisions, bcs, muonTracks, mftTracks, mftCovs, aodLabel.name, collisionInfo.matchablePairs, collisionInfo.matchingCandidates, matchingCandidates); + auto collision = collisions.rawIteratorAt(collisionInfo.index); + FillQaMatchingAodTablesForCollision(collision, muonTracks, matchingCandidates, aodLabel.id, reducedEventId); + } + } + for (auto const& [collisionIndex, collisionInfo] : fCollisionInfos) { ProcessCollisionMC(collisionInfo, collisions, bcs, muonTracks, mftTracks, mftCovs); } From f0073bacd4f6db60f25e10383123a5515709b48b Mon Sep 17 00:00:00 2001 From: ALICE Action Bot Date: Wed, 25 Mar 2026 14:12:25 +0000 Subject: [PATCH 02/15] Please consider the following formatting changes --- PWGDQ/Tasks/qaMatching.cxx | 2 -- 1 file changed, 2 deletions(-) diff --git a/PWGDQ/Tasks/qaMatching.cxx b/PWGDQ/Tasks/qaMatching.cxx index 273f858a05e..39a17b1d4b4 100644 --- a/PWGDQ/Tasks/qaMatching.cxx +++ b/PWGDQ/Tasks/qaMatching.cxx @@ -213,7 +213,6 @@ struct qaMatching { Configurable fMftTrackMultiplicityMax{"cfgMftTrackMultiplicityMax", 1000, "Maximum number of MFT tracks per collision"}; double mBzAtMftCenter{0}; - o2::globaltracking::MatchGlobalFwd mExtrap; using MatchingFunc_t = std::function(const o2::dataformats::GlobalFwdTrack& mchtrack, const o2::track::TrackParCovFwd& mfttrack)>; @@ -2875,7 +2874,6 @@ struct qaMatching { static_cast(candidate.matchRanking)); } } - } template From bf3fc3346e64436b1c40d93146364fcdaf9115bd Mon Sep 17 00:00:00 2001 From: Niveditha Ramasubramanian Date: Wed, 25 Mar 2026 16:52:38 +0100 Subject: [PATCH 03/15] mega linter issue --- PWGDQ/Tasks/qaMatching.cxx | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/PWGDQ/Tasks/qaMatching.cxx b/PWGDQ/Tasks/qaMatching.cxx index 39a17b1d4b4..bb9c45bf78d 100644 --- a/PWGDQ/Tasks/qaMatching.cxx +++ b/PWGDQ/Tasks/qaMatching.cxx @@ -31,6 +31,7 @@ #include #include +#include #include #include #include @@ -38,6 +39,7 @@ #include #include #include +#include #include #include @@ -211,8 +213,13 @@ struct qaMatching { /// Variables for histograms configuration Configurable fNCandidatesMax{"cfgNCandidatesMax", 5, "Number of matching candidates stored for each muon track"}; Configurable fMftTrackMultiplicityMax{"cfgMftTrackMultiplicityMax", 1000, "Maximum number of MFT tracks per collision"}; + Configurable fQaMatchingAodDebug{"cfgQaMatchingAodDebug", 0, "If >0, print AO2D filling debug (0=off, N=max collisions)"}; + +<<<<<<< HEAD +======= double mBzAtMftCenter{0}; +>>>>>>> 597070af5 (mega linter issue) o2::globaltracking::MatchGlobalFwd mExtrap; using MatchingFunc_t = std::function(const o2::dataformats::GlobalFwdTrack& mchtrack, const o2::track::TrackParCovFwd& mfttrack)>; @@ -2891,8 +2898,8 @@ struct qaMatching { static_cast(collision.posZ())); if (fQaMatchingAodDebug > 0 && debugCounter < fQaMatchingAodDebug) { - LOGF(info, "[AO2D] reducedEvent=%lld mftMult=%d", - static_cast(reducedEventId), + LOGF(info, "[AO2D] reducedEvent=%" PRId64 " mftMult=%d", + reducedEventId, static_cast(mftMultiplicity)); debugCounter += 1; } From 4665baf62b702feb39a86f10b96600f947100958 Mon Sep 17 00:00:00 2001 From: Niveditha Ramasubramanian Date: Wed, 25 Mar 2026 16:55:33 +0100 Subject: [PATCH 04/15] mega linter issue --- PWGDQ/Tasks/qaMatching.cxx | 4 ---- 1 file changed, 4 deletions(-) diff --git a/PWGDQ/Tasks/qaMatching.cxx b/PWGDQ/Tasks/qaMatching.cxx index bb9c45bf78d..d756244786f 100644 --- a/PWGDQ/Tasks/qaMatching.cxx +++ b/PWGDQ/Tasks/qaMatching.cxx @@ -215,11 +215,7 @@ struct qaMatching { Configurable fMftTrackMultiplicityMax{"cfgMftTrackMultiplicityMax", 1000, "Maximum number of MFT tracks per collision"}; Configurable fQaMatchingAodDebug{"cfgQaMatchingAodDebug", 0, "If >0, print AO2D filling debug (0=off, N=max collisions)"}; -<<<<<<< HEAD -======= double mBzAtMftCenter{0}; - ->>>>>>> 597070af5 (mega linter issue) o2::globaltracking::MatchGlobalFwd mExtrap; using MatchingFunc_t = std::function(const o2::dataformats::GlobalFwdTrack& mchtrack, const o2::track::TrackParCovFwd& mfttrack)>; From 26c80f2ee39008e00bbebf506a76798d676e0dd7 Mon Sep 17 00:00:00 2001 From: Niveditha Ramasubramanian Date: Mon, 30 Mar 2026 11:46:17 +0200 Subject: [PATCH 05/15] removing unused variable --- PWGDQ/Tasks/qaMatching.cxx | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/PWGDQ/Tasks/qaMatching.cxx b/PWGDQ/Tasks/qaMatching.cxx index d756244786f..29768e7c6cf 100644 --- a/PWGDQ/Tasks/qaMatching.cxx +++ b/PWGDQ/Tasks/qaMatching.cxx @@ -216,6 +216,7 @@ struct qaMatching { Configurable fQaMatchingAodDebug{"cfgQaMatchingAodDebug", 0, "If >0, print AO2D filling debug (0=off, N=max collisions)"}; double mBzAtMftCenter{0}; + o2::globaltracking::MatchGlobalFwd mExtrap; using MatchingFunc_t = std::function(const o2::dataformats::GlobalFwdTrack& mchtrack, const o2::track::TrackParCovFwd& mfttrack)>; @@ -1709,8 +1710,6 @@ struct qaMatching { return kMatchTypeUndefined; auto const& mchTrack = muonTrack.template matchMCHTrack_as(); - auto const& mftTrack = muonTrack.template matchMFTTrack_as(); - bool isPaired = IsMatchableMCH(mchTrack.globalIndex(), matchablePairs); bool isMuon = IsMuon(muonTrack, muonTracks, mftTracks); int decayRanking = GetDecayRanking(mchTrack, mftTracks); @@ -2121,7 +2120,7 @@ struct qaMatching { // find the index of the matching candidate that corresponds to the true match // index=1 corresponds to the leading candidate // index=0 means no candidate was found that corresponds to the true match - int trueMatchIndex = GetTrueMatchIndexTrackType(muonTracks, muonTracks, mftTracks, globalTracksVector, matchablePairs); + int trueMatchIndex= GetTrueMatchIndexTrackType(muonTracks, muonTracks, mftTracks, globalTracksVector, matchablePairs); int trueMatchIndexProd = GetTrueMatchIndexTrackType(muonTracks, muonTracks, mftTracks, matchingCandidatesProd.at(mchIndex), matchablePairs); float mcParticleDz = -1000; @@ -2379,6 +2378,17 @@ struct qaMatching { } } + if (fQaMatchingAodDebug > 0 && goodMatchFound && isTrueMatch) { + LOGF(info, + "[good&true] mchId=%lld trackType=%d p=%.3f pt=%.3f eta=%.3f phi=%.3f", + static_cast(mchTrack.globalIndex()), + static_cast(mchTrack.trackType()), + mchTrack.p(), + mchTrack.pt(), + mchTrack.eta(), + mchTrack.phi()); + } + // ---- MC ancestry ---- auto motherParticles = GetMotherParticles(mchTrack); int motherPDG = 0; @@ -2877,6 +2887,7 @@ struct qaMatching { static_cast(candidate.matchRanking)); } } + } template From fd418598b4dddaeb022d71b9a749ea1de325edcd Mon Sep 17 00:00:00 2001 From: Niveditha Ramasubramanian Date: Mon, 30 Mar 2026 11:53:01 +0200 Subject: [PATCH 06/15] Apply Clang-format --- PWGDQ/Tasks/qaMatching.cxx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/PWGDQ/Tasks/qaMatching.cxx b/PWGDQ/Tasks/qaMatching.cxx index 29768e7c6cf..2bf1c935394 100644 --- a/PWGDQ/Tasks/qaMatching.cxx +++ b/PWGDQ/Tasks/qaMatching.cxx @@ -2120,7 +2120,7 @@ struct qaMatching { // find the index of the matching candidate that corresponds to the true match // index=1 corresponds to the leading candidate // index=0 means no candidate was found that corresponds to the true match - int trueMatchIndex= GetTrueMatchIndexTrackType(muonTracks, muonTracks, mftTracks, globalTracksVector, matchablePairs); + int trueMatchIndex = GetTrueMatchIndexTrackType(muonTracks, muonTracks, mftTracks, globalTracksVector, matchablePairs); int trueMatchIndexProd = GetTrueMatchIndexTrackType(muonTracks, muonTracks, mftTracks, matchingCandidatesProd.at(mchIndex), matchablePairs); float mcParticleDz = -1000; @@ -2887,7 +2887,6 @@ struct qaMatching { static_cast(candidate.matchRanking)); } } - } template From c1ea1f5bdd3722a44b487a959ba1510a1d3856e6 Mon Sep 17 00:00:00 2001 From: Niveditha Ramasubramanian Date: Mon, 30 Mar 2026 12:03:20 +0200 Subject: [PATCH 07/15] Linter Issues --- PWGDQ/Tasks/qaMatching.cxx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/PWGDQ/Tasks/qaMatching.cxx b/PWGDQ/Tasks/qaMatching.cxx index 2bf1c935394..881709d79e6 100644 --- a/PWGDQ/Tasks/qaMatching.cxx +++ b/PWGDQ/Tasks/qaMatching.cxx @@ -42,6 +42,7 @@ #include #include #include +#include using namespace o2; using namespace o2::framework; @@ -2381,7 +2382,7 @@ struct qaMatching { if (fQaMatchingAodDebug > 0 && goodMatchFound && isTrueMatch) { LOGF(info, "[good&true] mchId=%lld trackType=%d p=%.3f pt=%.3f eta=%.3f phi=%.3f", - static_cast(mchTrack.globalIndex()), + static_cast(mchTrack.globalIndex()), static_cast(mchTrack.trackType()), mchTrack.p(), mchTrack.pt(), From d41ee48ab8bd0b157c407f5c3273af1c1f99d489 Mon Sep 17 00:00:00 2001 From: Niveditha Ramasubramanian Date: Mon, 30 Mar 2026 12:05:36 +0200 Subject: [PATCH 08/15] Apply Clang-format --- PWGDQ/Tasks/qaMatching.cxx | 1 - 1 file changed, 1 deletion(-) diff --git a/PWGDQ/Tasks/qaMatching.cxx b/PWGDQ/Tasks/qaMatching.cxx index 881709d79e6..919b0618413 100644 --- a/PWGDQ/Tasks/qaMatching.cxx +++ b/PWGDQ/Tasks/qaMatching.cxx @@ -42,7 +42,6 @@ #include #include #include -#include using namespace o2; using namespace o2::framework; From 8b0642da7223fdc4b5a8fd2052b339c0969b588b Mon Sep 17 00:00:00 2001 From: nivram-phy Date: Mon, 30 Mar 2026 13:20:27 +0200 Subject: [PATCH 09/15] Update qaMatching.cxx --- PWGDQ/Tasks/qaMatching.cxx | 4 ---- 1 file changed, 4 deletions(-) diff --git a/PWGDQ/Tasks/qaMatching.cxx b/PWGDQ/Tasks/qaMatching.cxx index d72868490cd..d443d89fd52 100644 --- a/PWGDQ/Tasks/qaMatching.cxx +++ b/PWGDQ/Tasks/qaMatching.cxx @@ -18,8 +18,6 @@ #include "Common/CCDB/RCTSelectionFlags.h" #include "Common/DataModel/EventSelection.h" -<<<<<<< PWGDQ-QAMatchingDerivedTable - #include "CCDB/BasicCCDBManager.h" #include "DataFormatsParameters/GRPMagField.h" #include "Framework/ASoAHelpers.h" @@ -33,7 +31,6 @@ #include #include -======= #include "Tools/ML/MlResponse.h" #include @@ -85,7 +82,6 @@ #include #include #include ->>>>>>> master #include #include #include From 3a40276ea2208c912222900fef065ae3016d15c8 Mon Sep 17 00:00:00 2001 From: Niveditha Ramasubramanian Date: Mon, 30 Mar 2026 13:22:11 +0200 Subject: [PATCH 10/15] Apply Clang-format --- PWGDQ/Tasks/qaMatching.cxx | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/PWGDQ/Tasks/qaMatching.cxx b/PWGDQ/Tasks/qaMatching.cxx index d443d89fd52..6c4ddd8f2ce 100644 --- a/PWGDQ/Tasks/qaMatching.cxx +++ b/PWGDQ/Tasks/qaMatching.cxx @@ -18,6 +18,8 @@ #include "Common/CCDB/RCTSelectionFlags.h" #include "Common/DataModel/EventSelection.h" +#include "Tools/ML/MlResponse.h" + #include "CCDB/BasicCCDBManager.h" #include "DataFormatsParameters/GRPMagField.h" #include "Framework/ASoAHelpers.h" @@ -26,13 +28,6 @@ #include "Framework/runDataProcessing.h" #include "GlobalTracking/MatchGlobalFwd.h" #include "MFTTracking/Constants.h" - -#include - -#include -#include -#include "Tools/ML/MlResponse.h" - #include #include #include @@ -61,6 +56,7 @@ #include #include +#include #include #include #include @@ -77,6 +73,7 @@ #include #include #include +#include #include #include #include From 5fec46f96ad3bd8839be2324c1d9b69364ae69ce Mon Sep 17 00:00:00 2001 From: Niveditha Ramasubramanian Date: Mon, 30 Mar 2026 13:30:16 +0200 Subject: [PATCH 11/15] Fixing headers --- PWGDQ/Tasks/qaMatching.cxx | 58 ++------------------------------------ 1 file changed, 3 insertions(+), 55 deletions(-) diff --git a/PWGDQ/Tasks/qaMatching.cxx b/PWGDQ/Tasks/qaMatching.cxx index 6c4ddd8f2ce..edc4d29fbd3 100644 --- a/PWGDQ/Tasks/qaMatching.cxx +++ b/PWGDQ/Tasks/qaMatching.cxx @@ -15,83 +15,31 @@ // #include "PWGDQ/Core/MuonMatchingMlResponse.h" #include "PWGDQ/Core/VarManager.h" +#include "PWGDQ/DataModel/ReducedInfoTables.h" -#include "Common/CCDB/RCTSelectionFlags.h" #include "Common/DataModel/EventSelection.h" -#include "Tools/ML/MlResponse.h" #include "CCDB/BasicCCDBManager.h" #include "DataFormatsParameters/GRPMagField.h" #include "Framework/ASoAHelpers.h" -#include "Framework/AnalysisDataModel.h" #include "Framework/AnalysisTask.h" #include "Framework/runDataProcessing.h" #include "GlobalTracking/MatchGlobalFwd.h" #include "MFTTracking/Constants.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include + #include -#include -#include -#include -#include // IWYU pragma: keep (do not replace with Math/Vector4Dfwd.h) -#include -#include -#include -#include -#include -#include - -#include #include -#include -#include -#include -#include -#include -#include -#include -#include #include +#include #include #include -#include #include #include #include -#include #include #include -#include - using namespace o2; using namespace o2::framework; using namespace o2::aod; From d5126e304cb231be57903587be67d30f46c0326c Mon Sep 17 00:00:00 2001 From: Niveditha Ramasubramanian Date: Mon, 30 Mar 2026 13:41:45 +0200 Subject: [PATCH 12/15] Fixing headers --- PWGDQ/Tasks/qaMatching.cxx | 1 + 1 file changed, 1 insertion(+) diff --git a/PWGDQ/Tasks/qaMatching.cxx b/PWGDQ/Tasks/qaMatching.cxx index edc4d29fbd3..1a73b8aaa59 100644 --- a/PWGDQ/Tasks/qaMatching.cxx +++ b/PWGDQ/Tasks/qaMatching.cxx @@ -28,6 +28,7 @@ #include "MFTTracking/Constants.h" #include +#include #include #include From 9fec8344dffed06f798e3b1bc60666dc2668ac7d Mon Sep 17 00:00:00 2001 From: ALICE Action Bot Date: Mon, 30 Mar 2026 11:42:57 +0000 Subject: [PATCH 13/15] Please consider the following formatting changes --- PWGDQ/Tasks/qaMatching.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PWGDQ/Tasks/qaMatching.cxx b/PWGDQ/Tasks/qaMatching.cxx index 1a73b8aaa59..dbec8abf52a 100644 --- a/PWGDQ/Tasks/qaMatching.cxx +++ b/PWGDQ/Tasks/qaMatching.cxx @@ -28,7 +28,6 @@ #include "MFTTracking/Constants.h" #include -#include #include #include @@ -38,6 +37,7 @@ #include #include #include +#include #include #include From 8c12abd804350e2e2342330cfc3a4e04d6691d96 Mon Sep 17 00:00:00 2001 From: Niveditha Ramasubramanian Date: Mon, 30 Mar 2026 14:54:31 +0200 Subject: [PATCH 14/15] Apply Clang-format --- PWGDQ/Tasks/qaMatching.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PWGDQ/Tasks/qaMatching.cxx b/PWGDQ/Tasks/qaMatching.cxx index 1a73b8aaa59..dbec8abf52a 100644 --- a/PWGDQ/Tasks/qaMatching.cxx +++ b/PWGDQ/Tasks/qaMatching.cxx @@ -28,7 +28,6 @@ #include "MFTTracking/Constants.h" #include -#include #include #include @@ -38,6 +37,7 @@ #include #include #include +#include #include #include From f4a5e17ff27f62618b0c55b995adc1a6b14c0b5e Mon Sep 17 00:00:00 2001 From: Niveditha Ramasubramanian Date: Tue, 31 Mar 2026 10:50:37 +0200 Subject: [PATCH 15/15] gixing some debug statement --- PWGDQ/Tasks/qaMatching.cxx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/PWGDQ/Tasks/qaMatching.cxx b/PWGDQ/Tasks/qaMatching.cxx index dbec8abf52a..3b37c488c69 100644 --- a/PWGDQ/Tasks/qaMatching.cxx +++ b/PWGDQ/Tasks/qaMatching.cxx @@ -2902,9 +2902,7 @@ struct qaMatching { static_cast(collision.posZ())); if (fQaMatchingAodDebug > 0 && debugCounter < fQaMatchingAodDebug) { - LOGF(info, "[AO2D] reducedEvent=%" PRId64 " mftMult=%d", - reducedEventId, - static_cast(mftMultiplicity)); + LOGF(info, "[AO2D] reducedEvent=%", reducedEventId); debugCounter += 1; } }