From 52b0366156e868274dc9154035d1d4216e27afc0 Mon Sep 17 00:00:00 2001 From: marcellocosti Date: Sat, 16 Aug 2025 09:43:19 +0200 Subject: [PATCH 1/3] Fixes to B0 to D* workflow --- PWGHF/D2H/TableProducer/dataCreatorCharmHadPiReduced.cxx | 8 ++++++-- PWGHF/D2H/Tasks/taskB0Reduced.cxx | 6 +++--- PWGHF/D2H/Tasks/taskBsReduced.cxx | 2 +- PWGHF/DataModel/CandidateReconstructionTables.h | 4 +++- 4 files changed, 13 insertions(+), 7 deletions(-) diff --git a/PWGHF/D2H/TableProducer/dataCreatorCharmHadPiReduced.cxx b/PWGHF/D2H/TableProducer/dataCreatorCharmHadPiReduced.cxx index 8b38982c477..9734cf40148 100644 --- a/PWGHF/D2H/TableProducer/dataCreatorCharmHadPiReduced.cxx +++ b/PWGHF/D2H/TableProducer/dataCreatorCharmHadPiReduced.cxx @@ -1241,7 +1241,7 @@ struct HfDataCreatorCharmHadPiReduced { trackParCov1.propagateTo(secondaryVertexCharm[0], bz); df2.getTrack(0).getPxPyPzGlo(pVec0); df2.getTrack(1).getPxPyPzGlo(pVec1); - pVecCharm = RecoDecay::pVec(pVec0, pVec1); + pVecCharm = RecoDecay::pVec(pVec0, pVec1, pVec2); trackParCovCharmHad = df2.createParentTrackParCov(); trackParCovCharmHad.setAbsCharge(0); // to be sure } @@ -1279,7 +1279,7 @@ struct HfDataCreatorCharmHadPiReduced { } // reject pi D with same sign as D - if constexpr (decChannel == DecayChannel::B0ToDminusPi || decChannel == DecayChannel::BsToDsminusPi || decChannel == DecayChannel::LbToLcplusPi || decChannel == DecayChannel::B0ToDstarPi) { // D∓ → π∓ K± π∓ and Ds∓ → K∓ K± π∓ and Lc∓ → p∓ K± π∓ and D*+ → D0 π+ + if constexpr (decChannel == DecayChannel::B0ToDminusPi || decChannel == DecayChannel::BsToDsminusPi || decChannel == DecayChannel::LbToLcplusPi) { // D∓ → π∓ K± π∓ and Ds∓ → K∓ K± π∓ and Lc∓ → p∓ K± π∓ if (trackPion.sign() * charmHadDauTracks[0].sign() > 0) { continue; } @@ -1287,6 +1287,10 @@ struct HfDataCreatorCharmHadPiReduced { if (!((candC.isSelD0() >= hfflagConfigurations.selectionFlagD0 && trackPion.sign() < 0) || (candC.isSelD0bar() >= hfflagConfigurations.selectionFlagD0bar && trackPion.sign() > 0))) { continue; } + } else if constexpr (decChannel == DecayChannel::B0ToDstarPi) { // D*+ → D0 π+ + if (trackPion.sign() * charmHadDauTracks.back().sign() > 0) { + continue; + } } // apply selections on pion tracks diff --git a/PWGHF/D2H/Tasks/taskB0Reduced.cxx b/PWGHF/D2H/Tasks/taskB0Reduced.cxx index e79e77278fb..fefbd739f11 100644 --- a/PWGHF/D2H/Tasks/taskB0Reduced.cxx +++ b/PWGHF/D2H/Tasks/taskB0Reduced.cxx @@ -616,7 +616,7 @@ struct HfTaskB0Reduced { candidate.decayLengthXY(), candidate.decayLengthNormalised(), candidate.decayLengthXYNormalised(), - candidate.impactParameterProngSqSum(), + candidate.impactParameterProduct(), candidate.maxNormalisedDeltaIP(), candidateMlScoreSig, candidate.isSelB0ToDPi(), @@ -644,12 +644,12 @@ struct HfTaskB0Reduced { prong0MlScorePrompt, prong0MlScoreNonprompt, // pion features - candidate.ptProng1(), + candidate.ptProng2(), std::abs(RecoDecay::eta(prongBachPi.pVector())), prongBachPi.itsNCls(), prongBachPi.tpcNClsCrossedRows(), prongBachPi.tpcChi2NCl(), - candidate.impactParameter1(), + candidate.impactParameter2(), prongBachPi.tpcNSigmaPi(), prongBachPi.tofNSigmaPi(), prongBachPi.tpcTofNSigmaPi(), diff --git a/PWGHF/D2H/Tasks/taskBsReduced.cxx b/PWGHF/D2H/Tasks/taskBsReduced.cxx index 098814b8e37..a5425c1d15c 100644 --- a/PWGHF/D2H/Tasks/taskBsReduced.cxx +++ b/PWGHF/D2H/Tasks/taskBsReduced.cxx @@ -104,7 +104,7 @@ DECLARE_SOA_COLUMN(E, e, float); //! Energy of candidate (GeV) } // namespace hf_cand_bs_lite DECLARE_SOA_TABLE(HfRedCandBsLites, "AOD", "HFREDCANDBSLITE", //! Table with some Bs properties - // B meson features + // B meson features hf_cand_bs_lite::M, hf_cand_bs_lite::Pt, hf_cand_bs_lite::Eta, diff --git a/PWGHF/DataModel/CandidateReconstructionTables.h b/PWGHF/DataModel/CandidateReconstructionTables.h index 9fddeb3551d..c24c9badbc3 100644 --- a/PWGHF/DataModel/CandidateReconstructionTables.h +++ b/PWGHF/DataModel/CandidateReconstructionTables.h @@ -2257,7 +2257,8 @@ DECLARE_SOA_TABLE(HfCandB0Base, "AOD", "HFCANDB0BASE", DECLARE_SOA_TABLE(HfCandB0DStar, "AOD", "HFCANDB0DSTAR", // general columns HFCAND_COLUMNS, - /* prong 2 */ hf_cand::ImpactParameterNormalised2, + /* prong 2 */ + hf_cand::ImpactParameterNormalised2, hf_cand::PtProng2, hf_cand::Pt2Prong2, hf_cand::PVectorProng2, @@ -2270,6 +2271,7 @@ DECLARE_SOA_TABLE(HfCandB0DStar, "AOD", "HFCANDB0DSTAR", /* dynamic columns */ hf_cand_3prong::M, hf_cand_3prong::M2, + hf_cand_2prong::ImpactParameterProduct, hf_cand_3prong::ImpactParameterProngSqSum, /* dynamic columns that use candidate momentum components */ hf_cand::Pt, From 8d2542062960977efa36bba97f7ea927c18b3017 Mon Sep 17 00:00:00 2001 From: marcellocosti Date: Mon, 25 Aug 2025 16:46:56 +0200 Subject: [PATCH 2/3] Dummy commit --- PWGHF/D2H/TableProducer/dataCreatorCharmHadPiReduced.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PWGHF/D2H/TableProducer/dataCreatorCharmHadPiReduced.cxx b/PWGHF/D2H/TableProducer/dataCreatorCharmHadPiReduced.cxx index 9734cf40148..d27d3f267ec 100644 --- a/PWGHF/D2H/TableProducer/dataCreatorCharmHadPiReduced.cxx +++ b/PWGHF/D2H/TableProducer/dataCreatorCharmHadPiReduced.cxx @@ -1287,7 +1287,7 @@ struct HfDataCreatorCharmHadPiReduced { if (!((candC.isSelD0() >= hfflagConfigurations.selectionFlagD0 && trackPion.sign() < 0) || (candC.isSelD0bar() >= hfflagConfigurations.selectionFlagD0bar && trackPion.sign() > 0))) { continue; } - } else if constexpr (decChannel == DecayChannel::B0ToDstarPi) { // D*+ → D0 π+ + } else if constexpr (decChannel == DecayChannel::B0ToDstarPi) { // D*+ → D0 π+ if (trackPion.sign() * charmHadDauTracks.back().sign() > 0) { continue; } From ae242f76823d379701da9b133520282a7a88d607 Mon Sep 17 00:00:00 2001 From: ALICE Action Bot Date: Mon, 25 Aug 2025 14:49:33 +0000 Subject: [PATCH 3/3] Please consider the following formatting changes --- PWGHF/D2H/TableProducer/dataCreatorCharmHadPiReduced.cxx | 2 +- PWGHF/D2H/Tasks/taskBsReduced.cxx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/PWGHF/D2H/TableProducer/dataCreatorCharmHadPiReduced.cxx b/PWGHF/D2H/TableProducer/dataCreatorCharmHadPiReduced.cxx index d27d3f267ec..9734cf40148 100644 --- a/PWGHF/D2H/TableProducer/dataCreatorCharmHadPiReduced.cxx +++ b/PWGHF/D2H/TableProducer/dataCreatorCharmHadPiReduced.cxx @@ -1287,7 +1287,7 @@ struct HfDataCreatorCharmHadPiReduced { if (!((candC.isSelD0() >= hfflagConfigurations.selectionFlagD0 && trackPion.sign() < 0) || (candC.isSelD0bar() >= hfflagConfigurations.selectionFlagD0bar && trackPion.sign() > 0))) { continue; } - } else if constexpr (decChannel == DecayChannel::B0ToDstarPi) { // D*+ → D0 π+ + } else if constexpr (decChannel == DecayChannel::B0ToDstarPi) { // D*+ → D0 π+ if (trackPion.sign() * charmHadDauTracks.back().sign() > 0) { continue; } diff --git a/PWGHF/D2H/Tasks/taskBsReduced.cxx b/PWGHF/D2H/Tasks/taskBsReduced.cxx index a5425c1d15c..098814b8e37 100644 --- a/PWGHF/D2H/Tasks/taskBsReduced.cxx +++ b/PWGHF/D2H/Tasks/taskBsReduced.cxx @@ -104,7 +104,7 @@ DECLARE_SOA_COLUMN(E, e, float); //! Energy of candidate (GeV) } // namespace hf_cand_bs_lite DECLARE_SOA_TABLE(HfRedCandBsLites, "AOD", "HFREDCANDBSLITE", //! Table with some Bs properties - // B meson features + // B meson features hf_cand_bs_lite::M, hf_cand_bs_lite::Pt, hf_cand_bs_lite::Eta,