@@ -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" );
@@ -158,12 +163,12 @@ struct singleTrackSelector {
158163
159164 if (enable_gen_info) {
160165 registry.add (" hNEvents_MCGen" , " hNEvents_MCGen" , {HistType::kTH1F , {{1 , 0 .f , 1 .f }}});
161- registry.add (" hGen_EtaPhiPt_Proton" , " Gen (anti)protons in true collisions" , {HistType::kTH3F , {{100 , -1 ., 1 ., " #eta" }, {157 , 0 ., 2 * TMath::Pi () , " #phi" }, {100 , -5 .f , 5 .f , " p_{T} GeV/c" }}});
162- registry.add (" hGen_EtaPhiPt_Deuteron" , " Gen (anti)deuteron in true collisions" , {HistType::kTH3F , {{100 , -1 ., 1 ., " #eta" }, {157 , 0 ., 2 * TMath::Pi () , " #phi" }, {100 , -5 .f , 5 .f , " p_{T} GeV/c" }}});
163- registry.add (" hGen_EtaPhiPt_Helium3" , " Gen (anti)Helium3 in true collisions" , {HistType::kTH3F , {{100 , -1 ., 1 ., " #eta" }, {157 , 0 ., 2 * TMath::Pi () , " #phi" }, {100 , -5 .f , 5 .f , " p_{T} GeV/c" }}});
164- registry.add (" hReco_EtaPhiPt_Proton" , " Gen (anti)protons in reco collisions" , {HistType::kTH3F , {{100 , -1 ., 1 ., " #eta" }, {157 , 0 ., 2 * TMath::Pi () , " #phi" }, {100 , -5 .f , 5 .f , " p_{T} GeV/c" }}});
165- registry.add (" hReco_EtaPhiPt_Deuteron" , " Gen (anti)deuteron in reco collisions" , {HistType::kTH3F , {{100 , -1 ., 1 ., " #eta" }, {157 , 0 ., 2 * TMath::Pi () , " #phi" }, {100 , -5 .f , 5 .f , " p_{T} GeV/c" }}});
166- registry.add (" hReco_EtaPhiPt_Helium3" , " Gen (anti)Helium3 in reco collisions" , {HistType::kTH3F , {{100 , -1 ., 1 ., " #eta" }, {157 , 0 ., 2 * TMath::Pi () , " #phi" }, {100 , -5 .f , 5 .f , " p_{T} GeV/c" }}});
166+ registry.add (" hGen_EtaPhiPt_Proton" , " Gen (anti)protons in true collisions" , {HistType::kTH3F , {{100 , -1 ., 1 ., " #eta" }, {157 , 0 ., o2::constants::math::TwoPI , " #phi" }, {100 , -5 .f , 5 .f , " p_{T} GeV/c" }}});
167+ registry.add (" hGen_EtaPhiPt_Deuteron" , " Gen (anti)deuteron in true collisions" , {HistType::kTH3F , {{100 , -1 ., 1 ., " #eta" }, {157 , 0 ., o2::constants::math::TwoPI , " #phi" }, {100 , -5 .f , 5 .f , " p_{T} GeV/c" }}});
168+ registry.add (" hGen_EtaPhiPt_Helium3" , " Gen (anti)Helium3 in true collisions" , {HistType::kTH3F , {{100 , -1 ., 1 ., " #eta" }, {157 , 0 ., o2::constants::math::TwoPI , " #phi" }, {100 , -5 .f , 5 .f , " p_{T} GeV/c" }}});
169+ registry.add (" hReco_EtaPhiPt_Proton" , " Gen (anti)protons in reco collisions" , {HistType::kTH3F , {{100 , -1 ., 1 ., " #eta" }, {157 , 0 ., o2::constants::math::TwoPI , " #phi" }, {100 , -5 .f , 5 .f , " p_{T} GeV/c" }}});
170+ registry.add (" hReco_EtaPhiPt_Deuteron" , " Gen (anti)deuteron in reco collisions" , {HistType::kTH3F , {{100 , -1 ., 1 ., " #eta" }, {157 , 0 ., o2::constants::math::TwoPI , " #phi" }, {100 , -5 .f , 5 .f , " p_{T} GeV/c" }}});
171+ registry.add (" hReco_EtaPhiPt_Helium3" , " Gen (anti)Helium3 in reco collisions" , {HistType::kTH3F , {{100 , -1 ., 1 ., " #eta" }, {157 , 0 ., o2::constants::math::TwoPI , " #phi" }, {100 , -5 .f , 5 .f , " p_{T} GeV/c" }}});
167172 }
168173 }
169174
@@ -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