@@ -90,6 +90,8 @@ using namespace o2::aod::rctsel;
9090
9191auto static constexpr CminCharge = 3 .f;
9292auto static constexpr CintZero = 0 ;
93+ auto static constexpr CintOne = 1 ;
94+ auto static constexpr CintTwo = 2 ;
9395auto static constexpr Czero = 0 .f;
9496auto static constexpr Cninety = 90 .f;
9597auto static constexpr ConeHeighty = 180 .f;
@@ -98,7 +100,7 @@ auto static constexpr CmaxAccFT0A = 4.9f;
98100auto static constexpr CminAccFT0C = -3 .3f ;
99101auto static constexpr CmaxAccFT0C = -2 .1f ;
100102
101- constexpr int CevtSel = 15 ;
103+ constexpr int CevtSel = 16 ;
102104constexpr int CtrkSel = 7 ;
103105constexpr int CtrkTrkBestSel = 6 ;
104106constexpr int CambTrkType = 7 ;
@@ -120,6 +122,7 @@ enum class EvtSel {
120122 evtNoCollInRofStrict,
121123 evtNoCollInRofStandard,
122124 evtNoHighMultCollInPrevRof,
125+ evtGoodITSLayersAll,
123126 evtBelowMinOccup,
124127 evtAboveMaxOccup,
125128 evtRCTFlagChecker,
@@ -428,6 +431,7 @@ struct DndetaMFTPbPb {
428431 Configurable<bool > requireNoCollInRofStrict{" requireNoCollInRofStrict" , true , " requireNoCollInRofStrict" };
429432 Configurable<bool > requireNoCollInRofStandard{" requireNoCollInRofStandard" , false , " requireNoCollInRofStandard" };
430433 Configurable<bool > requireNoHighMultCollInPrevRof{" requireNoHighMultCollInPrevRof" , false , " requireNoHighMultCollInPrevRof" };
434+ Configurable<bool > requireGoodITSLayersAll{" requireGoodITSLayersAll" , true , " requireGoodITSLayersAll" };
431435 Configurable<bool > requireNoCollInTimeRangeStd{" requireNoCollInTimeRangeStd" , false , " reject collisions corrupted by the cannibalism, with other collisions within +/- 10 microseconds" };
432436 Configurable<bool > requireNoCollInTimeRangeNarrow{" requireNoCollInTimeRangeNarrow" , false , " reject collisions corrupted by the cannibalism, with other collisions within +/- 10 microseconds" };
433437 Configurable<uint> occupancyEstimator{" occupancyEstimator" , 1 , " Occupancy estimator: 1 = trackOccupancyInTimeRange, 2 = ft0cOccupancyInTimeRange" };
@@ -577,6 +581,7 @@ struct DndetaMFTPbPb {
577581 labelEvtSel[static_cast <int >(EvtSel::evtNoCollInRofStrict)] = " kNoCollInRofStrict" ;
578582 labelEvtSel[static_cast <int >(EvtSel::evtNoCollInRofStandard)] = " kNoCollInRofStandard" ;
579583 labelEvtSel[static_cast <int >(EvtSel::evtNoHighMultCollInPrevRof)] = " kNoHighMultCollInPrevRof" ;
584+ labelEvtSel[static_cast <int >(EvtSel::evtGoodITSLayersAll)] = " kIsGoodITSLayersAll" ;
580585 labelEvtSel[static_cast <int >(EvtSel::evtBelowMinOccup)] = " Below min occup." ;
581586 labelEvtSel[static_cast <int >(EvtSel::evtAboveMaxOccup)] = " Above max occup." ;
582587 labelEvtSel[static_cast <int >(EvtSel::evtRCTFlagChecker)] = " RCT Flag Checker" ;
@@ -2241,6 +2246,12 @@ struct DndetaMFTPbPb {
22412246 if constexpr (fillHis) {
22422247 registry.fill (HIST (" Events/hEvtSel" ), static_cast <int >(EvtSel::evtNoHighMultCollInPrevRof));
22432248 }
2249+ if (eventCuts.requireGoodITSLayersAll && !collision.selection_bit (o2::aod::evsel::kIsGoodITSLayersAll )) {
2250+ return false ;
2251+ }
2252+ if constexpr (fillHis) {
2253+ registry.fill (HIST (" Events/hEvtSel" ), static_cast <int >(EvtSel::evtGoodITSLayersAll));
2254+ }
22442255 if (eventCuts.minOccupancy >= 0 &&
22452256 getOccupancy (collision, eventCuts.occupancyEstimator ) <
22462257 eventCuts.minOccupancy ) {
@@ -4960,9 +4971,9 @@ struct DndetaMFTPbPb {
49604971
49614972 if (gConf .cfgDCAtype == 0 ) {
49624973 dcaInfo[0 ] = dcaInfOrig[0 ];
4963- } else if (gConf .cfgDCAtype == 1 ) {
4974+ } else if (gConf .cfgDCAtype == CintOne ) {
49644975 dcaInfo[0 ] = dcaInfOrig[1 ];
4965- } else if (gConf .cfgDCAtype == 2 ) {
4976+ } else if (gConf .cfgDCAtype == CintTwo ) {
49664977 dcaInfo[0 ] = std::sqrt (dcaInfOrig[0 ] * dcaInfOrig[0 ] + dcaInfOrig[1 ] * dcaInfOrig[1 ]);
49674978 }
49684979 dcaInfo[1 ] = dcaInfOrig[2 ];
0 commit comments