From 8b5628677934f75b239a6a680c0cd939f5b843d6 Mon Sep 17 00:00:00 2001 From: Jonghan Park Date: Wed, 13 Aug 2025 18:12:29 +0900 Subject: [PATCH 1/4] Change variable names --- PWGHF/HFL/Tasks/taskSingleElectron.cxx | 148 ++++++++++++------------- 1 file changed, 74 insertions(+), 74 deletions(-) diff --git a/PWGHF/HFL/Tasks/taskSingleElectron.cxx b/PWGHF/HFL/Tasks/taskSingleElectron.cxx index 76998fdf90f..5cdfe01e8f0 100644 --- a/PWGHF/HFL/Tasks/taskSingleElectron.cxx +++ b/PWGHF/HFL/Tasks/taskSingleElectron.cxx @@ -38,34 +38,34 @@ enum PdgCode { }; enum SourceType { - fNotElec = 0, // not electron - fDirectCharm = 1, // electrons from prompt charm hadrons - fDirectBeauty = 2, // electrons from primary beauty hadrons - fBeautyCharm = 3, // electrons from non-prompt charm hadrons - fDirectGamma = 4, // electrons from direct photon - fGammaPi0 = 5, - fGammaEta = 6, - fGammaOmega = 7, - fGammaPhi = 8, - fGammaEtaPrime = 9, - fGammaRho0 = 10, - fGammaK0s = 11, - fGammaK0l = 12, - fGammaKe3 = 13, - fGammaLambda0 = 14, - fGammaSigma = 15, - fPi0 = 16, - fEta = 17, + notElec = 0, // not electron + directCharm = 1, // electrons from prompt charm hadrons + directBeauty = 2, // electrons from primary beauty hadrons + beautyCharm = 3, // electrons from non-prompt charm hadrons + directGamma = 4, // electrons from direct photon + gammaPi0 = 5, + gammaEta = 6, + gammaOmega = 7, + gammaPhi = 8, + gammaEtaPrime = 9, + gammaRho0 = 10, + gammaK0s = 11, + gammaK0l = 12, + gammaKe3 = 13, + gammaLambda0 = 14, + gammaSigma = 15, + pi0 = 16, + eta = 17, fOmega = 18, fPhi = 19, - fEtaPrime = 20, - fRho0 = 21, - fK0s = 22, - fK0l = 23, - fKe3 = 24, - fLambda0 = 25, - fSigma = 26, - fElse = 27 + etaPrime = 20, + rho0 = 21, + k0s = 22, + k0l = 23, + ke3 = 24, + lambda0 = 25, + sigma = 26, + others = 27 }; struct HfTaskSingleElectron { @@ -194,7 +194,7 @@ struct HfTaskSingleElectron { { auto mcpart = track.mcParticle(); if (std::abs(mcpart.pdgCode()) != kElectron) { - return fNotElec; + return notElec; } int motherPdg = -999; @@ -223,27 +223,27 @@ struct HfTaskSingleElectron { auto const& grmothersIdsVec = mctrack.front().mothersIds(); if (grmothersIdsVec.empty()) { - return fDirectCharm; + return directCharm; } else { grmotherPt = mctrack.front().pt(); grmotherPdg = std::abs(mctrack.front().pdgCode()); if ((static_cast(grmotherPdg / 100.) % 10) == kBottom || (static_cast(grmotherPdg / 1000.) % 10) == kBottom) { mpt = grmotherPt; mpdg = grmotherPdg; - return fBeautyCharm; + return beautyCharm; } } } partMother = mctrack; } } else if ((static_cast(motherPdg / 100.) % 10) == kBottom || (static_cast(motherPdg / 1000.) % 10) == kBottom) { // check if electron from beauty hadrons - return fDirectBeauty; + return directBeauty; } else if (motherPdg == kGamma) { // check if electron from photon conversion mctrack = partMother.front().template mothers_as(); if (mctrack.size()) { auto const& grmothersIdsVec = mctrack.front().mothersIds(); if (grmothersIdsVec.empty()) { - return fDirectGamma; + return directGamma; } else { grmotherPdg = std::abs(mctrack.front().pdgCode()); mpdg = grmotherPdg; @@ -255,19 +255,19 @@ struct HfTaskSingleElectron { auto const& ggrmothersIdsVec = mctrack.front().mothersIds(); if (ggrmothersIdsVec.empty()) { if (grmotherPdg == kPi0) { - return fGammaPi0; + return gammaPi0; } else if (grmotherPdg == kEta) { - return fGammaEta; + return gammaEta; } else if (grmotherPdg == kOmega) { - return fGammaOmega; + return gammaOmega; } else if (grmotherPdg == kPhi) { - return fGammaPhi; + return gammaPhi; } else if (grmotherPdg == kEtaPrime) { - return fGammaEtaPrime; + return gammaEtaPrime; } else if (grmotherPdg == kRho770_0) { - return fGammaRho0; + return gammaRho0; } else { - return fElse; + return others; } } else { ggrmotherPdg = mctrack.front().pdgCode(); @@ -276,42 +276,42 @@ struct HfTaskSingleElectron { mpt = ggrmotherPt; if (grmotherPdg == kPi0) { if (ggrmotherPdg == kK0Short) { - return fGammaK0s; + return gammaK0s; } else if (ggrmotherPdg == kK0Long) { - return fGammaK0l; + return gammaK0l; } else if (ggrmotherPdg == kKPlus) { - return fGammaKe3; + return gammaKe3; } else if (ggrmotherPdg == kLambda0) { - return fGammaLambda0; + return gammaLambda0; } else if (ggrmotherPdg == kSigmaPlus) { - return fGammaSigma; + return gammaSigma; } else { mpdg = grmotherPdg; mpt = grmotherPt; - return fGammaPi0; + return gammaPi0; } } else if (grmotherPdg == kEta) { mpdg = grmotherPdg; mpt = grmotherPt; - return fGammaEta; + return gammaEta; } else if (grmotherPdg == kOmega) { mpdg = grmotherPdg; mpt = grmotherPt; - return fGammaOmega; + return gammaOmega; } else if (grmotherPdg == kPhi) { mpdg = grmotherPdg; mpt = grmotherPt; - return fGammaPhi; + return gammaPhi; } else if (grmotherPdg == kEtaPrime) { mpdg = grmotherPdg; mpt = grmotherPt; - return fGammaEtaPrime; + return gammaEtaPrime; } else if (grmotherPdg == kRho770_0) { mpdg = grmotherPdg; mpt = grmotherPt; - return fGammaRho0; + return gammaRho0; } else { - return fElse; + return others; } } } @@ -323,20 +323,20 @@ struct HfTaskSingleElectron { auto const& grmothersIdsVec = mctrack.front().mothersIds(); if (grmothersIdsVec.empty()) { static const std::map pdgToSource = { - {kPi0, fPi0}, - {kEta, fEta}, + {kPi0, pi0}, + {kEta, eta}, {kOmega, fOmega}, {kPhi, fPhi}, - {kEtaPrime, fEtaPrime}, - {kRho770_0, fRho0}, - {kKPlus, fKe3}, - {kK0Long, fK0l}}; + {kEtaPrime, etaPrime}, + {kRho770_0, rho0}, + {kKPlus, ke3}, + {kK0Long, k0l}}; auto it = pdgToSource.find(motherPdg); if (it != pdgToSource.end()) { return it->second; } - return fElse; + return others; } else { if (motherPdg == kPi0) { @@ -345,42 +345,42 @@ struct HfTaskSingleElectron { mpt = grmotherPt; mpdg = grmotherPdg; if (grmotherPdg == kK0Short) { - return fK0s; + return k0s; } else if (grmotherPdg == kK0Long) { - return fK0l; + return k0l; } else if (grmotherPdg == kKPlus) { - return fKe3; + return ke3; } else if (grmotherPdg == kLambda0) { - return fLambda0; + return lambda0; } else if (grmotherPdg == kSigmaPlus) { - return fSigma; + return sigma; } else { mpt = motherPt; mpdg = motherPdg; - return fPi0; + return pi0; } } else if (motherPdg == kEta) { - return fEta; + return eta; } else if (motherPdg == kOmega) { return fOmega; } else if (motherPdg == kPhi) { return fPhi; } else if (motherPdg == kEtaPrime) { - return fEtaPrime; + return etaPrime; } else if (motherPdg == kRho770_0) { - return fRho0; + return rho0; } else if (motherPdg == kKPlus) { - return fKe3; + return ke3; } else if (motherPdg == kK0Long) { - return fK0l; + return k0l; } else { - return fElse; + return others; } } } } - return fElse; + return others; } void processData(soa::Filtered::iterator const& collision, @@ -474,22 +474,22 @@ struct HfTaskSingleElectron { double mpt; // electron source pt int source = getElecSource(track, mpt, mpdg); - if (source == fDirectBeauty || source == fBeautyCharm) { + if (source == directBeauty || source == beautyCharm) { histos.fill(HIST("hPdgB"), mpdg); histos.fill(HIST("dcaBeauty"), track.pt(), track.dcaXY()); } - if (source == fDirectCharm) { + if (source == directCharm) { histos.fill(HIST("hPdgC"), mpdg); histos.fill(HIST("dcaCharm"), track.pt(), track.dcaXY()); } - if (source >= fGammaPi0 && source <= fGammaSigma) { + if (source >= gammaPi0 && source <= gammaSigma) { histos.fill(HIST("hPdgCo"), mpdg); histos.fill(HIST("dcaConv"), track.pt(), track.dcaXY()); } - if (source >= fPi0 && source <= fSigma) { + if (source >= pi0 && source <= sigma) { histos.fill(HIST("hPdgDa"), mpdg); histos.fill(HIST("dcaDalitz"), track.pt(), track.dcaXY()); } From 5bbb7c5c87a5d3d7f2b773187ff97a98cb519090 Mon Sep 17 00:00:00 2001 From: Jonghan Park Date: Thu, 14 Aug 2025 11:55:40 +0900 Subject: [PATCH 2/4] Change enumeration names --- PWGHF/HFL/Tasks/taskSingleElectron.cxx | 160 ++++++++++++------------- 1 file changed, 80 insertions(+), 80 deletions(-) diff --git a/PWGHF/HFL/Tasks/taskSingleElectron.cxx b/PWGHF/HFL/Tasks/taskSingleElectron.cxx index 5cdfe01e8f0..f57f5f1675a 100644 --- a/PWGHF/HFL/Tasks/taskSingleElectron.cxx +++ b/PWGHF/HFL/Tasks/taskSingleElectron.cxx @@ -38,34 +38,34 @@ enum PdgCode { }; enum SourceType { - notElec = 0, // not electron - directCharm = 1, // electrons from prompt charm hadrons - directBeauty = 2, // electrons from primary beauty hadrons - beautyCharm = 3, // electrons from non-prompt charm hadrons - directGamma = 4, // electrons from direct photon - gammaPi0 = 5, - gammaEta = 6, - gammaOmega = 7, - gammaPhi = 8, - gammaEtaPrime = 9, - gammaRho0 = 10, - gammaK0s = 11, - gammaK0l = 12, - gammaKe3 = 13, - gammaLambda0 = 14, - gammaSigma = 15, - pi0 = 16, - eta = 17, - fOmega = 18, - fPhi = 19, - etaPrime = 20, - rho0 = 21, - k0s = 22, - k0l = 23, - ke3 = 24, - lambda0 = 25, - sigma = 26, - others = 27 + NotElec = 0, // not electron + DirectCharm = 1, // electrons from prompt charm hadrons + DirectBeauty = 2, // electrons from primary beauty hadrons + BeautyCharm = 3, // electrons from non-prompt charm hadrons + DirectGamma = 4, // electrons from direct photon + GammaPi0 = 5, + GammaEta = 6, + GammaOmega = 7, + GammaPhi = 8, + GammaEtaPrime = 9, + GammaRho0 = 10, + GammaK0s = 11, + GammaK0l = 12, + GammaKe3 = 13, + GammaLambda0 = 14, + GammaSigma = 15, + Pi0 = 16, + Eta = 17, + Omega = 18, + Phi = 19, + EtaPrime = 20, + Rho0 = 21, + K0s = 22, + K0l = 23, + Ke3 = 24, + Lambda0 = 25, + Sigma = 26, + Else = 27 }; struct HfTaskSingleElectron { @@ -194,7 +194,7 @@ struct HfTaskSingleElectron { { auto mcpart = track.mcParticle(); if (std::abs(mcpart.pdgCode()) != kElectron) { - return notElec; + return NotElec; } int motherPdg = -999; @@ -223,27 +223,27 @@ struct HfTaskSingleElectron { auto const& grmothersIdsVec = mctrack.front().mothersIds(); if (grmothersIdsVec.empty()) { - return directCharm; + return DirectCharm; } else { grmotherPt = mctrack.front().pt(); grmotherPdg = std::abs(mctrack.front().pdgCode()); if ((static_cast(grmotherPdg / 100.) % 10) == kBottom || (static_cast(grmotherPdg / 1000.) % 10) == kBottom) { mpt = grmotherPt; mpdg = grmotherPdg; - return beautyCharm; + return BeautyCharm; } } } partMother = mctrack; } } else if ((static_cast(motherPdg / 100.) % 10) == kBottom || (static_cast(motherPdg / 1000.) % 10) == kBottom) { // check if electron from beauty hadrons - return directBeauty; + return DirectBeauty; } else if (motherPdg == kGamma) { // check if electron from photon conversion mctrack = partMother.front().template mothers_as(); if (mctrack.size()) { auto const& grmothersIdsVec = mctrack.front().mothersIds(); if (grmothersIdsVec.empty()) { - return directGamma; + return DirectGamma; } else { grmotherPdg = std::abs(mctrack.front().pdgCode()); mpdg = grmotherPdg; @@ -255,19 +255,19 @@ struct HfTaskSingleElectron { auto const& ggrmothersIdsVec = mctrack.front().mothersIds(); if (ggrmothersIdsVec.empty()) { if (grmotherPdg == kPi0) { - return gammaPi0; + return GammaPi0; } else if (grmotherPdg == kEta) { - return gammaEta; + return GammaEta; } else if (grmotherPdg == kOmega) { - return gammaOmega; + return GammaOmega; } else if (grmotherPdg == kPhi) { - return gammaPhi; + return GammaPhi; } else if (grmotherPdg == kEtaPrime) { - return gammaEtaPrime; + return GammaEtaPrime; } else if (grmotherPdg == kRho770_0) { - return gammaRho0; + return GammaRho0; } else { - return others; + return Else; } } else { ggrmotherPdg = mctrack.front().pdgCode(); @@ -276,42 +276,42 @@ struct HfTaskSingleElectron { mpt = ggrmotherPt; if (grmotherPdg == kPi0) { if (ggrmotherPdg == kK0Short) { - return gammaK0s; + return GammaK0s; } else if (ggrmotherPdg == kK0Long) { - return gammaK0l; + return GammaK0l; } else if (ggrmotherPdg == kKPlus) { - return gammaKe3; + return GammaKe3; } else if (ggrmotherPdg == kLambda0) { - return gammaLambda0; + return GammaLambda0; } else if (ggrmotherPdg == kSigmaPlus) { - return gammaSigma; + return GammaSigma; } else { mpdg = grmotherPdg; mpt = grmotherPt; - return gammaPi0; + return GammaPi0; } } else if (grmotherPdg == kEta) { mpdg = grmotherPdg; mpt = grmotherPt; - return gammaEta; + return GammaEta; } else if (grmotherPdg == kOmega) { mpdg = grmotherPdg; mpt = grmotherPt; - return gammaOmega; + return GammaOmega; } else if (grmotherPdg == kPhi) { mpdg = grmotherPdg; mpt = grmotherPt; - return gammaPhi; + return GammaPhi; } else if (grmotherPdg == kEtaPrime) { mpdg = grmotherPdg; mpt = grmotherPt; - return gammaEtaPrime; + return GammaEtaPrime; } else if (grmotherPdg == kRho770_0) { mpdg = grmotherPdg; mpt = grmotherPt; - return gammaRho0; + return GammaRho0; } else { - return others; + return Else; } } } @@ -323,20 +323,20 @@ struct HfTaskSingleElectron { auto const& grmothersIdsVec = mctrack.front().mothersIds(); if (grmothersIdsVec.empty()) { static const std::map pdgToSource = { - {kPi0, pi0}, - {kEta, eta}, - {kOmega, fOmega}, - {kPhi, fPhi}, - {kEtaPrime, etaPrime}, - {kRho770_0, rho0}, - {kKPlus, ke3}, - {kK0Long, k0l}}; + {kPi0, Pi0}, + {kEta, Eta}, + {kOmega, Omega}, + {kPhi, Phi}, + {kEtaPrime, EtaPrime}, + {kRho770_0, Rho0}, + {kKPlus, Ke3}, + {kK0Long, K0l}}; auto it = pdgToSource.find(motherPdg); if (it != pdgToSource.end()) { return it->second; } - return others; + return Else; } else { if (motherPdg == kPi0) { @@ -345,42 +345,42 @@ struct HfTaskSingleElectron { mpt = grmotherPt; mpdg = grmotherPdg; if (grmotherPdg == kK0Short) { - return k0s; + return K0s; } else if (grmotherPdg == kK0Long) { - return k0l; + return K0l; } else if (grmotherPdg == kKPlus) { - return ke3; + return Ke3; } else if (grmotherPdg == kLambda0) { - return lambda0; + return Lambda0; } else if (grmotherPdg == kSigmaPlus) { - return sigma; + return Sigma; } else { mpt = motherPt; mpdg = motherPdg; - return pi0; + return Pi0; } } else if (motherPdg == kEta) { - return eta; + return Eta; } else if (motherPdg == kOmega) { - return fOmega; + return Omega; } else if (motherPdg == kPhi) { - return fPhi; + return Phi; } else if (motherPdg == kEtaPrime) { - return etaPrime; + return EtaPrime; } else if (motherPdg == kRho770_0) { - return rho0; + return Rho0; } else if (motherPdg == kKPlus) { - return ke3; + return Ke3; } else if (motherPdg == kK0Long) { - return k0l; + return K0l; } else { - return others; + return Else; } } } } - return others; + return Else; } void processData(soa::Filtered::iterator const& collision, @@ -474,22 +474,22 @@ struct HfTaskSingleElectron { double mpt; // electron source pt int source = getElecSource(track, mpt, mpdg); - if (source == directBeauty || source == beautyCharm) { + if (source == DirectBeauty || source == BeautyCharm) { histos.fill(HIST("hPdgB"), mpdg); histos.fill(HIST("dcaBeauty"), track.pt(), track.dcaXY()); } - if (source == directCharm) { + if (source == DirectCharm) { histos.fill(HIST("hPdgC"), mpdg); histos.fill(HIST("dcaCharm"), track.pt(), track.dcaXY()); } - if (source >= gammaPi0 && source <= gammaSigma) { + if (source >= GammaPi0 && source <= GammaSigma) { histos.fill(HIST("hPdgCo"), mpdg); histos.fill(HIST("dcaConv"), track.pt(), track.dcaXY()); } - if (source >= pi0 && source <= sigma) { + if (source >= Pi0 && source <= Sigma) { histos.fill(HIST("hPdgDa"), mpdg); histos.fill(HIST("dcaDalitz"), track.pt(), track.dcaXY()); } From c5a777bad9bda2bcde2bd97ff6ad61e760701537 Mon Sep 17 00:00:00 2001 From: Jonghan Park Date: Mon, 18 Aug 2025 16:33:19 +0900 Subject: [PATCH 3/4] Add ITS chi2 requirement, TPC and ITS refit conditions --- PWGHF/HFL/Tasks/taskSingleElectron.cxx | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/PWGHF/HFL/Tasks/taskSingleElectron.cxx b/PWGHF/HFL/Tasks/taskSingleElectron.cxx index f57f5f1675a..12bf351c84d 100644 --- a/PWGHF/HFL/Tasks/taskSingleElectron.cxx +++ b/PWGHF/HFL/Tasks/taskSingleElectron.cxx @@ -82,6 +82,7 @@ struct HfTaskSingleElectron { Configurable tpcNClsFoundOverFindableMin{"tpcNClsFoundOverFindableMin", 0.8, "min # of TPC found/findable clusters"}; Configurable tpcChi2perNClMax{"tpcChi2perNClMax", 4., "min # of tpc chi2 per clusters"}; Configurable itsIBClsMin{"itsIBClsMin", 3, "min # of its clusters in IB"}; + Configurable itsChi2perNClMax{"itsChi2perNClMax", 6., "min # of tpc chi2 per clusters"}; Configurable dcaxyMax{"dcaxyMax", 1., "max of track dca in xy"}; Configurable dcazMax{"dcazMax", 2., "max of track dca in z"}; Configurable tofNSigmaMax{"tofNSigmaMax", 3., "max of tof nsigma"}; @@ -95,7 +96,7 @@ struct HfTaskSingleElectron { // using declarations using MyCollisions = soa::Join; - using TracksEl = soa::Join; + using TracksEl = soa::Join; using McTracksEl = soa::Join; // Filter @@ -131,6 +132,7 @@ struct HfTaskSingleElectron { histos.add("tpcFoundFindableTrack", "", kTH1D, {{10, 0, 1}}); histos.add("tpcChi2Track", "", kTH1D, {{100, 0, 10}}); histos.add("itsIBClsTrack", "", kTH1D, {{10, 0, 10}}); + histos.add("itsChi2Track", "", kTH1D, {{50, 0, 50}}); histos.add("dcaXYTrack", "", kTH1D, {{600, -3, 3}}); histos.add("dcaZTrack", "", kTH1D, {{600, -3, 3}}); @@ -168,9 +170,11 @@ struct HfTaskSingleElectron { if (track.tpcNClsCrossedRows() < tpcNCrossedRowMin) { return false; } + if (track.tpcCrossedRowsOverFindableCls() < tpcNClsFoundOverFindableMin) { return false; } + if (track.tpcChi2NCl() > tpcChi2perNClMax) { return false; } @@ -179,9 +183,14 @@ struct HfTaskSingleElectron { return false; } + if (track.itsChi2NCl() > itsChi2perNClMax) { + return false; + } + if (std::abs(track.dcaXY()) > dcaxyMax) { return false; } + if (std::abs(track.dcaZ()) > dcazMax) { return false; } @@ -405,6 +414,10 @@ struct HfTaskSingleElectron { continue; } + if (!(track.passedITSRefit() && track.passedTPCRefit())) { + continue; + } + histos.fill(HIST("etaTrack"), track.eta()); histos.fill(HIST("ptTrack"), track.pt()); @@ -412,6 +425,7 @@ struct HfTaskSingleElectron { histos.fill(HIST("tpcFoundFindableTrack"), track.tpcCrossedRowsOverFindableCls()); histos.fill(HIST("tpcChi2Track"), track.tpcChi2NCl()); histos.fill(HIST("itsIBClsTrack"), track.itsNClsInnerBarrel()); + histos.fill(HIST("itsChi2Track"), track.itsChi2NCl()); histos.fill(HIST("dcaXYTrack"), track.dcaXY()); histos.fill(HIST("dcaZTrack"), track.dcaZ()); From d943cc3a942bbc2a60e836bf2a6496364aff2141 Mon Sep 17 00:00:00 2001 From: Jonghan Park Date: Fri, 29 Aug 2025 18:20:32 +0900 Subject: [PATCH 4/4] Add TPC nSigma vs P plots --- PWGHF/HFL/Tasks/taskSingleElectron.cxx | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/PWGHF/HFL/Tasks/taskSingleElectron.cxx b/PWGHF/HFL/Tasks/taskSingleElectron.cxx index 12bf351c84d..a19b8c79cb8 100644 --- a/PWGHF/HFL/Tasks/taskSingleElectron.cxx +++ b/PWGHF/HFL/Tasks/taskSingleElectron.cxx @@ -89,6 +89,7 @@ struct HfTaskSingleElectron { Configurable tpcNSigmaMin{"tpcNSigmaMin", -1., "min of tpc nsigma"}; Configurable tpcNSigmaMax{"tpcNSigmaMax", 3., "max of tpc nsigma"}; + Configurable nBinsP{"nBinsP", 1500, "number of bins of particle momentum"}; Configurable nBinsPt{"nBinsPt", 100, "N bins in pT histo"}; // SliceCache @@ -112,6 +113,7 @@ struct HfTaskSingleElectron { const AxisSpec axisNCont{100, 0., 100., "nCont"}; const AxisSpec axisPosZ{600, -30., 30., "Z_{pos}"}; const AxisSpec axisEta{30, -1.5, +1.5, "#eta"}; + const AxisSpec axisP{nBinsP, 0., 15., "p_{T}"}; const AxisSpec axisPt{nBinsPt, 0., 15., "p_{T}"}; const AxisSpec axisNsig{800, -20., 20.}; const AxisSpec axisTrackIp{4000, -0.2, 0.2, "dca"}; @@ -139,7 +141,9 @@ struct HfTaskSingleElectron { // pid histos.add("tofNSigPt", "", kTH2D, {{axisPtEl}, {axisNsig}}); histos.add("tofNSigPtQA", "", kTH2D, {{axisPtEl}, {axisNsig}}); + histos.add("tpcNSigP", "", kTH2D, {{axisP}, {axisNsig}}); histos.add("tpcNSigPt", "", kTH2D, {{axisPtEl}, {axisNsig}}); + histos.add("tpcNSigPAfterTofCut", "", kTH2D, {{axisP}, {axisNsig}}); histos.add("tpcNSigPtAfterTofCut", "", kTH2D, {{axisPtEl}, {axisNsig}}); histos.add("tpcNSigPtQA", "", kTH2D, {{axisPtEl}, {axisNsig}}); @@ -430,12 +434,14 @@ struct HfTaskSingleElectron { histos.fill(HIST("dcaZTrack"), track.dcaZ()); histos.fill(HIST("tofNSigPt"), track.pt(), track.tofNSigmaEl()); + histos.fill(HIST("tpcNSigP"), track.p(), track.tpcNSigmaEl()); histos.fill(HIST("tpcNSigPt"), track.pt(), track.tpcNSigmaEl()); if (std::abs(track.tofNSigmaEl()) > tofNSigmaMax) { continue; } histos.fill(HIST("tofNSigPtQA"), track.pt(), track.tofNSigmaEl()); + histos.fill(HIST("tpcNSigPAfterTofCut"), track.p(), track.tpcNSigmaEl()); histos.fill(HIST("tpcNSigPtAfterTofCut"), track.pt(), track.tpcNSigmaEl()); if (track.tpcNSigmaEl() < tpcNSigmaMin || track.tpcNSigmaEl() > tpcNSigmaMax) {