@@ -58,6 +58,7 @@ struct singleTrackSelector {
5858 Configurable<std::string> grpmagPath{" grpmagPath" , " GLO/Config/GRPMagField" , " CCDB path of the GRPMagField object" };
5959 Configurable<bool > applySkimming{" applySkimming" , false , " Skimmed dataset processing" };
6060 Configurable<std::string> cfgSkimming{" cfgSkimming" , " fPD" , " Configurable for skimming" };
61+ Configurable<bool > CBThadronPID{" CBThadronPID" , false , " Apply ev. sel. based on RCT flag `hadronPID`" }; // more in Common/CCDB/RCTSelectionFlags.h
6162
6263 Configurable<int > applyEvSel{" applyEvSel" , 2 , " Flag to apply rapidity cut: 0 -> no event selection, 1 -> Run 2 event selection, 2 -> Run 3 event selection" };
6364 // Configurable<int> trackSelection{"trackSelection", 1, "Track selection: 0 -> No Cut, 1 -> kGlobalTrack, 2 -> kGlobalTrackWoPtEta, 3 -> kGlobalTrackWoDCA, 4 -> kQualityTracks, 5 -> kInAcceptanceTracks"};
@@ -134,6 +135,8 @@ struct singleTrackSelector {
134135 HistogramRegistry registry{" registry" , {}, OutputObjHandlingPolicy::AnalysisObject};
135136 SliceCache cache;
136137
138+ rctsel::RCTFlagsChecker myChecker{" CBT_hadronPID" };
139+
137140 void init (InitContext&)
138141 {
139142
@@ -148,6 +151,8 @@ struct singleTrackSelector {
148151 ccdb->setLocalObjectValidityChecking ();
149152 ccdb->setFatalWhenNull (false );
150153
154+ myChecker.init (" CBT_hadronPID" , true );
155+
151156 registry.add (" hNEvents" , " hNEvents" , {HistType::kTH1D , {{2 , 0 .f , 2 .f }}});
152157 registry.get <TH1>(HIST (" hNEvents" ))->GetXaxis ()->SetBinLabel (1 , " All" );
153158 registry.get <TH1>(HIST (" hNEvents" ))->GetXaxis ()->SetBinLabel (2 , " Skimmed" );
@@ -349,6 +354,9 @@ struct singleTrackSelector {
349354 const auto & bc = collision.bc_as <aod::BCsWithTimestamps>();
350355 initCCDB (bc);
351356
357+ if (!myChecker (*collision) && CBThadronPID)
358+ return ;
359+
352360 registry.fill (HIST (" hNEvents" ), 0.5 );
353361 if (applySkimming) {
354362 if (!zorro.isSelected (bc.globalBC ())) {
0 commit comments