Skip to content

Commit 223adab

Browse files
authored
[PWGCF] add more flags of ITS layers quality (AliceO2Group#15879)
1 parent 1198c2c commit 223adab

1 file changed

Lines changed: 18 additions & 5 deletions

File tree

PWGCF/Flow/Tasks/flowRunbyRun.cxx

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,8 @@ struct FlowRunbyRun {
9090
O2_DEFINE_CONFIGURABLE(cfgEvSelkNoSameBunchPileup, bool, false, "rejects collisions which are associated with the same found-by-T0 bunch crossing")
9191
O2_DEFINE_CONFIGURABLE(cfgEvSelkIsGoodZvtxFT0vsPV, bool, false, "removes collisions with large differences between z of PV by tracks and z of PV from FT0 A-C time difference, use this cut at low multiplicities with caution")
9292
O2_DEFINE_CONFIGURABLE(cfgEvSelkNoCollInTimeRangeStandard, bool, false, "no collisions in specified time range")
93-
O2_DEFINE_CONFIGURABLE(cfgEvSelkIsGoodITSLayersAll, bool, true, "cut time intervals with dead ITS staves")
93+
O2_DEFINE_CONFIGURABLE(cfgEvSelkIsGoodITSLayers, bool, true, "cut time intervals with dead ITS staves")
94+
O2_DEFINE_CONFIGURABLE(cfgEvSelkIsGoodITSLayersFlag, int, 0, "0: kIsGoodITSLayersAll; 1: kIsGoodITSLayer0123; 2: kIsGoodITSLayer3")
9495
O2_DEFINE_CONFIGURABLE(cfgEvSelkNoCollInRofStandard, bool, false, "no other collisions in this Readout Frame with per-collision multiplicity above threshold")
9596
O2_DEFINE_CONFIGURABLE(cfgEvSelkNoHighMultCollInPrevRof, bool, false, "veto an event if FT0C amplitude in previous ITS ROF is above threshold")
9697
O2_DEFINE_CONFIGURABLE(cfgEvSelMultCorrelation, bool, true, "Multiplicity correlation cut")
@@ -185,6 +186,12 @@ struct FlowRunbyRun {
185186
c3232,
186187
kCount_TProfileNames
187188
};
189+
enum GoodITSLayersFlag {
190+
kITSLayersAll,
191+
kITSLayer0123,
192+
kITSLayer3,
193+
kCount_ITSLayersFlag
194+
};
188195
int mRunNumber{-1};
189196
uint64_t mSOR{0};
190197
double mMinSeconds{-1.};
@@ -382,7 +389,8 @@ struct FlowRunbyRun {
382389
histos[hEventCountSpecific]->GetXaxis()->SetBinLabel(2, "kNoSameBunchPileup");
383390
histos[hEventCountSpecific]->GetXaxis()->SetBinLabel(3, "kIsGoodZvtxFT0vsPV");
384391
histos[hEventCountSpecific]->GetXaxis()->SetBinLabel(4, "kNoCollInTimeRangeStandard");
385-
histos[hEventCountSpecific]->GetXaxis()->SetBinLabel(5, "kIsGoodITSLayersAll");
392+
std::string itsLayersFlag[kCount_ITSLayersFlag] = {"ITSLayersAll", "ITSLayers0123", "ITSLayer3"};
393+
histos[hEventCountSpecific]->GetXaxis()->SetBinLabel(5, Form("kIsGood%s", itsLayersFlag[cfgEvSelkIsGoodITSLayersFlag].c_str()));
386394
histos[hEventCountSpecific]->GetXaxis()->SetBinLabel(6, "kNoCollInRofStandard");
387395
histos[hEventCountSpecific]->GetXaxis()->SetBinLabel(7, "kNoHighMultCollInPrevRof");
388396
histos[hEventCountSpecific]->GetXaxis()->SetBinLabel(8, "occupancy");
@@ -456,12 +464,17 @@ struct FlowRunbyRun {
456464
}
457465
if (cfgEvSelkNoCollInTimeRangeStandard)
458466
th1sList[runNumber][hEventCountSpecific]->Fill(3.5);
459-
if (cfgEvSelkIsGoodITSLayersAll && !collision.selection_bit(o2::aod::evsel::kIsGoodITSLayersAll)) {
467+
if (cfgEvSelkIsGoodITSLayers) {
460468
// from Jan 9 2025 AOT meeting
461469
// cut time intervals with dead ITS staves
462-
return 0;
470+
if (cfgEvSelkIsGoodITSLayersFlag == kITSLayersAll && !collision.selection_bit(o2::aod::evsel::kIsGoodITSLayersAll))
471+
return 0;
472+
if (cfgEvSelkIsGoodITSLayersFlag == kITSLayer0123 && !collision.selection_bit(o2::aod::evsel::kIsGoodITSLayer0123))
473+
return 0;
474+
if (cfgEvSelkIsGoodITSLayersFlag == kITSLayer3 && !collision.selection_bit(o2::aod::evsel::kIsGoodITSLayer3))
475+
return 0;
463476
}
464-
if (cfgEvSelkIsGoodITSLayersAll)
477+
if (cfgEvSelkIsGoodITSLayers)
465478
th1sList[runNumber][hEventCountSpecific]->Fill(4.5);
466479
if (cfgEvSelkNoCollInRofStandard && !collision.selection_bit(o2::aod::evsel::kNoCollInRofStandard)) {
467480
// no other collisions in this Readout Frame with per-collision multiplicity above threshold

0 commit comments

Comments
 (0)