diff --git a/PWGEM/Dilepton/DataModel/lmeeMLTables.h b/PWGEM/Dilepton/DataModel/lmeeMLTables.h index c6ffc2bb93c..c3d67aed178 100644 --- a/PWGEM/Dilepton/DataModel/lmeeMLTables.h +++ b/PWGEM/Dilepton/DataModel/lmeeMLTables.h @@ -260,6 +260,8 @@ DECLARE_SOA_COLUMN(CascadeType, cascadeType, uint8_t); //! cascade type, 0 = XiM DECLARE_SOA_COLUMN(MassLH, massLH, float); //! invariant mass of LH assuming kaon DECLARE_SOA_COLUMN(PtLH, ptLH, float); //! pt of LH DECLARE_SOA_COLUMN(PLH, pLH, float); //! p of LH +DECLARE_SOA_COLUMN(DEtaLH, dEtaLH, float); //! deta between LH at SV +DECLARE_SOA_COLUMN(DPhiLH, dPhiLH, float); //! dphi between LH at SV DECLARE_SOA_COLUMN(PtSVL, ptSVL, float); //! pT of lepton at SV // DECLARE_SOA_COLUMN(PlSVL, plSVL, float); //! pL of lepton at SV @@ -305,7 +307,7 @@ DECLARE_SOA_TABLE(EMMLLTPairs, "AOD", "EMMLLTPAIR", //! // pidtpc::TPCNSigmaPi, pidtof::TOFNSigmaPi, pidtpc::TPCNSigmaKa, pidtof::TOFNSigmaKa, // pidtpc::TPCNSigmaPr, pidtof::TOFNSigmaPr, - emmllhpair::MassLH, emmllhpair::PLH, + emmllhpair::MassLH, emmllhpair::PLH, emmllhpair::DEtaLH, emmllhpair::DPhiLH, // emmllhpair::PtSVL, emmllhpair::PtSVH, emmllhpair::PtFD, emmllhpair::PlFD, emmllhpair::Chi2PCA, emmllhpair::CPA, emmllhpair::CPAXY, emmllhpair::CPARZ, emmllhpair::Lxy, emmllhpair::Lz, emmllhpair::Lxyz, emmllhpair::LxyErr, emmllhpair::LzErr, emmllhpair::LxyzErr, @@ -319,7 +321,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::PLH, + emmllhpair::MassLH, emmllhpair::PLH, emmllhpair::DEtaLH, emmllhpair::DPhiLH, // emmllhpair::PtSVL, emmllhpair::PtSVH, emmllhpair::PtFD, emmllhpair::PlFD, emmllhpair::Chi2PCA, emmllhpair::CPA, emmllhpair::CPAXY, emmllhpair::CPARZ, emmllhpair::Lxy, emmllhpair::Lz, emmllhpair::Lxyz, emmllhpair::LxyErr, emmllhpair::LzErr, emmllhpair::LxyzErr, @@ -333,7 +335,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::PLH, + emmllhpair::MassLH, emmllhpair::PLH, emmllhpair::DEtaLH, emmllhpair::DPhiLH, // emmllhpair::PtSVL, emmllhpair::PtSVH, emmllhpair::PtFD, emmllhpair::PlFD, emmllhpair::Chi2PCA, 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 9ed7bd73aae..52490df74ec 100644 --- a/PWGEM/Dilepton/Tasks/taggingHFE.cxx +++ b/PWGEM/Dilepton/Tasks/taggingHFE.cxx @@ -1770,7 +1770,7 @@ struct taggingHFE { // kaon.tpcNSigmaPi(), tofNSigmaPi, kaon.tpcNSigmaKa(), tofNSigmaKa, // kaon.tpcNSigmaPr(), tofNSigmaPr, - eKpair.mass, eKpair.p, + eKpair.mass, eKpair.p, eKpair.deta, eKpair.dphi, // eKpair.ptSVL, eKpair.ptSVH, eKpair.ptFD, eKpair.plFD, eKpair.chi2PCA, eKpair.cospa, eKpair.cospaXY, eKpair.cospaRZ, eKpair.lxy, eKpair.lz, eKpair.lxyz, eKpair.lxyErr, eKpair.lzErr, eKpair.lxyzErr, @@ -1831,7 +1831,7 @@ struct taggingHFE { // kaon.tpcNSigmaPi(), tofNSigmaPi, kaon.tpcNSigmaKa(), tofNSigmaKa, // kaon.tpcNSigmaPr(), tofNSigmaPr, - eKpair.mass, eKpair.p, + eKpair.mass, eKpair.p, eKpair.deta, eKpair.dphi, // eKpair.ptSVL, eKpair.ptSVH, eKpair.ptFD, eKpair.plFD, eKpair.chi2PCA, eKpair.cospa, eKpair.cospaXY, eKpair.cospaRZ, eKpair.lxy, eKpair.lz, eKpair.lxyz, eKpair.lxyErr, eKpair.lzErr, eKpair.lxyzErr, @@ -1910,7 +1910,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.p, + eV0pair.mass, eV0pair.p, eV0pair.deta, eV0pair.dphi, // eV0pair.ptSVL, eV0pair.ptSVH, eV0pair.ptFD, eV0pair.plFD, eV0pair.chi2PCA, eV0pair.cospa, eV0pair.cospaXY, eV0pair.cospaRZ, eV0pair.lxy, eV0pair.lz, eV0pair.lxyz, eV0pair.lxyErr, eV0pair.lzErr, eV0pair.lxyzErr, @@ -1973,7 +1973,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.p, + eV0pair.mass, eV0pair.p, eV0pair.deta, eV0pair.dphi, // eV0pair.ptSVL, eV0pair.ptSVH, eV0pair.ptFD, eV0pair.plFD, eV0pair.chi2PCA, eV0pair.cospa, eV0pair.cospaXY, eV0pair.cospaRZ, eV0pair.lxy, eV0pair.lz, eV0pair.lxyz, eV0pair.lxyErr, eV0pair.lzErr, eV0pair.lxyzErr, @@ -2041,7 +2041,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.p, + eCpair.mass, eCpair.p, eCpair.deta, eCpair.dphi, // eCpair.ptSVL, eCpair.ptSVH, eCpair.ptFD, eCpair.plFD, eCpair.chi2PCA, eCpair.cospa, eCpair.cospaXY, eCpair.cospaRZ, eCpair.lxy, eCpair.lz, eCpair.lxyz, eCpair.lxyErr, eCpair.lzErr, eCpair.lxyzErr, @@ -2109,7 +2109,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.p, + eCpair.mass, eCpair.p, eCpair.deta, eCpair.dphi, // eCpair.ptSVL, eCpair.ptSVH, eCpair.ptFD, eCpair.plFD, eCpair.chi2PCA, eCpair.cospa, eCpair.cospaXY, eCpair.cospaRZ, eCpair.lxy, eCpair.lz, eCpair.lxyz, eCpair.lxyErr, eCpair.lzErr, eCpair.lxyzErr, @@ -2206,7 +2206,7 @@ struct taggingHFE { // kaon.tpcNSigmaPi(), tofNSigmaPi, kaon.tpcNSigmaKa(), tofNSigmaKa, // kaon.tpcNSigmaPr(), tofNSigmaPr, - eKpair.mass, eKpair.p, + eKpair.mass, eKpair.p, eKpair.deta, eKpair.dphi, // eKpair.ptSVL, eKpair.ptSVH, eKpair.ptFD, eKpair.plFD, eKpair.chi2PCA, eKpair.cospa, eKpair.cospaXY, eKpair.cospaRZ, eKpair.lxy, eKpair.lz, eKpair.lxyz, eKpair.lxyErr, eKpair.lzErr, eKpair.lxyzErr, @@ -2268,7 +2268,7 @@ struct taggingHFE { // kaon.tpcNSigmaPi(), tofNSigmaPi, kaon.tpcNSigmaKa(), tofNSigmaKa, // kaon.tpcNSigmaPr(), tofNSigmaPr, - eKpair.mass, eKpair.p, + eKpair.mass, eKpair.p, eKpair.deta, eKpair.dphi, // eKpair.ptSVL, eKpair.ptSVH, eKpair.ptFD, eKpair.plFD, eKpair.chi2PCA, eKpair.cospa, eKpair.cospaXY, eKpair.cospaRZ, eKpair.lxy, eKpair.lz, eKpair.lxyz, eKpair.lxyErr, eKpair.lzErr, eKpair.lxyzErr, @@ -2346,7 +2346,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.p, + eV0pair.mass, eV0pair.p, eV0pair.deta, eV0pair.dphi, // eV0pair.ptSVL, eV0pair.ptSVH, eV0pair.ptFD, eV0pair.plFD, eV0pair.chi2PCA, eV0pair.cospa, eV0pair.cospaXY, eV0pair.cospaRZ, eV0pair.lxy, eV0pair.lz, eV0pair.lxyz, eV0pair.lxyErr, eV0pair.lzErr, eV0pair.lxyzErr, @@ -2409,7 +2409,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.p, + eV0pair.mass, eV0pair.p, eV0pair.deta, eV0pair.dphi, // eV0pair.ptSVL, eV0pair.ptSVH, eV0pair.ptFD, eV0pair.plFD, eV0pair.chi2PCA, eV0pair.cospa, eV0pair.cospaXY, eV0pair.cospaRZ, eV0pair.lxy, eV0pair.lz, eV0pair.lxyz, eV0pair.lxyErr, eV0pair.lzErr, eV0pair.lxyzErr, @@ -2477,7 +2477,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.p, + eCpair.mass, eCpair.p, eCpair.deta, eCpair.dphi, // eCpair.ptSVL, eCpair.ptSVH, eCpair.ptFD, eCpair.plFD, eCpair.chi2PCA, eCpair.cospa, eCpair.cospaXY, eCpair.cospaRZ, eCpair.lxy, eCpair.lz, eCpair.lxyz, eCpair.lxyErr, eCpair.lzErr, eCpair.lxyzErr, @@ -2545,7 +2545,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.p, + eCpair.mass, eCpair.p, eCpair.deta, eCpair.dphi, // eCpair.ptSVL, eCpair.ptSVH, eCpair.ptFD, eCpair.plFD, eCpair.chi2PCA, 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 d390940398a..8f3610e1e23 100644 --- a/PWGEM/Dilepton/Utils/SemiCharmTag.h +++ b/PWGEM/Dilepton/Utils/SemiCharmTag.h @@ -37,6 +37,8 @@ struct LHPair { // struct to store electron-hadron pair information float mass{-999.f}; float pt{-999.f}; float p{-999.f}; + float deta{-999.f}; + float dphi{-999.f}; float dca2legs{-999.f}; float chi2PCA{-999.f}; float cospa{-999.f}; @@ -173,7 +175,8 @@ LHPair makePairLeptonTrack(TFitter& fitter, TCollision const& collision, TLepton pair.mass = v12.M(); pair.pt = v12.Pt(); pair.p = v12.P(); - + pair.deta = v1.Eta() - v2.Eta(); // lepton - hadron + pair.dphi = RecoDecay::constrainAngle(RecoDecay::constrainAngle(v1.Phi(), 0, 1U) - RecoDecay::constrainAngle(v2.Phi(), 0, 1U), -M_PI / 2, 1U); // lepton - hadron pair.isOK = true; return pair; } @@ -299,6 +302,8 @@ LHPair makePairLeptonV0(TFitter& fitter, TCollision const& collision, TLepton co pair.mass = v12.M(); pair.pt = v12.Pt(); pair.p = v12.P(); + pair.deta = v1.Eta() - v2.Eta(); // lepton - hadron + pair.dphi = RecoDecay::constrainAngle(RecoDecay::constrainAngle(v1.Phi(), 0, 1U) - RecoDecay::constrainAngle(v2.Phi(), 0, 1U), -M_PI / 2, 1U); // lepton - hadron pair.isOK = true; return pair; @@ -429,6 +434,8 @@ LHPair makePairLeptonCascade(TFitter& fitter, TCollision const& collision, TLept pair.mass = v12.M(); pair.pt = v12.Pt(); pair.p = v12.P(); + pair.deta = v1.Eta() - v2.Eta(); // lepton - hadron + pair.dphi = RecoDecay::constrainAngle(RecoDecay::constrainAngle(v1.Phi(), 0, 1U) - RecoDecay::constrainAngle(v2.Phi(), 0, 1U), -M_PI / 2, 1U); // lepton - hadron pair.isOK = true; return pair;