@@ -126,7 +126,9 @@ struct LFNucleiBATask {
126126 } nsigmaTPCvar;
127127
128128 struct : ConfigurableGroup {
129+ Configurable<bool > useITSDeCut{" useITSDeCut" , false , " Select Deuteron if compatible with deuteron hypothesis (via SigmaITS)" };
129130 Configurable<bool > useITSHeCut{" useITSHeCut" , false , " Select Helium if compatible with helium hypothesis (via SigmaITS)" };
131+ Configurable<float > nsigmaITSDe{" nsigmaITSDe" , -1 .f , " Value of the Nsigma ITS cut for deuteron ( > nSigmaITSHe)" };
130132 Configurable<float > nsigmaITSHe{" nsigmaITSHe" , -1 .f , " Value of the Nsigma ITS cut for helium-3 ( > nSigmaITSHe)" };
131133 Configurable<bool > showAverageClusterSize{" showAverageClusterSize" , false , " Show average cluster size" };
132134 } nsigmaITSvar;
@@ -604,20 +606,20 @@ struct LFNucleiBATask {
604606 histos.add <TH1>(" tracks/triton/h1antiTritonSpectra" , " #it{p}_{T} (#bar{t})" , HistType::kTH1F , {ptAxis});
605607 }
606608 if (enableHe) {
607- histos.add <TH1>(" tracks/helium/h1HeliumSpectra" , " #it{p}_{T}/z (He)" , HistType::kTH1F , {ptZHeAxis});
608- histos.add <TH1>(" tracks/helium/h1antiHeliumSpectra" , " #it{p}_{T}/z (#bar{He})" , HistType::kTH1F , {ptZHeAxis});
609+ // histos.add<TH1>("tracks/helium/h1HeliumSpectra", "#it{p}_{T}/z (He)", HistType::kTH1F, {ptZHeAxis});
610+ // histos.add<TH1>("tracks/helium/h1antiHeliumSpectra", "#it{p}_{T}/z (#bar{He})", HistType::kTH1F, {ptZHeAxis});
609611
610- histos.add <TH2>(" tracks/helium/h2HeliumYvsPt" , " #it{y} vs #it{p}_{T}/z (He)" , HistType::kTH2F , {{96 , -1.2 , 1.2 }, {ptZHeAxis}});
612+ // histos.add<TH2>("tracks/helium/h2HeliumYvsPt", "#it{y} vs #it{p}_{T}/z (He)", HistType::kTH2F, {{96, -1.2, 1.2}, {ptZHeAxis}});
611613 histos.add <TH2>(" tracks/helium/h2HeliumYvsPt_Z2" , " #it{y} vs #it{p}_{T} (He)" , HistType::kTH2F , {{96 , -1.2 , 1.2 }, {ptHeAxis}});
612- histos.add <TH2>(" tracks/helium/h2HeliumEtavsPt" , " #it{#eta} vs #it{p}_{T}/z (He)" , HistType::kTH2F , {{96 , -1.2 , 1.2 }, {ptZHeAxis}});
614+ // histos.add<TH2>("tracks/helium/h2HeliumEtavsPt", "#it{#eta} vs #it{p}_{T}/z (He)", HistType::kTH2F, {{96, -1.2, 1.2}, {ptZHeAxis}});
613615 histos.add <TH2>(" tracks/helium/h2HeliumEtavsPt_Z2" , " #it{#eta} vs #it{p}_{T} (He)" , HistType::kTH2F , {{96 , -1.2 , 1.2 }, {ptHeAxis}});
614616
615617 histos.add <TH1>(" tracks/helium/h1HeliumSpectra_Z2" , " #it{p}_{T} (He)" , HistType::kTH1F , {ptHeAxis});
616618 histos.add <TH1>(" tracks/helium/h1antiHeliumSpectra_Z2" , " #it{p}_{T} (#bar{He})" , HistType::kTH1F , {ptHeAxis});
617619
618- histos.add <TH2>(" tracks/helium/h2antiHeliumYvsPt" , " #it{y} vs #it{p}_{T}/z (#bar{He})" , HistType::kTH2F , {{96 , -1.2 , 1.2 }, {ptZHeAxis}});
620+ // histos.add<TH2>("tracks/helium/h2antiHeliumYvsPt", "#it{y} vs #it{p}_{T}/z (#bar{He})", HistType::kTH2F, {{96, -1.2, 1.2}, {ptZHeAxis}});
619621 histos.add <TH2>(" tracks/helium/h2antiHeliumYvsPt_Z2" , " #it{y} vs #it{p}_{T} (#bar{He})" , HistType::kTH2F , {{96 , -1.2 , 1.2 }, {ptHeAxis}});
620- histos.add <TH2>(" tracks/helium/h2antiHeliumEtavsPt" , " #it{#eta} vs #it{p}_{T}/z (#bar{He})" , HistType::kTH2F , {{96 , -1.2 , 1.2 }, {ptZHeAxis}});
622+ // histos.add<TH2>("tracks/helium/h2antiHeliumEtavsPt", "#it{#eta} vs #it{p}_{T}/z (#bar{He})", HistType::kTH2F, {{96, -1.2, 1.2}, {ptZHeAxis}});
621623 histos.add <TH2>(" tracks/helium/h2antiHeliumEtavsPt_Z2" , " #it{#eta} vs #it{p}_{T} (#bar{He})" , HistType::kTH2F , {{96 , -1.2 , 1.2 }, {ptHeAxis}});
622624 }
623625 if (enableAl) {
@@ -1518,6 +1520,7 @@ struct LFNucleiBATask {
15181520
15191521 // Bethe-Bloch TPC distribution and Beta vs pT TOF distribution
15201522 if (nsigmaITSvar.showAverageClusterSize && outFlagOptions.enablePIDplot ) {
1523+ histos.add <TH3>(" tracks/avgClusterSizePerCoslInvVsITSlayers" , " " , HistType::kTH3F , {{pZAxis}, {avClsEffAxis}, {8 , -0.5 , 7.5 }});
15211524 histos.add <TH2>(" tracks/averageClusterSize" , " " , HistType::kTH2F , {{pZAxis}, {avClsAxis}});
15221525 histos.add <TH2>(" tracks/averageClusterSizePerCoslInv" , " " , HistType::kTH2F , {{pZAxis}, {avClsEffAxis}});
15231526 }
@@ -1590,6 +1593,11 @@ struct LFNucleiBATask {
15901593 histos.add <TH2>(" tracks/proton/h2antiProtonVspTNSigmaTPC" , " NSigmaTPC(#bar{p}) vs pT; #it{p}_{T} (GeV/#it{c}); NSigmaTPC" , HistType::kTH2F , {{ptAxis}, {sigmaTPCAxis}});
15911594 }
15921595 if (enableDe) {
1596+ histos.add <TH2>(" tracks/deuteron/h2DeuteronVspNSigmaITSDe" , " NSigmaITS(d) vs p/z; #it{p}/z (GeV/#it{c}); NSigmaITS(d)" , HistType::kTH2F , {{pZAxis}, {sigmaITSAxis}});
1597+ histos.add <TH2>(" tracks/deuteron/h2antiDeuteronVspNSigmaITSDe" , " NSigmaITS(#bar{d}) vs p/z; #it{p}/z (GeV/#it{c}); NSigmaITS(#bar{d})" , HistType::kTH2F , {{pZAxis}, {sigmaITSAxis}});
1598+ histos.add <TH2>(" tracks/deuteron/h2DeuteronVspNSigmaITSDe_wTPCpid" , " NSigmaITS(d) vs p/z; #it{p}/z (GeV/#it{c}); NSigmaITS(d)" , HistType::kTH2F , {{pZAxis}, {sigmaITSAxis}});
1599+ histos.add <TH2>(" tracks/deuteron/h2antiDeuteronVspNSigmaITSDe_wTPCpid" , " NSigmaITS(#bar{d}) vs p/z; #it{p}/z (GeV/#it{c}); NSigmaITS(#bar{d})" , HistType::kTH2F , {{pZAxis}, {sigmaITSAxis}});
1600+
15931601 if (enableCentrality) {
15941602 histos.add <TH3>(" tracks/deuteron/h3DeuteronVspTNSigmaTPCVsMult" , " NSigmaTPC(d) vs pT; #it{p}_{T} (GeV/#it{c}) vs mult; NSigmaTPC" , HistType::kTH3F , {{ptAxis}, {sigmaTPCAxis}, {binsPercentile}});
15951603 histos.add <TH3>(" tracks/deuteron/h3antiDeuteronVspTNSigmaTPCVsMult" , " NSigmaTPC(#bar{d}) vs pT; #it{p}_{T} (GeV/#it{c}) vs mult; NSigmaTPC" , HistType::kTH3F , {{ptAxis}, {sigmaTPCAxis}, {binsPercentile}});
@@ -2179,6 +2187,7 @@ struct LFNucleiBATask {
21792187 }
21802188
21812189 auto tracksWithITS = soa::Attach<TracksType,
2190+ aod::pidits::ITSNSigmaDe,
21822191 aod::pidits::ITSNSigmaTr,
21832192 aod::pidits::ITSNSigmaHe>(tracks);
21842193 if (tracksWithITS.size () != tracks.size ()) {
@@ -2194,6 +2203,12 @@ struct LFNucleiBATask {
21942203 }
21952204 }
21962205 std::bitset<8 > itsClusterMap = track.itsClusterMap ();
2206+
2207+ if constexpr (!IsFilteredData) {
2208+ if (nsigmaITSvar.showAverageClusterSize && outFlagOptions.enablePIDplot )
2209+ histos.fill (HIST (" tracks/avgClusterSizePerCoslInvVsITSlayers" ), track.p (), averageClusterSizePerCoslInv (track), track.itsNCls ());
2210+ }
2211+
21972212 if (track.itsNCls () < trkqcOptions.cfgCutITSClusters )
21982213 continue ;
21992214 if (track.tpcNClsCrossedRows () < trkqcOptions.cfgCutTPCXRows )
@@ -2293,9 +2308,14 @@ struct LFNucleiBATask {
22932308 break ;
22942309 }
22952310
2311+ // float nITSDe_Table = 99.f;
2312+ float nITSDe = 99 .f ;
22962313 float nITSTr = 99 .f ;
22972314 float nITSHe = 99 .f ;
2315+ // o2::aod::ITSResponse itsResponse;
2316+
22982317 if (!IsFilteredData) {
2318+ nITSDe = track.itsNSigmaDe ();
22992319 nITSTr = track.itsNSigmaTr ();
23002320 nITSHe = track.itsNSigmaHe ();
23012321 }
@@ -2457,6 +2477,10 @@ struct LFNucleiBATask {
24572477 isAntiDe = isDeuteron && track.sign () < 0 ;
24582478
24592479 // nSigmaITSHe cut
2480+ if (nsigmaITSvar.useITSDeCut && (nITSDe <= nsigmaITSvar.nsigmaITSDe )) {
2481+ continue ;
2482+ }
2483+
24602484 if (nsigmaITSvar.useITSHeCut && (nITSHe <= nsigmaITSvar.nsigmaITSHe )) {
24612485 continue ;
24622486 }
@@ -4190,6 +4214,8 @@ struct LFNucleiBATask {
41904214 if (outFlagOptions.enableExpSignalTPC )
41914215 histos.fill (HIST (" tracks/deuteron/h2DeuteronTPCExpSignalDiffVsPt" ), DPt, track.tpcExpSignalDiffDe ());
41924216
4217+ histos.fill (HIST (" tracks/deuteron/h2DeuteronVspNSigmaITSDe" ), track.p (), nITSDe);
4218+
41934219 switch (useHasTRDConfig) {
41944220 case 0 :
41954221 if (enableCentrality)
@@ -4213,6 +4239,8 @@ struct LFNucleiBATask {
42134239 if (outFlagOptions.enableExpSignalTPC )
42144240 histos.fill (HIST (" tracks/deuteron/h2antiDeuteronTPCExpSignalDiffVsPt" ), antiDPt, track.tpcExpSignalDiffDe ());
42154241
4242+ histos.fill (HIST (" tracks/deuteron/h2antiDeuteronVspNSigmaITSDe" ), track.p (), nITSDe);
4243+
42164244 switch (useHasTRDConfig) {
42174245 case 0 :
42184246 if (enableCentrality)
@@ -4487,6 +4515,8 @@ struct LFNucleiBATask {
44874515 }
44884516 histos.fill (HIST (" tracks/deuteron/h1DeuteronSpectra" ), DPt);
44894517 histos.fill (HIST (" tracks/deuteron/h2DeuteronYvsPt" ), track.rapidity (o2::track::PID::getMass2Z (o2::track::PID::Deuteron)), DPt);
4518+ histos.fill (HIST (" tracks/deuteron/h2DeuteronVspNSigmaITSDe_wTPCpid" ), track.p (), nITSDe);
4519+
44904520 if (outFlagOptions.enablePIDplot )
44914521 histos.fill (HIST (" tracks/deuteron/h2TPCsignVsTPCmomentumDeuteron" ), track.tpcInnerParam (), track.tpcSignal ());
44924522 }
@@ -4497,6 +4527,8 @@ struct LFNucleiBATask {
44974527 }
44984528 histos.fill (HIST (" tracks/deuteron/h1antiDeuteronSpectra" ), antiDPt);
44994529 histos.fill (HIST (" tracks/deuteron/h2antiDeuteronYvsPt" ), track.rapidity (o2::track::PID::getMass2Z (o2::track::PID::Deuteron)), antiDPt);
4530+ histos.fill (HIST (" tracks/deuteron/h2antiDeuteronVspNSigmaITSDe_wTPCpid" ), track.p (), nITSDe);
4531+
45004532 if (outFlagOptions.enablePIDplot )
45014533 histos.fill (HIST (" tracks/deuteron/h2TPCsignVsTPCmomentumantiDeuteron" ), track.tpcInnerParam (), track.tpcSignal ());
45024534 }
@@ -4505,11 +4537,11 @@ struct LFNucleiBATask {
45054537 histos.fill (HIST (" tracks/eff/helium/hPtHe" ), 2 * hePt);
45064538 histos.fill (HIST (" tracks/eff/helium/h2pVsTPCmomentumHe" ), heTPCmomentum, heP);
45074539 }
4508- histos.fill (HIST (" tracks/helium/h1HeliumSpectra" ), hePt);
4540+ // histos.fill(HIST("tracks/helium/h1HeliumSpectra"), hePt);
45094541 histos.fill (HIST (" tracks/helium/h1HeliumSpectra_Z2" ), 2 * hePt);
4510- histos.fill (HIST (" tracks/helium/h2HeliumYvsPt" ), track.rapidity (o2::track::PID::getMass2Z (o2::track::PID::Helium3)), hePt);
4542+ // histos.fill(HIST("tracks/helium/h2HeliumYvsPt"), track.rapidity(o2::track::PID::getMass2Z(o2::track::PID::Helium3)), hePt);
45114543 histos.fill (HIST (" tracks/helium/h2HeliumYvsPt_Z2" ), track.rapidity (o2::track::PID::getMass2Z (o2::track::PID::Helium3)), 2 * hePt);
4512- histos.fill (HIST (" tracks/helium/h2HeliumEtavsPt" ), track.eta (), hePt);
4544+ // histos.fill(HIST("tracks/helium/h2HeliumEtavsPt"), track.eta(), hePt);
45134545 histos.fill (HIST (" tracks/helium/h2HeliumEtavsPt_Z2" ), track.eta (), 2 * hePt);
45144546 if (outFlagOptions.enablePIDplot )
45154547 histos.fill (HIST (" tracks/helium/h2TPCsignVsTPCmomentumHelium" ), heTPCmomentum, track.tpcSignal ());
@@ -4519,11 +4551,11 @@ struct LFNucleiBATask {
45194551 histos.fill (HIST (" tracks/eff/helium/hPtantiHe" ), 2 * antihePt);
45204552 histos.fill (HIST (" tracks/eff/helium/h2pVsTPCmomentumantiHe" ), antiheTPCmomentum, antiheP);
45214553 }
4522- histos.fill (HIST (" tracks/helium/h1antiHeliumSpectra" ), antihePt);
4554+ // histos.fill(HIST("tracks/helium/h1antiHeliumSpectra"), antihePt);
45234555 histos.fill (HIST (" tracks/helium/h1antiHeliumSpectra_Z2" ), 2 * antihePt);
4524- histos.fill (HIST (" tracks/helium/h2antiHeliumYvsPt" ), track.rapidity (o2::track::PID::getMass2Z (o2::track::PID::Helium3)), antihePt);
4556+ // histos.fill(HIST("tracks/helium/h2antiHeliumYvsPt"), track.rapidity(o2::track::PID::getMass2Z(o2::track::PID::Helium3)), antihePt);
45254557 histos.fill (HIST (" tracks/helium/h2antiHeliumYvsPt_Z2" ), track.rapidity (o2::track::PID::getMass2Z (o2::track::PID::Helium3)), 2 * antihePt);
4526- histos.fill (HIST (" tracks/helium/h2antiHeliumEtavsPt" ), track.eta (), antihePt);
4558+ // histos.fill(HIST("tracks/helium/h2antiHeliumEtavsPt"), track.eta(), antihePt);
45274559 histos.fill (HIST (" tracks/helium/h2antiHeliumEtavsPt_Z2" ), track.eta (), 2 * antihePt);
45284560 if (outFlagOptions.enablePIDplot )
45294561 histos.fill (HIST (" tracks/helium/h2TPCsignVsTPCmomentumantiHelium" ), antiheTPCmomentum, track.tpcSignal ());
@@ -5692,7 +5724,7 @@ struct LFNucleiBATask {
56925724 using EventCandidates = soa::Join<aod::Collisions, aod::EvSels, aod::CentFT0Ms, aod::CentFV0As, aod::CentFT0Cs>;
56935725 using EventCandidatesMC = soa::Join<EventCandidates, aod::McCollisionLabels>;
56945726
5695- using TrackCandidates0 = soa::Join<aod::Tracks, aod::TracksExtra, aod::TracksDCA, aod::TrackSelection, aod::TrackSelectionExtension,
5727+ using TrackCandidates0 = soa::Join<aod::Tracks, aod::TracksIU, aod:: TracksExtra, aod::TracksDCA, aod::TrackSelection, aod::TrackSelectionExtension,
56965728 aod::pidTOFbeta, aod::TOFSignal, aod::pidEvTimeFlags,
56975729 aod::pidTPCFullPi, aod::pidTOFFullPi,
56985730 aod::pidTPCFullKa, aod::pidTOFFullKa,
0 commit comments