From cfe1578e98d512b2eed55adaf943fe5dda42adae Mon Sep 17 00:00:00 2001 From: aimeric-landou Date: Wed, 23 Apr 2025 12:06:49 +0200 Subject: [PATCH 1/5] [PWGJE] eventWeight fix for fake collisions --- PWGJE/TableProducer/derivedDataProducer.cxx | 3 +-- PWGJE/TableProducer/jetEventWeightMCD.cxx | 12 ++++++++++-- PWGJE/Tasks/jetFinderQA.cxx | 5 ++++- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/PWGJE/TableProducer/derivedDataProducer.cxx b/PWGJE/TableProducer/derivedDataProducer.cxx index a946d93b997..55dc9f60324 100644 --- a/PWGJE/TableProducer/derivedDataProducer.cxx +++ b/PWGJE/TableProducer/derivedDataProducer.cxx @@ -241,11 +241,10 @@ struct JetDerivedDataProducerTask { void processMcCollisionLabels(soa::Join::iterator const& collision, aod::McCollisions const&) { + products.jMcCollisionsLabelTable(collision.mcCollisionId()); // collision.mcCollisionId() returns -1 if collision has no associated mcCollision if (collision.has_mcCollision()) { - products.jMcCollisionsLabelTable(collision.mcCollisionId()); products.jCollisionMcInfosTable(collision.mcCollision().weight(), collision.mcCollision().getSubGeneratorId()); } else { - products.jMcCollisionsLabelTable(-1); products.jCollisionMcInfosTable(-1.0, jetderiveddatautilities::JCollisionSubGeneratorId::none); } } diff --git a/PWGJE/TableProducer/jetEventWeightMCD.cxx b/PWGJE/TableProducer/jetEventWeightMCD.cxx index 0709a362d7f..148d2f4ec0b 100644 --- a/PWGJE/TableProducer/jetEventWeightMCD.cxx +++ b/PWGJE/TableProducer/jetEventWeightMCD.cxx @@ -40,14 +40,22 @@ struct JetEventWeightMCDTask { void processMCDetectorLevelEventWeight(MCDetectorLevelJetTable const& jet, soa::Join const&, aod::JetMcCollisions const&) { auto collision = jet.template collision_as>(); - mcDetectorLevelWeightsTable(jet.globalIndex(), collision.mcCollision().weight()); + float eventWeight = 0.0; + if (collision.has_mcCollision()) { + eventWeight = (float)(collision.mcCollision()).weight(); + } + mcDetectorLevelWeightsTable(jet.globalIndex(), eventWeight); } PROCESS_SWITCH(JetEventWeightMCDTask, processMCDetectorLevelEventWeight, "Fill event weight tables for detector level MC jets", false); void processMCDetectorLevelEventWiseSubtractedEventWeight(MCDetectorLevelEventWiseSubtractedJetTable const& jet, soa::Join const&, aod::JetMcCollisions const&) { auto collision = jet.template collision_as>(); - mcDetectorLevelEventWiseSubtractedWeightsTable(jet.globalIndex(), collision.mcCollision().weight()); + float eventWeight = 0.0; + if (collision.has_mcCollision()) { + eventWeight = (float)(collision.mcCollision()).weight(); + } + mcDetectorLevelEventWiseSubtractedWeightsTable(jet.globalIndex(), eventWeight); } PROCESS_SWITCH(JetEventWeightMCDTask, processMCDetectorLevelEventWiseSubtractedEventWeight, "Fill event weight tables for detector level MC jets", false); }; diff --git a/PWGJE/Tasks/jetFinderQA.cxx b/PWGJE/Tasks/jetFinderQA.cxx index 106ad4b4e1e..52fc0afcac9 100644 --- a/PWGJE/Tasks/jetFinderQA.cxx +++ b/PWGJE/Tasks/jetFinderQA.cxx @@ -1180,7 +1180,10 @@ struct JetFinderQATask { aod::JetMcCollisions const&, soa::Filtered> const& tracks) { - float eventWeight = collision.mcCollision().weight(); + float eventWeight = 0.0; + if (collision.has_mcCollision()) { + eventWeight = (float)(collision.mcCollision()).weight(); + } if (skipMBGapEvents && collision.subGeneratorId() == jetderiveddatautilities::JCollisionSubGeneratorId::mbGap) { return; } From b647a7bb0469171a546ef296ba4d0c7274098be9 Mon Sep 17 00:00:00 2001 From: aimeric-landou Date: Wed, 23 Apr 2025 15:21:27 +0200 Subject: [PATCH 2/5] deriveddataproducer weight fix forgotten --- PWGJE/TableProducer/derivedDataProducer.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PWGJE/TableProducer/derivedDataProducer.cxx b/PWGJE/TableProducer/derivedDataProducer.cxx index 55dc9f60324..3398b33ce42 100644 --- a/PWGJE/TableProducer/derivedDataProducer.cxx +++ b/PWGJE/TableProducer/derivedDataProducer.cxx @@ -245,7 +245,7 @@ struct JetDerivedDataProducerTask { if (collision.has_mcCollision()) { products.jCollisionMcInfosTable(collision.mcCollision().weight(), collision.mcCollision().getSubGeneratorId()); } else { - products.jCollisionMcInfosTable(-1.0, jetderiveddatautilities::JCollisionSubGeneratorId::none); + products.jCollisionMcInfosTable(0.0, jetderiveddatautilities::JCollisionSubGeneratorId::none); } } PROCESS_SWITCH(JetDerivedDataProducerTask, processMcCollisionLabels, "produces derived MC collision labels table", false); From c6e56d9a0a37135f54a7c7b880f34b9f1214e427 Mon Sep 17 00:00:00 2001 From: aimeric-landou Date: Wed, 23 Apr 2025 16:12:48 +0200 Subject: [PATCH 3/5] use jCollisionMcInfosTable instead of intermediary mcCollision --- PWGJE/TableProducer/jetEventWeightMCD.cxx | 12 ++---------- PWGJE/Tasks/jetFinderQA.cxx | 5 +---- PWGJE/Tasks/jetSpectraCharged.cxx | 15 +++++++-------- 3 files changed, 10 insertions(+), 22 deletions(-) diff --git a/PWGJE/TableProducer/jetEventWeightMCD.cxx b/PWGJE/TableProducer/jetEventWeightMCD.cxx index 148d2f4ec0b..40ea278c51e 100644 --- a/PWGJE/TableProducer/jetEventWeightMCD.cxx +++ b/PWGJE/TableProducer/jetEventWeightMCD.cxx @@ -40,22 +40,14 @@ struct JetEventWeightMCDTask { void processMCDetectorLevelEventWeight(MCDetectorLevelJetTable const& jet, soa::Join const&, aod::JetMcCollisions const&) { auto collision = jet.template collision_as>(); - float eventWeight = 0.0; - if (collision.has_mcCollision()) { - eventWeight = (float)(collision.mcCollision()).weight(); - } - mcDetectorLevelWeightsTable(jet.globalIndex(), eventWeight); + mcDetectorLevelWeightsTable(jet.globalIndex(), collision.weight()); } PROCESS_SWITCH(JetEventWeightMCDTask, processMCDetectorLevelEventWeight, "Fill event weight tables for detector level MC jets", false); void processMCDetectorLevelEventWiseSubtractedEventWeight(MCDetectorLevelEventWiseSubtractedJetTable const& jet, soa::Join const&, aod::JetMcCollisions const&) { auto collision = jet.template collision_as>(); - float eventWeight = 0.0; - if (collision.has_mcCollision()) { - eventWeight = (float)(collision.mcCollision()).weight(); - } - mcDetectorLevelEventWiseSubtractedWeightsTable(jet.globalIndex(), eventWeight); + mcDetectorLevelEventWiseSubtractedWeightsTable(jet.globalIndex(), collision.weight()); } PROCESS_SWITCH(JetEventWeightMCDTask, processMCDetectorLevelEventWiseSubtractedEventWeight, "Fill event weight tables for detector level MC jets", false); }; diff --git a/PWGJE/Tasks/jetFinderQA.cxx b/PWGJE/Tasks/jetFinderQA.cxx index 52fc0afcac9..c823befc753 100644 --- a/PWGJE/Tasks/jetFinderQA.cxx +++ b/PWGJE/Tasks/jetFinderQA.cxx @@ -1180,10 +1180,7 @@ struct JetFinderQATask { aod::JetMcCollisions const&, soa::Filtered> const& tracks) { - float eventWeight = 0.0; - if (collision.has_mcCollision()) { - eventWeight = (float)(collision.mcCollision()).weight(); - } + float eventWeight = collision.weight(); if (skipMBGapEvents && collision.subGeneratorId() == jetderiveddatautilities::JCollisionSubGeneratorId::mbGap) { return; } diff --git a/PWGJE/Tasks/jetSpectraCharged.cxx b/PWGJE/Tasks/jetSpectraCharged.cxx index 67495485bb6..9976343eaed 100644 --- a/PWGJE/Tasks/jetSpectraCharged.cxx +++ b/PWGJE/Tasks/jetSpectraCharged.cxx @@ -531,10 +531,7 @@ struct JetSpectraCharged { aod::JetMcCollisions const&, soa::Filtered> const& tracks) { - if (!collision.has_mcCollision()) { // the collision is fake and has no associated mc coll; skip as .mccollision() cannot be called - return; - } - float eventWeight = collision.mcCollision().weight(); + float eventWeight = collision.weight(); if (!jetderiveddatautilities::selectCollision(collision, eventSelectionBits, skipMBGapEvents)) { return; } @@ -552,6 +549,9 @@ struct JetSpectraCharged { void processCollisions(soa::Filtered::iterator const& collision) { + if (!collision.has_mcCollision()){ + registry.fill(HIST("h_fakecollisions"), 1.5); + } registry.fill(HIST("h_collisions"), 0.5); if (!jetderiveddatautilities::selectCollision(collision, eventSelectionBits, skipMBGapEvents)) { return; @@ -569,11 +569,10 @@ struct JetSpectraCharged { void processCollisionsWeighted(soa::Join::iterator const& collision, aod::JetMcCollisions const&) { - if (!collision.has_mcCollision()) { // the collision is fake and has no associated mc coll; skip as .mccollision() cannot be called - registry.fill(HIST("h_fakecollisions"), 0.5); - return; + if (!collision.has_mcCollision()){ + registry.fill(HIST("h_fakecollisions"), 1.5); } - float eventWeight = collision.mcCollision().weight(); + float eventWeight = collision.weight(); registry.fill(HIST("h_collisions"), 0.5); registry.fill(HIST("h_collisions_weighted"), 0.5, eventWeight); if (!jetderiveddatautilities::selectCollision(collision, eventSelectionBits, skipMBGapEvents)) { From d2e8cc9b6835f3d1232459bcee0cba667ad60ed5 Mon Sep 17 00:00:00 2001 From: aimeric-landou Date: Wed, 23 Apr 2025 16:43:15 +0200 Subject: [PATCH 4/5] jetSpectraCharged fakeCollision QC --- PWGJE/Tasks/jetSpectraCharged.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/PWGJE/Tasks/jetSpectraCharged.cxx b/PWGJE/Tasks/jetSpectraCharged.cxx index 9976343eaed..8ffe372541b 100644 --- a/PWGJE/Tasks/jetSpectraCharged.cxx +++ b/PWGJE/Tasks/jetSpectraCharged.cxx @@ -550,7 +550,7 @@ struct JetSpectraCharged { void processCollisions(soa::Filtered::iterator const& collision) { if (!collision.has_mcCollision()){ - registry.fill(HIST("h_fakecollisions"), 1.5); + registry.fill(HIST("h_fakecollisions"), 0.5); } registry.fill(HIST("h_collisions"), 0.5); if (!jetderiveddatautilities::selectCollision(collision, eventSelectionBits, skipMBGapEvents)) { @@ -570,7 +570,7 @@ struct JetSpectraCharged { aod::JetMcCollisions const&) { if (!collision.has_mcCollision()){ - registry.fill(HIST("h_fakecollisions"), 1.5); + registry.fill(HIST("h_fakecollisions"), 0.5); } float eventWeight = collision.weight(); registry.fill(HIST("h_collisions"), 0.5); From 48b577b9aae58b3d6c737f913a104716785d4af6 Mon Sep 17 00:00:00 2001 From: ALICE Action Bot Date: Wed, 23 Apr 2025 14:46:41 +0000 Subject: [PATCH 5/5] Please consider the following formatting changes --- PWGJE/Tasks/jetSpectraCharged.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/PWGJE/Tasks/jetSpectraCharged.cxx b/PWGJE/Tasks/jetSpectraCharged.cxx index 8ffe372541b..0560883b9c8 100644 --- a/PWGJE/Tasks/jetSpectraCharged.cxx +++ b/PWGJE/Tasks/jetSpectraCharged.cxx @@ -549,7 +549,7 @@ struct JetSpectraCharged { void processCollisions(soa::Filtered::iterator const& collision) { - if (!collision.has_mcCollision()){ + if (!collision.has_mcCollision()) { registry.fill(HIST("h_fakecollisions"), 0.5); } registry.fill(HIST("h_collisions"), 0.5); @@ -569,7 +569,7 @@ struct JetSpectraCharged { void processCollisionsWeighted(soa::Join::iterator const& collision, aod::JetMcCollisions const&) { - if (!collision.has_mcCollision()){ + if (!collision.has_mcCollision()) { registry.fill(HIST("h_fakecollisions"), 0.5); } float eventWeight = collision.weight();