Skip to content

Commit cfe1578

Browse files
[PWGJE] eventWeight fix for fake collisions
1 parent 328200f commit cfe1578

File tree

3 files changed

+15
-5
lines changed

3 files changed

+15
-5
lines changed

PWGJE/TableProducer/derivedDataProducer.cxx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -241,11 +241,10 @@ struct JetDerivedDataProducerTask {
241241

242242
void processMcCollisionLabels(soa::Join<aod::Collisions, aod::McCollisionLabels>::iterator const& collision, aod::McCollisions const&)
243243
{
244+
products.jMcCollisionsLabelTable(collision.mcCollisionId()); // collision.mcCollisionId() returns -1 if collision has no associated mcCollision
244245
if (collision.has_mcCollision()) {
245-
products.jMcCollisionsLabelTable(collision.mcCollisionId());
246246
products.jCollisionMcInfosTable(collision.mcCollision().weight(), collision.mcCollision().getSubGeneratorId());
247247
} else {
248-
products.jMcCollisionsLabelTable(-1);
249248
products.jCollisionMcInfosTable(-1.0, jetderiveddatautilities::JCollisionSubGeneratorId::none);
250249
}
251250
}

PWGJE/TableProducer/jetEventWeightMCD.cxx

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,14 +40,22 @@ struct JetEventWeightMCDTask {
4040
void processMCDetectorLevelEventWeight(MCDetectorLevelJetTable const& jet, soa::Join<aod::JetCollisions, aod::JMcCollisionLbs> const&, aod::JetMcCollisions const&)
4141
{
4242
auto collision = jet.template collision_as<soa::Join<aod::JetCollisions, aod::JMcCollisionLbs>>();
43-
mcDetectorLevelWeightsTable(jet.globalIndex(), collision.mcCollision().weight());
43+
float eventWeight = 0.0;
44+
if (collision.has_mcCollision()) {
45+
eventWeight = (float)(collision.mcCollision()).weight();
46+
}
47+
mcDetectorLevelWeightsTable(jet.globalIndex(), eventWeight);
4448
}
4549
PROCESS_SWITCH(JetEventWeightMCDTask, processMCDetectorLevelEventWeight, "Fill event weight tables for detector level MC jets", false);
4650

4751
void processMCDetectorLevelEventWiseSubtractedEventWeight(MCDetectorLevelEventWiseSubtractedJetTable const& jet, soa::Join<aod::JetCollisions, aod::JMcCollisionLbs> const&, aod::JetMcCollisions const&)
4852
{
4953
auto collision = jet.template collision_as<soa::Join<aod::JetCollisions, aod::JMcCollisionLbs>>();
50-
mcDetectorLevelEventWiseSubtractedWeightsTable(jet.globalIndex(), collision.mcCollision().weight());
54+
float eventWeight = 0.0;
55+
if (collision.has_mcCollision()) {
56+
eventWeight = (float)(collision.mcCollision()).weight();
57+
}
58+
mcDetectorLevelEventWiseSubtractedWeightsTable(jet.globalIndex(), eventWeight);
5159
}
5260
PROCESS_SWITCH(JetEventWeightMCDTask, processMCDetectorLevelEventWiseSubtractedEventWeight, "Fill event weight tables for detector level MC jets", false);
5361
};

PWGJE/Tasks/jetFinderQA.cxx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1180,7 +1180,10 @@ struct JetFinderQATask {
11801180
aod::JetMcCollisions const&,
11811181
soa::Filtered<soa::Join<aod::JetTracks, aod::JTrackExtras>> const& tracks)
11821182
{
1183-
float eventWeight = collision.mcCollision().weight();
1183+
float eventWeight = 0.0;
1184+
if (collision.has_mcCollision()) {
1185+
eventWeight = (float)(collision.mcCollision()).weight();
1186+
}
11841187
if (skipMBGapEvents && collision.subGeneratorId() == jetderiveddatautilities::JCollisionSubGeneratorId::mbGap) {
11851188
return;
11861189
}

0 commit comments

Comments
 (0)