@@ -98,8 +98,10 @@ struct LFNucleiBATask {
9898 } nsigmaTPCvar;
9999
100100 struct : ConfigurableGroup {
101- Configurable<float > nsigmaITSTr{" nsigmaITSTr" , 3 .f , " Value of the Nsigma ITS cut for tritons" };
102- Configurable<float > nsigmaITSHe{" nsigmaITSHe" , 3 .f , " Value of the Nsigma ITS cut for helium-3" };
101+ Configurable<bool > useITSTrCut{" useITSTrCut" , false , " Select Helium if NOT compatible with triton hypothesis (via SigmaITS)" };
102+ Configurable<float > nsigmaITSTr{" nsigmaITSTr" , 3 .f , " Value of the Nsigma ITS cut for tritons ( > nSigmaITSTr)" };
103+ // Configurable<bool> useITSHeCut{"useITSHeCut", false, "Select Helium if compatible with helium hypothesis (via SigmaITS)"};
104+ // Configurable<float> nsigmaITSHe{"nsigmaITSHe", 3.f, "Value of the Nsigma ITS cut for helium-3 ( < nSigmaITSHe)"};
103105 } nsigmaITSvar;
104106
105107 // Set additional cuts (used for debug)
@@ -114,7 +116,7 @@ struct LFNucleiBATask {
114116 ConfigurableAxis binsdEdx{" binsdEdx" , {600 , 0 .f , 3000 .f }, " " };
115117 ConfigurableAxis binsBeta{" binsBeta" , {120 , 0.0 , 1.2 }, " " };
116118 ConfigurableAxis binsDCA{" binsDCA" , {400 , -1 .f , 1 .f }, " " };
117- ConfigurableAxis binsSigmaITS{" binsSigmaITS" , {1000 , -100 , 100 }, " " };
119+ ConfigurableAxis binsSigmaITS{" binsSigmaITS" , {200 , -20 , 20 }, " " };
118120 ConfigurableAxis binsSigmaTPC{" binsSigmaTPC" , {1000 , -100 , 100 }, " " };
119121 ConfigurableAxis binsSigmaTOF{" binsSigmaTOF" , {1000 , -100 , 100 }, " " };
120122 ConfigurableAxis binsMassPr{" binsMassPr" , {100 , -1 ., 1 .f }, " " };
@@ -2052,6 +2054,7 @@ struct LFNucleiBATask {
20522054 }
20532055
20542056 auto tracksWithITS = soa::Attach<TracksType,
2057+ aod::pidits::ITSNSigmaTr,
20552058 aod::pidits::ITSNSigmaHe>(tracks);
20562059
20572060 for (auto & track : tracksWithITS) {
@@ -2143,8 +2146,9 @@ struct LFNucleiBATask {
21432146 break ;
21442147 }
21452148
2146- // float nITSTr;
2147- float nITSHe;
2149+ float nITSTr, nITSHe;
2150+ nITSTr = track.itsNSigmaTr ();
2151+ nITSHe = track.itsNSigmaHe ();
21482152
21492153 heP = track.p ();
21502154 antiheP = track.p ();
@@ -2306,8 +2310,14 @@ struct LFNucleiBATask {
23062310 isHelium = enableHe && heRapCut;
23072311 isDe = isDeuteron && track.sign () > 0 ;
23082312 isAntiDe = isDeuteron && track.sign () < 0 ;
2309- isHe = isHelium && track.sign () > 0 ;
2310- isAntiHe = isHelium && track.sign () < 0 ;
2313+
2314+ if (!nsigmaITSvar.useITSTrCut ) {
2315+ isHe = isHelium && track.sign () > 0 ;
2316+ isAntiHe = isHelium && track.sign () < 0 ;
2317+ } else {
2318+ isHe = isHelium && track.sign () > 0 && std::abs (nITSTr) > nsigmaITSvar.nsigmaITSTr ;
2319+ isAntiHe = isHelium && track.sign () < 0 && std::abs (nITSTr) > nsigmaITSvar.nsigmaITSTr ;
2320+ }
23112321
23122322 isDeWoDCAxy = isDe && passDCAzCutDe;
23132323 isAntiDeWoDCAxy = isAntiDe && passDCAzCutAntiDe;
@@ -3461,9 +3471,6 @@ struct LFNucleiBATask {
34613471 continue ;
34623472 }
34633473
3464- // nITSTr = o2::aod::ITSResponse.nSigmaITS<o2::track::PID::Triton>(track);
3465- nITSHe = track.itsNSigmaHe ();
3466-
34673474 if (outFlagOptions.makeDCAAfterCutPlots ) {
34683475
34693476 if (isHeWTPCpid) {
0 commit comments