Skip to content

Commit 2a04ed9

Browse files
Paola Vargas TorresPaola Vargas Torres
authored andcommitted
Add TOF information to PID primary tracks and TOF+TPC nSigma pion selection
1 parent c529975 commit 2a04ed9

1 file changed

Lines changed: 28 additions & 1 deletion

File tree

PWGLF/Tasks/Nuspex/dedxPidAnalysis.cxx

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ using namespace constants::physics;
6161

6262
using 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

6666
using 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

Comments
 (0)