@@ -62,7 +62,7 @@ using namespace o2;
6262using namespace o2 ::framework;
6363using namespace o2 ::framework::expressions;
6464using CollisionsFull = soa::Join<aod::Collisions, aod::EvSels, aod::CentFT0As, aod::CentFT0Cs, aod::CentFT0Ms, aod::CentFV0As>;
65- using TracksFull = soa::Join<aod::TracksIU, aod::TracksExtra, aod::TracksCovIU, o2::aod::TracksDCA, aod::TrackSelectionExtension, aod::pidTPCPi, aod::pidTPCPr, aod::pidTPCDe, aod::pidTPCTr, aod::pidTPCHe, aod::pidTPCAl, aod::TOFSignal, aod::TOFEvTime>;
65+ using TracksFull = soa::Join<aod::TracksIU, aod::TracksExtra, aod::TracksCovIU, o2::aod::TracksDCA, aod::TrackSelectionExtension, aod::pidTPCPi, aod::pidTPCPr, aod::pidTPCDe, aod::pidTPCTr, aod::pidTPCHe, aod::pidTPCAl, aod::TOFSignal, aod::TOFEvTime, aod::pidTOFFullPr >;
6666using CollisionsFullMC = soa::Join<aod::Collisions, aod::McCollisionLabels, aod::EvSels, aod::CentFT0As, aod::CentFT0Cs, aod::CentFT0Ms, aod::CentFV0As>;
6767// ---------------------------------------------------------------------------------------------------------------------------------
6868namespace
@@ -93,24 +93,33 @@ constexpr double kTrackPIDSettings[nParticles][nTrkSettings]{
9393 {1 , 0 , 4 , 75 , 4.0 , 0.5 , 100 , 5.0 , 2 ., 2 ., 0 ., 70 , 1 },
9494 {1 , 0 , 4 , 70 , 4.0 , 0.5 , 100 , 5.0 , 2 ., 2 ., 0 ., 70 , 1 }};
9595
96- const int nTrkSettings2 = 6 ;
97- static const std::vector<std::string> trackPIDsettingsNames2{" useITSnsigma" , " minITSnsigma" , " maxITSnsigma" , " fillsparsh" , " useTPCnsigmaTOF" , " maxTPCnsigmaTOF" };
96+ const int nTrkSettings2 = 7 ;
97+ static const std::vector<std::string> trackPIDsettingsNames2{" useITSnsigma" , " minITSnsigma" , " maxITSnsigma" , " fillsparsh" , " useTPCnsigmaTOF" , " maxTPCnsigmaTOF" , " maxTOFnsigma " };
9898constexpr double kTrackPIDSettings2 [nParticles][nTrkSettings2]{
99- {1 , -5 , 4 , 0 , 1 , 2 },
100- {1 , -5 , 4 , 0 , 1 , 2 },
101- {1 , -5 , 4 , 0 , 1 , 2 },
102- {1 , -5 , 4 , 1 , 1 , 2 },
103- {1 , -5 , 4 , 1 , 1 , 2 },
104- {1 , -5 , 4 , 1 , 1 , 2 }};
99+ {1 , -5 , 4 , 0 , 1 , 2 , 2 },
100+ {1 , -5 , 4 , 0 , 1 , 2 , 2 },
101+ {1 , -5 , 4 , 0 , 1 , 2 , 2 },
102+ {1 , -5 , 4 , 1 , 1 , 2 , 2 },
103+ {1 , -5 , 4 , 1 , 1 , 2 , 2 },
104+ {1 , -5 , 4 , 1 , 1 , 2 , 2 }};
105105
106106static const int nfittingparticle = 4 ;
107107const int nfittingparameters = 4 ;
108- static const std::vector<std::string> trackcorrectionNames{" correctionneed " , " a " , " b " , " c " };
108+ static const std::vector<std::string> trackcorrectionNames{" a " , " b " , " c " , " d " };
109109constexpr double ktrackcorrection[nfittingparticle][nfittingparameters]{
110- {1 , 0.464215 , 0.195771 , 0.0183111 }, // He3
111- {1 , 0.464215 , 0.195771 , 0.0183111 }, // anti-He3
112- {1 , 0.00765 , 0.503791 , -1.10517 }, // He4
113- {1 , 0.00765 , 0.503791 , -1.10517 }}; // anti-He4
110+ {0.464215 , 0.195771 , 0.0183111 , 0.0 }, // He3
111+ {0.464215 , 0.195771 , 0.0183111 , 0.0 }, // anti-He3
112+ {0.00765 , 0.503791 , -1.10517 , 0.0 }, // He4
113+ {0.00765 , 0.503791 , -1.10517 , 0.0 }}; // anti-He4
114+
115+ // DCA parameters - simple 2x3 array (DCAxy, DCAz) with p0, p1, p2
116+ static const int nDCAtypes = 2 ;
117+ const int nDCAparameters = 3 ;
118+ static const std::vector<std::string> dcaNames{" p0" , " p1" , " p2" };
119+ static const std::vector<std::string> dcaTypeNames{" DCAxy" , " DCAz" };
120+ constexpr double kDCAcorrection [nDCAtypes][nDCAparameters]{
121+ {0.0118 , -0.6889 , 0.0017 }, // DCAxy: p0*exp(p1*pt) + p2
122+ {0.1014 , 1.7512 , 0.0024 }}; // DCAz: p0*exp(-p1*pt) + p2
114123
115124struct PrimParticles {
116125 TString name;
@@ -157,11 +166,11 @@ struct NucleitpcPbPb {
157166 Configurable<bool > cfgRapidityRequire{" cfgRapidityRequire" , true , " Require Rapidity cut" };
158167 Configurable<bool > cfgRapidityRequireMC{" cfgRapidityRequireMC" , true , " rapidity cut require for generated particles" };
159168 Configurable<float > cfgCutEta{" cfgCutEta" , 0 .9f , " Eta range for tracks" };
160- Configurable<float > cfgCutRapidity{" cfgCutRapidity" , 0 .5f , " Rapidity range" };
169+ Configurable<float > cfgCutRapiditymin{" cfgCutRapiditymin" , -0 .5f , " min Rapidity range" };
170+ Configurable<float > cfgCutRapiditymax{" cfgCutRapiditymax" , 0 .5f , " max Rapidity range" };
161171 Configurable<float > cfgtpcNClsFindable{" cfgtpcNClsFindable" , 0 .8f , " tpcNClsFindable over crossedRows" };
162172 Configurable<float > centcut{" centcut" , 80 .0f , " centrality cut" };
163173 Configurable<bool > cfgZvertexRequireMC{" cfgZvertexRequireMC" , true , " Pos Z cut in MC" };
164- Configurable<bool > cfgdcaxynopt{" cfgdcaxynopt" , true , " DCA xy cut without pT dependent" };
165174
166175 // Track Cut Configurables
167176 Configurable<bool > cfgTPCNClsCrossedRowsRequire{" cfgTPCNClsCrossedRowsRequire" , true , " Require TPCNClsCrossedRows Cut" };
@@ -183,13 +192,10 @@ struct NucleitpcPbPb {
183192
184193 // MC Configurables
185194 Configurable<bool > cfgmccorrectionhe4Require{" cfgmccorrectionhe4Require" , true , " MC correction for pp he4 particle" };
186- Configurable<float > correctionsigma{" correctionsigma" , 2 , " Max sigma value outside which correction is require" };
187- Configurable<float > pTcorrectHe4{" pTcorrectHe4" , 2 , " Max pT below which correction is require in He4" };
188- Configurable<float > pTcorrectHe3{" pTcorrectHe3" , 2 , " Max pT value below which correction is require in He3" };
189195
190- // DCA Configurables
191- Configurable<bool > cfgUseNewDCAxyCut{ " cfgUseNewDCAxyCut " , false , " Use new pT-dependent DCAxy sigma cut for He3 " };
192- Configurable<bool > cfgUseNewDCAzCut{ " cfgUseNewDCAzCut " , false , " Use new pT-dependent DCAz sigma cut for He3 " };
196+ // DCA Configurables - booleans to enable/disable pT-dependent cuts
197+ Configurable<bool > cfgUseDCAxyCorrection{ " cfgUseDCAxyCorrection " , true , " Use pT-dependent DCAxy cut" };
198+ Configurable<bool > cfgUseDCAzCorrection{ " cfgUseDCAzCorrection " , true , " Use pT-dependent DCAz cut" };
193199
194200 Configurable<int > cfgDebug{" cfgDebug" , 1 , " debug level" };
195201 Configurable<bool > cfgRigidityCorrection{" cfgRigidityCorrection" , false , " apply rigidity correction" };
@@ -201,7 +207,10 @@ struct NucleitpcPbPb {
201207 Configurable<LabeledArray<double >> cfgBetheBlochParams{" cfgBetheBlochParams" , {kBetheBlochDefault [0 ], nParticles, nBetheParams, particleNames, betheBlochParNames}, " TPC Bethe-Bloch parameterisation for light nuclei" };
202208 Configurable<LabeledArray<double >> cfgTrackPIDsettings{" cfgTrackPIDsettings" , {kTrackPIDSettings [0 ], nParticles, nTrkSettings, particleNames, trackPIDsettingsNames}, " track selection and PID criteria" };
203209 Configurable<LabeledArray<double >> cfgTrackPIDsettings2{" cfgTrackPIDsettings2" , {kTrackPIDSettings2 [0 ], nParticles, nTrkSettings2, particleNames, trackPIDsettingsNames2}, " track selection and PID criteria" };
204- Configurable<LabeledArray<double >> cfgktrackcorrection{" cfgktrackcorrection" , {ktrackcorrection[0 ], nfittingparticle, nfittingparameters, correctedparticleNames, trackcorrectionNames}, " fitting paramters" };
210+ Configurable<LabeledArray<double >> cfgktrackcorrection{" cfgktrackcorrection" , {ktrackcorrection[0 ], nfittingparticle, nfittingparameters, correctedparticleNames, trackcorrectionNames}, " fitting parameters" };
211+
212+ // DCA correction parameters - simple 2x3 array
213+ Configurable<LabeledArray<double >> cfgDCAcorrection{" cfgDCAcorrection" , {kDCAcorrection [0 ], nDCAtypes, nDCAparameters, dcaTypeNames, dcaNames}, " DCA parameters: DCAxy: p0*exp(p1*pt)+p2, DCAz: p0*exp(-p1*pt)+p2" };
205214
206215 o2::track::TrackParametrizationWithError<float > mTrackParCov ;
207216 // Binning configuration
@@ -238,11 +247,12 @@ struct NucleitpcPbPb {
238247 int mRunNumber , occupancy;
239248 float dBz;
240249 TRandom3 rand;
241-
250+ float proton = 1 ;
242251 float de = 2 ;
243252 float triton = 3 ;
244253 float he3 = 4 ;
245254 float he4 = 5 ;
255+
246256 // ----------------------------------------------------------------------------------------------------------------
247257 void init (InitContext const &)
248258 {
@@ -258,13 +268,13 @@ struct NucleitpcPbPb {
258268 }
259269 // create histograms
260270 if (doprocessData) {
261- histos.add (" histMagField" , " histMagField" , kTH1F , {axisMagField});
262271 histos.add (" histNev" , " histNev" , kTH1F , {axisNev});
263272 histos.add (" histVtxZ" , " histVtxZ" , kTH1F , {axisVtxZ});
264273 histos.add (" histCentFT0C" , " histCentFT0C" , kTH1F , {axisCent});
265274 histos.add (" histCentFT0M" , " histCentFT0M" , kTH1F , {axisCent});
266275 histos.add (" histCentFTOC_cut" , " histCentFTOC_cut" , kTH1F , {axisCent});
267276 histos.add <THnSparse>(" hSpectra" , " " , HistType::kTHnSparseF , {ptAxis, nsigmaAxis, {5 , -2.5 , 2.5 }, axisCent});
277+ histos.add <THnSparse>(" hSpectratof" , " " , HistType::kTHnSparseF , {ptAxis, nsigmaAxis, {5 , -2.5 , 2.5 }, axisCent});
268278 histos.add (" DCAxy_vs_pT_data" , " DCA_{xy} vs p_{T} for He3 (Data);p_{T} (GeV/c);DCA_{xy} (cm)" ,
269279 {HistType::kTH3F , {ptAxis, axisDCA, axisCent}});
270280 histos.add (" DCAxy_vs_pT_anti_data" , " DCA_{xy} vs p_{T} for anti-He3 (Data);p_{T} (GeV/c);DCA_{xy} (cm)" ,
@@ -343,11 +353,18 @@ struct NucleitpcPbPb {
343353 }
344354 }
345355 // ----------------------------------------------------------------------------------------------------------------
346- // ----------------------------------------------------------------------------------------------------------------
347356 void processData (CollisionsFull const & collisions,
348357 TracksFull const & tracks,
349358 aod::BCsWithTimestamps const &)
350359 {
360+ // Get DCA parameters from configurable
361+ double dcaXY_p0 = cfgDCAcorrection->get (0U , " p0" );
362+ double dcaXY_p1 = cfgDCAcorrection->get (0U , " p1" );
363+ double dcaXY_p2 = cfgDCAcorrection->get (0U , " p2" );
364+ double dcaZ_p0 = cfgDCAcorrection->get (1U , " p0" );
365+ double dcaZ_p1 = cfgDCAcorrection->get (1U , " p1" );
366+ double dcaZ_p2 = cfgDCAcorrection->get (1U , " p2" );
367+
351368 for (const auto & collision : collisions) {
352369 auto bc = collision.bc_as <aod::BCsWithTimestamps>();
353370 initCCDB (bc);
@@ -401,29 +418,9 @@ struct NucleitpcPbPb {
401418 float tpcNsigma = getTPCnSigma (track, primaryParticles.at (i));
402419 if ((std::abs (tpcNsigma) > cfgTrackPIDsettings->get (i, " maxTPCnSigma" )) && cfgmaxTPCnSigmaRequire)
403420 continue ;
404- if (tpcNsigma < correctionsigma && cfgmccorrectionhe4Require) {
405- double a = 0 , b = 0 , c = 0 ;
406-
407- int param = -1 ;
408- if (i == he3) {
409- param = (track.sign () > 0 ) ? 0 : 1 ;
410- } else if (i == he4) {
411- param = (track.sign () > 0 ) ? 2 : 3 ;
412- }
413- if (param >= 0 ) {
414- a = cfgktrackcorrection->get (param, " a" );
415- b = cfgktrackcorrection->get (param, " b" );
416- c = cfgktrackcorrection->get (param, " c" );
417- }
418- if (i == he4 && ptMomn < pTcorrectHe4) {
419- ptMomn = ptMomn + a + b * std::exp (c * ptMomn);
420- }
421- if (i == he3 && ptMomn < pTcorrectHe3) {
422- ptMomn = ptMomn - a + b * ptMomn - c * ptMomn * ptMomn;
423- }
424- }
425421 int sign = (track.sign () > 0 ) ? 1 : ((track.sign () < 0 ) ? -1 : 0 );
426- if (std::abs (getRapidity (track, i)) > cfgCutRapidity && cfgRapidityRequire)
422+ float rapidity = getRapidity (track, i);
423+ if ((rapidity < cfgCutRapiditymin || rapidity > cfgCutRapiditymax) && cfgRapidityRequire)
427424 continue ;
428425 if (track.tpcNClsFound () < cfgTrackPIDsettings->get (i, " minTPCnCls" ))
429426 continue ;
@@ -446,33 +443,30 @@ struct NucleitpcPbPb {
446443 continue ;
447444 if (getMeanItsClsSize (track) < cfgTrackPIDsettings->get (i, " minITSclsSize" ) && cfgminGetMeanItsClsSizeRequire)
448445 continue ;
446+
447+ // DCAxy cut
449448 bool insideDCAxy = false ;
450- if (cfgUseNewDCAxyCut) {
449+ if (cfgUseDCAxyCorrection) {
450+ // Use pT-dependent DCAxy cut
451451 double sigmaFactor = cfgTrackPIDsettings->get (i, " maxDcaXY" );
452- double sigma_base = ( 0.0118 * std::exp (- 0.6889 * ptMomn) + 0.0017 ) ;
452+ double sigma_base = dcaXY_p0 * std::exp (dcaXY_p1 * ptMomn) + dcaXY_p2 ;
453453 double sigma_new = sigmaFactor * sigma_base;
454-
455454 insideDCAxy = (std::abs (track.dcaXY ()) <= sigma_new);
456455 } else {
457- insideDCAxy =
458- cfgdcaxynopt
459- ? (std::abs (track.dcaXY ()) <= cfgTrackPIDsettings->get (i, " maxDcaXY" ))
460- : (std::abs (track.dcaXY ()) <=
461- (cfgTrackPIDsettings->get (i, " maxDcaXY" ) *
462- (0 .0105f + 0 .0350f / std::pow (ptMomn, 1 .1f ))));
456+ // Use simple DCAxy cut (no pT dependence)
457+ insideDCAxy = (std::abs (track.dcaXY ()) <= cfgTrackPIDsettings->get (i, " maxDcaXY" ));
463458 }
464459
460+ // DCAz cut
465461 bool insideDCAz = false ;
466-
467- if (cfgUseNewDCAzCut) {
462+ if (cfgUseDCAzCorrection) {
463+ // Use pT-dependent DCAz cut
468464 double sigmaFactorZ = cfgTrackPIDsettings->get (i, " maxDcaZ" );
469- double p0 = 0.1014 ;
470- double p1 = 1.7512 ;
471- double p2 = 0.0024 ;
472- double sigma_base_z = p0 * std::exp (-p1 * ptMomn) + p2;
465+ double sigma_base_z = dcaZ_p0 * std::exp (-dcaZ_p1 * ptMomn) + dcaZ_p2;
473466 double sigma_new_z = sigmaFactorZ * sigma_base_z;
474467 insideDCAz = (std::abs (track.dcaZ ()) <= sigma_new_z);
475468 } else {
469+ // Use simple DCAz cut (no pT dependence)
476470 insideDCAz = (std::abs (track.dcaZ ()) <= cfgTrackPIDsettings->get (i, " maxDcaZ" ));
477471 }
478472
@@ -489,22 +483,26 @@ struct NucleitpcPbPb {
489483 histos.fill (HIST (" Tpcsignal" ), getRigidity (track) * track.sign (), track.tpcSignal ());
490484 histos.fill (HIST (" dcaXY" ), ptMomn, track.dcaXY ());
491485 histos.fill (HIST (" dcaZ" ), ptMomn, track.dcaZ ());
492-
493- // Get deuteron TPC nsigma for He4 selection
494- float tpcNsigmaDe = -999 ;
495- if (i == he4) {
496- tpcNsigmaDe = track.tpcNSigmaDe ();
486+ float tofnsigma = -999 ;
487+ if (i == proton) {
488+ tofnsigma = track.tofNSigmaPr ();
497489 }
498-
499490 if (track.sign () > 0 ) {
500491 histos.fill (HIST (" DCAxy_vs_pT_data" ), ptMomn, track.dcaXY (), collision.centFT0C ());
501492 } else if (track.sign () < 0 ) {
502493 histos.fill (HIST (" DCAxy_vs_pT_anti_data" ), ptMomn, track.dcaXY (), collision.centFT0C ());
503494 }
495+ // Get deuteron TPC nsigma for He4 selection
496+ float tpcNsigmaDe = -999 ;
497+ tpcNsigmaDe = track.tpcNSigmaDe ();
504498
505499 if (i != he4) {
506500 histos.fill (HIST (" hSpectra" ), ptMomn, tpcNsigma, sign, collision.centFT0C ());
501+ if (track.hasTOF () && i == proton) {
502+ histos.fill (HIST (" hSpectratof" ), ptMomn, tofnsigma, sign, collision.centFT0C ());
503+ }
507504 } else {
505+
508506 if (!track.hasTOF ()) {
509507 if (std::abs (tpcNsigmaDe) > deuteronsigmarejection) {
510508 histos.fill (HIST (" hSpectra" ), ptMomn, tpcNsigma, sign, collision.centFT0C ());
@@ -548,7 +546,11 @@ struct NucleitpcPbPb {
548546 fillhmass (track, i, collision.centFT0C ());
549547 }
550548 } else {
551- fillhmass (track, i, collision.centFT0C ());
549+ if (i == proton && (std::abs (tofnsigma) < cfgTrackPIDsettings2->get (i, " maxTOFnsigma" ))) {
550+ fillhmassnsigma (track, i, collision.centFT0C ());
551+ } else {
552+ fillhmass (track, i, collision.centFT0C ());
553+ }
552554 }
553555
554556 if (cfgRequirebetaplot) {
@@ -579,6 +581,13 @@ struct NucleitpcPbPb {
579581 aod::BCsWithTimestamps const &)
580582
581583 {
584+ // Get DCA parameters from configurable
585+ double dcaXY_p0 = cfgDCAcorrection->get (0U , " p0" );
586+ double dcaXY_p1 = cfgDCAcorrection->get (0U , " p1" );
587+ double dcaXY_p2 = cfgDCAcorrection->get (0U , " p2" );
588+ double dcaZ_p0 = cfgDCAcorrection->get (1U , " p0" );
589+ double dcaZ_p1 = cfgDCAcorrection->get (1U , " p1" );
590+ double dcaZ_p2 = cfgDCAcorrection->get (1U , " p2" );
582591
583592 mcCollInfos.clear ();
584593 mcCollInfos.resize (mcCollisions.size ());
@@ -701,7 +710,8 @@ struct NucleitpcPbPb {
701710
702711 if (std::abs (mcParticle.eta ()) > cfgCutEta && cfgetaRequireMC)
703712 continue ;
704- if (std::abs (mcParticle.y ()) > cfgCutRapidity && cfgRapidityRequireMC)
713+ float rapidity = mcParticle.y ();
714+ if ((rapidity < cfgCutRapiditymin || rapidity > cfgCutRapiditymax) && cfgRapidityRequireMC)
705715 continue ;
706716
707717 int decayType = 0 ;
@@ -831,7 +841,8 @@ struct NucleitpcPbPb {
831841 }
832842 }
833843
834- if (std::abs (getRapidity (track, i)) > cfgCutRapidity && cfgRapidityRequire)
844+ float rapidity = getRapidity (track, i);
845+ if ((rapidity < cfgCutRapiditymin || rapidity > cfgCutRapiditymax) && cfgRapidityRequire)
835846 continue ;
836847
837848 if (track.tpcNClsFound () < cfgTrackPIDsettings->get (i, " minTPCnCls" ))
@@ -854,30 +865,29 @@ struct NucleitpcPbPb {
854865 if (getMeanItsClsSize (track) < cfgTrackPIDsettings->get (i, " minITSclsSize" ) && cfgminGetMeanItsClsSizeRequire)
855866 continue ;
856867
868+ // DCAxy cut
857869 bool insideDCAxy = false ;
858-
859- if (cfgUseNewDCAxyCut) {
870+ if (cfgUseDCAxyCorrection) {
871+ // Use pT-dependent DCAxy cut
860872 double sigmaFactor = cfgTrackPIDsettings->get (i, " maxDcaXY" );
861- double sigma_base = ( 0.0118 * std::exp (- 0.6889 * ptReco) + 0.0017 ) ;
873+ double sigma_base = dcaXY_p0 * std::exp (dcaXY_p1 * ptReco) + dcaXY_p2 ;
862874 double sigma_new = sigmaFactor * sigma_base;
863875 insideDCAxy = (std::abs (track.dcaXY ()) <= sigma_new);
864876 } else {
865- insideDCAxy = cfgdcaxynopt
866- ? (std::abs (track.dcaXY ()) <= cfgTrackPIDsettings->get (i, " maxDcaXY" ))
867- : (std::abs (track.dcaXY ()) <= (cfgTrackPIDsettings->get (i, " maxDcaXY" ) * (0 .0105f + 0 .0350f / std::pow (ptReco, 1 .1f ))));
877+ // Use simple DCAxy cut (no pT dependence)
878+ insideDCAxy = (std::abs (track.dcaXY ()) <= cfgTrackPIDsettings->get (i, " maxDcaXY" ));
868879 }
869880
881+ // DCAz cut
870882 bool insideDCAz = false ;
871-
872- if (cfgUseNewDCAzCut) {
883+ if (cfgUseDCAzCorrection) {
884+ // Use pT-dependent DCAz cut
873885 double sigmaFactorZ = cfgTrackPIDsettings->get (i, " maxDcaZ" );
874- double p0 = 0.1014 ;
875- double p1 = 1.7512 ;
876- double p2 = 0.0024 ;
877- double sigma_base_z = p0 * std::exp (-p1 * ptReco) + p2;
886+ double sigma_base_z = dcaZ_p0 * std::exp (-dcaZ_p1 * ptReco) + dcaZ_p2;
878887 double sigma_new_z = sigmaFactorZ * sigma_base_z;
879888 insideDCAz = (std::abs (track.dcaZ ()) <= sigma_new_z);
880889 } else {
890+ // Use simple DCAz cut (no pT dependence)
881891 insideDCAz = (std::abs (track.dcaZ ()) <= cfgTrackPIDsettings->get (i, " maxDcaZ" ));
882892 }
883893
@@ -1053,7 +1063,8 @@ struct NucleitpcPbPb {
10531063 }
10541064 }
10551065
1056- if (std::abs (getRapidity (track, i)) > cfgCutRapidity && cfgRapidityRequire)
1066+ float rapidity = getRapidity (track, i);
1067+ if ((rapidity < cfgCutRapiditymin || rapidity > cfgCutRapiditymax) && cfgRapidityRequire)
10571068 continue ;
10581069
10591070 if (track.tpcNClsFound () < cfgTrackPIDsettings->get (i, " minTPCnCls" ))
@@ -1180,7 +1191,6 @@ struct NucleitpcPbPb {
11801191 void initCollision (const T& collision)
11811192 {
11821193 collHasCandidate = false ;
1183- histos.fill (HIST (" histMagField" ), dBz);
11841194 histos.fill (HIST (" histNev" ), 0.5 );
11851195 collPassedEvSel = collision.sel8 () && std::abs (collision.posZ ()) < cfgZvertex;
11861196 occupancy = collision.trackOccupancyInTimeRange ();
0 commit comments