@@ -82,6 +82,7 @@ struct JetHadronRecoil {
8282 Configurable<bool > skipMBGapEvents{" skipMBGapEvents" , false , " flag to choose to reject min. bias gap events; jet-level rejection applied at the jet finder level, here rejection is applied for collision and track process functions" };
8383 Configurable<bool > outlierRejectEvent{" outlierRejectEvent" , true , " where outliers are found, reject event (true) or just reject the single track/jet (false)" };
8484 Configurable<bool > doSumw{" doSumw" , false , " enable sumw2 for weighted histograms" };
85+ Configurable<bool > rejectOutlierCollisions{" rejectOutlierCollisions" , false , " flag to reject outlier collisions for weighed MC" };
8586
8687 TRandom3* rand = new TRandom3(0 );
8788
@@ -811,7 +812,7 @@ struct JetHadronRecoil {
811812 }
812813 PROCESS_SWITCH (JetHadronRecoil, processMCDWithRhoSubtraction, " process MC detector level with rho subtraction" , false );
813814
814- void processMCDWeighted (soa::Filtered<soa::Join<aod::JetCollisions, aod::JMcCollisionLbs>>::iterator const & collision,
815+ void processMCDWeighted (soa::Filtered<soa::Join<aod::JetCollisions, aod::JMcCollisionLbs, aod::JCollisionOutliers >>::iterator const & collision,
815816 aod::JMcCollisions const &,
816817 soa::Filtered<soa::Join<aod::ChargedMCDetectorLevelJets, aod::ChargedMCDetectorLevelJetConstituents>> const & jets,
817818 soa::Filtered<soa::Join<aod::JetTracks, aod::JTrackExtras, aod::JMcTrackLbs>> const & tracks)
@@ -831,12 +832,15 @@ struct JetHadronRecoil {
831832 if (collision.mcCollision ().ptHard () < pTHatMinEvent) {
832833 return ;
833834 }
835+ if (rejectOutlierCollisions && collision.isOutlier ()) {
836+ return ;
837+ }
834838 registry.fill (HIST (" hZvtxSelected" ), collision.posZ (), collision.mcCollision ().weight ());
835839 fillHistogramsMCD (jets, tracks, collision.mcCollision ().weight (), 0.0 , collision.mcCollision ().ptHard (), collision.mcCollisionId ());
836840 }
837841 PROCESS_SWITCH (JetHadronRecoil, processMCDWeighted, " process MC detector level with event weights" , false );
838842
839- void processMCDWeightedWithRhoSubtraction (soa::Filtered<soa::Join<aod::JetCollisions, aod::JMcCollisionLbs, aod::BkgChargedRhos>>::iterator const & collision,
843+ void processMCDWeightedWithRhoSubtraction (soa::Filtered<soa::Join<aod::JetCollisions, aod::JMcCollisionLbs, aod::BkgChargedRhos, aod::JCollisionOutliers >>::iterator const & collision,
840844 aod::JMcCollisions const &,
841845 soa::Filtered<soa::Join<aod::ChargedMCDetectorLevelJets, aod::ChargedMCDetectorLevelJetConstituents>> const & jets,
842846 soa::Filtered<soa::Join<aod::JetTracks, aod::JTrackExtras, aod::JMcTrackLbs>> const & tracks)
@@ -856,6 +860,9 @@ struct JetHadronRecoil {
856860 if (collision.mcCollision ().ptHard () < pTHatMinEvent) {
857861 return ;
858862 }
863+ if (rejectOutlierCollisions && collision.isOutlier ()) {
864+ return ;
865+ }
859866 registry.fill (HIST (" hZvtxSelected" ), collision.posZ (), collision.mcCollision ().weight ());
860867 fillHistogramsMCD (jets, tracks, collision.mcCollision ().weight (), collision.rho (), collision.mcCollision ().ptHard (), collision.mcCollisionId ());
861868 }
@@ -892,7 +899,7 @@ struct JetHadronRecoil {
892899 PROCESS_SWITCH (JetHadronRecoil, processMCP, " process MC particle level" , false );
893900
894901 void processMCPWeighted (aod::JetMcCollision const & mccollision,
895- soa::SmallGroups<aod::JetCollisionsMCD> const & collisions,
902+ soa::SmallGroups<soa::Join< aod::JetCollisionsMCD, aod::JCollisionOutliers> > const & collisions,
896903 soa::Filtered<soa::Join<aod::ChargedMCParticleLevelJets, aod::ChargedMCParticleLevelJetConstituents>> const & jets,
897904 soa::Filtered<aod::JetParticles> const & particles)
898905 {
@@ -915,6 +922,9 @@ struct JetHadronRecoil {
915922 if (!jetderiveddatautilities::selectTrigger (collision, triggerMaskBits)) {
916923 return ;
917924 }
925+ if (rejectOutlierCollisions && collision.isOutlier ()) {
926+ return ;
927+ }
918928 }
919929 registry.fill (HIST (" hZvtxSelected" ), mccollision.posZ (), mccollision.weight ());
920930 fillMCPHistograms (jets, particles, mccollision.weight (), mccollision.ptHard ());
@@ -969,7 +979,7 @@ struct JetHadronRecoil {
969979 }
970980 PROCESS_SWITCH (JetHadronRecoil, processJetsMCPMCDMatchedWithRhoSubtraction, " process MC matched (inc jets) with rho subtraction" , false );
971981
972- void processJetsMCPMCDMatchedWeighted (soa::Filtered<soa::Join<aod::JetCollisionsMCD, aod::JMcCollisionLbs>>::iterator const & collision,
982+ void processJetsMCPMCDMatchedWeighted (soa::Filtered<soa::Join<aod::JetCollisionsMCD, aod::JMcCollisionLbs, aod::JCollisionOutliers >>::iterator const & collision,
973983 soa::Filtered<soa::Join<aod::ChargedMCDetectorLevelJets, aod::ChargedMCDetectorLevelJetConstituents, aod::ChargedMCDetectorLevelJetsMatchedToChargedMCParticleLevelJets>> const & mcdjets,
974984 aod::JetTracks const & tracks,
975985 aod::JetParticles const & particles,
@@ -988,12 +998,15 @@ struct JetHadronRecoil {
988998 if (collision.mcCollision ().ptHard () < pTHatMinEvent) {
989999 return ;
9901000 }
1001+ if (rejectOutlierCollisions && collision.isOutlier ()) {
1002+ return ;
1003+ }
9911004 registry.fill (HIST (" hZvtxSelected" ), collision.posZ ());
9921005 fillMatchedHistograms (mcdjets, mcpjets, tracks, particles, collision.mcCollision ().weight (), 0.0 , collision.mcCollision ().ptHard ());
9931006 }
9941007 PROCESS_SWITCH (JetHadronRecoil, processJetsMCPMCDMatchedWeighted, " process MC matched with event weights (inc jets)" , false );
9951008
996- void processJetsMCPMCDMatchedWeightedWithRhoSubtraction (soa::Filtered<soa::Join<aod::JetCollisionsMCD, aod::JMcCollisionLbs, aod::BkgChargedRhos>>::iterator const & collision,
1009+ void processJetsMCPMCDMatchedWeightedWithRhoSubtraction (soa::Filtered<soa::Join<aod::JetCollisionsMCD, aod::JMcCollisionLbs, aod::BkgChargedRhos, aod::JCollisionOutliers >>::iterator const & collision,
9971010 soa::Filtered<soa::Join<aod::ChargedMCDetectorLevelJets, aod::ChargedMCDetectorLevelJetConstituents, aod::ChargedMCDetectorLevelJetsMatchedToChargedMCParticleLevelJets>> const & mcdjets,
9981011 aod::JetTracks const & tracks,
9991012 aod::JetParticles const & particles,
@@ -1012,6 +1025,9 @@ struct JetHadronRecoil {
10121025 if (collision.mcCollision ().ptHard () < pTHatMinEvent) {
10131026 return ;
10141027 }
1028+ if (rejectOutlierCollisions && collision.isOutlier ()) {
1029+ return ;
1030+ }
10151031 registry.fill (HIST (" hZvtxSelected" ), collision.posZ ());
10161032 fillMatchedHistograms (mcdjets, mcpjets, tracks, particles, collision.mcCollision ().weight (), collision.rho (), collision.mcCollision ().ptHard ());
10171033 }
@@ -1050,7 +1066,7 @@ struct JetHadronRecoil {
10501066 PROCESS_SWITCH (JetHadronRecoil, processRecoilJetsMCPMCDMatched, " process MC matched (recoil jets)" , false );
10511067
10521068 void processRecoilJetsMCPMCDMatchedWeighted (aod::JetMcCollisions::iterator const & mccollision,
1053- soa::SmallGroups<aod::JetCollisionsMCD> const & collisions,
1069+ soa::SmallGroups<soa::Join< aod::JetCollisionsMCD, aod::JCollisionOutliers> > const & collisions,
10541070 soa::Filtered<soa::Join<aod::ChargedMCDetectorLevelJets, aod::ChargedMCDetectorLevelJetConstituents, aod::ChargedMCDetectorLevelJetsMatchedToChargedMCParticleLevelJets>> const & mcdjets,
10551071 soa::Filtered<aod::JetTracksMCD> const & tracks,
10561072 soa::Filtered<aod::JetParticles> const & particles,
@@ -1075,14 +1091,17 @@ struct JetHadronRecoil {
10751091 if (!jetderiveddatautilities::selectTrigger (collision, triggerMaskBits)) {
10761092 return ;
10771093 }
1094+ if (rejectOutlierCollisions && collision.isOutlier ()) {
1095+ return ;
1096+ }
10781097 }
10791098 registry.fill (HIST (" hZvtxSelected" ), mccollision.posZ (), mccollision.weight ());
10801099 fillRecoilJetMatchedHistograms (mcdjets, mcpjets, tracks, particles, mccollision.weight (), 0.0 , mccollision.ptHard ());
10811100 }
10821101 PROCESS_SWITCH (JetHadronRecoil, processRecoilJetsMCPMCDMatchedWeighted, " process MC matched with event weights (recoil jets)" , false );
10831102
10841103 void processRecoilJetsMCPMCDMatchedWeightedWithRhoSubtraction (soa::Join<aod::JetMcCollisions, aod::BkgChargedRhos>::iterator const & mccollision,
1085- soa::SmallGroups<aod::JetCollisionsMCD> const & collisions,
1104+ soa::SmallGroups<soa::Join< aod::JetCollisionsMCD, aod::JCollisionOutliers> > const & collisions,
10861105 soa::Filtered<soa::Join<aod::ChargedMCDetectorLevelJets, aod::ChargedMCDetectorLevelJetConstituents, aod::ChargedMCDetectorLevelJetsMatchedToChargedMCParticleLevelJets>> const & mcdjets,
10871106 soa::Filtered<aod::JetTracksMCD> const & tracks,
10881107 soa::Filtered<aod::JetParticles> const & particles,
@@ -1107,6 +1126,9 @@ struct JetHadronRecoil {
11071126 if (!jetderiveddatautilities::selectTrigger (collision, triggerMaskBits)) {
11081127 return ;
11091128 }
1129+ if (rejectOutlierCollisions && collision.isOutlier ()) {
1130+ return ;
1131+ }
11101132 }
11111133 registry.fill (HIST (" hZvtxSelected" ), mccollision.posZ (), mccollision.weight ());
11121134 fillRecoilJetMatchedHistograms (mcdjets, mcpjets, tracks, particles, mccollision.weight (), mccollision.rho (), mccollision.ptHard ());
0 commit comments