@@ -93,6 +93,7 @@ struct DndetaMFTPbPb {
9393 Configurable<float > maxEta{" maxEta" , -2 .5f , " " };
9494 Configurable<int > minNclusterMft{" minNclusterMft" , 5 ,
9595 " minimum number of MFT clusters" };
96+ Configurable<float > maxChi2{" maxChi2" , 10 .f , " " };
9697 Configurable<double > minPt{" minPt" , 0 ., " minimum pT of the MFT tracks" };
9798 Configurable<bool > requireCA{
9899 " requireCA" , false , " Use Cellular Automaton track-finding algorithm" };
@@ -106,6 +107,10 @@ struct DndetaMFTPbPb {
106107 Configurable<float > maxZvtxDiff{
107108 " maxZvtxDiff" , 1 .0f ,
108109 " max allowed Z vtx difference for reconstruced collisions (cm)" };
110+ Configurable<bool > requireNoCollInTimeRangeStrict{" requireNoCollInTimeRangeStrict" , true , " requireNoCollInTimeRangeStrict" };
111+ Configurable<bool > requireNoCollInRofStrict{" requireNoCollInRofStrict" , true , " requireNoCollInRofStrict" };
112+ Configurable<bool > requireNoCollInRofStandard{" requireNoCollInRofStandard" , false , " requireNoCollInRofStandard" };
113+ Configurable<bool > requireNoHighMultCollInPrevRof{" requireNoHighMultCollInPrevRof" , true , " requireNoHighMultCollInPrevRof" };
109114 Configurable<bool > requireNoCollInTimeRangeStd{
110115 " requireNoCollInTimeRangeStd" , false ,
111116 " reject collisions corrupted by the cannibalism, with other collisions "
@@ -752,6 +757,8 @@ struct DndetaMFTPbPb {
752757 {
753758 if (track.eta () < trackCuts.minEta || track.eta () > trackCuts.maxEta )
754759 return false ;
760+ if (track.chi2 () > trackCuts.maxChi2 )
761+ return false ;
755762 if (trackCuts.requireCA && !track.isCA ())
756763 return false ;
757764 if (track.nClusters () < trackCuts.minNclusterMft )
@@ -960,21 +967,45 @@ struct DndetaMFTPbPb {
960967 if constexpr (fillHis) {
961968 registry.fill (HIST (" hEvtSel" ), 6 );
962969 }
970+ if (eventCuts.requireNoCollInTimeRangeStrict && !collision.selection_bit (o2::aod::evsel::kNoCollInTimeRangeStrict )) {
971+ return false ;
972+ }
973+ if constexpr (fillHis) {
974+ registry.fill (HIST (" hEvtSel" ), 7 );
975+ }
976+ if (eventCuts.requireNoCollInRofStrict && !collision.selection_bit (o2::aod::evsel::kNoCollInRofStrict )) {
977+ return false ;
978+ }
979+ if constexpr (fillHis) {
980+ registry.fill (HIST (" hEvtSel" ), 8 );
981+ }
982+ if (eventCuts.requireNoCollInRofStandard && !collision.selection_bit (o2::aod::evsel::kNoCollInRofStandard )) {
983+ return false ;
984+ }
985+ if constexpr (fillHis) {
986+ registry.fill (HIST (" hEvtSel" ), 9 );
987+ }
988+ if (eventCuts.requireNoHighMultCollInPrevRof && !collision.selection_bit (o2::aod::evsel::kNoHighMultCollInPrevRof )) {
989+ return false ;
990+ }
991+ if constexpr (fillHis) {
992+ registry.fill (HIST (" hEvtSel" ), 10 );
993+ }
963994 if (eventCuts.minOccupancy >= 0 &&
964995 getOccupancy (collision, eventCuts.occupancyEstimator ) <
965996 eventCuts.minOccupancy ) {
966997 return false ;
967998 }
968999 if constexpr (fillHis) {
969- registry.fill (HIST (" hEvtSel" ), 7 );
1000+ registry.fill (HIST (" hEvtSel" ), 11 );
9701001 }
9711002 if (eventCuts.maxOccupancy >= 0 &&
9721003 getOccupancy (collision, eventCuts.occupancyEstimator ) >
9731004 eventCuts.maxOccupancy ) {
9741005 return false ;
9751006 }
9761007 if constexpr (fillHis) {
977- registry.fill (HIST (" hEvtSel" ), 8 );
1008+ registry.fill (HIST (" hEvtSel" ), 12 );
9781009 }
9791010 return true ;
9801011 }
0 commit comments