@@ -49,7 +49,7 @@ using PIDTracks = soa::Join<
4949 aod::Tracks, aod::TracksExtra, aod::TrackSelectionExtension, aod::TracksDCA, aod::TrackSelection,
5050 aod::pidTOFFullPi, aod::pidTOFFullPr, aod::pidTOFFullEl, aod::pidTOFbeta, aod::pidTPCPi, aod::pidTPCPr, aod::pidTPCEl>;
5151
52- using SelectedCollisions = soa::Join<aod::Collisions, aod::EvSels, aod::CentFT0Cs>;
52+ using SelectedCollisions = soa::Join<aod::Collisions, aod::EvSels, aod::CentFT0Cs, o2::aod::BarrelMults >;
5353using BCsRun3 = soa::Join<aod::BCsWithTimestamps, aod::BcSels, aod::Run3MatchedToBCSparse>;
5454
5555static constexpr int NCentHists{10 };
@@ -85,6 +85,13 @@ struct DedxPidAnalysis {
8585
8686 };
8787
88+ enum NINELSelectionMode {
89+ NoSelINEL = 1 ,
90+ SelINELgt0 = 2 ,
91+ SelINELgt1 = 3
92+
93+ };
94+
8895 enum MomentumMode {
8996 TpcInnerParam = 1 ,
9097 TotalMomentum = 2
@@ -96,8 +103,8 @@ struct DedxPidAnalysis {
96103 SelEigth,
97104 ZVtxCut,
98105 NoSameBunchPileup,
99- GoodZvtxFT0vsPV
100-
106+ GoodZvtxFT0vsPV,
107+ INELgt
101108 };
102109
103110 // Track primary label
@@ -173,9 +180,10 @@ struct DedxPidAnalysis {
173180 Configurable<bool > nClTPCFoundCut{" nClTPCFoundCut" , false , " number of found clusters in TPC cut" };
174181 Configurable<bool > nClTPCPIDCut{" nClTPCPIDCut" , true , " number of PID clusters in TPC cut" };
175182 Configurable<bool > nGoodZvtx{" nGoodZvtx" , true , " Rejects events with no vertex match between FT0 and PV" }; //
176- Configurable<bool > nPileUp{" nPileUp" , true , " Rejects events with pileup in the same bunch crossing" }; //
183+ Configurable<bool > nPileUp{" nPileUp" , true , " Rejects events with pileup in the same bunch crossing" };
184+ Configurable<int > nINELSelectionMode{" nINELSelectionMode" , 2 , " INEL event selection: 1 no sel, 2 INEL>0, 3 INEL>1" };
177185 Configurable<int > v0SelectionMode{" v0SelectionMode" , 3 , " V0 Selection base on TPC: 1, TOF:2 ,Both:3" };
178- Configurable<int > momentumMode{" momentumMode" , 1 , " 1: TPC inner param, 2: Total momentum p" };
186+ Configurable<int > momentumMode{" momentumMode" , 2 , " 1: TPC inner param, 2: Total momentum p" };
179187 Configurable<uint8_t > v0TypeSelection{" v0TypeSelection" , 1 , " select on a certain V0 type (leave negative if no selection desired)" };
180188 Configurable<double > lowParam1{" lowParam1" , 0.119297 , " First parameter for low phi cut" };
181189 Configurable<double > lowParam2{" lowParam2" , 0.000379693 , " Second parameter for low phi cut" };
@@ -230,6 +238,7 @@ struct DedxPidAnalysis {
230238
231239 void init (InitContext const &)
232240 {
241+ const char * label = " No INEL selection" ;
233242 if (nPileUp) {
234243 LOGF (info, " Applying NoSameBunchPileup cut" );
235244 } else {
@@ -240,6 +249,15 @@ struct DedxPidAnalysis {
240249 } else {
241250 LOGF (info, " GoodZvtxFT0vsPV cut disabled" );
242251 }
252+ if (nINELSelectionMode == NoSelINEL) {
253+ LOGF (info, " INEL cut disabled" );
254+ } else if (nINELSelectionMode == SelINELgt0) {
255+ LOGF (info, " Applying INEL > 0 cut" );
256+ label = " INEL > 0" ;
257+ } else if (nINELSelectionMode == SelINELgt1) {
258+ LOGF (info, " Applying INEL > 1 cut" );
259+ label = " INEL > 1" ;
260+ }
243261 if (v0SelectionMode == V0TPC) {
244262 LOGF (info, " V0 seleccion using TPC only" );
245263 } else if (v0SelectionMode == V0TOF) {
@@ -540,14 +558,15 @@ struct DedxPidAnalysis {
540558 registryDeDx.add (" histCentrality" , " collision centrality" , HistType::kTH1F , {{100 , 0.0 , 100 , " cent" }});
541559
542560 // Event Counter
543- registryDeDx.add (" evsel" , " events selected" , HistType::kTH1F , {{5 , 0.5 , 5 .5 , " " }});
561+ registryDeDx.add (" evsel" , " events selected" , HistType::kTH1F , {{6 , 0.5 , 6 .5 , " " }});
544562 auto hstat = registryDeDx.get <TH1>(HIST (" evsel" ));
545563 auto * x = hstat->GetXaxis ();
546564 x->SetBinLabel (AllEv, " AllEv" );
547565 x->SetBinLabel (SelEigth, " SelEigth" );
548566 x->SetBinLabel (ZVtxCut, " ZVtxCut" );
549567 x->SetBinLabel (NoSameBunchPileup, " NoSameBunchPileup" );
550568 x->SetBinLabel (GoodZvtxFT0vsPV, " GoodZvtxFT0vsPV" );
569+ x->SetBinLabel (INELgt, label);
551570
552571 // Track Prim Counter
553572 registryDeDx.add (" trackselAll" , " track selected all particles" , HistType::kTH1F , {{5 , 0.5 , 5.5 , " " }});
@@ -1239,6 +1258,17 @@ struct DedxPidAnalysis {
12391258 registryDeDx.fill (HIST (" evsel" ), EvCutLabel::GoodZvtxFT0vsPV);
12401259 }
12411260
1261+ if (nINELSelectionMode == NoSelINEL) {
1262+ } else if (nINELSelectionMode == SelINELgt0) {
1263+ if (!collision.isInelGt0 ())
1264+ return ;
1265+ registryDeDx.fill (HIST (" evsel" ), EvCutLabel::INELgt);
1266+ } else if (nINELSelectionMode == SelINELgt1) {
1267+ if (!collision.isInelGt1 ())
1268+ return ;
1269+ registryDeDx.fill (HIST (" evsel" ), EvCutLabel::INELgt);
1270+ }
1271+
12421272 // Event Counter
12431273 registryDeDx.fill (HIST (" histRecVtxZData" ), collision.posZ ());
12441274
0 commit comments