@@ -98,7 +98,10 @@ namespace o2::aod
9898namespace hf_cand_ds_mini
9999{
100100DECLARE_SOA_COLUMN (Pt, pt, float ); // ! Transverse momentum of D-meson candidate (GeV/c)
101- DECLARE_SOA_COLUMN (M, m, float ); // ! Invariant mass of D-meson candidates (GeV/c)
101+ DECLARE_SOA_COLUMN (M, m, float ); // ! Invariant mass of D-meson candidates (GeV/c2)
102+ DECLARE_SOA_COLUMN (MassKaKa, massKaKa, float ); // ! Invariant mass of kaon pairs (GeV/c2)
103+ DECLARE_SOA_COLUMN (MassKaFirstPi, massKaFirstPi, float ); // ! Invariant mass of kaon(first) pion (GeV/c2)
104+ DECLARE_SOA_COLUMN (MassKaSecondPi, massKaSecondPi, float ); // ! Invariant mass of kaon(second) pion (GeV/c2)
102105DECLARE_SOA_COLUMN (Centrality, centrality, float ); // ! Centrality of collision
103106DECLARE_SOA_COLUMN (ImpactParameter, impactParameter, float ); // ! Impact parameter of D-meson candidate
104107DECLARE_SOA_COLUMN (ImpactParameterMc, impactParameterMc, float ); // ! Generated impact parameter of D-meson candidate
@@ -114,6 +117,11 @@ DECLARE_SOA_TABLE(HfCandDsMinis, "AOD", "HFDSMINI", //! Table with few Ds proper
114117 hf_cand_ds_mini::Pt,
115118 hf_cand_ds_mini::Centrality);
116119
120+ DECLARE_SOA_TABLE (HfCandDsMassMinis, " AOD" , " HFDSMASSMINI" , // ! Table with Ds 2-prong masses
121+ hf_cand_ds_mini::MassKaKa,
122+ hf_cand_ds_mini::MassKaFirstPi,
123+ hf_cand_ds_mini::MassKaSecondPi);
124+
117125DECLARE_SOA_TABLE (HfCandDsDlMinis, " AOD" , " HFDSDLMINI" , // ! Table with decay length Ds properties
118126 hf_cand_ds_mini::DecayLength,
119127 hf_cand_ds_mini::DecayLengthXY,
@@ -142,6 +150,7 @@ concept HasDsMlInfo = requires(T candidate) {
142150// / Ds± analysis task
143151struct HfTaskDs {
144152 Produces<aod::HfCandDsMinis> hfCandDsMinis;
153+ Produces<aod::HfCandDsMassMinis> hfCandDsMassMinis;
145154 Produces<aod::HfCandDsDlMinis> hfCandDsDlMinis;
146155 Produces<aod::HfCandDsD0Minis> hfCandDsD0Minis;
147156 Produces<aod::HfCandDsMcMinis> hfCandDsMcMinis;
@@ -592,10 +601,22 @@ struct HfTaskDs {
592601 template <typename Coll, typename Cand>
593602 void fillMiniTrees (const Cand& candidate, FinalState finalState)
594603 {
595- auto mass = finalState == FinalState::KKPi ? HfHelper::invMassDsToKKPi (candidate) : HfHelper::invMassDsToPiKK (candidate);
604+ float mass{-1 .f }, massKaKa{-1 .f }, massKaFirstPi{-1 .f }, massKaSecondPi{-1 .f };
605+ if (finalState == FinalState::KKPi) {
606+ mass = HfHelper::invMassDsToKKPi (candidate);
607+ massKaKa = HfHelper::massKKPairDsToKKPi (candidate);
608+ massKaFirstPi = massKFirstPiPairDsToKKPi (candidate);
609+ massKaSecondPi = massKSecondPiPairDsToKKPi (candidate);
610+ } else {
611+ mass = HfHelper::invMassDsToPiKK (candidate);
612+ massKaKa = HfHelper::massKKPairDsToPiKK (candidate);
613+ massKaFirstPi = massKFirstPiPairDsToPiKK (candidate);
614+ massKaSecondPi = massKSecondPiPairDsToPiKK (candidate);
615+ }
596616 auto pt = candidate.pt ();
597617
598618 hfCandDsMinis (mass, pt, evaluateCentralityCand<Coll>(candidate));
619+ hfCandDsMassMinis (mass, massKaKa, massKaFirstPi, massKaSecondPi);
599620 if (miniTrees.extendWithDecayLength ) {
600621 hfCandDsDlMinis (candidate.decayLength (), candidate.decayLengthXY (), candidate.decayLengthNormalised (), candidate.decayLengthXYNormalised ());
601622 }
@@ -607,10 +628,22 @@ struct HfTaskDs {
607628 template <typename Coll, typename Cand>
608629 void fillMiniTreesMc (const Cand& candidate, DataType dataType, FinalState finalState, const CandDsMcGen& mcParticles, int indexMother)
609630 {
610- auto mass = finalState == FinalState::KKPi ? HfHelper::invMassDsToKKPi (candidate) : HfHelper::invMassDsToPiKK (candidate);
631+ float mass{-1 .f }, massKaKa{-1 .f }, massKaFirstPi{-1 .f }, massKaSecondPi{-1 .f };
632+ if (finalState == FinalState::KKPi) {
633+ mass = HfHelper::invMassDsToKKPi (candidate);
634+ massKaKa = HfHelper::massKKPairDsToKKPi (candidate);
635+ massKaFirstPi = massKFirstPiPairDsToKKPi (candidate);
636+ massKaSecondPi = massKSecondPiPairDsToKKPi (candidate);
637+ } else {
638+ mass = HfHelper::invMassDsToPiKK (candidate);
639+ massKaKa = HfHelper::massKKPairDsToPiKK (candidate);
640+ massKaFirstPi = massKFirstPiPairDsToPiKK (candidate);
641+ massKaSecondPi = massKSecondPiPairDsToPiKK (candidate);
642+ }
611643 auto pt = candidate.pt ();
612644
613645 hfCandDsMinis (mass, pt, evaluateCentralityCand<Coll>(candidate));
646+ hfCandDsMassMinis (mass, massKaKa, massKaFirstPi, massKaSecondPi);
614647 if (miniTrees.extendWithDecayLength ) {
615648 hfCandDsDlMinis (candidate.decayLength (), candidate.decayLengthXY (), candidate.decayLengthNormalised (), candidate.decayLengthXYNormalised ());
616649 }
0 commit comments