@@ -96,6 +96,7 @@ struct centralityStudy {
9696 Configurable<bool > rejectITSinROFpileupStandard{" rejectITSinROFpileupStandard" , false , " reject collisions in case of in-ROF ITS pileup (standard)" };
9797 Configurable<bool > rejectITSinROFpileupStrict{" rejectITSinROFpileupStrict" , false , " reject collisions in case of in-ROF ITS pileup (strict)" };
9898 Configurable<bool > rejectCollInTimeRangeNarrow{" rejectCollInTimeRangeNarrow" , false , " reject if extra colls in time range (narrow)" };
99+ Configurable<bool > rejectZNAC{" rejectZNAC" , false , " reject if !(kIsBBZNA && kIsBBZNC)" };
99100
100101 Configurable<bool > selectUPCcollisions{" selectUPCcollisions" , false , " select collisions tagged with UPC flag" };
101102
@@ -224,6 +225,13 @@ struct centralityStudy {
224225
225226 if (doprocessBCs) {
226227 histos.add (" hBCSelection" , " hBCSelection" , kTH1D , {{20 , -0.5 , 19 .5f }});
228+ histos.get <TH1>(HIST (" hBCSelection" ))->GetXaxis ()->SetBinLabel (1 , " All BCs" );
229+ histos.get <TH1>(HIST (" hBCSelection" ))->GetXaxis ()->SetBinLabel (2 , " Colliding BCs" );
230+ histos.get <TH1>(HIST (" hBCSelection" ))->GetXaxis ()->SetBinLabel (3 , " TVX" );
231+ histos.get <TH1>(HIST (" hBCSelection" ))->GetXaxis ()->SetBinLabel (4 , " FV0OrA" );
232+ histos.get <TH1>(HIST (" hBCSelection" ))->GetXaxis ()->SetBinLabel (5 , " upc rej" );
233+ histos.get <TH1>(HIST (" hBCSelection" ))->GetXaxis ()->SetBinLabel (6 , " zdc rej" );
234+
227235 histos.add (" hFT0C_BCs" , " hFT0C_BCs" , kTH1D , {axisMultUltraFineFT0C});
228236 histos.add (" hFT0M_BCs" , " hFT0M_BCs" , kTH1D , {axisMultUltraFineFT0M});
229237 histos.add (" hFV0A_BCs" , " hFV0A_BCs" , kTH1D , {axisMultUltraFineFV0A});
@@ -830,27 +838,31 @@ struct centralityStudy {
830838 genericProcessCollision (collision);
831839 }
832840
833- void processBCs (soa::Join<aod::BC2Mults, aod::MultBCs>::iterator const & multbc, soa::Join<aod::MultsRun3, aod::MFTMults, aod::MultsExtra, aod::MultSelections, aod::CentFT0Cs, aod::MultsGlobal> const &)
841+ void processBCs (soa::Join<aod::BC2Mults, aod::MultBCs, aod::MultBcSel >::iterator const & multbc, soa::Join<aod::MultsRun3, aod::MFTMults, aod::MultsExtra, aod::MultSelections, aod::CentFT0Cs, aod::MultsGlobal> const &)
834842 {
835843 // process BCs, calculate FT0C distribution
836844 // conditionals suggested by FIT team (Jacek O. et al)
837845 histos.fill (HIST (" hBCSelection" ), 0 ); // all BCs
846+
838847 if (selectCollidingBCs && !multbc.multCollidingBC ())
839848 return ;
840849 histos.fill (HIST (" hBCSelection" ), 1 ); // colliding
850+
841851 if (selectTVX && !multbc.multTVX ())
842852 return ;
843853 histos.fill (HIST (" hBCSelection" ), 2 ); // TVX
854+
844855 if (selectFV0OrA && !multbc.multFV0OrA ())
845856 return ;
846857 histos.fill (HIST (" hBCSelection" ), 3 ); // FV0OrA
858+
847859 if (vertexZwithT0 < 100 .0f ) {
848860 if (!multbc.multFT0PosZValid ())
849861 return ;
850862 if (TMath::Abs (multbc.multFT0PosZ ()) > vertexZwithT0)
851863 return ;
852864 }
853- histos.fill (HIST (" hBCSelection" ), 4 ); // FV0OrA
865+ histos.fill (HIST (" hBCSelection" ), 4 ); // FT0PosZ
854866
855867 if (multbc.multFT0C () < upcRejection.maxFT0CforZNACselection &&
856868 multbc.multZNA () < upcRejection.minZNACsignal &&
@@ -865,8 +877,11 @@ struct centralityStudy {
865877 multbc.multFDDA () < upcRejection.minFDDAsignal ) {
866878 return ;
867879 }
868-
869- histos.fill (HIST (" hBCSelection" ), 5 ); // znac
880+ histos.fill (HIST (" hBCSelection" ), 5 ); // znac amp
881+ if (rejectZNAC && !multbc.selection_bit (o2::aod::evsel::kIsBBZNA ) && !multbc.selection_bit (o2::aod::evsel::kIsBBZNC )) {
882+ return ;
883+ }
884+ histos.fill (HIST (" hBCSelection" ), 6 ); // znac time
870885
871886 // if we got here, we also finally fill the FT0C histogram, please
872887 histos.fill (HIST (" hFT0C_BCs" ), multbc.multFT0C () * scaleSignalFT0C);
0 commit comments