@@ -61,7 +61,7 @@ using namespace constants::physics;
6161
6262using PIDTracks = soa::Join<
6363 aod::Tracks, aod::TracksExtra, aod::TrackSelectionExtension, aod::TracksDCA, aod::TrackSelection,
64- aod::pidTOFFullPi, aod::pidTOFFullPr, aod::pidTOFFullEl, aod::pidTOFbeta, aod::pidTPCPi, aod::pidTPCPr, aod::pidTPCEl>;
64+ aod::pidTOFFullPi, aod::pidTOFFullPr, aod::pidTOFFullEl, aod::pidTOFbeta, aod::pidTPCPi, aod::pidTPCPr, aod::pidTPCEl, aod::pidTOFFlags >;
6565
6666using SelectedCollisions = soa::Join<aod::Collisions, aod::EvSels, aod::TPCMults, aod::PVMults, aod::MultZeqs,
6767 aod::CentFV0As, aod::CentFT0Ms, aod::CentFT0As, aod::CentFT0Cs, o2::aod::BarrelMults>;
@@ -238,6 +238,7 @@ struct DedxPidAnalysis {
238238 Configurable<float > v0ProperLifetimeCutK0s{" v0ProperLifetimeCutK0s" , 20 .f , " V0 proper lifetime cut for K0s" };
239239 Configurable<float > v0ProperLifetimeCutLambda{" v0ProperLifetimeCutLambda" , 30 .f , " V0 proper lifetime cut for Lambda" };
240240 Configurable<float > nsigmaMax{" nsigmaMax" , 3 .0f , " Maximum nsigma cut" };
241+ Configurable<float > nsigmaMaxTOF{" nsigmaMaxTOF" , 3 .0f , " Maximum nsigma cut for TOF" };
241242 Configurable<float > tpcMomentumCut{" tpcMomentumCut" , 0 .6f , " Momentum threshold above which TOF is required" };
242243 Configurable<int > v0SigmaMode{" v0SigmaMode" , 0 , " 0: no cut, 1: sigma only, 2: TOF + sigma above tpcMomentumCut" };
243244 Configurable<float > invMassCutK0s{" invMassCutK0s" , 0 .015f , " invariant Mass Cut for K0s" };
@@ -487,6 +488,14 @@ struct DedxPidAnalysis {
487488 " hdEdx_vs_eta_vs_p_Pos_calibrated_TOF" , " dE/dx" , HistType::kTH3F ,
488489 {{etaAxis}, {dedxAxis}, {pAxis}});
489490
491+ registryDeDx.add (
492+ " hdEdx_vs_eta_vs_p_Neg_calibrated_TOF2" , " dE/dx" , HistType::kTH3F ,
493+ {{etaAxis}, {dedxAxis}, {pAxis}});
494+
495+ registryDeDx.add (
496+ " hdEdx_vs_eta_vs_p_Pos_calibrated_TOF2" , " dE/dx" , HistType::kTH3F ,
497+ {{etaAxis}, {dedxAxis}, {pAxis}});
498+
490499 // pt vs p
491500 registryDeDx.add (
492501 " heta_vs_pt_vs_p_all_Neg" , " eta_vs_pT_vs_p" , HistType::kTH3F ,
@@ -1606,6 +1615,24 @@ struct DedxPidAnalysis {
16061615 }
16071616 }
16081617
1618+ // pions from TOF w nsigma
1619+ if (!calibrationMode) {
1620+ if (trk.hasTOF () && trk.goodTOFMatch ()) {
1621+ const double sigmaPi = std::hypot (trk.tpcNSigmaPi (), trk.tofNSigmaPi ());
1622+ if (std::abs (sigmaPi) < nsigmaMaxTOF) {
1623+ for (int i = 0 ; i < EtaIntervals; ++i) {
1624+ if (trk.eta () >= EtaCut[i] && trk.eta () < EtaCut[i + 1 ]) {
1625+ if (signedP < 0 ) {
1626+ registryDeDx.fill (HIST (" hdEdx_vs_eta_vs_p_Neg_calibrated_TOF2" ), trk.eta (), trk.tpcSignal () * 50 / calibrationFactorNeg->at (i), std::abs (signedP));
1627+ } else {
1628+ registryDeDx.fill (HIST (" hdEdx_vs_eta_vs_p_Pos_calibrated_TOF2" ), trk.eta (), trk.tpcSignal () * 50 / calibrationFactorPos->at (i), signedP);
1629+ }
1630+ }
1631+ }
1632+ }
1633+ }
1634+ }
1635+
16091636 registryDeDx.fill (HIST (" hdEdx_vs_phi" ), trk.phi (), trk.tpcSignal ());
16101637
16111638 if (!calibrationMode) {
0 commit comments