@@ -98,6 +98,7 @@ struct LongRangeDihadronCor {
9898 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" )
9999 O2_DEFINE_CONFIGURABLE (cfgEvSelkNoCollInTimeRangeStandard, bool , false , " no collisions in specified time range" )
100100 O2_DEFINE_CONFIGURABLE (cfgEvSelkIsGoodITSLayersAll, bool , true , " cut time intervals with dead ITS staves" )
101+ O2_DEFINE_CONFIGURABLE (cfgEvSelkIsGoodITSLayer0123, bool , false , " cut time intervals with dead ITS staves (layers 0-3 only, for pp)" )
101102 O2_DEFINE_CONFIGURABLE (cfgEvSelkNoCollInRofStandard, bool , false , " no other collisions in this Readout Frame with per-collision multiplicity above threshold" )
102103 O2_DEFINE_CONFIGURABLE (cfgEvSelkNoHighMultCollInPrevRof, bool , false , " veto an event if FT0C amplitude in previous ITS ROF is above threshold" )
103104 O2_DEFINE_CONFIGURABLE (cfgEvSelMultCorrelation, bool , true , " Multiplicity correlation cut" )
@@ -312,19 +313,20 @@ struct LongRangeDihadronCor {
312313
313314 // Event Counter
314315 if ((doprocessSameTpcFt0a || doprocessSameTpcFt0c || doprocessSameFt0aFt0c) && cfgUseAdditionalEventCut) {
315- registry.add (" hEventCountSpecific" , " Number of Event;; Count" , {HistType::kTH1D , {{12 , 0 , 12 }}});
316+ registry.add (" hEventCountSpecific" , " Number of Event;; Count" , {HistType::kTH1D , {{13 , 0 , 13 }}});
316317 registry.get <TH1>(HIST (" hEventCountSpecific" ))->GetXaxis ()->SetBinLabel (1 , " after sel8" );
317318 registry.get <TH1>(HIST (" hEventCountSpecific" ))->GetXaxis ()->SetBinLabel (2 , " kNoSameBunchPileup" );
318319 registry.get <TH1>(HIST (" hEventCountSpecific" ))->GetXaxis ()->SetBinLabel (3 , " kNoITSROFrameBorder" );
319320 registry.get <TH1>(HIST (" hEventCountSpecific" ))->GetXaxis ()->SetBinLabel (4 , " kNoTimeFrameBorder" );
320321 registry.get <TH1>(HIST (" hEventCountSpecific" ))->GetXaxis ()->SetBinLabel (5 , " kIsGoodZvtxFT0vsPV" );
321322 registry.get <TH1>(HIST (" hEventCountSpecific" ))->GetXaxis ()->SetBinLabel (6 , " kNoCollInTimeRangeStandard" );
322323 registry.get <TH1>(HIST (" hEventCountSpecific" ))->GetXaxis ()->SetBinLabel (7 , " kIsGoodITSLayersAll" );
323- registry.get <TH1>(HIST (" hEventCountSpecific" ))->GetXaxis ()->SetBinLabel (8 , " kNoCollInRofStandard" );
324- registry.get <TH1>(HIST (" hEventCountSpecific" ))->GetXaxis ()->SetBinLabel (9 , " kNoHighMultCollInPrevRof" );
325- registry.get <TH1>(HIST (" hEventCountSpecific" ))->GetXaxis ()->SetBinLabel (10 , " occupancy" );
326- registry.get <TH1>(HIST (" hEventCountSpecific" ))->GetXaxis ()->SetBinLabel (11 , " MultCorrelation" );
327- registry.get <TH1>(HIST (" hEventCountSpecific" ))->GetXaxis ()->SetBinLabel (12 , " cfgEvSelV0AT0ACut" );
324+ registry.get <TH1>(HIST (" hEventCountSpecific" ))->GetXaxis ()->SetBinLabel (8 , " kIsGoodITSLayer0123" );
325+ registry.get <TH1>(HIST (" hEventCountSpecific" ))->GetXaxis ()->SetBinLabel (9 , " kNoCollInRofStandard" );
326+ registry.get <TH1>(HIST (" hEventCountSpecific" ))->GetXaxis ()->SetBinLabel (10 , " kNoHighMultCollInPrevRof" );
327+ registry.get <TH1>(HIST (" hEventCountSpecific" ))->GetXaxis ()->SetBinLabel (11 , " occupancy" );
328+ registry.get <TH1>(HIST (" hEventCountSpecific" ))->GetXaxis ()->SetBinLabel (12 , " MultCorrelation" );
329+ registry.get <TH1>(HIST (" hEventCountSpecific" ))->GetXaxis ()->SetBinLabel (13 , " cfgEvSelV0AT0ACut" );
328330 }
329331
330332 if (cfgEvSelMultCorrelation) {
@@ -930,23 +932,29 @@ struct LongRangeDihadronCor {
930932 }
931933 if (fillCounter && cfgEvSelkIsGoodITSLayersAll)
932934 registry.fill (HIST (" hEventCountSpecific" ), 6.5 );
935+ if (cfgEvSelkIsGoodITSLayer0123 && !collision.selection_bit (o2::aod::evsel::kIsGoodITSLayer0123 )) {
936+ // for pp: cut time intervals with dead ITS staves on layers 0-3 only
937+ return 0 ;
938+ }
939+ if (fillCounter && cfgEvSelkIsGoodITSLayer0123)
940+ registry.fill (HIST (" hEventCountSpecific" ), 7.5 );
933941 if (cfgEvSelkNoCollInRofStandard && !collision.selection_bit (o2::aod::evsel::kNoCollInRofStandard )) {
934942 // no other collisions in this Readout Frame with per-collision multiplicity above threshold
935943 return 0 ;
936944 }
937945 if (fillCounter && cfgEvSelkNoCollInRofStandard)
938- registry.fill (HIST (" hEventCountSpecific" ), 7 .5 );
946+ registry.fill (HIST (" hEventCountSpecific" ), 8 .5 );
939947 if (cfgEvSelkNoHighMultCollInPrevRof && !collision.selection_bit (o2::aod::evsel::kNoHighMultCollInPrevRof )) {
940948 // veto an event if FT0C amplitude in previous ITS ROF is above threshold
941949 return 0 ;
942950 }
943951 if (fillCounter && cfgEvSelkNoHighMultCollInPrevRof)
944- registry.fill (HIST (" hEventCountSpecific" ), 8 .5 );
952+ registry.fill (HIST (" hEventCountSpecific" ), 9 .5 );
945953 auto occupancy = collision.trackOccupancyInTimeRange ();
946954 if (cfgEvSelOccupancy && (occupancy < cfgCutOccupancyLow || occupancy > cfgCutOccupancyHigh))
947955 return 0 ;
948956 if (fillCounter && cfgEvSelOccupancy)
949- registry.fill (HIST (" hEventCountSpecific" ), 9 .5 );
957+ registry.fill (HIST (" hEventCountSpecific" ), 10 .5 );
950958
951959 auto multNTracksPV = collision.multNTracksPV ();
952960 if (cfgEvSelMultCorrelation) {
@@ -976,14 +984,14 @@ struct LongRangeDihadronCor {
976984 }
977985 }
978986 if (fillCounter && cfgEvSelMultCorrelation)
979- registry.fill (HIST (" hEventCountSpecific" ), 10 .5 );
987+ registry.fill (HIST (" hEventCountSpecific" ), 11 .5 );
980988
981989 // V0A T0A 5 sigma cut
982990 float sigma = 5.0 ;
983991 if (cfgEvSelV0AT0ACut && (std::fabs (collision.multFV0A () - cfgFuncParas.fT0AV0AMean ->Eval (collision.multFT0A ())) > sigma * cfgFuncParas.fT0AV0ASigma ->Eval (collision.multFT0A ())))
984992 return 0 ;
985993 if (fillCounter && cfgEvSelV0AT0ACut)
986- registry.fill (HIST (" hEventCountSpecific" ), 11 .5 );
994+ registry.fill (HIST (" hEventCountSpecific" ), 12 .5 );
987995
988996 return 1 ;
989997 }
0 commit comments