@@ -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};
0 commit comments