Skip to content

Commit 022a20d

Browse files
committed
include functionality for outlier rejection task
1 parent f28f5c4 commit 022a20d

File tree

1 file changed

+29
-7
lines changed

1 file changed

+29
-7
lines changed

PWGJE/Tasks/jetHadronRecoil.cxx

Lines changed: 29 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)