From c962180392aa427b1e3fcf9671498a3aca471038 Mon Sep 17 00:00:00 2001 From: Daiki Sekihata Date: Tue, 26 May 2026 22:03:41 +0200 Subject: [PATCH] [PWGEM/Dilepton] put pair.pt back in taggingHFE --- PWGEM/Dilepton/DataModel/lmeeMLTables.h | 9 +++++---- PWGEM/Dilepton/Tasks/taggingHFE.cxx | 24 ++++++++++++------------ PWGEM/Dilepton/Utils/SemiCharmTag.h | 4 ++++ 3 files changed, 21 insertions(+), 16 deletions(-) diff --git a/PWGEM/Dilepton/DataModel/lmeeMLTables.h b/PWGEM/Dilepton/DataModel/lmeeMLTables.h index 1aa3463ad14..a211af95777 100644 --- a/PWGEM/Dilepton/DataModel/lmeeMLTables.h +++ b/PWGEM/Dilepton/DataModel/lmeeMLTables.h @@ -259,7 +259,8 @@ DECLARE_SOA_COLUMN(V0Type, v0Type, uint8_t); //! v0 type, 0 = K0S, 1 = DECLARE_SOA_COLUMN(CascadeType, cascadeType, uint8_t); //! cascade type, 0 = XiMunus, 1 = OmegaMinus // LH pair variables -DECLARE_SOA_COLUMN(MassLH, massLH, float); //! invariant mass of LH assuming pion +DECLARE_SOA_COLUMN(MassLH, massLH, float); //! invariant mass of LH assuming kaon +DECLARE_SOA_COLUMN(PtLH, ptLH, float); //! pt of LH DECLARE_SOA_COLUMN(PtSVL, ptSVL, float); //! pT of lepton at SV DECLARE_SOA_COLUMN(PlSVL, plSVL, float); //! pL of lepton at SV @@ -304,7 +305,7 @@ DECLARE_SOA_TABLE(EMMLLTPairs, "AOD", "EMMLLTPAIR", //! // pidtpc::TPCNSigmaPi, pidtof::TOFNSigmaPi, pidtpc::TPCNSigmaKa, pidtof::TOFNSigmaKa, // pidtpc::TPCNSigmaPr, pidtof::TOFNSigmaPr, - emmllhpair::MassLH, emmllhpair::PtSVL, emmllhpair::PlSVL, emmllhpair::PtSVH, emmllhpair::PlSVH, + emmllhpair::MassLH, emmllhpair::PtLH, emmllhpair::PtSVL, emmllhpair::PlSVL, emmllhpair::PtSVH, emmllhpair::PlSVH, emmllhpair::PtFD, emmllhpair::PlFD, emmllhpair::PtFDL, emmllhpair::PlFDL, emmllhpair::PtFDH, emmllhpair::PlFDH, emmllhpair::DcaLH, emmllhpair::CPA, emmllhpair::CPAXY, emmllhpair::CPARZ, emmllhpair::Lxy, emmllhpair::Lz, emmllhpair::Lxyz, emmllhpair::LxyErr, emmllhpair::LzErr, emmllhpair::LxyzErr, @@ -318,7 +319,7 @@ DECLARE_SOA_TABLE(EMMLLV0Pairs, "AOD", "EMMLLV0PAIR", //! emmllhpair::PtH, emmllhpair::RapidityV0, emmllhpair::V0CPA, emmllhpair::V0CPAXY, emmllhpair::V0CPARZ, emmllhpair::ImpParXYH, emmllhpair::ImpParZH, emmllhpair::ImpParCYYH, emmllhpair::ImpParCZYH, emmllhpair::ImpParCZZH, - emmllhpair::MassLH, emmllhpair::PtSVL, emmllhpair::PlSVL, emmllhpair::PtSVH, emmllhpair::PlSVH, + emmllhpair::MassLH, emmllhpair::PtLH, emmllhpair::PtSVL, emmllhpair::PlSVL, emmllhpair::PtSVH, emmllhpair::PlSVH, emmllhpair::PtFD, emmllhpair::PlFD, emmllhpair::PtFDL, emmllhpair::PlFDL, emmllhpair::PtFDH, emmllhpair::PlFDH, emmllhpair::DcaLH, emmllhpair::CPA, emmllhpair::CPAXY, emmllhpair::CPARZ, emmllhpair::Lxy, emmllhpair::Lz, emmllhpair::Lxyz, emmllhpair::LxyErr, emmllhpair::LzErr, emmllhpair::LxyzErr, @@ -332,7 +333,7 @@ DECLARE_SOA_TABLE(EMMLLCascPairs, "AOD", "EMMLLCPAIR", //! emmllhpair::Signed1PtH, emmllhpair::RapidityC, emmllhpair::CascCPA, emmllhpair::CascCPAXY, emmllhpair::CascCPARZ, emmllhpair::ImpParXYH, emmllhpair::ImpParZH, emmllhpair::ImpParCYYH, emmllhpair::ImpParCZYH, emmllhpair::ImpParCZZH, - emmllhpair::MassLH, emmllhpair::PtSVL, emmllhpair::PlSVL, emmllhpair::PtSVH, emmllhpair::PlSVH, + emmllhpair::MassLH, emmllhpair::PtLH, emmllhpair::PtSVL, emmllhpair::PlSVL, emmllhpair::PtSVH, emmllhpair::PlSVH, emmllhpair::PtFD, emmllhpair::PlFD, emmllhpair::PtFDL, emmllhpair::PlFDL, emmllhpair::PtFDH, emmllhpair::PlFDH, emmllhpair::DcaLH, emmllhpair::CPA, emmllhpair::CPAXY, emmllhpair::CPARZ, emmllhpair::Lxy, emmllhpair::Lz, emmllhpair::Lxyz, emmllhpair::LxyErr, emmllhpair::LzErr, emmllhpair::LxyzErr, diff --git a/PWGEM/Dilepton/Tasks/taggingHFE.cxx b/PWGEM/Dilepton/Tasks/taggingHFE.cxx index 35713b58593..fb5f97b5260 100644 --- a/PWGEM/Dilepton/Tasks/taggingHFE.cxx +++ b/PWGEM/Dilepton/Tasks/taggingHFE.cxx @@ -1762,7 +1762,7 @@ struct taggingHFE { // kaon.tpcNSigmaPi(), tofNSigmaPi, kaon.tpcNSigmaKa(), tofNSigmaKa, // kaon.tpcNSigmaPr(), tofNSigmaPr, - eKpair.mass, eKpair.ptSVL, eKpair.plSVL, eKpair.ptSVH, eKpair.plSVH, + eKpair.mass, eKpair.pt, eKpair.ptSVL, eKpair.plSVL, eKpair.ptSVH, eKpair.plSVH, eKpair.ptFD, eKpair.plFD, eKpair.ptFDL, eKpair.plFDL, eKpair.ptFDH, eKpair.plFDH, eKpair.dca2legs, eKpair.cospa, eKpair.cospaXY, eKpair.cospaRZ, eKpair.lxy, eKpair.lz, eKpair.lxyz, eKpair.lxyErr, eKpair.lzErr, eKpair.lxyzErr, @@ -1823,7 +1823,7 @@ struct taggingHFE { // kaon.tpcNSigmaPi(), tofNSigmaPi, kaon.tpcNSigmaKa(), tofNSigmaKa, // kaon.tpcNSigmaPr(), tofNSigmaPr, - eKpair.mass, eKpair.ptSVL, eKpair.plSVL, eKpair.ptSVH, eKpair.plSVH, + eKpair.mass, eKpair.pt, eKpair.ptSVL, eKpair.plSVL, eKpair.ptSVH, eKpair.plSVH, eKpair.ptFD, eKpair.plFD, eKpair.ptFDL, eKpair.plFDL, eKpair.ptFDH, eKpair.plFDH, eKpair.dca2legs, eKpair.cospa, eKpair.cospaXY, eKpair.cospaRZ, eKpair.lxy, eKpair.lz, eKpair.lxyz, eKpair.lxyErr, eKpair.lzErr, eKpair.lxyzErr, @@ -1902,7 +1902,7 @@ struct taggingHFE { RecoDecay::cpaXY(std::array{collision.posX(), collision.posY(), collision.posZ()}, std::array{v0.x(), v0.y(), v0.z()}, std::array{v0.px(), v0.py(), v0.pz()}), RecoDecay::cpaRZ(std::array{collision.posX(), collision.posY(), collision.posZ()}, std::array{v0.x(), v0.y(), v0.z()}, std::array{v0.px(), v0.py(), v0.pz()}), impactParameterV0.getY(), impactParameterV0.getZ(), impactParameterV0.getSigmaY2(), impactParameterV0.getSigmaYZ(), impactParameterV0.getSigmaZ2(), - eV0pair.mass, eV0pair.ptSVL, eV0pair.plSVL, eV0pair.ptSVH, eV0pair.plSVH, + eV0pair.mass, eV0pair.pt, eV0pair.ptSVL, eV0pair.plSVL, eV0pair.ptSVH, eV0pair.plSVH, eV0pair.ptFD, eV0pair.plFD, eV0pair.ptFDL, eV0pair.plFDL, eV0pair.ptFDH, eV0pair.plFDH, eV0pair.dca2legs, eV0pair.cospa, eV0pair.cospaXY, eV0pair.cospaRZ, eV0pair.lxy, eV0pair.lz, eV0pair.lxyz, eV0pair.lxyErr, eV0pair.lzErr, eV0pair.lxyzErr, @@ -1965,7 +1965,7 @@ struct taggingHFE { RecoDecay::cpaXY(std::array{collision.posX(), collision.posY(), collision.posZ()}, std::array{v0.x(), v0.y(), v0.z()}, std::array{v0.px(), v0.py(), v0.pz()}), RecoDecay::cpaRZ(std::array{collision.posX(), collision.posY(), collision.posZ()}, std::array{v0.x(), v0.y(), v0.z()}, std::array{v0.px(), v0.py(), v0.pz()}), impactParameterV0.getY(), impactParameterV0.getZ(), impactParameterV0.getSigmaY2(), impactParameterV0.getSigmaYZ(), impactParameterV0.getSigmaZ2(), - eV0pair.mass, eV0pair.ptSVL, eV0pair.plSVL, eV0pair.ptSVH, eV0pair.plSVH, + eV0pair.mass, eV0pair.pt, eV0pair.ptSVL, eV0pair.plSVL, eV0pair.ptSVH, eV0pair.plSVH, eV0pair.ptFD, eV0pair.plFD, eV0pair.ptFDL, eV0pair.plFDL, eV0pair.ptFDH, eV0pair.plFDH, eV0pair.dca2legs, eV0pair.cospa, eV0pair.cospaXY, eV0pair.cospaRZ, eV0pair.lxy, eV0pair.lz, eV0pair.lxyz, eV0pair.lxyErr, eV0pair.lzErr, eV0pair.lxyzErr, @@ -2033,7 +2033,7 @@ struct taggingHFE { RecoDecay::cpaXY(std::array{collision.posX(), collision.posY(), collision.posZ()}, std::array{cascade.x(), cascade.y(), cascade.z()}, std::array{cascade.px(), cascade.py(), cascade.pz()}), RecoDecay::cpaRZ(std::array{collision.posX(), collision.posY(), collision.posZ()}, std::array{cascade.x(), cascade.y(), cascade.z()}, std::array{cascade.px(), cascade.py(), cascade.pz()}), impactParameterCasc.getY(), impactParameterCasc.getZ(), impactParameterCasc.getSigmaY2(), impactParameterCasc.getSigmaYZ(), impactParameterCasc.getSigmaZ2(), - eCpair.mass, eCpair.ptSVL, eCpair.plSVL, eCpair.ptSVH, eCpair.plSVH, + eCpair.mass, eCpair.pt, eCpair.ptSVL, eCpair.plSVL, eCpair.ptSVH, eCpair.plSVH, eCpair.ptFD, eCpair.plFD, eCpair.ptFDL, eCpair.plFDL, eCpair.ptFDH, eCpair.plFDH, eCpair.dca2legs, eCpair.cospa, eCpair.cospaXY, eCpair.cospaRZ, eCpair.lxy, eCpair.lz, eCpair.lxyz, eCpair.lxyErr, eCpair.lzErr, eCpair.lxyzErr, @@ -2101,7 +2101,7 @@ struct taggingHFE { RecoDecay::cpaXY(std::array{collision.posX(), collision.posY(), collision.posZ()}, std::array{cascade.x(), cascade.y(), cascade.z()}, std::array{cascade.px(), cascade.py(), cascade.pz()}), RecoDecay::cpaRZ(std::array{collision.posX(), collision.posY(), collision.posZ()}, std::array{cascade.x(), cascade.y(), cascade.z()}, std::array{cascade.px(), cascade.py(), cascade.pz()}), impactParameterCasc.getY(), impactParameterCasc.getZ(), impactParameterCasc.getSigmaY2(), impactParameterCasc.getSigmaYZ(), impactParameterCasc.getSigmaZ2(), - eCpair.mass, eCpair.ptSVL, eCpair.plSVL, eCpair.ptSVH, eCpair.plSVH, + eCpair.mass, eCpair.pt, eCpair.ptSVL, eCpair.plSVL, eCpair.ptSVH, eCpair.plSVH, eCpair.ptFD, eCpair.plFD, eCpair.ptFDL, eCpair.plFDL, eCpair.ptFDH, eCpair.plFDH, eCpair.dca2legs, eCpair.cospa, eCpair.cospaXY, eCpair.cospaRZ, eCpair.lxy, eCpair.lz, eCpair.lxyz, eCpair.lxyErr, eCpair.lzErr, eCpair.lxyzErr, @@ -2198,7 +2198,7 @@ struct taggingHFE { // kaon.tpcNSigmaPi(), tofNSigmaPi, kaon.tpcNSigmaKa(), tofNSigmaKa, // kaon.tpcNSigmaPr(), tofNSigmaPr, - eKpair.mass, eKpair.ptSVL, eKpair.plSVL, eKpair.ptSVH, eKpair.plSVH, + eKpair.mass, eKpair.pt, eKpair.ptSVL, eKpair.plSVL, eKpair.ptSVH, eKpair.plSVH, eKpair.ptFD, eKpair.plFD, eKpair.ptFDL, eKpair.plFDL, eKpair.ptFDH, eKpair.plFDH, eKpair.dca2legs, eKpair.cospa, eKpair.cospaXY, eKpair.cospaRZ, eKpair.lxy, eKpair.lz, eKpair.lxyz, eKpair.lxyErr, eKpair.lzErr, eKpair.lxyzErr, @@ -2260,7 +2260,7 @@ struct taggingHFE { // kaon.tpcNSigmaPi(), tofNSigmaPi, kaon.tpcNSigmaKa(), tofNSigmaKa, // kaon.tpcNSigmaPr(), tofNSigmaPr, - eKpair.mass, eKpair.ptSVL, eKpair.plSVL, eKpair.ptSVH, eKpair.plSVH, + eKpair.mass, eKpair.pt, eKpair.ptSVL, eKpair.plSVL, eKpair.ptSVH, eKpair.plSVH, eKpair.ptFD, eKpair.plFD, eKpair.ptFDL, eKpair.plFDL, eKpair.ptFDH, eKpair.plFDH, eKpair.dca2legs, eKpair.cospa, eKpair.cospaXY, eKpair.cospaRZ, eKpair.lxy, eKpair.lz, eKpair.lxyz, eKpair.lxyErr, eKpair.lzErr, eKpair.lxyzErr, @@ -2338,7 +2338,7 @@ struct taggingHFE { RecoDecay::cpaXY(std::array{collision.posX(), collision.posY(), collision.posZ()}, std::array{v0.x(), v0.y(), v0.z()}, std::array{v0.px(), v0.py(), v0.pz()}), RecoDecay::cpaRZ(std::array{collision.posX(), collision.posY(), collision.posZ()}, std::array{v0.x(), v0.y(), v0.z()}, std::array{v0.px(), v0.py(), v0.pz()}), impactParameterV0.getY(), impactParameterV0.getZ(), impactParameterV0.getSigmaY2(), impactParameterV0.getSigmaYZ(), impactParameterV0.getSigmaZ2(), - eV0pair.mass, eV0pair.ptSVL, eV0pair.plSVL, eV0pair.ptSVH, eV0pair.plSVH, + eV0pair.mass, eV0pair.pt, eV0pair.ptSVL, eV0pair.plSVL, eV0pair.ptSVH, eV0pair.plSVH, eV0pair.ptFD, eV0pair.plFD, eV0pair.ptFDL, eV0pair.plFDL, eV0pair.ptFDH, eV0pair.plFDH, eV0pair.dca2legs, eV0pair.cospa, eV0pair.cospaXY, eV0pair.cospaRZ, eV0pair.lxy, eV0pair.lz, eV0pair.lxyz, eV0pair.lxyErr, eV0pair.lzErr, eV0pair.lxyzErr, @@ -2401,7 +2401,7 @@ struct taggingHFE { RecoDecay::cpaXY(std::array{collision.posX(), collision.posY(), collision.posZ()}, std::array{v0.x(), v0.y(), v0.z()}, std::array{v0.px(), v0.py(), v0.pz()}), RecoDecay::cpaRZ(std::array{collision.posX(), collision.posY(), collision.posZ()}, std::array{v0.x(), v0.y(), v0.z()}, std::array{v0.px(), v0.py(), v0.pz()}), impactParameterV0.getY(), impactParameterV0.getZ(), impactParameterV0.getSigmaY2(), impactParameterV0.getSigmaYZ(), impactParameterV0.getSigmaZ2(), - eV0pair.mass, eV0pair.ptSVL, eV0pair.plSVL, eV0pair.ptSVH, eV0pair.plSVH, + eV0pair.mass, eV0pair.pt, eV0pair.ptSVL, eV0pair.plSVL, eV0pair.ptSVH, eV0pair.plSVH, eV0pair.ptFD, eV0pair.plFD, eV0pair.ptFDL, eV0pair.plFDL, eV0pair.ptFDH, eV0pair.plFDH, eV0pair.dca2legs, eV0pair.cospa, eV0pair.cospaXY, eV0pair.cospaRZ, eV0pair.lxy, eV0pair.lz, eV0pair.lxyz, eV0pair.lxyErr, eV0pair.lzErr, eV0pair.lxyzErr, @@ -2469,7 +2469,7 @@ struct taggingHFE { RecoDecay::cpaXY(std::array{collision.posX(), collision.posY(), collision.posZ()}, std::array{cascade.x(), cascade.y(), cascade.z()}, std::array{cascade.px(), cascade.py(), cascade.pz()}), RecoDecay::cpaRZ(std::array{collision.posX(), collision.posY(), collision.posZ()}, std::array{cascade.x(), cascade.y(), cascade.z()}, std::array{cascade.px(), cascade.py(), cascade.pz()}), impactParameterCasc.getY(), impactParameterCasc.getZ(), impactParameterCasc.getSigmaY2(), impactParameterCasc.getSigmaYZ(), impactParameterCasc.getSigmaZ2(), - eCpair.mass, eCpair.ptSVL, eCpair.plSVL, eCpair.ptSVH, eCpair.plSVH, + eCpair.mass, eCpair.pt, eCpair.ptSVL, eCpair.plSVL, eCpair.ptSVH, eCpair.plSVH, eCpair.ptFD, eCpair.plFD, eCpair.ptFDL, eCpair.plFDL, eCpair.ptFDH, eCpair.plFDH, eCpair.dca2legs, eCpair.cospa, eCpair.cospaXY, eCpair.cospaRZ, eCpair.lxy, eCpair.lz, eCpair.lxyz, eCpair.lxyErr, eCpair.lzErr, eCpair.lxyzErr, @@ -2537,7 +2537,7 @@ struct taggingHFE { RecoDecay::cpaXY(std::array{collision.posX(), collision.posY(), collision.posZ()}, std::array{cascade.x(), cascade.y(), cascade.z()}, std::array{cascade.px(), cascade.py(), cascade.pz()}), RecoDecay::cpaRZ(std::array{collision.posX(), collision.posY(), collision.posZ()}, std::array{cascade.x(), cascade.y(), cascade.z()}, std::array{cascade.px(), cascade.py(), cascade.pz()}), impactParameterCasc.getY(), impactParameterCasc.getZ(), impactParameterCasc.getSigmaY2(), impactParameterCasc.getSigmaYZ(), impactParameterCasc.getSigmaZ2(), - eCpair.mass, eCpair.ptSVL, eCpair.plSVL, eCpair.ptSVH, eCpair.plSVH, + eCpair.mass, eCpair.pt, eCpair.ptSVL, eCpair.plSVL, eCpair.ptSVH, eCpair.plSVH, eCpair.ptFD, eCpair.plFD, eCpair.ptFDL, eCpair.plFDL, eCpair.ptFDH, eCpair.plFDH, eCpair.dca2legs, eCpair.cospa, eCpair.cospaXY, eCpair.cospaRZ, eCpair.lxy, eCpair.lz, eCpair.lxyz, eCpair.lxyErr, eCpair.lzErr, eCpair.lxyzErr, diff --git a/PWGEM/Dilepton/Utils/SemiCharmTag.h b/PWGEM/Dilepton/Utils/SemiCharmTag.h index a174ca3fedc..10aa317ec58 100644 --- a/PWGEM/Dilepton/Utils/SemiCharmTag.h +++ b/PWGEM/Dilepton/Utils/SemiCharmTag.h @@ -35,6 +35,7 @@ namespace o2::aod::pwgem::dilepton::utils struct LHPair { // struct to store electron-hadron pair information float mass{-999.f}; + float pt{-999.f}; float dca2legs{-999.f}; float cospa{-999.f}; float cospaXY{-999.f}; @@ -167,6 +168,7 @@ LHPair makePairLeptonTrack(TFitter& fitter, TCollision const& collision, TLepton ROOT::Math::PxPyPzMVector v2(pvec1[0], pvec1[1], pvec1[2], o2::constants::physics::MassKaonCharged); ROOT::Math::PxPyPzMVector v12 = v1 + v2; pair.mass = v12.M(); + pair.pt = v12.Pt(); // float tmp = v12.P() * std::sin(std::acos(pair.cospa)); // LOGF(info, "pair.ptFD = %f, tmp = %f", pair.ptFD, tmp); @@ -293,6 +295,7 @@ LHPair makePairLeptonV0(TFitter& fitter, TCollision const& collision, TLepton co ROOT::Math::PxPyPzMVector v12 = v1 + v2; pair.mass = v12.M(); + pair.pt = v12.Pt(); pair.isOK = true; return pair; @@ -420,6 +423,7 @@ LHPair makePairLeptonCascade(TFitter& fitter, TCollision const& collision, TLept ROOT::Math::PxPyPzMVector v12 = v1 + v2; pair.mass = v12.M(); + pair.pt = v12.Pt(); pair.isOK = true; return pair;