Skip to content

Commit 9f52839

Browse files
authored
Add configurable flags for ITS layer selection
1 parent 9bd6cea commit 9f52839

1 file changed

Lines changed: 15 additions & 3 deletions

File tree

PWGCF/Flow/Tasks/flowMc.cxx

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,8 @@ struct FlowMc {
102102
O2_DEFINE_CONFIGURABLE(cfgTrackDensityCorrSlopeFactor, float, 1.0f, "A factor to scale the track density efficiency slope")
103103
O2_DEFINE_CONFIGURABLE(cfgRecoEvRejectMC, bool, false, "reject both MC and Reco events when reco do not pass")
104104
O2_DEFINE_CONFIGURABLE(cfgRecoEvSel8, bool, false, "require sel8 for reconstruction events")
105-
O2_DEFINE_CONFIGURABLE(cfgRecoEvkIsGoodITSLayersAll, bool, false, "require kIsGoodITSLayersAll for reconstruction events")
105+
O2_DEFINE_CONFIGURABLE(cfgRecoEvkIsGoodITSLayers, bool, true, "cut time intervals with dead ITS staves")
106+
O2_DEFINE_CONFIGURABLE(cfgRecoEvkIsGoodITSLayersFlag, int, 0, "0: kIsGoodITSLayersAll; 1: kIsGoodITSLayer0123; 2: kIsGoodITSLayer3")
106107
O2_DEFINE_CONFIGURABLE(cfgRecoEvkNoSameBunchPileup, bool, false, "require kNoSameBunchPileup for reconstruction events")
107108
O2_DEFINE_CONFIGURABLE(cfgRecoEvSelkIsGoodZvtxFT0vsPV, 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")
108109
O2_DEFINE_CONFIGURABLE(cfgRecoEvSelkNoITSROFrameBorder, bool, false, "reject events at ITS ROF border")
@@ -151,6 +152,12 @@ struct FlowMc {
151152
TF1* funcV2;
152153
TF1* funcV3;
153154
TF1* funcV4;
155+
enum GoodITSLayersFlag {
156+
kITSLayersAll,
157+
kITSLayer0123,
158+
kITSLayer3,
159+
kCount_ITSLayersFlag
160+
};
154161

155162
// Connect to ccdb
156163
Service<ccdb::BasicCCDBManager> ccdb;
@@ -426,10 +433,15 @@ struct FlowMc {
426433
// https://indico.cern.ch/event/1396220/#1-event-selection-with-its-rof
427434
return 0;
428435
}
429-
if (cfgRecoEvkIsGoodITSLayersAll && !collision.selection_bit(o2::aod::evsel::kIsGoodITSLayersAll)) {
436+
if (cfgRecoEvkIsGoodITSLayers) {
430437
// from Jan 9 2025 AOT meeting
431438
// cut time intervals with dead ITS staves
432-
return 0;
439+
if (cfgRecoEvkIsGoodITSLayersFlag == kITSLayersAll && !collision.selection_bit(o2::aod::evsel::kIsGoodITSLayersAll))
440+
return 0;
441+
if (cfgRecoEvkIsGoodITSLayersFlag == kITSLayer0123 && !collision.selection_bit(o2::aod::evsel::kIsGoodITSLayer0123))
442+
return 0;
443+
if (cfgRecoEvkIsGoodITSLayersFlag == kITSLayer3 && !collision.selection_bit(o2::aod::evsel::kIsGoodITSLayer3))
444+
return 0;
433445
}
434446
if (cfgRecoEvSelkIsGoodZvtxFT0vsPV && !collision.selection_bit(o2::aod::evsel::kIsGoodZvtxFT0vsPV)) {
435447
// removes collisions with large differences between z of PV by tracks and z of PV from FT0 A-C time difference

0 commit comments

Comments
 (0)