diff --git a/PWGHF/D2H/Tasks/taskOmegac0ToOmegapi.cxx b/PWGHF/D2H/Tasks/taskOmegac0ToOmegapi.cxx index 75eaec9a57e..7142b2d2e49 100644 --- a/PWGHF/D2H/Tasks/taskOmegac0ToOmegapi.cxx +++ b/PWGHF/D2H/Tasks/taskOmegac0ToOmegapi.cxx @@ -12,6 +12,7 @@ /// \file taskOmegac0ToOmegapi.cxx /// \brief OmegaC0 analysis task /// \author Yunfan Liu , China University of Geosciences +/// \author Fabio Catalano , University of Houston #include @@ -36,28 +37,33 @@ using namespace o2::framework::expressions; struct HfTaskOmegac0ToOmegapi { // ML inference Configurable applyMl{"applyMl", false, "Flag to apply ML selections"}; - Configurable selectionFlagOmegac0{"selectionFlagOmegac0", false, "Selection Flag for Omegac0 candidates"}; + Configurable selectionFlagOmegac0{"selectionFlagOmegac0", true, "Select Omegac0 candidates"}; Configurable yCandGenMax{"yCandGenMax", 0.5, "max. gen particle rapidity"}; Configurable yCandRecoMax{"yCandRecoMax", 0.8, "max. cand. rapidity"}; HfHelper hfHelper; SliceCache cache; - using MyTracksWMc = soa::Join; - using Omegac0Candidates = soa::Join; - using Omegac0CandidatesKF = soa::Join; - using OmegaC0CandidatesMcKF = soa::Join; + using TracksMc = soa::Join; - using Omegac0CandidatesMl = soa::Join; - using Omegac0CandidatesMlKF = soa::Join; - using Omegac0CandidatesMlMcKF = soa::Join; + using Omegac0Cands = soa::Filtered>; + using Omegac0CandsKF = soa::Filtered>; + using OmegaC0CandsMcKF = soa::Filtered>; + + using Omegac0CandsMl = soa::Filtered>; + using Omegac0CandsMlKF = soa::Filtered>; + using Omegac0CandsMlMcKF = soa::Filtered>; + + using Omegac0Gen = soa::Filtered>; using Collisions = soa::Join; using CollisionsWithMcLabels = soa::Join; - PresliceUnsorted colPerMcCollision = aod::mccollisionlabel::mcCollisionId; - Partition selectedOmegac0CandidatesKF = aod::hf_sel_toomegapi::resultSelections && !selectionFlagOmegac0; - Partition selectedOmegac0CandidatesMlKF = aod::hf_sel_toomegapi::resultSelections && !selectionFlagOmegac0; + Filter filterOmegaCToOmegaPiFlag = (aod::hf_track_index::hfflag & static_cast(BIT(aod::hf_cand_casc_lf::DecayType2Prong::OmegaczeroToOmegaPi))) != static_cast(0); + Filter filterOmegaCMatchedRec = nabs(aod::hf_cand_xic0_omegac0::flagMcMatchRec) == static_cast(BIT(aod::hf_cand_xic0_omegac0::DecayType::OmegaczeroToOmegaPi)); + Filter filterOmegaCMatchedGen = nabs(aod::hf_cand_xic0_omegac0::flagMcMatchGen) == static_cast(BIT(aod::hf_cand_xic0_omegac0::DecayType::OmegaczeroToOmegaPi)); + + PresliceUnsorted colPerMcCollision = aod::mccollisionlabel::mcCollisionId; // ThnSparse for ML outputScores and Vars ConfigurableAxis thnConfigAxisPromptScore{"thnConfigAxisPromptScore", {50, 0, 1}, "Prompt score bins"}; @@ -70,18 +76,16 @@ struct HfTaskOmegac0ToOmegapi { ConfigurableAxis thnConfigAxisGenPtD{"thnConfigAxisGenPtD", {500, 0, 50}, "Gen Pt D"}; ConfigurableAxis thnConfigAxisGenPtB{"thnConfigAxisGenPtB", {1000, 0, 100}, "Gen Pt B"}; ConfigurableAxis thnConfigAxisNumPvContr{"thnConfigAxisNumPvContr", {200, -0.5, 199.5}, "Number of PV contributors"}; - HistogramRegistry registry{ - "registry", - {}}; + HistogramRegistry registry{"registry", {}}; void init(InitContext&) { - std::array doprocess{doprocessDataWithKFParticle, doprocessMcWithKFParticle, doprocessDataWithKFParticleMl, doprocessMcWithKFParticleMl}; + std::array doprocess{doprocessDataWithKFParticle, doprocessMcWithKFParticle, doprocessDataWithKFParticleMl, doprocessMcWithKFParticleMl}; if ((std::accumulate(doprocess.begin(), doprocess.end(), 0)) != 1) { LOGP(fatal, "One and only one process function should be enabled at a time."); } - const AxisSpec thnAxisMass{thnConfigAxisMass, "inv. mass (#Omega #pi) (GeV/#it{c}^{2})"}; + const AxisSpec thnAxisMass{thnConfigAxisMass, "inv. mass (#Omega#pi) (GeV/#it{c}^{2})"}; const AxisSpec thnAxisPt{thnConfigAxisPt, "#it{p}_{T} (GeV/#it{c})"}; const AxisSpec thnAxisPtB{thnConfigAxisPtB, "#it{p}_{T}^{B} (GeV/#it{c})"}; const AxisSpec thnAxisY{thnConfigAxisY, "y"}; @@ -97,11 +101,7 @@ struct HfTaskOmegac0ToOmegapi { registry.get(HIST("hSparseAcc"))->Sumw2(); } - std::vector axes = { - thnAxisMass, - thnAxisPt, - thnAxisY, - }; + std::vector axes = {thnAxisMass, thnAxisPt, thnAxisY}; if (doprocessMcWithKFParticle || doprocessMcWithKFParticleMl) { axes.push_back(thnAxisPtB); axes.push_back(thnAxisOrigin); @@ -110,9 +110,7 @@ struct HfTaskOmegac0ToOmegapi { } if (applyMl) { const AxisSpec thnAxisPromptScore{thnConfigAxisPromptScore, "BDT score prompt."}; - axes.insert(axes.begin(), thnAxisPromptScore); - registry.add("hBdtScoreVsMassVsPtVsPtBVsYVsOriginVsOmegac0Type", "Thn for Omegac0 candidates", HistType::kTHnSparseD, axes); registry.get(HIST("hBdtScoreVsMassVsPtVsPtBVsYVsOriginVsOmegac0Type"))->Sumw2(); } else { @@ -125,117 +123,104 @@ struct HfTaskOmegac0ToOmegapi { void processData(const CandType& candidates, CollType const&) { for (const auto& candidate : candidates) { - if (!(candidate.hfflag() & 1 << aod::hf_cand_casc_lf::DecayType2Prong::OmegaczeroToOmegaPi)) { + if (!(candidate.resultSelections() == true || (candidate.resultSelections() == false && !selectionFlagOmegac0))) { continue; } if (yCandRecoMax >= 0. && std::abs(candidate.kfRapOmegac()) > yCandRecoMax) { continue; } - float massOmegac0; - massOmegac0 = candidate.invMassCharmBaryon(); - auto rapidityCandidate = candidate.kfRapOmegac(); - auto ptCandidate = candidate.ptCharmBaryon(); + if constexpr (applyMl) { - registry.fill(HIST("hBdtScoreVsMassVsPtVsPtBVsYVsOriginVsOmegac0Type"), candidate.mlProbOmegac()[0], massOmegac0, ptCandidate, rapidityCandidate); + registry.fill(HIST("hBdtScoreVsMassVsPtVsPtBVsYVsOriginVsOmegac0Type"), candidate.mlProbOmegac()[0], candidate.invMassCharmBaryon(), candidate.ptCharmBaryon(), candidate.kfRapOmegac()); } else { - registry.fill(HIST("hMassVsPtVsPtBVsYVsOriginVsOmegac0Type"), massOmegac0, ptCandidate, rapidityCandidate); + registry.fill(HIST("hMassVsPtVsPtBVsYVsOriginVsOmegac0Type"), candidate.invMassCharmBaryon(), candidate.ptCharmBaryon(), candidate.kfRapOmegac()); } } } - void processDataWithKFParticle(Omegac0CandidatesKF const&, Collisions const& collisions) - { - processData(selectedOmegac0CandidatesKF, collisions); - } - PROCESS_SWITCH(HfTaskOmegac0ToOmegapi, processDataWithKFParticle, "process HfTaskOmegac0ToOmegapi with KFParticle", false); - // TODO: add processKFParticle - - void processDataWithKFParticleMl(Omegac0CandidatesMlKF const&, Collisions const& collisions) - { - processData(selectedOmegac0CandidatesMlKF, collisions); - } - PROCESS_SWITCH(HfTaskOmegac0ToOmegapi, processDataWithKFParticleMl, "process HfTaskOmegac0ToOmegapi with KFParticle and ML selections", false); - // TODO: add processKFParticleMl - template void processMc(const CandType& candidates, - soa::Join const& mcParticles, - MyTracksWMc const&, + Omegac0Gen const& mcParticles, + TracksMc const&, CollType const& collisions, aod::McCollisions const&) { // MC rec. for (const auto& candidate : candidates) { - if (!(candidate.hfflag() & 1 << aod::hf_cand_casc_lf::DecayType2Prong::OmegaczeroToOmegaPi)) { + if (!(candidate.resultSelections() == true || (candidate.resultSelections() == false && !selectionFlagOmegac0))) { continue; } if (yCandRecoMax >= 0. && std::abs(candidate.kfRapOmegac()) > yCandRecoMax) { continue; } - auto collision = candidate.template collision_as(); - auto numPvContributors = collision.numContrib(); - float massOmegac0; - massOmegac0 = candidate.invMassCharmBaryon(); - auto ptCandidate = candidate.ptCharmBaryon(); - auto rapidityCandidate = candidate.kfRapOmegac(); - if (candidate.resultSelections() && !selectionFlagOmegac0) - if (candidate.flagMcMatchRec() == (1 << aod::hf_cand_xic0_omegac0::DecayType::OmegaczeroToOmegaPi)) { - if constexpr (applyMl) { - registry.fill(HIST("hBdtScoreVsMassVsPtVsPtBVsYVsOriginVsOmegac0Type"), candidate.mlProbOmegac()[0], massOmegac0, ptCandidate, rapidityCandidate, candidate.ptBhadMotherPart(), candidate.originRec(), candidate.flagMcMatchRec(), numPvContributors); - - } else { - registry.fill(HIST("hMassVsPtVsPtBVsYVsOriginVsOmegac0Type"), massOmegac0, ptCandidate, rapidityCandidate, candidate.ptBhadMotherPart(), candidate.originRec(), candidate.flagMcMatchRec(), numPvContributors); - } - } + + auto numPvContributors = candidate.template collision_as().numContrib(); + + if constexpr (applyMl) { + registry.fill(HIST("hBdtScoreVsMassVsPtVsPtBVsYVsOriginVsOmegac0Type"), candidate.mlProbOmegac()[0], candidate.invMassCharmBaryon(), candidate.ptCharmBaryon(), candidate.kfRapOmegac(), candidate.ptBhadMotherPart(), candidate.originRec(), candidate.flagMcMatchRec(), numPvContributors); + + } else { + registry.fill(HIST("hMassVsPtVsPtBVsYVsOriginVsOmegac0Type"), candidate.invMassCharmBaryon(), candidate.ptCharmBaryon(), candidate.kfRapOmegac(), candidate.ptBhadMotherPart(), candidate.originRec(), candidate.flagMcMatchRec(), numPvContributors); + } } + // MC gen. for (const auto& particle : mcParticles) { - if (std::abs(particle.flagMcMatchGen()) == 1 << aod::hf_cand_xic0_omegac0::DecayType::OmegaczeroToOmegaPi) { - if (yCandGenMax >= 0. && std::abs(particle.rapidityCharmBaryonGen()) > yCandGenMax) { - continue; - } - float ptGenB = -1; - auto ptGen = particle.pt(); - auto yGen = particle.rapidityCharmBaryonGen(); - - unsigned maxNumContrib = 0; - const auto& recoCollsPerMcColl = collisions.sliceBy(colPerMcCollision, particle.mcCollision().globalIndex()); - for (const auto& recCol : recoCollsPerMcColl) { - maxNumContrib = recCol.numContrib() > maxNumContrib ? recCol.numContrib() : maxNumContrib; - } - - if (particle.originGen() == RecoDecay::OriginType::Prompt) { - registry.fill(HIST("hSparseAcc"), ptGen, ptGenB, yGen, 1, maxNumContrib); - - } else { - ptGenB = mcParticles.rawIteratorAt(particle.idxBhadMotherPart()).pt(); - registry.fill(HIST("hSparseAcc"), ptGen, ptGenB, yGen, 2, maxNumContrib); - } + if (yCandGenMax >= 0. && std::abs(particle.rapidityCharmBaryonGen()) > yCandGenMax) { + continue; + } + + auto ptGen = particle.pt(); + auto yGen = particle.rapidityCharmBaryonGen(); + + unsigned maxNumContrib = 0; + const auto& recoCollsPerMcColl = collisions.sliceBy(colPerMcCollision, particle.mcCollision().globalIndex()); + for (const auto& recCol : recoCollsPerMcColl) { + maxNumContrib = recCol.numContrib() > maxNumContrib ? recCol.numContrib() : maxNumContrib; + } + + if (particle.originGen() == RecoDecay::OriginType::Prompt) { + registry.fill(HIST("hSparseAcc"), ptGen, -1., yGen, RecoDecay::OriginType::Prompt, maxNumContrib); + } else { + float ptGenB = mcParticles.rawIteratorAt(particle.idxBhadMotherPart()).pt(); + registry.fill(HIST("hSparseAcc"), ptGen, ptGenB, yGen, RecoDecay::OriginType::NonPrompt, maxNumContrib); } } } - void processMcWithKFParticle(OmegaC0CandidatesMcKF const& omegaC0CandidatesMcKF, - soa::Join const& mcParticles, - MyTracksWMc const& tracks, + void processDataWithKFParticle(Omegac0CandsKF const& candidates, + Collisions const& collisions) + { + processData(candidates, collisions); + } + PROCESS_SWITCH(HfTaskOmegac0ToOmegapi, processDataWithKFParticle, "process HfTaskOmegac0ToOmegapi with KFParticle", false); + + void processDataWithKFParticleMl(Omegac0CandsMlKF const& candidates, + Collisions const& collisions) + { + processData(candidates, collisions); + } + PROCESS_SWITCH(HfTaskOmegac0ToOmegapi, processDataWithKFParticleMl, "process HfTaskOmegac0ToOmegapi with KFParticle and ML selections", false); + + void processMcWithKFParticle(OmegaC0CandsMcKF const& omegaC0CandidatesMcKF, + Omegac0Gen const& mcParticles, + TracksMc const& tracks, CollisionsWithMcLabels const& collisions, aod::McCollisions const& mcCollisions) { processMc(omegaC0CandidatesMcKF, mcParticles, tracks, collisions, mcCollisions); } PROCESS_SWITCH(HfTaskOmegac0ToOmegapi, processMcWithKFParticle, "Process MC with KFParticle", false); - // TODO: add the processMcWithKFParticle - void processMcWithKFParticleMl(Omegac0CandidatesMlMcKF const& omegac0CandidatesMlMcKF, - soa::Join const& mcParticles, - MyTracksWMc const& tracks, + void processMcWithKFParticleMl(Omegac0CandsMlMcKF const& omegac0CandidatesMlMcKF, + Omegac0Gen const& mcParticles, + TracksMc const& tracks, CollisionsWithMcLabels const& collisions, aod::McCollisions const& mcCollisions) { processMc(omegac0CandidatesMlMcKF, mcParticles, tracks, collisions, mcCollisions); } PROCESS_SWITCH(HfTaskOmegac0ToOmegapi, processMcWithKFParticleMl, "Process MC with KFParticle and ML selections", false); - // TODO: add the processMcWithKFParticleMl }; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGHF/TableProducer/candidateSelectorOmegac0ToOmegaPi.cxx b/PWGHF/TableProducer/candidateSelectorOmegac0ToOmegaPi.cxx index 4ebe3a080fd..7ef19ae4032 100644 --- a/PWGHF/TableProducer/candidateSelectorOmegac0ToOmegaPi.cxx +++ b/PWGHF/TableProducer/candidateSelectorOmegac0ToOmegaPi.cxx @@ -14,6 +14,7 @@ /// \author Federica Zanone , Heidelberg University /// \author Ruiqi Yin , Fudan University /// \author Yunfan Liu , China University of Geosciences +/// \author Fabio Catalano , University of Houston #include #include @@ -223,7 +224,6 @@ struct HfCandidateSelectorToOmegaPi { registry.add("hStatusCheck", "Check consecutive selections status;status;entries", {HistType::kTH1D, {{12, 0., 12.}}}); // for QA of the selections (bin 0 -> candidates that did not pass the selection, bin 1 -> candidates that passed the selection) - registry.add("hSelPtOmegac", "hSelPtOmegac;status;entries", {HistType::kTH1D, {axisSel}}); registry.add("hSelSignDec", "hSelSignDec;status;entries", {HistType::kTH1D, {axisSel}}); registry.add("hSelEtaPosV0Dau", "hSelEtaPosV0Dau;status;entries", {HistType::kTH1D, {axisSel}}); registry.add("hSelEtaNegV0Dau", "hSelEtaNegV0Dau;status;entries", {HistType::kTH1D, {axisSel}}); @@ -254,6 +254,7 @@ struct HfCandidateSelectorToOmegaPi { registry.add("hSelDcaXYToPvKaFromCasc", "hSelDcaXYToPvKaFromCasc;status;entries", {HistType::kTH1D, {axisSel}}); if (KfconfigurableGroup.applyKFpreselections) { + registry.add("hSelPtOmegac", "hSelPtOmegac;status;entries", {HistType::kTH1D, {axisSel}}); registry.add("hSelCompetingCasc", "hSelCompetingCasc;status;entries", {HistType::kTH1D, {axisSel}}); registry.add("hSelKFstatus", "hSelKFstatus;status;entries", {HistType::kTH1D, {axisSel}}); registry.add("hSelV0_Casc_Omegacldl", "hSelV0_Casc_Omegacldl;status;entries", {HistType::kTH1D, {axisSel}}); @@ -340,7 +341,6 @@ struct HfCandidateSelectorToOmegaPi { auto trackPrFromLam = trackV0PosDau; auto ptCand = candidate.ptCharmBaryon(); - int8_t signDecay = candidate.signDecay(); // sign of pi <- cascade if (signDecay > 0) { @@ -507,7 +507,6 @@ struct HfCandidateSelectorToOmegaPi { } if constexpr (ConstructMethod == hf_cand_casc_lf::ConstructMethod::KfParticle) { - ; // KFParticle Preselections(kfsel) if (KfconfigurableGroup.applyKFpreselections) { @@ -529,7 +528,6 @@ struct HfCandidateSelectorToOmegaPi { } // Omegac Pt selection - hPtCharmBaryon->Fill(std::abs(candidate.kfptOmegac())); if (std::abs(candidate.kfptOmegac()) < ptCandMin || std::abs(candidate.kfptOmegac()) > ptCandMax) { resultSelections = false; registry.fill(HIST("hSelPtOmegac"), 0); @@ -798,6 +796,11 @@ struct HfCandidateSelectorToOmegaPi { if (statusPidLambda && statusPidCascade && statusPidCharmBaryon && statusInvMassLambda && statusInvMassCascade && statusInvMassCharmBaryon && resultSelections) { hInvMassCharmBaryon->Fill(invMassCharmBaryon); + if constexpr (ConstructMethod == hf_cand_casc_lf::ConstructMethod::KfParticle) { + hPtCharmBaryon->Fill(candidate.kfptOmegac()); + } else { + hPtCharmBaryon->Fill(ptCand); + } } } } // end process diff --git a/PWGHF/TableProducer/treeCreatorOmegacToOmegaPi.cxx b/PWGHF/TableProducer/treeCreatorOmegacToOmegaPi.cxx index 48c965826e3..369b5374f7e 100644 --- a/PWGHF/TableProducer/treeCreatorOmegacToOmegaPi.cxx +++ b/PWGHF/TableProducer/treeCreatorOmegacToOmegaPi.cxx @@ -15,6 +15,7 @@ /// /// \author Federica Zanone , Heidelberg University /// \author Yunfan Liu , China University of Geosciences +/// \author Fabio Catalano , University of Houston #include "Framework/AnalysisTask.h" #include "Framework/runDataProcessing.h" @@ -26,6 +27,7 @@ using namespace o2; using namespace o2::framework; +using namespace o2::framework::expressions; namespace o2::aod { @@ -176,7 +178,7 @@ DECLARE_SOA_TABLE(HfOmegac0ToOmegaPiLites, "AOD", "HFTOOMEPILITE", full::PidTpcInfoStored, full::PidTofInfoStored, full::TpcNSigmaPiFromCharmBaryon, full::TpcNSigmaKaFromCasc, full::TpcNSigmaPiFromLambda, full::TpcNSigmaPrFromLambda, full::TofNSigmaPiFromCharmBaryon, full::TofNSigmaKaFromCasc, full::TofNSigmaPiFromLambda, full::TofNSigmaPrFromLambda, - full::FlagMcMatchRec, full::OriginRec, full::CollisionMatched); + full::FlagMcMatchRec, full::OriginRec, full::CollisionMatched, hf_track_index::HFflag); DECLARE_SOA_TABLE(HfKfOmegacFulls, "AOD", "HFKFOMEGACFULL", full::NSigmaTPCPiFromOmegac, full::NSigmaTOFPiFromOmegac, full::NSigmaTPCKaFromCasc, full::NSigmaTOFKaFromCasc, @@ -197,7 +199,7 @@ DECLARE_SOA_TABLE(HfKfOmegacFulls, "AOD", "HFKFOMEGACFULL", full::MassV0Ndf, full::MassCascNdf, full::V0Chi2OverNdf, full::CascChi2OverNdf, full::OmegacChi2OverNdf, full::MassV0Chi2OverNdf, full::MassCascChi2OverNdf, full::CascRejectInvmass, - full::FlagMcMatchRec, full::OriginRec, full::CollisionMatched); + full::FlagMcMatchRec, full::OriginRec, full::CollisionMatched, hf_track_index::HFflag); DECLARE_SOA_TABLE(HfKfOmegacLites, "AOD", "HFKFOMEGACLITE", full::NSigmaTPCPiFromOmegac, full::NSigmaTOFPiFromOmegac, full::NSigmaTPCKaFromCasc, full::NSigmaTOFKaFromCasc, @@ -211,7 +213,7 @@ DECLARE_SOA_TABLE(HfKfOmegacLites, "AOD", "HFKFOMEGACLITE", full::CosThetaStarPiFromOmegac, full::CtOmegac, full::EtaOmegac, full::V0Chi2OverNdf, full::CascChi2OverNdf, full::OmegacChi2OverNdf, full::CascRejectInvmass, - full::FlagMcMatchRec, full::OriginRec, full::CollisionMatched); + full::FlagMcMatchRec, full::OriginRec, full::CollisionMatched, hf_track_index::HFflag); } // namespace o2::aod /// Writes the full information in an output TTree @@ -225,8 +227,12 @@ struct HfTreeCreatorOmegacToOmegaPi { Configurable zPvCut{"zPvCut", 10., "Cut on absolute value of primary vertex z coordinate"}; Configurable keepOnlyMcSignal{"keepOnlyMcSignal", true, "Fill MC tree only with signal candidates"}; - using MyTrackTable = soa::Join; - using MyEventTable = soa::Join; + using Tracks = soa::Join; + using Colls = soa::Join; + using CandKfSel = soa::Filtered>; + using CascKfMcSel = soa::Filtered>; + + Filter filterOmegaCToOmegaPiFlag = (o2::aod::hf_track_index::hfflag & static_cast(BIT(aod::hf_cand_casc_lf::DecayType2Prong::OmegaczeroToOmegaPi))) != static_cast(0); void init(InitContext const&) { @@ -247,8 +253,8 @@ struct HfTreeCreatorOmegacToOmegaPi { candidate.xPv(), candidate.yPv(), candidate.zPv(), - candidate.template collision_as().numContrib(), - candidate.template collision_as().chi2(), + candidate.template collision_as().numContrib(), + candidate.template collision_as().chi2(), candidate.xDecayVtxCharmBaryon(), candidate.yDecayVtxCharmBaryon(), candidate.zDecayVtxCharmBaryon(), @@ -294,8 +300,8 @@ struct HfTreeCreatorOmegacToOmegaPi { candidate.errorDecayLengthCharmBaryon(), candidate.impactParCascXY() / candidate.errImpactParCascXY(), candidate.impactParBachFromCharmBaryonXY() / candidate.errImpactParBachFromCharmBaryonXY(), - candidate.template bachelorFromCharmBaryon_as().isGlobalTrackWoDCA(), - candidate.template bachelorFromCharmBaryon_as().itsNCls(), + candidate.template bachelorFromCharmBaryon_as().isGlobalTrackWoDCA(), + candidate.template bachelorFromCharmBaryon_as().itsNCls(), candidate.pidTpcInfoStored(), candidate.pidTofInfoStored(), candidate.tpcNSigmaPiFromCharmBaryon(), @@ -308,7 +314,8 @@ struct HfTreeCreatorOmegacToOmegaPi { candidate.tofNSigmaPrFromLambda(), flagMc, originMc, - collisionMatched); + collisionMatched, + candidate.hfflag()); } } @@ -376,7 +383,8 @@ struct HfTreeCreatorOmegacToOmegaPi { candidate.cascRejectInvmass(), flagMc, originMc, - collisionMatched); + collisionMatched, + candidate.hfflag()); } } @@ -418,12 +426,13 @@ struct HfTreeCreatorOmegacToOmegaPi { candidate.cascRejectInvmass(), flagMc, originMc, - collisionMatched); + collisionMatched, + candidate.hfflag()); } } // fillKfCandidateLite end - void processDataLite(MyEventTable const& collisions, MyTrackTable const&, - soa::Join const& candidates) + void processDataLite(Colls const& collisions, Tracks const&, + soa::Filtered> const& candidates) { // Filling event properties rowEv.reserve(collisions.size()); @@ -439,8 +448,7 @@ struct HfTreeCreatorOmegacToOmegaPi { } PROCESS_SWITCH(HfTreeCreatorOmegacToOmegaPi, processDataLite, "Process data", true); - void processKfDataFull(MyEventTable const& collisions, MyTrackTable const&, - soa::Join const& candidates) + void processKfDataFull(Colls const& collisions, Tracks const&, CandKfSel const& candidates) { // Filling event properties rowEv.reserve(collisions.size()); @@ -456,8 +464,7 @@ struct HfTreeCreatorOmegacToOmegaPi { } PROCESS_SWITCH(HfTreeCreatorOmegacToOmegaPi, processKfDataFull, "Process KF data", false); - void processKfDataLite(MyEventTable const& collisions, MyTrackTable const&, - soa::Join const& candidates) + void processKfDataLite(Colls const& collisions, Tracks const&, CandKfSel const& candidates) { // Filling event properties rowEv.reserve(collisions.size()); @@ -473,8 +480,8 @@ struct HfTreeCreatorOmegacToOmegaPi { } PROCESS_SWITCH(HfTreeCreatorOmegacToOmegaPi, processKfDataLite, "Process KF data Lite", false); - void processMcLite(MyEventTable const& collisions, MyTrackTable const&, - soa::Join const& candidates) + void processMcLite(Colls const& collisions, Tracks const&, + soa::Filtered> const& candidates) { // Filling event properties rowEv.reserve(collisions.size()); @@ -490,8 +497,7 @@ struct HfTreeCreatorOmegacToOmegaPi { } PROCESS_SWITCH(HfTreeCreatorOmegacToOmegaPi, processMcLite, "Process MC", false); - void processKFMcFull(MyEventTable const& collisions, MyTrackTable const&, - soa::Join const& candidates) + void processKFMcFull(Colls const& collisions, Tracks const&, CascKfMcSel const& candidates) { // Filling event properties rowEv.reserve(collisions.size()); @@ -513,8 +519,7 @@ struct HfTreeCreatorOmegacToOmegaPi { } PROCESS_SWITCH(HfTreeCreatorOmegacToOmegaPi, processKFMcFull, "Process KF MC", false); - void processKFMcLite(MyEventTable const& collisions, MyTrackTable const&, - soa::Join const& candidates) + void processKFMcLite(Colls const& collisions, Tracks const&, CascKfMcSel const& candidates) { // Filling event properties rowEv.reserve(collisions.size());