Skip to content

Commit e8ac079

Browse files
monamelopvkucera
andauthored
[PWGHF] Support generator-only derived data without MC centrality (#18557)
Co-authored-by: Vít Kučera <26327373+vkucera@users.noreply.github.com>
1 parent 5727b9e commit e8ac079

3 files changed

Lines changed: 10 additions & 3 deletions

File tree

‎PWGHF/TableProducer/derivedDataCreatorD0ToKPi.cxx‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ struct HfDerivedDataCreatorD0ToKPi {
105105
using SelectedCandidatesMcKfMl = soa::Filtered<soa::Join<aod::HfCand2ProngWPid, aod::HfCand2ProngKF, aod::HfCand2ProngMcRec, aod::HfSelD0, aod::HfMlD0>>;
106106
using MatchedGenCandidatesMc = soa::Filtered<soa::Join<aod::McParticles, aod::HfCand2ProngMcGen>>;
107107
using TypeMcCollisions = soa::Join<aod::McCollisions, aod::McCentFT0Ms>;
108+
using TypeMcGenCollisions = aod::McCollisions;
108109

109110
Filter filterSelectCandidates = aod::hf_sel_candidate_d0::isSelD0 >= 1 || aod::hf_sel_candidate_d0::isSelD0bar >= 1;
110111
Filter filterMcGenMatching = (nabs(aod::hf_cand_mc_flag::flagMcMatchGen) == static_cast<int8_t>(o2::hf_decay::hf_cand_2prong::DecayChannelMain::D0ToPiK)) || (acceptCorrelatedBkgs && aod::hf_cand_mc_flag::flagMcMatchGen != 0);
@@ -533,7 +534,7 @@ struct HfDerivedDataCreatorD0ToKPi {
533534
}
534535
PROCESS_SWITCH(HfDerivedDataCreatorD0ToKPi, processMcWithKFParticleMlAll, "Process MC with KFParticle and ML", false);
535536

536-
void processMcGenOnly(TypeMcCollisions const& mcCollisions,
537+
void processMcGenOnly(TypeMcGenCollisions const& mcCollisions,
537538
MatchedGenCandidatesMc const& mcParticles)
538539
{
539540
rowsCommon.processMcParticles(mcCollisions, mcParticlesPerMcCollision, mcParticles, Mass);

‎PWGHF/TableProducer/derivedDataCreatorDsToKKPi.cxx‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ struct HfDerivedDataCreatorDsToKKPi {
100100
using SelectedCandidatesMcMl = soa::Filtered<soa::Join<aod::HfCand3ProngWPidPiKa, aod::HfCand3ProngMcRec, aod::HfSelDsToKKPi, aod::HfMlDsToKKPi>>;
101101
using MatchedGenCandidatesMc = soa::Filtered<soa::Join<aod::McParticles, aod::HfCand3ProngMcGen>>;
102102
using TypeMcCollisions = soa::Join<aod::McCollisions, aod::McCentFT0Ms>;
103+
using TypeMcGenCollisions = aod::McCollisions;
103104

104105
Filter filterSelectCandidates = (aod::hf_sel_candidate_ds::isSelDsToKKPi & static_cast<int>(BIT(aod::SelectionStep::RecoMl - 1))) != 0 || (aod::hf_sel_candidate_ds::isSelDsToPiKK & static_cast<int>(BIT(aod::SelectionStep::RecoMl - 1))) != 0; // select candidates which passed all cuts at least up to RecoMl - 1
105106
Filter filterMcGenMatching = (nabs(aod::hf_cand_mc_flag::flagMcMatchGen) == static_cast<int8_t>(hf_decay::hf_cand_3prong::DecayChannelMain::DsToPiKK)) || (acceptCorrelatedBkgs && aod::hf_cand_mc_flag::flagMcMatchGen != 0);
@@ -411,7 +412,7 @@ struct HfDerivedDataCreatorDsToKKPi {
411412
}
412413
PROCESS_SWITCH(HfDerivedDataCreatorDsToKKPi, processMcMlAll, "Process MC with ML", false);
413414

414-
void processMcGenOnly(TypeMcCollisions const& mcCollisions,
415+
void processMcGenOnly(TypeMcGenCollisions const& mcCollisions,
415416
MatchedGenCandidatesMc const& mcParticles)
416417
{
417418
rowsCommon.processMcParticles(mcCollisions, mcParticlesPerMcCollision, mcParticles, Mass);

‎PWGHF/Utils/utilsDerivedData.h‎

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,11 +168,16 @@ struct HfProducesDerivedData : o2::framework::ProducesGroup {
168168
void fillTablesMcCollision(TMcCollision const& mcCollision)
169169
{
170170
if (conf->fillMcCollBase.value) {
171+
float centFT0M{-1.f}; // Input without centrality: e.g. generator-only
172+
if constexpr (requires { mcCollision.centFT0M(); }) {
173+
// MC general: input includes centrality
174+
centFT0M = mcCollision.centFT0M();
175+
}
171176
rowMcCollBase(
172177
mcCollision.posX(),
173178
mcCollision.posY(),
174179
mcCollision.posZ(),
175-
mcCollision.centFT0M());
180+
centFT0M);
176181
}
177182
if (conf->fillMcCollId.value) {
178183
rowMcCollId(

0 commit comments

Comments
 (0)