Skip to content

Commit 378106d

Browse files
committed
Add event selection on ITS layers
1 parent 2296e31 commit 378106d

1 file changed

Lines changed: 9 additions & 0 deletions

File tree

PWGMM/Mult/Tasks/dndetaMFTPbPb.cxx

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@ enum class EvtSel {
120120
evtNoCollInRofStrict,
121121
evtNoCollInRofStandard,
122122
evtNoHighMultCollInPrevRof,
123+
evtGoodITSLayersAll,
123124
evtBelowMinOccup,
124125
evtAboveMaxOccup,
125126
evtRCTFlagChecker,
@@ -428,6 +429,7 @@ struct DndetaMFTPbPb {
428429
Configurable<bool> requireNoCollInRofStrict{"requireNoCollInRofStrict", true, "requireNoCollInRofStrict"};
429430
Configurable<bool> requireNoCollInRofStandard{"requireNoCollInRofStandard", false, "requireNoCollInRofStandard"};
430431
Configurable<bool> requireNoHighMultCollInPrevRof{"requireNoHighMultCollInPrevRof", false, "requireNoHighMultCollInPrevRof"};
432+
Configurable<bool> requireGoodITSLayersAll{"requireGoodITSLayersAll", true, "requireGoodITSLayersAll"};
431433
Configurable<bool> requireNoCollInTimeRangeStd{"requireNoCollInTimeRangeStd", false, "reject collisions corrupted by the cannibalism, with other collisions within +/- 10 microseconds"};
432434
Configurable<bool> requireNoCollInTimeRangeNarrow{"requireNoCollInTimeRangeNarrow", false, "reject collisions corrupted by the cannibalism, with other collisions within +/- 10 microseconds"};
433435
Configurable<uint> occupancyEstimator{"occupancyEstimator", 1, "Occupancy estimator: 1 = trackOccupancyInTimeRange, 2 = ft0cOccupancyInTimeRange"};
@@ -577,6 +579,7 @@ struct DndetaMFTPbPb {
577579
labelEvtSel[static_cast<int>(EvtSel::evtNoCollInRofStrict)] = "kNoCollInRofStrict";
578580
labelEvtSel[static_cast<int>(EvtSel::evtNoCollInRofStandard)] = "kNoCollInRofStandard";
579581
labelEvtSel[static_cast<int>(EvtSel::evtNoHighMultCollInPrevRof)] = "kNoHighMultCollInPrevRof";
582+
labelEvtSel[static_cast<int>(EvtSel::evtGoodITSLayersAll)] = "kIsGoodITSLayersAll";
580583
labelEvtSel[static_cast<int>(EvtSel::evtBelowMinOccup)] = "Below min occup.";
581584
labelEvtSel[static_cast<int>(EvtSel::evtAboveMaxOccup)] = "Above max occup.";
582585
labelEvtSel[static_cast<int>(EvtSel::evtRCTFlagChecker)] = "RCT Flag Checker";
@@ -2241,6 +2244,12 @@ struct DndetaMFTPbPb {
22412244
if constexpr (fillHis) {
22422245
registry.fill(HIST("Events/hEvtSel"), static_cast<int>(EvtSel::evtNoHighMultCollInPrevRof));
22432246
}
2247+
if (eventCuts.requireGoodITSLayersAll && !collision.selection_bit(o2::aod::evsel::kIsGoodITSLayersAll)) {
2248+
return false;
2249+
}
2250+
if constexpr (fillHis) {
2251+
registry.fill(HIST("Events/hEvtSel"), static_cast<int>(EvtSel::evtGoodITSLayersAll));
2252+
}
22442253
if (eventCuts.minOccupancy >= 0 &&
22452254
getOccupancy(collision, eventCuts.occupancyEstimator) <
22462255
eventCuts.minOccupancy) {

0 commit comments

Comments
 (0)