From 8dbb984bd1eacb52e991c1a308fcc29cbcbfe922 Mon Sep 17 00:00:00 2001 From: Lucamicheletti93 Date: Fri, 24 Oct 2025 14:52:09 +0200 Subject: [PATCH 1/3] Removing useless template for table-maker-mc-with-assoc --- PWGDQ/TableProducer/tableMakerMC_withAssoc.cxx | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/PWGDQ/TableProducer/tableMakerMC_withAssoc.cxx b/PWGDQ/TableProducer/tableMakerMC_withAssoc.cxx index 39fc41ec2ce..262be9de78b 100644 --- a/PWGDQ/TableProducer/tableMakerMC_withAssoc.cxx +++ b/PWGDQ/TableProducer/tableMakerMC_withAssoc.cxx @@ -454,8 +454,7 @@ struct TableMakerMC { Preslice fwdtrackIndicesPerCollision = aod::track_association::collisionId; Preslice mfttrackIndicesPerCollision = aod::track_association::collisionId; - template - void skimMCCollisions(TEventsMC const& mcCollisions) + void skimMCCollisions(MyEventsMcWithMults const& mcCollisions) { // skim MC collisions // NOTE: So far, all MC collisions are skimmed. In case there will be filtering based on MC collisions, @@ -465,7 +464,7 @@ struct TableMakerMC { // Loop over MC collisions for (auto& mcCollision : mcCollisions) { // Get MC collision information into the VarManager - VarManager::FillEvent(mcCollision); + VarManager::FillEvent(mcCollision); // Fill histograms fHistMan->FillHistClass("Event_MCTruth", VarManager::fgValues); // Create the skimmed table entry for this collision @@ -474,8 +473,7 @@ struct TableMakerMC { } } - template - void skimMCParticles(aod::McParticles const& mcTracks, TEventsMC const&) + void skimMCParticles(aod::McParticles const& mcTracks, MyEventsMcWithMults const&) { // Select MC particles which fulfill at least one of the user specified MC signals // In this function we just fill a map with the labels of selected particles, not creating the tables themselves. @@ -553,7 +551,7 @@ struct TableMakerMC { if (fConfigHistOutput.fConfigQA) { VarManager::FillTrackMC(mcTracks, mctrack); auto mcCollision = mctrack.template mcCollision_as(); - VarManager::FillEvent(mcCollision); + VarManager::FillEvent(mcCollision); int j = 0; for (auto signal = fMCSignals.begin(); signal != fMCSignals.end(); signal++, j++) { if (mcflags & (static_cast(1) << j)) { @@ -1214,11 +1212,11 @@ struct TableMakerMC { // skim MC Collisions eventMC.reserve(mcCollisions.size()); - skimMCCollisions(mcCollisions); + skimMCCollisions(mcCollisions); // select MC particles to be written using the specified MC signals // NOTE: tables are not written at this point, only label maps are being created - skimMCParticles(mcParticles, mcCollisions); + skimMCParticles(mcParticles, mcCollisions); // skim collisions event.reserve(collisions.size()); From 7e2f92b0eecb146745406d658533820ee2515b95 Mon Sep 17 00:00:00 2001 From: Lucamicheletti93 Date: Fri, 24 Oct 2025 16:24:58 +0200 Subject: [PATCH 2/3] Updating teplate function for FillEventMC --- PWGDQ/Core/VarManager.h | 5 ++--- PWGDQ/TableProducer/tableMakerMC_withAssoc.cxx | 6 +++--- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/PWGDQ/Core/VarManager.h b/PWGDQ/Core/VarManager.h index 42531168bad..0316a6c4918 100644 --- a/PWGDQ/Core/VarManager.h +++ b/PWGDQ/Core/VarManager.h @@ -1986,9 +1986,8 @@ void VarManager::FillEvent(T const& event, float* values) values[kMCEventTime] = event.t(); values[kMCEventWeight] = event.weight(); values[kMCEventImpParam] = event.impactParameter(); - if constexpr ((fillMap & CollisionCent) > 0) { - // WARNING: temporary solution, ongoing work to provide proper MC gen. centrality - values[kMCEventCentrFT0C] = event.bestCollisionCentFT0C(); + // WARNING: temporary solution, ongoing work to provide proper MC gen. centrality + values[kMCEventCentrFT0C] = event.bestCollisionCentFT0C(); } } diff --git a/PWGDQ/TableProducer/tableMakerMC_withAssoc.cxx b/PWGDQ/TableProducer/tableMakerMC_withAssoc.cxx index 262be9de78b..e101b6ac602 100644 --- a/PWGDQ/TableProducer/tableMakerMC_withAssoc.cxx +++ b/PWGDQ/TableProducer/tableMakerMC_withAssoc.cxx @@ -464,7 +464,7 @@ struct TableMakerMC { // Loop over MC collisions for (auto& mcCollision : mcCollisions) { // Get MC collision information into the VarManager - VarManager::FillEvent(mcCollision); + VarManager::FillEvent(mcCollision); // Fill histograms fHistMan->FillHistClass("Event_MCTruth", VarManager::fgValues); // Create the skimmed table entry for this collision @@ -551,7 +551,7 @@ struct TableMakerMC { if (fConfigHistOutput.fConfigQA) { VarManager::FillTrackMC(mcTracks, mctrack); auto mcCollision = mctrack.template mcCollision_as(); - VarManager::FillEvent(mcCollision); + VarManager::FillEvent(mcCollision); int j = 0; for (auto signal = fMCSignals.begin(); signal != fMCSignals.end(); signal++, j++) { if (mcflags & (static_cast(1) << j)) { @@ -623,7 +623,7 @@ struct TableMakerMC { VarManager::FillEvent(collision); // extract event information and place it in the fValues array if (collision.has_mcCollision()) { auto mcCollision = collision.template mcCollision_as(); - VarManager::FillEvent(mcCollision); + VarManager::FillEvent(mcCollision); } if (fDoDetailedQA) { fHistMan->FillHistClass("Event_BeforeCuts", VarManager::fgValues); From 0a889d862fd45c0d76964d27a3d5ebdec8930213 Mon Sep 17 00:00:00 2001 From: Lucamicheletti93 Date: Mon, 27 Oct 2025 11:12:04 +0100 Subject: [PATCH 3/3] Fixing issue with FillEvent --- PWGDQ/Core/VarManager.h | 5 +++-- PWGDQ/TableProducer/tableMakerMC_withAssoc.cxx | 6 +++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/PWGDQ/Core/VarManager.h b/PWGDQ/Core/VarManager.h index 0316a6c4918..42531168bad 100644 --- a/PWGDQ/Core/VarManager.h +++ b/PWGDQ/Core/VarManager.h @@ -1986,8 +1986,9 @@ void VarManager::FillEvent(T const& event, float* values) values[kMCEventTime] = event.t(); values[kMCEventWeight] = event.weight(); values[kMCEventImpParam] = event.impactParameter(); - // WARNING: temporary solution, ongoing work to provide proper MC gen. centrality - values[kMCEventCentrFT0C] = event.bestCollisionCentFT0C(); + if constexpr ((fillMap & CollisionCent) > 0) { + // WARNING: temporary solution, ongoing work to provide proper MC gen. centrality + values[kMCEventCentrFT0C] = event.bestCollisionCentFT0C(); } } diff --git a/PWGDQ/TableProducer/tableMakerMC_withAssoc.cxx b/PWGDQ/TableProducer/tableMakerMC_withAssoc.cxx index e101b6ac602..262be9de78b 100644 --- a/PWGDQ/TableProducer/tableMakerMC_withAssoc.cxx +++ b/PWGDQ/TableProducer/tableMakerMC_withAssoc.cxx @@ -464,7 +464,7 @@ struct TableMakerMC { // Loop over MC collisions for (auto& mcCollision : mcCollisions) { // Get MC collision information into the VarManager - VarManager::FillEvent(mcCollision); + VarManager::FillEvent(mcCollision); // Fill histograms fHistMan->FillHistClass("Event_MCTruth", VarManager::fgValues); // Create the skimmed table entry for this collision @@ -551,7 +551,7 @@ struct TableMakerMC { if (fConfigHistOutput.fConfigQA) { VarManager::FillTrackMC(mcTracks, mctrack); auto mcCollision = mctrack.template mcCollision_as(); - VarManager::FillEvent(mcCollision); + VarManager::FillEvent(mcCollision); int j = 0; for (auto signal = fMCSignals.begin(); signal != fMCSignals.end(); signal++, j++) { if (mcflags & (static_cast(1) << j)) { @@ -623,7 +623,7 @@ struct TableMakerMC { VarManager::FillEvent(collision); // extract event information and place it in the fValues array if (collision.has_mcCollision()) { auto mcCollision = collision.template mcCollision_as(); - VarManager::FillEvent(mcCollision); + VarManager::FillEvent(mcCollision); } if (fDoDetailedQA) { fHistMan->FillHistClass("Event_BeforeCuts", VarManager::fgValues);