From d659a587c570c585dceb6592155288a44a0f051e Mon Sep 17 00:00:00 2001 From: ALICE Action Bot Date: Fri, 7 Mar 2025 06:53:14 +0000 Subject: [PATCH] Please consider the following formatting changes --- .../candidateCreatorXic0Omegac0.cxx | 1982 +++++++++-------- 1 file changed, 1015 insertions(+), 967 deletions(-) diff --git a/PWGHF/TableProducer/candidateCreatorXic0Omegac0.cxx b/PWGHF/TableProducer/candidateCreatorXic0Omegac0.cxx index de6c1c00204..4e957eb04f6 100644 --- a/PWGHF/TableProducer/candidateCreatorXic0Omegac0.cxx +++ b/PWGHF/TableProducer/candidateCreatorXic0Omegac0.cxx @@ -88,39 +88,39 @@ struct HfCandidateCreatorXic0Omegac0 { Configurable useAbsDCA{"useAbsDCA", true, "Minimise abs. distance rather than chi2"}; Configurable useWeightedFinalPCA{ - "useWeightedFinalPCA", true, - "Recalculate vertex position using track covariances, effective only if " - "useAbsDCA is true"}; + "useWeightedFinalPCA", true, + "Recalculate vertex position using track covariances, effective only if " + "useAbsDCA is true"}; Configurable maxR{"maxR", 200., "reject PCA's above this radius"}; Configurable maxDZIni{ - "maxDZIni", 4., - "reject (if>0) PCA candidate if tracks DZ exceeds threshold"}; + "maxDZIni", 4., + "reject (if>0) PCA candidate if tracks DZ exceeds threshold"}; Configurable maxDXYIni{ - "maxDXYIni", 4., - "reject (if>0) PCA candidate if tracks DXY exceeds threshold"}; + "maxDXYIni", 4., + "reject (if>0) PCA candidate if tracks DXY exceeds threshold"}; Configurable minParamChange{ - "minParamChange", 1.e-3, - "stop iterations if largest change of any X is smaller than this"}; + "minParamChange", 1.e-3, + "stop iterations if largest change of any X is smaller than this"}; Configurable minRelChi2Change{ - "minRelChi2Change", 0.9, "stop iterations is chi2/chi2old > this"}; + "minRelChi2Change", 0.9, "stop iterations is chi2/chi2old > this"}; Configurable maxChi2{ - "maxChi2", 100., - "discard vertices with chi2/Nprongs > this (or sum{DCAi^2}/Nprongs for " - "abs. distance minimization)"}; + "maxChi2", 100., + "discard vertices with chi2/Nprongs > this (or sum{DCAi^2}/Nprongs for " + "abs. distance minimization)"}; Configurable refitWithMatCorr{ - "refitWithMatCorr", true, - "when doing propagateTracksToVertex, propagate tracks to vtx with " - "material corrections and rerun minimization"}; + "refitWithMatCorr", true, + "when doing propagateTracksToVertex, propagate tracks to vtx with " + "material corrections and rerun minimization"}; Configurable rejDiffCollTrack{ - "rejDiffCollTrack", true, - "Reject tracks coming from different collisions"}; + "rejDiffCollTrack", true, + "Reject tracks coming from different collisions"}; Configurable fillAllHist{ - "fillAllHist", true, - "Fill additional KF histograms to check selector cuts"}; + "fillAllHist", true, + "Fill additional KF histograms to check selector cuts"}; // magnetic field setting from CCDB Configurable isRun2{ - "isRun2", false, "enable Run 2 or Run 3 GRP objects for magnetic field"}; + "isRun2", false, "enable Run 2 or Run 3 GRP objects for magnetic field"}; Configurable ccdbUrl{"ccdbUrl", "http://alice-ccdb.cern.ch", "url of the ccdb repository"}; Configurable ccdbPathLut{"ccdbPathLut", "GLO/Param/MatLUT", @@ -128,8 +128,8 @@ struct HfCandidateCreatorXic0Omegac0 { Configurable ccdbPathGrp{"ccdbPathGrp", "GLO/GRP/GRP", "Path of the grp file (Run 2)"}; Configurable ccdbPathGrpMag{ - "ccdbPathGrpMag", "GLO/Config/GRPMagField", - "CCDB path of the GRPMagField object (Run 3)"}; + "ccdbPathGrpMag", "GLO/Config/GRPMagField", + "CCDB path of the GRPMagField object (Run 3)"}; // KFParticle process setting // V0 cuts @@ -137,29 +137,29 @@ struct HfCandidateCreatorXic0Omegac0 { "Distance from Lambda mass"}; // cascade cuts Configurable massToleranceCascade{ - "massToleranceCascade", 0.01, "Invariant mass tolerance for cascade"}; + "massToleranceCascade", 0.01, "Invariant mass tolerance for cascade"}; // for KF particle operation Configurable kfConstructMethod{"kfConstructMethod", 2, "KF Construct Method"}; Configurable kfUseV0MassConstraint{"kfUseV0MassConstraint", false, "KF: use Lambda mass constraint"}; Configurable kfUseCascadeMassConstraint{ - "kfUseCascadeMassConstraint", false, "KF: use Cascade mass constraint"}; + "kfUseCascadeMassConstraint", false, "KF: use Cascade mass constraint"}; HfEventSelection hfEvSel; // event selection and monitoring o2::vertexing::DCAFitterN<2> - df; // 2-prong vertex fitter to build the omegac/xic vertex + df; // 2-prong vertex fitter to build the omegac/xic vertex Service ccdb; - o2::base::MatLayerCylSet *lut; + o2::base::MatLayerCylSet* lut; o2::base::Propagator::MatCorrType matCorr = - o2::base::Propagator::MatCorrType::USEMatCorrLUT; + o2::base::Propagator::MatCorrType::USEMatCorrLUT; int runNumber{-1}; double magneticField{0.}; using MyCascTable = soa::Join; using MyTraCascTable = - soa::Join; // to use strangeness tracking + soa::Join; // to use strangeness tracking using CascadesLinked = soa::Join; using TraCascadesLinked = soa::Join; using MyV0Table = soa::Join; @@ -171,11 +171,11 @@ struct HfCandidateCreatorXic0Omegac0 { using KFCascadesLinked = soa::Join; std::shared_ptr hInvMassCharmBaryonToXiPi, hInvMassCharmBaryonToOmegaPi, - hInvMassCharmBaryonToOmegaK, hFitterStatusToXiPi, hFitterStatusToOmegaPi, - hFitterStatusToOmegaK, hCandidateCounterToXiPi, - hCandidateCounterToOmegaPi, hCandidateCounterToOmegaK, - hCascadesCounterToXiPi, hCascadesCounterToOmegaPi, - hCascadesCounterToOmegaK; + hInvMassCharmBaryonToOmegaK, hFitterStatusToXiPi, hFitterStatusToOmegaPi, + hFitterStatusToOmegaK, hCandidateCounterToXiPi, + hCandidateCounterToOmegaPi, hCandidateCounterToOmegaK, + hCascadesCounterToXiPi, hCascadesCounterToOmegaPi, + hCascadesCounterToOmegaK; HistogramRegistry registry{"registry"}; // Helper struct to pass information @@ -272,53 +272,59 @@ struct HfCandidateCreatorXic0Omegac0 { float chi2MassCasc; float etaXic; } kfXic0Candidate; - void init(InitContext const &) { + void init(InitContext const&) + { std::array allProcesses = { - doprocessNoCentToXiPi, doprocessNoCentToXiPiTraCasc, - doprocessCentFT0CToXiPi, doprocessCentFT0MToXiPi, - doprocessNoCentToOmegaPi, doprocessOmegacToOmegaPiWithKFParticle, - doprocessCentFT0CToOmegaPi, doprocessCentFT0MToOmegaPi, - doprocessNoCentToOmegaK, doprocessCentFT0CToOmegaK, - doprocessCentFT0MToOmegaK, doprocessXicToXiPiWithKFParticle}; + doprocessNoCentToXiPi, doprocessNoCentToXiPiTraCasc, + doprocessCentFT0CToXiPi, doprocessCentFT0MToXiPi, + doprocessNoCentToOmegaPi, doprocessOmegacToOmegaPiWithKFParticle, + doprocessCentFT0CToOmegaPi, doprocessCentFT0MToOmegaPi, + doprocessNoCentToOmegaK, doprocessCentFT0CToOmegaK, + doprocessCentFT0MToOmegaK, doprocessXicToXiPiWithKFParticle}; if (std::accumulate(allProcesses.begin(), allProcesses.end(), 0) == 0) { - LOGP(fatal, "No process function enabled, please select one for at least " - "one channel."); + LOGP(fatal, + "No process function enabled, please select one for at least " + "one channel."); } std::array processesToXiPi = { - doprocessNoCentToXiPi, doprocessNoCentToXiPiTraCasc, - doprocessCentFT0CToXiPi, doprocessCentFT0MToXiPi, - doprocessXicToXiPiWithKFParticle}; + doprocessNoCentToXiPi, doprocessNoCentToXiPiTraCasc, + doprocessCentFT0CToXiPi, doprocessCentFT0MToXiPi, + doprocessXicToXiPiWithKFParticle}; if (std::accumulate(processesToXiPi.begin(), processesToXiPi.end(), 0) > 1) { - LOGP(fatal, "One and only one ToXiPi process function must be enabled at " - "a time."); + LOGP(fatal, + "One and only one ToXiPi process function must be enabled at " + "a time."); } std::array processesToOmegaPi = { - doprocessNoCentToOmegaPi, doprocessCentFT0CToOmegaPi, - doprocessCentFT0MToOmegaPi, doprocessOmegacToOmegaPiWithKFParticle}; + doprocessNoCentToOmegaPi, doprocessCentFT0CToOmegaPi, + doprocessCentFT0MToOmegaPi, doprocessOmegacToOmegaPiWithKFParticle}; if (std::accumulate(processesToOmegaPi.begin(), processesToOmegaPi.end(), 0) > 1) { - LOGP(fatal, "One and only one process ToOmegaPi function must be enabled " - "at a time."); + LOGP(fatal, + "One and only one process ToOmegaPi function must be enabled " + "at a time."); } std::array processesToOmegaK = {doprocessNoCentToOmegaK, doprocessCentFT0CToOmegaK, doprocessCentFT0MToOmegaK}; if (std::accumulate(processesToOmegaK.begin(), processesToOmegaK.end(), 0) > 1) { - LOGP(fatal, "One and only one process ToOmegaK function must be enabled " - "at a time."); + LOGP(fatal, + "One and only one process ToOmegaK function must be enabled " + "at a time."); } std::array processesCollisions = {doprocessCollisions, doprocessCollisionsCentFT0C, doprocessCollisionsCentFT0M}; const int nProcessesCollisions = std::accumulate( - processesCollisions.begin(), processesCollisions.end(), 0); + processesCollisions.begin(), processesCollisions.end(), 0); if (nProcessesCollisions > 1) { - LOGP(fatal, "At most one process function for collision monitoring can " - "be enabled at a time."); + LOGP(fatal, + "At most one process function for collision monitoring can " + "be enabled at a time."); } if (nProcessesCollisions == 1) { if ((doprocessNoCentToXiPi && !doprocessCollisions) || @@ -327,101 +333,104 @@ struct HfCandidateCreatorXic0Omegac0 { (doprocessNoCentToOmegaK && !doprocessCollisions) || (doprocessOmegacToOmegaPiWithKFParticle && !doprocessCollisions) || (doprocessXicToXiPiWithKFParticle && !doprocessCollisions)) { - LOGP(fatal, "Process function for collision monitoring not correctly " - "enabled. Did you enable \"processCollisions\"?"); + LOGP(fatal, + "Process function for collision monitoring not correctly " + "enabled. Did you enable \"processCollisions\"?"); } if ((doprocessCentFT0CToXiPi && !doprocessCollisionsCentFT0C) || (doprocessCentFT0CToOmegaPi && !doprocessCollisionsCentFT0C) || (doprocessCentFT0CToOmegaK && !doprocessCollisionsCentFT0C)) { - LOGP(fatal, "Process function for collision monitoring not correctly " - "enabled. Did you enable \"processCollisionsCentFT0C\"?"); + LOGP(fatal, + "Process function for collision monitoring not correctly " + "enabled. Did you enable \"processCollisionsCentFT0C\"?"); } if ((doprocessCentFT0MToXiPi && !doprocessCollisionsCentFT0M) || (doprocessCentFT0MToOmegaPi && !doprocessCollisionsCentFT0M) || (doprocessCentFT0MToOmegaK && !doprocessCollisionsCentFT0M)) { - LOGP(fatal, "Process function for collision monitoring not correctly " - "enabled. Did you enable \"processCollisionsCentFT0M\"?"); + LOGP(fatal, + "Process function for collision monitoring not correctly " + "enabled. Did you enable \"processCollisionsCentFT0M\"?"); } } hInvMassCharmBaryonToXiPi = - registry.add("hInvMassCharmBaryonToXiPi", - "Charm baryon invariant mass - #Xi #pi decay;inv. " - "mass (GeV/#it{c}^{2});entries", - {HistType::kTH1D, {{500, 2.2, 3.1}}}); + registry.add("hInvMassCharmBaryonToXiPi", + "Charm baryon invariant mass - #Xi #pi decay;inv. " + "mass (GeV/#it{c}^{2});entries", + {HistType::kTH1D, {{500, 2.2, 3.1}}}); hInvMassCharmBaryonToOmegaPi = - registry.add("hInvMassCharmBaryonToOmegaPi", - "Charm baryon invariant mass - #Omega #pi decay;inv. " - "mass (GeV/#it{c}^{2});entries", - {HistType::kTH1D, {{500, 2.2, 3.1}}}); + registry.add("hInvMassCharmBaryonToOmegaPi", + "Charm baryon invariant mass - #Omega #pi decay;inv. " + "mass (GeV/#it{c}^{2});entries", + {HistType::kTH1D, {{500, 2.2, 3.1}}}); hInvMassCharmBaryonToOmegaK = - registry.add("hInvMassCharmBaryonToOmegaK", - "Charm baryon invariant mass - #Omega K decay;inv. " - "mass (GeV/#it{c}^{2});entries", - {HistType::kTH1D, {{500, 2.2, 3.1}}}); + registry.add("hInvMassCharmBaryonToOmegaK", + "Charm baryon invariant mass - #Omega K decay;inv. " + "mass (GeV/#it{c}^{2});entries", + {HistType::kTH1D, {{500, 2.2, 3.1}}}); hFitterStatusToXiPi = registry.add( - "hFitterStatusToXiPi", - "Charm DCAFitter status - #Xi #pi vtx;status;entries", - {HistType::kTH1D, - {{3, -0.5, 2.5}}}); // 0 --> vertex(es) found, 1 --> exception found, 2 - // --> no vertex found (but no exception) + "hFitterStatusToXiPi", + "Charm DCAFitter status - #Xi #pi vtx;status;entries", + {HistType::kTH1D, + {{3, -0.5, 2.5}}}); // 0 --> vertex(es) found, 1 --> exception found, 2 + // --> no vertex found (but no exception) hFitterStatusToOmegaPi = registry.add( - "hFitterStatusToOmegaPi", - "Charm DCAFitter status - #Omega #pi vtx ;status;entries", - {HistType::kTH1D, - {{3, -0.5, 2.5}}}); // 0 --> vertex(es) found, 1 --> exception found, 2 - // --> no vertex found (but no exception) + "hFitterStatusToOmegaPi", + "Charm DCAFitter status - #Omega #pi vtx ;status;entries", + {HistType::kTH1D, + {{3, -0.5, 2.5}}}); // 0 --> vertex(es) found, 1 --> exception found, 2 + // --> no vertex found (but no exception) hFitterStatusToOmegaK = registry.add( - "hFitterStatusToOmegaK", - "Charm DCAFitter status - #Omega K vtx;status;entries", - {HistType::kTH1D, - {{3, -0.5, 2.5}}}); // 0 --> vertex(es) found, 1 --> exception found, 2 - // --> no vertex found (but no exception) + "hFitterStatusToOmegaK", + "Charm DCAFitter status - #Omega K vtx;status;entries", + {HistType::kTH1D, + {{3, -0.5, 2.5}}}); // 0 --> vertex(es) found, 1 --> exception found, 2 + // --> no vertex found (but no exception) hCandidateCounterToXiPi = registry.add( - "hCandidateCounterToXiPi", - "Candidate counter wrt derived data - #Xi #pi decay;status;entries", - {HistType::kTH1D, - {{4, -0.5, - 3.5}}}); // 0 --> candidates in derived data table, 1 --> candidates - // passing testbit selection, 2 --> candidates passing - // fitter step 3 --> candidates filled in new table + "hCandidateCounterToXiPi", + "Candidate counter wrt derived data - #Xi #pi decay;status;entries", + {HistType::kTH1D, + {{4, -0.5, + 3.5}}}); // 0 --> candidates in derived data table, 1 --> candidates + // passing testbit selection, 2 --> candidates passing + // fitter step 3 --> candidates filled in new table hCandidateCounterToOmegaPi = registry.add( - "hCandidateCounterToOmegaPi", - "Candidate counter wrt derived data - #Omega #pi decay;status;entries", - {HistType::kTH1D, - {{4, -0.5, - 3.5}}}); // 0 --> candidates in derived data table, 1 --> candidates - // passing testbit selection, 2 --> candidates passing - // fitter step 3 --> candidates filled in new table + "hCandidateCounterToOmegaPi", + "Candidate counter wrt derived data - #Omega #pi decay;status;entries", + {HistType::kTH1D, + {{4, -0.5, + 3.5}}}); // 0 --> candidates in derived data table, 1 --> candidates + // passing testbit selection, 2 --> candidates passing + // fitter step 3 --> candidates filled in new table hCandidateCounterToOmegaK = registry.add( - "hCandidateCounterToOmegaK", - "Candidate counter wrt derived data - #Omega K decay;status;entries", - {HistType::kTH1D, - {{4, -0.5, - 3.5}}}); // 0 --> candidates in derived data table, 1 --> candidates - // passing testbit selection, 2 --> candidates passing - // fitter step 3 --> candidates filled in new table + "hCandidateCounterToOmegaK", + "Candidate counter wrt derived data - #Omega K decay;status;entries", + {HistType::kTH1D, + {{4, -0.5, + 3.5}}}); // 0 --> candidates in derived data table, 1 --> candidates + // passing testbit selection, 2 --> candidates passing + // fitter step 3 --> candidates filled in new table hCascadesCounterToXiPi = registry.add( - "hCascadesCounterToXiPi", - "Cascades counter wrt derived data - #Xi #pi decay;status;entries", - {HistType::kTH1D, - {{2, -0.5, 1.5}}}); // 0 --> cascades in derived data table (and stored - // in AOD table), 1 --> cascades in derived data - // table and also accessible in cascData table + "hCascadesCounterToXiPi", + "Cascades counter wrt derived data - #Xi #pi decay;status;entries", + {HistType::kTH1D, + {{2, -0.5, 1.5}}}); // 0 --> cascades in derived data table (and stored + // in AOD table), 1 --> cascades in derived data + // table and also accessible in cascData table hCascadesCounterToOmegaPi = registry.add( - "hCascadesCounterToOmegaPi", - "Cascades counter wrt derived data - #Omega #pi decay;status;entries", - {HistType::kTH1D, - {{2, -0.5, 1.5}}}); // 0 --> cascades in derived data table (and stored - // in AOD table), 1 --> cascades in derived data - // table and also accessible in cascData table + "hCascadesCounterToOmegaPi", + "Cascades counter wrt derived data - #Omega #pi decay;status;entries", + {HistType::kTH1D, + {{2, -0.5, 1.5}}}); // 0 --> cascades in derived data table (and stored + // in AOD table), 1 --> cascades in derived data + // table and also accessible in cascData table hCascadesCounterToOmegaK = registry.add( - "hCascadesCounterToOmegaK", - "Cascades counter wrt derived data - #Omega K decay;status;entries", - {HistType::kTH1D, - {{2, -0.5, 1.5}}}); // 0 --> cascades in derived data table (and stored - // in AOD table), 1 --> cascades in derived data - // table and also accessible in cascData table + "hCascadesCounterToOmegaK", + "Cascades counter wrt derived data - #Omega K decay;status;entries", + {HistType::kTH1D, + {{2, -0.5, 1.5}}}); // 0 --> cascades in derived data table (and stored + // in AOD table), 1 --> cascades in derived data + // table and also accessible in cascData table // KFParticle Variables Histograms registry.add("hKFParticleV0TopoChi2", "hKFParticleV0TopoChi2", kTH1D, @@ -522,7 +531,7 @@ struct HfCandidateCreatorXic0Omegac0 { ccdb->setCaching(true); ccdb->setLocalObjectValidityChecking(); lut = o2::base::MatLayerCylSet::rectifyPtrFromFile( - ccdb->get(ccdbPathLut)); + ccdb->get(ccdbPathLut)); runNumber = 0; } @@ -530,43 +539,44 @@ struct HfCandidateCreatorXic0Omegac0 { int decayChannel, typename Coll, typename Hist, typename TCascTable, typename TCascLinkTable> void runXic0Omegac0Creator( - Coll const &, aod::BCsWithTimestamps const & /*bcWithTimeStamps*/, - MyLFTracksWCov const &lfTracks, TracksWCovDca const &tracks, - TCascTable const &, TCascLinkTable const &, - aod::HfCascLf2Prongs const &candidates, Hist &hInvMassCharmBaryon, - Hist &hFitterStatus, Hist &hCandidateCounter, Hist &hCascadesCounter) { + Coll const&, aod::BCsWithTimestamps const& /*bcWithTimeStamps*/, + MyLFTracksWCov const& lfTracks, TracksWCovDca const& tracks, + TCascTable const&, TCascLinkTable const&, + aod::HfCascLf2Prongs const& candidates, Hist& hInvMassCharmBaryon, + Hist& hFitterStatus, Hist& hCandidateCounter, Hist& hCascadesCounter) + { if constexpr (decayChannel != hf_cand_casc_lf::DecayType2Prong:: - XiczeroOmegaczeroToXiPi && + XiczeroOmegaczeroToXiPi && decayChannel != - hf_cand_casc_lf::DecayType2Prong::OmegaczeroToOmegaPi && + hf_cand_casc_lf::DecayType2Prong::OmegaczeroToOmegaPi && decayChannel != - hf_cand_casc_lf::DecayType2Prong::OmegaczeroToOmegaK) { + hf_cand_casc_lf::DecayType2Prong::OmegaczeroToOmegaK) { LOGP(fatal, "Decay channel not recognized!"); } - for (const auto &cand : candidates) { + for (const auto& cand : candidates) { hCandidateCounter->Fill(0); if constexpr (decayChannel == hf_cand_casc_lf::DecayType2Prong::XiczeroOmegaczeroToXiPi) { if (!TESTBIT(cand.hfflag(), aod::hf_cand_casc_lf::DecayType2Prong:: - XiczeroOmegaczeroToXiPi)) { + XiczeroOmegaczeroToXiPi)) { continue; } } else if constexpr (decayChannel == hf_cand_casc_lf::DecayType2Prong:: - OmegaczeroToOmegaPi) { + OmegaczeroToOmegaPi) { if (!TESTBIT( - cand.hfflag(), - aod::hf_cand_casc_lf::DecayType2Prong::OmegaczeroToOmegaPi)) { + cand.hfflag(), + aod::hf_cand_casc_lf::DecayType2Prong::OmegaczeroToOmegaPi)) { continue; } } else if constexpr (decayChannel == hf_cand_casc_lf::DecayType2Prong:: - OmegaczeroToOmegaK) { + OmegaczeroToOmegaK) { if (!TESTBIT( - cand.hfflag(), - aod::hf_cand_casc_lf::DecayType2Prong::OmegaczeroToOmegaK)) { + cand.hfflag(), + aod::hf_cand_casc_lf::DecayType2Prong::OmegaczeroToOmegaK)) { continue; } } @@ -576,9 +586,9 @@ struct HfCandidateCreatorXic0Omegac0 { auto collision = cand.collision_as(); float centrality{-1.f}; const auto rejectionMask = - hfEvSel.getHfCollisionRejectionMask( - collision, centrality, ccdb, registry); + hfEvSel.getHfCollisionRejectionMask( + collision, centrality, ccdb, registry); if (rejectionMask != 0) { /// at least one event selection not satisfied --> reject the candidate continue; @@ -637,14 +647,14 @@ struct HfCandidateCreatorXic0Omegac0 { hCascadesCounter->Fill(1); auto trackCascDauChargedId = casc.bachelorId(); // pion <- xi track - auto trackV0Dau0Id = casc.posTrackId(); // V0 positive daughter track - auto trackV0Dau1Id = casc.negTrackId(); // V0 negative daughter track + auto trackV0Dau0Id = casc.posTrackId(); // V0 positive daughter track + auto trackV0Dau1Id = casc.negTrackId(); // V0 negative daughter track auto trackCascDauCharged = - lfTracks.rawIteratorAt(trackCascDauChargedId); // pion <- xi track + lfTracks.rawIteratorAt(trackCascDauChargedId); // pion <- xi track auto trackV0Dau0 = - lfTracks.rawIteratorAt(trackV0Dau0Id); // V0 positive daughter track + lfTracks.rawIteratorAt(trackV0Dau0Id); // V0 positive daughter track auto trackV0Dau1 = - lfTracks.rawIteratorAt(trackV0Dau1Id); // V0 negative daughter track + lfTracks.rawIteratorAt(trackV0Dau1Id); // V0 negative daughter track //-------------------------- V0 info--------------------------- // pseudorapidity @@ -670,7 +680,7 @@ struct HfCandidateCreatorXic0Omegac0 { std::array pVecCasc = {casc.px(), casc.py(), casc.pz()}; std::array covCasc = {0.}; constexpr int MomInd[6] = { - 9, 13, 14, 18, 19, 20}; // cov matrix elements for momentum component + 9, 13, 14, 18, 19, 20}; // cov matrix elements for momentum component for (int i = 0; i < 6; i++) { covCasc[MomInd[i]] = casc.momentumCovMat()[i]; covCasc[i] = casc.positionCovMat()[i]; @@ -679,10 +689,10 @@ struct HfCandidateCreatorXic0Omegac0 { o2::track::TrackParCov trackCasc; if (trackCascDauCharged.sign() > 0) { trackCasc = - o2::track::TrackParCov(vertexCasc, pVecCasc, covCasc, 1, true); + o2::track::TrackParCov(vertexCasc, pVecCasc, covCasc, 1, true); } else if (trackCascDauCharged.sign() < 0) { trackCasc = - o2::track::TrackParCov(vertexCasc, pVecCasc, covCasc, -1, true); + o2::track::TrackParCov(vertexCasc, pVecCasc, covCasc, -1, true); } else { continue; } @@ -699,14 +709,14 @@ struct HfCandidateCreatorXic0Omegac0 { //------------reconstruct charm baryon decay vtx--------------- auto trackParVarCharmBachelor = - getTrackParCov(trackCharmBachelor); // charm bachelor pion track to be - // processed with DCAFitter + getTrackParCov(trackCharmBachelor); // charm bachelor pion track to be + // processed with DCAFitter // reconstruct charm baryon with DCAFitter int nVtxFromFitterCharmBaryon = 0; try { nVtxFromFitterCharmBaryon = - df.process(trackCasc, trackParVarCharmBachelor); + df.process(trackCasc, trackParVarCharmBachelor); } catch (...) { LOG(error) << "Exception caught in charm DCA fitter process call!"; hFitterStatus->Fill(1); @@ -728,9 +738,9 @@ struct HfCandidateCreatorXic0Omegac0 { df.getTrack(0).getPxPyPzGlo(pVecCascAsD); df.getTrack(1).getPxPyPzGlo(pVecCharmBachelorAsD); std::array pVecCharmBaryon = { - pVecCascAsD[0] + pVecCharmBachelorAsD[0], - pVecCascAsD[1] + pVecCharmBachelorAsD[1], - pVecCascAsD[2] + pVecCharmBachelorAsD[2]}; + pVecCascAsD[0] + pVecCharmBachelorAsD[0], + pVecCascAsD[1] + pVecCharmBachelorAsD[1], + pVecCascAsD[2] + pVecCharmBachelorAsD[2]}; std::array coordVtxCharmBaryon = df.getPCACandidatePos(); std::array covVtxCharmBaryon = df.calcPCACovMatrixFlat(); @@ -740,8 +750,8 @@ struct HfCandidateCreatorXic0Omegac0 { // primary vertex of the collision auto primaryVertex = getPrimaryVertex( - collision); // get the associated covariance matrix with auto - // covMatrixPV = primaryVertex.getCov(); + collision); // get the associated covariance matrix with auto + // covMatrixPV = primaryVertex.getCov(); std::array pvCoord = {collision.posX(), collision.posY(), collision.posZ()}; @@ -753,14 +763,14 @@ struct HfCandidateCreatorXic0Omegac0 { auto trackParVarV0Dau1 = getTrackParCov(trackV0Dau1); auto trackParVarCascDauCharged = getTrackParCov(trackCascDauCharged); o2::base::Propagator::Instance()->propagateToDCABxByBz( - primaryVertex, trackParVarV0Dau0, 2.f, matCorr, - &impactParameterV0Dau0); + primaryVertex, trackParVarV0Dau0, 2.f, matCorr, + &impactParameterV0Dau0); o2::base::Propagator::Instance()->propagateToDCABxByBz( - primaryVertex, trackParVarV0Dau1, 2.f, matCorr, - &impactParameterV0Dau1); + primaryVertex, trackParVarV0Dau1, 2.f, matCorr, + &impactParameterV0Dau1); o2::base::Propagator::Instance()->propagateToDCABxByBz( - primaryVertex, trackParVarCascDauCharged, 2.f, matCorr, - &impactParameterCascDauCharged); + primaryVertex, trackParVarCascDauCharged, 2.f, matCorr, + &impactParameterCascDauCharged); float dcaxyV0Dau0 = impactParameterV0Dau0.getY(); float dcaxyV0Dau1 = impactParameterV0Dau1.getY(); float dcaxyCascBachelor = impactParameterCascDauCharged.getY(); @@ -772,18 +782,18 @@ struct HfCandidateCreatorXic0Omegac0 { o2::dataformats::DCA impactParameterCasc; o2::dataformats::DCA impactParameterCharmBachelor; o2::base::Propagator::Instance()->propagateToDCABxByBz( - primaryVertex, trackCasc, 2.f, matCorr, &impactParameterCasc); + primaryVertex, trackCasc, 2.f, matCorr, &impactParameterCasc); o2::base::Propagator::Instance()->propagateToDCABxByBz( - primaryVertex, trackParVarCharmBachelor, 2.f, matCorr, - &impactParameterCharmBachelor); + primaryVertex, trackParVarCharmBachelor, 2.f, matCorr, + &impactParameterCharmBachelor); float impactParBachFromCharmBaryonXY = - impactParameterCharmBachelor.getY(); + impactParameterCharmBachelor.getY(); float impactParBachFromCharmBaryonZ = impactParameterCharmBachelor.getZ(); // invariant mass under the hypothesis of particles ID corresponding to // the decay chain float mLambda = - casc.mLambda(); // from LF table, V0 mass under lambda hypothesis + casc.mLambda(); // from LF table, V0 mass under lambda hypothesis float mCasc = 0.; if constexpr (decayChannel == hf_cand_casc_lf::DecayType2Prong::XiczeroOmegaczeroToXiPi) { @@ -796,31 +806,31 @@ struct HfCandidateCreatorXic0Omegac0 { hf_cand_casc_lf::DecayType2Prong::XiczeroOmegaczeroToXiPi) { arrMassCharmBaryon = {MassXiMinus, MassPiPlus}; } else if constexpr (decayChannel == hf_cand_casc_lf::DecayType2Prong:: - OmegaczeroToOmegaPi) { + OmegaczeroToOmegaPi) { arrMassCharmBaryon = {MassOmegaMinus, MassPiPlus}; } else { arrMassCharmBaryon = {MassOmegaMinus, MassKPlus}; } float mCharmBaryon = RecoDecay::m( - std::array{pVecCascAsD, pVecCharmBachelorAsD}, arrMassCharmBaryon); + std::array{pVecCascAsD, pVecCharmBachelorAsD}, arrMassCharmBaryon); // computing cosPA float cpaV0 = - casc.v0cosPA(collision.posX(), collision.posY(), collision.posZ()); + casc.v0cosPA(collision.posX(), collision.posY(), collision.posZ()); float cpaCharmBaryon = - RecoDecay::cpa(pvCoord, coordVtxCharmBaryon, pVecCharmBaryon); + RecoDecay::cpa(pvCoord, coordVtxCharmBaryon, pVecCharmBaryon); float cpaCasc = - casc.casccosPA(collision.posX(), collision.posY(), collision.posZ()); + casc.casccosPA(collision.posX(), collision.posY(), collision.posZ()); float cpaxyV0 = RecoDecay::cpaXY(pvCoord, vertexV0, pVecV0); float cpaxyCharmBaryon = - RecoDecay::cpaXY(pvCoord, coordVtxCharmBaryon, pVecCharmBaryon); + RecoDecay::cpaXY(pvCoord, coordVtxCharmBaryon, pVecCharmBaryon); float cpaxyCasc = RecoDecay::cpaXY(pvCoord, vertexCasc, pVecCasc); // computing decay length and ctau float decLenCharmBaryon = - RecoDecay::distance(pvCoord, coordVtxCharmBaryon); + RecoDecay::distance(pvCoord, coordVtxCharmBaryon); float decLenCascade = - RecoDecay::distance(coordVtxCharmBaryon, vertexCasc); + RecoDecay::distance(coordVtxCharmBaryon, vertexCasc); float decLenV0 = RecoDecay::distance(vertexCasc, vertexV0); double phiCharmBaryon, thetaCharmBaryon; @@ -828,16 +838,16 @@ struct HfCandidateCreatorXic0Omegac0 { primaryVertex.getZ()}, coordVtxCharmBaryon, phiCharmBaryon, thetaCharmBaryon); auto errorDecayLengthCharmBaryon = - std::sqrt(getRotatedCovMatrixXX(primaryVertex.getCov(), - phiCharmBaryon, thetaCharmBaryon) + - getRotatedCovMatrixXX(covVtxCharmBaryon, phiCharmBaryon, - thetaCharmBaryon)); + std::sqrt(getRotatedCovMatrixXX(primaryVertex.getCov(), + phiCharmBaryon, thetaCharmBaryon) + + getRotatedCovMatrixXX(covVtxCharmBaryon, phiCharmBaryon, + thetaCharmBaryon)); auto errorDecayLengthXYCharmBaryon = std::sqrt( - getRotatedCovMatrixXX(primaryVertex.getCov(), phiCharmBaryon, 0.) + - getRotatedCovMatrixXX(covVtxCharmBaryon, phiCharmBaryon, 0.)); + getRotatedCovMatrixXX(primaryVertex.getCov(), phiCharmBaryon, 0.) + + getRotatedCovMatrixXX(covVtxCharmBaryon, phiCharmBaryon, 0.)); float ctOmegac = - RecoDecay::ct(pVecCharmBaryon, decLenCharmBaryon, MassOmegaC0); + RecoDecay::ct(pVecCharmBaryon, decLenCharmBaryon, MassOmegaC0); float ctXic = RecoDecay::ct(pVecCharmBaryon, decLenCharmBaryon, MassXiC0); float ctCascade = 0.; if constexpr (decayChannel == @@ -866,95 +876,95 @@ struct HfCandidateCreatorXic0Omegac0 { if constexpr (decayChannel == hf_cand_casc_lf::DecayType2Prong::XiczeroOmegaczeroToXiPi) { rowCandToXiPi( - collision.globalIndex(), pvCoord[0], pvCoord[1], pvCoord[2], - vertexCharmBaryonFromFitter[0], vertexCharmBaryonFromFitter[1], - vertexCharmBaryonFromFitter[2], vertexCasc[0], vertexCasc[1], - vertexCasc[2], vertexV0[0], vertexV0[1], vertexV0[2], - trackCascDauCharged.sign(), covVtxCharmBaryon[0], - covVtxCharmBaryon[1], covVtxCharmBaryon[2], covVtxCharmBaryon[3], - covVtxCharmBaryon[4], covVtxCharmBaryon[5], pVecCharmBaryon[0], - pVecCharmBaryon[1], pVecCharmBaryon[2], pVecCascAsD[0], - pVecCascAsD[1], pVecCascAsD[2], pVecCharmBachelorAsD[0], - pVecCharmBachelorAsD[1], pVecCharmBachelorAsD[2], pVecV0[0], - pVecV0[1], pVecV0[2], pVecCascBachelor[0], pVecCascBachelor[1], - pVecCascBachelor[2], pVecV0Dau0[0], pVecV0Dau0[1], pVecV0Dau0[2], - pVecV0Dau1[0], pVecV0Dau1[1], pVecV0Dau1[2], - impactParameterCasc.getY(), impactParBachFromCharmBaryonXY, - impactParameterCasc.getZ(), impactParBachFromCharmBaryonZ, - std::sqrt(impactParameterCasc.getSigmaY2()), - std::sqrt(impactParameterCharmBachelor.getSigmaY2()), v0index, - casc.posTrackId(), casc.negTrackId(), casc.cascadeId(), - trackCharmBachelor.globalIndex(), casc.bachelorId(), mLambda, mCasc, - mCharmBaryon, cpaV0, cpaCharmBaryon, cpaCasc, cpaxyV0, - cpaxyCharmBaryon, cpaxyCasc, ctOmegac, ctCascade, ctV0, ctXic, - pseudorapV0Dau0, pseudorapV0Dau1, pseudorapCascBachelor, - pseudorapCharmBachelor, pseudorapCharmBaryon, pseudorapCascade, - pseudorapV0, dcaxyV0Dau0, dcaxyV0Dau1, dcaxyCascBachelor, - dcazV0Dau0, dcazV0Dau1, dcazCascBachelor, dcaCascDau, dcaV0Dau, - dcaCharmBaryonDau, decLenCharmBaryon, decLenCascade, decLenV0, - errorDecayLengthCharmBaryon, errorDecayLengthXYCharmBaryon); + collision.globalIndex(), pvCoord[0], pvCoord[1], pvCoord[2], + vertexCharmBaryonFromFitter[0], vertexCharmBaryonFromFitter[1], + vertexCharmBaryonFromFitter[2], vertexCasc[0], vertexCasc[1], + vertexCasc[2], vertexV0[0], vertexV0[1], vertexV0[2], + trackCascDauCharged.sign(), covVtxCharmBaryon[0], + covVtxCharmBaryon[1], covVtxCharmBaryon[2], covVtxCharmBaryon[3], + covVtxCharmBaryon[4], covVtxCharmBaryon[5], pVecCharmBaryon[0], + pVecCharmBaryon[1], pVecCharmBaryon[2], pVecCascAsD[0], + pVecCascAsD[1], pVecCascAsD[2], pVecCharmBachelorAsD[0], + pVecCharmBachelorAsD[1], pVecCharmBachelorAsD[2], pVecV0[0], + pVecV0[1], pVecV0[2], pVecCascBachelor[0], pVecCascBachelor[1], + pVecCascBachelor[2], pVecV0Dau0[0], pVecV0Dau0[1], pVecV0Dau0[2], + pVecV0Dau1[0], pVecV0Dau1[1], pVecV0Dau1[2], + impactParameterCasc.getY(), impactParBachFromCharmBaryonXY, + impactParameterCasc.getZ(), impactParBachFromCharmBaryonZ, + std::sqrt(impactParameterCasc.getSigmaY2()), + std::sqrt(impactParameterCharmBachelor.getSigmaY2()), v0index, + casc.posTrackId(), casc.negTrackId(), casc.cascadeId(), + trackCharmBachelor.globalIndex(), casc.bachelorId(), mLambda, mCasc, + mCharmBaryon, cpaV0, cpaCharmBaryon, cpaCasc, cpaxyV0, + cpaxyCharmBaryon, cpaxyCasc, ctOmegac, ctCascade, ctV0, ctXic, + pseudorapV0Dau0, pseudorapV0Dau1, pseudorapCascBachelor, + pseudorapCharmBachelor, pseudorapCharmBaryon, pseudorapCascade, + pseudorapV0, dcaxyV0Dau0, dcaxyV0Dau1, dcaxyCascBachelor, + dcazV0Dau0, dcazV0Dau1, dcazCascBachelor, dcaCascDau, dcaV0Dau, + dcaCharmBaryonDau, decLenCharmBaryon, decLenCascade, decLenV0, + errorDecayLengthCharmBaryon, errorDecayLengthXYCharmBaryon); } else if constexpr (decayChannel == hf_cand_casc_lf::DecayType2Prong:: - OmegaczeroToOmegaPi) { + OmegaczeroToOmegaPi) { rowCandToOmegaPi( - collision.globalIndex(), pvCoord[0], pvCoord[1], pvCoord[2], - vertexCharmBaryonFromFitter[0], vertexCharmBaryonFromFitter[1], - vertexCharmBaryonFromFitter[2], vertexCasc[0], vertexCasc[1], - vertexCasc[2], vertexV0[0], vertexV0[1], vertexV0[2], - trackCascDauCharged.sign(), covVtxCharmBaryon[0], - covVtxCharmBaryon[1], covVtxCharmBaryon[2], covVtxCharmBaryon[3], - covVtxCharmBaryon[4], covVtxCharmBaryon[5], pVecCharmBaryon[0], - pVecCharmBaryon[1], pVecCharmBaryon[2], pVecCascAsD[0], - pVecCascAsD[1], pVecCascAsD[2], pVecCharmBachelorAsD[0], - pVecCharmBachelorAsD[1], pVecCharmBachelorAsD[2], pVecV0[0], - pVecV0[1], pVecV0[2], pVecCascBachelor[0], pVecCascBachelor[1], - pVecCascBachelor[2], pVecV0Dau0[0], pVecV0Dau0[1], pVecV0Dau0[2], - pVecV0Dau1[0], pVecV0Dau1[1], pVecV0Dau1[2], - impactParameterCasc.getY(), impactParBachFromCharmBaryonXY, - impactParameterCasc.getZ(), impactParBachFromCharmBaryonZ, - std::sqrt(impactParameterCasc.getSigmaY2()), - std::sqrt(impactParameterCharmBachelor.getSigmaY2()), v0index, - casc.posTrackId(), casc.negTrackId(), casc.cascadeId(), - trackCharmBachelor.globalIndex(), casc.bachelorId(), mLambda, mCasc, - mCharmBaryon, cpaV0, cpaCharmBaryon, cpaCasc, cpaxyV0, - cpaxyCharmBaryon, cpaxyCasc, ctOmegac, ctCascade, ctV0, - pseudorapV0Dau0, pseudorapV0Dau1, pseudorapCascBachelor, - pseudorapCharmBachelor, pseudorapCharmBaryon, pseudorapCascade, - pseudorapV0, dcaxyV0Dau0, dcaxyV0Dau1, dcaxyCascBachelor, - dcazV0Dau0, dcazV0Dau1, dcazCascBachelor, dcaCascDau, dcaV0Dau, - dcaCharmBaryonDau, decLenCharmBaryon, decLenCascade, decLenV0, - errorDecayLengthCharmBaryon, errorDecayLengthXYCharmBaryon, - cand.hfflag()); + collision.globalIndex(), pvCoord[0], pvCoord[1], pvCoord[2], + vertexCharmBaryonFromFitter[0], vertexCharmBaryonFromFitter[1], + vertexCharmBaryonFromFitter[2], vertexCasc[0], vertexCasc[1], + vertexCasc[2], vertexV0[0], vertexV0[1], vertexV0[2], + trackCascDauCharged.sign(), covVtxCharmBaryon[0], + covVtxCharmBaryon[1], covVtxCharmBaryon[2], covVtxCharmBaryon[3], + covVtxCharmBaryon[4], covVtxCharmBaryon[5], pVecCharmBaryon[0], + pVecCharmBaryon[1], pVecCharmBaryon[2], pVecCascAsD[0], + pVecCascAsD[1], pVecCascAsD[2], pVecCharmBachelorAsD[0], + pVecCharmBachelorAsD[1], pVecCharmBachelorAsD[2], pVecV0[0], + pVecV0[1], pVecV0[2], pVecCascBachelor[0], pVecCascBachelor[1], + pVecCascBachelor[2], pVecV0Dau0[0], pVecV0Dau0[1], pVecV0Dau0[2], + pVecV0Dau1[0], pVecV0Dau1[1], pVecV0Dau1[2], + impactParameterCasc.getY(), impactParBachFromCharmBaryonXY, + impactParameterCasc.getZ(), impactParBachFromCharmBaryonZ, + std::sqrt(impactParameterCasc.getSigmaY2()), + std::sqrt(impactParameterCharmBachelor.getSigmaY2()), v0index, + casc.posTrackId(), casc.negTrackId(), casc.cascadeId(), + trackCharmBachelor.globalIndex(), casc.bachelorId(), mLambda, mCasc, + mCharmBaryon, cpaV0, cpaCharmBaryon, cpaCasc, cpaxyV0, + cpaxyCharmBaryon, cpaxyCasc, ctOmegac, ctCascade, ctV0, + pseudorapV0Dau0, pseudorapV0Dau1, pseudorapCascBachelor, + pseudorapCharmBachelor, pseudorapCharmBaryon, pseudorapCascade, + pseudorapV0, dcaxyV0Dau0, dcaxyV0Dau1, dcaxyCascBachelor, + dcazV0Dau0, dcazV0Dau1, dcazCascBachelor, dcaCascDau, dcaV0Dau, + dcaCharmBaryonDau, decLenCharmBaryon, decLenCascade, decLenV0, + errorDecayLengthCharmBaryon, errorDecayLengthXYCharmBaryon, + cand.hfflag()); } else { rowCandToOmegaK( - collision.globalIndex(), pvCoord[0], pvCoord[1], pvCoord[2], - vertexCharmBaryonFromFitter[0], vertexCharmBaryonFromFitter[1], - vertexCharmBaryonFromFitter[2], vertexCasc[0], vertexCasc[1], - vertexCasc[2], vertexV0[0], vertexV0[1], vertexV0[2], - trackCascDauCharged.sign(), covVtxCharmBaryon[0], - covVtxCharmBaryon[1], covVtxCharmBaryon[2], covVtxCharmBaryon[3], - covVtxCharmBaryon[4], covVtxCharmBaryon[5], pVecCharmBaryon[0], - pVecCharmBaryon[1], pVecCharmBaryon[2], pVecCascAsD[0], - pVecCascAsD[1], pVecCascAsD[2], pVecCharmBachelorAsD[0], - pVecCharmBachelorAsD[1], pVecCharmBachelorAsD[2], pVecV0[0], - pVecV0[1], pVecV0[2], pVecCascBachelor[0], pVecCascBachelor[1], - pVecCascBachelor[2], pVecV0Dau0[0], pVecV0Dau0[1], pVecV0Dau0[2], - pVecV0Dau1[0], pVecV0Dau1[1], pVecV0Dau1[2], - impactParameterCasc.getY(), impactParBachFromCharmBaryonXY, - impactParameterCasc.getZ(), impactParBachFromCharmBaryonZ, - std::sqrt(impactParameterCasc.getSigmaY2()), - std::sqrt(impactParameterCharmBachelor.getSigmaY2()), v0index, - casc.posTrackId(), casc.negTrackId(), casc.cascadeId(), - trackCharmBachelor.globalIndex(), casc.bachelorId(), mLambda, mCasc, - mCharmBaryon, cpaV0, cpaCharmBaryon, cpaCasc, cpaxyV0, - cpaxyCharmBaryon, cpaxyCasc, ctOmegac, ctCascade, ctV0, - pseudorapV0Dau0, pseudorapV0Dau1, pseudorapCascBachelor, - pseudorapCharmBachelor, pseudorapCharmBaryon, pseudorapCascade, - pseudorapV0, dcaxyV0Dau0, dcaxyV0Dau1, dcaxyCascBachelor, - dcazV0Dau0, dcazV0Dau1, dcazCascBachelor, dcaCascDau, dcaV0Dau, - dcaCharmBaryonDau, decLenCharmBaryon, decLenCascade, decLenV0, - errorDecayLengthCharmBaryon, errorDecayLengthXYCharmBaryon); + collision.globalIndex(), pvCoord[0], pvCoord[1], pvCoord[2], + vertexCharmBaryonFromFitter[0], vertexCharmBaryonFromFitter[1], + vertexCharmBaryonFromFitter[2], vertexCasc[0], vertexCasc[1], + vertexCasc[2], vertexV0[0], vertexV0[1], vertexV0[2], + trackCascDauCharged.sign(), covVtxCharmBaryon[0], + covVtxCharmBaryon[1], covVtxCharmBaryon[2], covVtxCharmBaryon[3], + covVtxCharmBaryon[4], covVtxCharmBaryon[5], pVecCharmBaryon[0], + pVecCharmBaryon[1], pVecCharmBaryon[2], pVecCascAsD[0], + pVecCascAsD[1], pVecCascAsD[2], pVecCharmBachelorAsD[0], + pVecCharmBachelorAsD[1], pVecCharmBachelorAsD[2], pVecV0[0], + pVecV0[1], pVecV0[2], pVecCascBachelor[0], pVecCascBachelor[1], + pVecCascBachelor[2], pVecV0Dau0[0], pVecV0Dau0[1], pVecV0Dau0[2], + pVecV0Dau1[0], pVecV0Dau1[1], pVecV0Dau1[2], + impactParameterCasc.getY(), impactParBachFromCharmBaryonXY, + impactParameterCasc.getZ(), impactParBachFromCharmBaryonZ, + std::sqrt(impactParameterCasc.getSigmaY2()), + std::sqrt(impactParameterCharmBachelor.getSigmaY2()), v0index, + casc.posTrackId(), casc.negTrackId(), casc.cascadeId(), + trackCharmBachelor.globalIndex(), casc.bachelorId(), mLambda, mCasc, + mCharmBaryon, cpaV0, cpaCharmBaryon, cpaCasc, cpaxyV0, + cpaxyCharmBaryon, cpaxyCasc, ctOmegac, ctCascade, ctV0, + pseudorapV0Dau0, pseudorapV0Dau1, pseudorapCascBachelor, + pseudorapCharmBachelor, pseudorapCharmBaryon, pseudorapCascade, + pseudorapV0, dcaxyV0Dau0, dcaxyV0Dau1, dcaxyCascBachelor, + dcazV0Dau0, dcazV0Dau1, dcazCascBachelor, dcaCascDau, dcaV0Dau, + dcaCharmBaryonDau, decLenCharmBaryon, decLenCascade, decLenV0, + errorDecayLengthCharmBaryon, errorDecayLengthXYCharmBaryon); } } // loop over LF Cascade-bachelor candidates @@ -962,11 +972,12 @@ struct HfCandidateCreatorXic0Omegac0 { template void runKfOmegac0CreatorWithKFParticle( - Coll const &, aod::BCsWithTimestamps const & /*bcWithTimeStamps*/, - MyKfTracks const &, MyKfCascTable const &, KFCascadesLinked const &, - aod::HfCascLf2Prongs const &candidates, Hist &hInvMassCharmBaryon, - Hist &hFitterStatus, Hist &hCandidateCounter, Hist &hCascadesCounter) { - for (const auto &cand : candidates) { + Coll const&, aod::BCsWithTimestamps const& /*bcWithTimeStamps*/, + MyKfTracks const&, MyKfCascTable const&, KFCascadesLinked const&, + aod::HfCascLf2Prongs const& candidates, Hist& hInvMassCharmBaryon, + Hist& hFitterStatus, Hist& hCandidateCounter, Hist& hCascadesCounter) + { + for (const auto& cand : candidates) { hCandidateCounter->Fill(1); auto collision = cand.collision_as(); @@ -995,11 +1006,11 @@ struct HfCandidateCreatorXic0Omegac0 { auto casc = cascAodElement.kfCascData_as(); hCascadesCounter->Fill(1); auto trackCascDauCharged = - casc.bachelor_as(); // pion <- xi track + casc.bachelor_as(); // pion <- xi track auto trackV0Dau0 = - casc.posTrack_as(); // V0 positive daughter track + casc.posTrack_as(); // V0 positive daughter track auto trackV0Dau1 = - casc.negTrack_as(); // V0 negative daughter track + casc.negTrack_as(); // V0 negative daughter track auto bachCharge = trackCascDauCharged.signed1Pt() > 0 ? +1 : -1; @@ -1040,13 +1051,13 @@ struct HfCandidateCreatorXic0Omegac0 { //__________________________________________ //*>~<* step 1 : construct V0 with KF - const KFParticle *v0Daughters[2] = {&kfPos, &kfNeg}; + const KFParticle* v0Daughters[2] = {&kfPos, &kfNeg}; // construct V0 KFParticle kfV0; kfV0.SetConstructMethod(kfConstructMethod); try { kfV0.Construct(v0Daughters, 2); - } catch (std::runtime_error &e) { + } catch (std::runtime_error& e) { LOG(debug) << "Failed to construct cascade V0 from daughter tracks: " << e.what(); continue; @@ -1066,7 +1077,7 @@ struct HfCandidateCreatorXic0Omegac0 { kfOmegac0Candidate.chi2GeoV0 = kfV0.GetChi2(); KFParticle kfV0MassConstrained = kfV0; kfV0MassConstrained.SetNonlinearMassConstraint( - o2::constants::physics::MassLambda); // set mass constrain to Lambda + o2::constants::physics::MassLambda); // set mass constrain to Lambda if (kfUseV0MassConstraint) { KFParticle kfV0 = kfV0MassConstrained; } @@ -1074,8 +1085,8 @@ struct HfCandidateCreatorXic0Omegac0 { //__________________________________________ //*>~<* step 2 : reconstruct cascade(Omega) with KF - const KFParticle *omegaDaugthers[2] = {&kfBachKaon, &kfV0}; - const KFParticle *omegaDaugthersRej[2] = {&kfBachPionRej, &kfV0}; // rej + const KFParticle* omegaDaugthers[2] = {&kfBachKaon, &kfV0}; + const KFParticle* omegaDaugthersRej[2] = {&kfBachPionRej, &kfV0}; // rej // construct cascade KFParticle kfOmega; KFParticle kfOmegarej; // rej @@ -1084,7 +1095,7 @@ struct HfCandidateCreatorXic0Omegac0 { try { kfOmega.Construct(omegaDaugthers, 2); kfOmegarej.Construct(omegaDaugthersRej, 2); // rej - } catch (std::runtime_error &e) { + } catch (std::runtime_error& e) { LOG(debug) << "Failed to construct Omega or Omega_rej from V0 and " "bachelor track: " << e.what(); @@ -1107,8 +1118,8 @@ struct HfCandidateCreatorXic0Omegac0 { registry.fill(HIST("hInvMassXiMinus_rej"), massCascrej); // rej KFParticle kfOmegaMassConstrained = kfOmega; kfOmegaMassConstrained.SetNonlinearMassConstraint( - o2::constants::physics::MassOmegaMinus); // set mass constrain to - // OmegaMinus + o2::constants::physics::MassOmegaMinus); // set mass constrain to + // OmegaMinus if (kfUseCascadeMassConstraint) { // set mass constraint if requested KFParticle kfOmega = kfOmegaMassConstrained; @@ -1124,14 +1135,14 @@ struct HfCandidateCreatorXic0Omegac0 { // Create KF charm bach Pion from track KFPTrack kfTrackBachPion = createKFPTrackFromTrack(trackCharmBachelor); KFParticle kfBachPion(kfTrackBachPion, kPiPlus); - const KFParticle *omegaC0Daugthers[2] = {&kfBachPion, &kfOmega}; + const KFParticle* omegaC0Daugthers[2] = {&kfBachPion, &kfOmega}; // construct OmegaC0 KFParticle kfOmegaC0; kfOmegaC0.SetConstructMethod(kfConstructMethod); try { kfOmegaC0.Construct(omegaC0Daugthers, 2); - } catch (std::runtime_error &e) { + } catch (std::runtime_error& e) { LOG(debug) << "Failed to construct OmegaC0 from Cascade and bachelor " "pion track: " << e.what(); @@ -1177,16 +1188,16 @@ struct HfCandidateCreatorXic0Omegac0 { kfPiFromOmegacToPv.SetProductionVertex(kfPV); //------------get updated daughter tracks after vertex fit --------------- auto trackParVarCharmBachelor = - getTrackParCovFromKFP(kfBachPionToOmegaC, o2::track::PID::Pion, - -bachCharge); // chrambaryon bach pion + getTrackParCovFromKFP(kfBachPionToOmegaC, o2::track::PID::Pion, + -bachCharge); // chrambaryon bach pion trackParVarCharmBachelor.setAbsCharge(1); omegaDauChargedTrackParCov = - getTrackParCovFromKFP(kfBachKaonToOmega, o2::track::PID::Kaon, - bachCharge); // Cascade bach kaon + getTrackParCovFromKFP(kfBachKaonToOmega, o2::track::PID::Kaon, + bachCharge); // Cascade bach kaon omegaDauChargedTrackParCov.setAbsCharge(1); o2::track::TrackParCov trackCasc = getTrackParCovFromKFP( - kfOmegaToOmegaC, kfOmegaToOmegaC.GetPDG(), bachCharge); + kfOmegaToOmegaC, kfOmegaToOmegaC.GetPDG(), bachCharge); trackCasc.setAbsCharge(1); trackParCovV0Dau0 = getTrackParCovFromKFP(kfPos, kfPos.GetPDG(), @@ -1203,9 +1214,9 @@ struct HfCandidateCreatorXic0Omegac0 { // info from from KFParticle std::array pVecV0 = { - kfV0.GetPx(), kfV0.GetPy(), - kfV0.GetPz()}; // pVec stands for vector containing the 3-momentum - // components + kfV0.GetPx(), kfV0.GetPy(), + kfV0.GetPz()}; // pVec stands for vector containing the 3-momentum + // components std::array vertexV0 = {kfV0.GetX(), kfV0.GetY(), kfV0.GetZ()}; std::array pVecV0Dau0 = {kfPos.GetPx(), kfPos.GetPy(), kfPos.GetPz()}; @@ -1227,17 +1238,17 @@ struct HfCandidateCreatorXic0Omegac0 { std::array pvCoord = {collision.posX(), collision.posY(), collision.posZ()}; std::array vertexCharmBaryonFromFitter = { - 0.0, 0.0, 0.0}; // This variable get from DCAfitter in default - // process, in KF process it is set as 0. + 0.0, 0.0, 0.0}; // This variable get from DCAfitter in default + // process, in KF process it is set as 0. std::array pVecCharmBachelorAsD; pVecCharmBachelorAsD[0] = kfBachPionToOmegaC.GetPx(); pVecCharmBachelorAsD[1] = kfBachPionToOmegaC.GetPy(); pVecCharmBachelorAsD[2] = kfBachPionToOmegaC.GetPz(); std::array pVecCharmBaryon = { - kfOmegaC0.GetPx(), kfOmegaC0.GetPy(), kfOmegaC0.GetPz()}; + kfOmegaC0.GetPx(), kfOmegaC0.GetPy(), kfOmegaC0.GetPz()}; std::array coordVtxCharmBaryon = { - kfOmegaC0.GetX(), kfOmegaC0.GetY(), kfOmegaC0.GetZ()}; + kfOmegaC0.GetX(), kfOmegaC0.GetY(), kfOmegaC0.GetZ()}; auto covVtxCharmBaryon = kfOmegaC0.CovarianceMatrix(); float covMatrixPV[6]; kfVertex.GetCovarianceMatrix(covMatrixPV); @@ -1247,14 +1258,14 @@ struct HfCandidateCreatorXic0Omegac0 { gpu::gpustd::array impactParameterV0Dau1; gpu::gpustd::array impactParameterKaFromCasc; o2::base::Propagator::Instance()->propagateToDCABxByBz( - {collision.posX(), collision.posY(), collision.posZ()}, - trackParCovV0Dau0, 2.f, matCorr, &impactParameterV0Dau0); + {collision.posX(), collision.posY(), collision.posZ()}, + trackParCovV0Dau0, 2.f, matCorr, &impactParameterV0Dau0); o2::base::Propagator::Instance()->propagateToDCABxByBz( - {collision.posX(), collision.posY(), collision.posZ()}, - trackParCovV0Dau1, 2.f, matCorr, &impactParameterV0Dau1); + {collision.posX(), collision.posY(), collision.posZ()}, + trackParCovV0Dau1, 2.f, matCorr, &impactParameterV0Dau1); o2::base::Propagator::Instance()->propagateToDCABxByBz( - {collision.posX(), collision.posY(), collision.posZ()}, - omegaDauChargedTrackParCov, 2.f, matCorr, &impactParameterKaFromCasc); + {collision.posX(), collision.posY(), collision.posZ()}, + omegaDauChargedTrackParCov, 2.f, matCorr, &impactParameterKaFromCasc); float dcaxyV0Dau0 = impactParameterV0Dau0[0]; float dcaxyV0Dau1 = impactParameterV0Dau1[0]; float dcaxyCascBachelor = impactParameterKaFromCasc[0]; @@ -1269,31 +1280,31 @@ struct HfCandidateCreatorXic0Omegac0 { o2::dataformats::DCA impactParameterCasc; o2::dataformats::DCA impactParameterCharmBachelor; o2::base::Propagator::Instance()->propagateToDCABxByBz( - primaryVertex, trackCasc, 2.f, matCorr, &impactParameterCasc); + primaryVertex, trackCasc, 2.f, matCorr, &impactParameterCasc); o2::base::Propagator::Instance()->propagateToDCABxByBz( - primaryVertex, trackParVarCharmBachelor, 2.f, matCorr, - &impactParameterCharmBachelor); + primaryVertex, trackParVarCharmBachelor, 2.f, matCorr, + &impactParameterCharmBachelor); float impactParBachFromCharmBaryonXY = - impactParameterCharmBachelor.getY(); + impactParameterCharmBachelor.getY(); float impactParBachFromCharmBaryonZ = impactParameterCharmBachelor.getZ(); // computing decay length and ctau float decLenCharmBaryon = - RecoDecay::distance(pvCoord, coordVtxCharmBaryon); + RecoDecay::distance(pvCoord, coordVtxCharmBaryon); float decLenCascade = - RecoDecay::distance(coordVtxCharmBaryon, vertexCasc); + RecoDecay::distance(coordVtxCharmBaryon, vertexCasc); float decLenV0 = RecoDecay::distance(vertexCasc, vertexV0); double phiCharmBaryon, thetaCharmBaryon; getPointDirection(std::array{kfV0.GetX(), kfV0.GetY(), kfV0.GetZ()}, coordVtxCharmBaryon, phiCharmBaryon, thetaCharmBaryon); auto errorDecayLengthCharmBaryon = std::sqrt( - getRotatedCovMatrixXX(covMatrixPV, phiCharmBaryon, thetaCharmBaryon) + - getRotatedCovMatrixXX(covVtxCharmBaryon, phiCharmBaryon, - thetaCharmBaryon)); + getRotatedCovMatrixXX(covMatrixPV, phiCharmBaryon, thetaCharmBaryon) + + getRotatedCovMatrixXX(covVtxCharmBaryon, phiCharmBaryon, + thetaCharmBaryon)); auto errorDecayLengthXYCharmBaryon = std::sqrt( - getRotatedCovMatrixXX(covMatrixPV, phiCharmBaryon, 0.) + - getRotatedCovMatrixXX(covVtxCharmBaryon, phiCharmBaryon, 0.)); + getRotatedCovMatrixXX(covMatrixPV, phiCharmBaryon, 0.) + + getRotatedCovMatrixXX(covVtxCharmBaryon, phiCharmBaryon, 0.)); // fill test histograms hInvMassCharmBaryon->Fill(massOmegaC0); @@ -1310,7 +1321,7 @@ struct HfCandidateCreatorXic0Omegac0 { kfOmegac0Candidate.chi2GeoOmegac = kfOmegaC0.GetChi2(); auto charmbaryonNDF = kfOmegaC0.GetNDF(); auto charmbaryonChi2OverNdf = - kfOmegac0Candidate.chi2GeoOmegac / charmbaryonNDF; + kfOmegac0Candidate.chi2GeoOmegac / charmbaryonNDF; kfOmegac0Candidate.chi2MassV0 = kfV0MassConstrained.GetChi2(); auto v0Ndfm = kfV0MassConstrained.GetNDF(); @@ -1322,20 +1333,20 @@ struct HfCandidateCreatorXic0Omegac0 { // KF topo Chi2 over NDF kfOmegac0Candidate.chi2NdfTopoV0ToPv = - kfV0ToPv.GetChi2() / kfV0ToPv.GetNDF(); + kfV0ToPv.GetChi2() / kfV0ToPv.GetNDF(); kfOmegac0Candidate.chi2NdfTopoCascToPv = - kfOmegaToPv.GetChi2() / kfOmegaToPv.GetNDF(); + kfOmegaToPv.GetChi2() / kfOmegaToPv.GetNDF(); kfOmegac0Candidate.chi2NdfTopoPiFromOmegacToPv = - kfPiFromOmegacToPv.GetChi2() / kfPiFromOmegacToPv.GetNDF(); + kfPiFromOmegacToPv.GetChi2() / kfPiFromOmegacToPv.GetNDF(); kfOmegac0Candidate.chi2NdfTopoOmegacToPv = - kfOmegac0ToPv.GetChi2() / kfOmegac0ToPv.GetNDF(); + kfOmegac0ToPv.GetChi2() / kfOmegac0ToPv.GetNDF(); auto cascBachTopoChi2Ndf = - kfBachKaonToOmega.GetChi2() / kfBachKaonToOmega.GetNDF(); + kfBachKaonToOmega.GetChi2() / kfBachKaonToOmega.GetNDF(); kfOmegac0Candidate.chi2NdfTopoV0ToCasc = - kfV0ToCasc.GetChi2() / kfV0ToCasc.GetNDF(); + kfV0ToCasc.GetChi2() / kfV0ToCasc.GetNDF(); kfOmegac0Candidate.chi2NdfTopoCascToOmegac = - kfOmegaToOmegaC.GetChi2() / kfOmegaToOmegaC.GetNDF(); + kfOmegaToOmegaC.GetChi2() / kfOmegaToOmegaC.GetNDF(); // KF ldl kfOmegac0Candidate.ldlV0 = ldlFromKF(kfV0, kfPV); @@ -1344,14 +1355,14 @@ struct HfCandidateCreatorXic0Omegac0 { // KF dca kfOmegac0Candidate.kfDcaXYPiFromOmegac = - kfBachPionToOmegaC.GetDistanceFromVertexXY(kfPV); + kfBachPionToOmegaC.GetDistanceFromVertexXY(kfPV); kfOmegac0Candidate.kfDcaV0Dau = kfNeg.GetDistanceFromParticle(kfPos); kfOmegac0Candidate.kfDcaCascDau = - kfBachKaonToOmega.GetDistanceFromParticle(kfV0ToCasc); + kfBachKaonToOmega.GetDistanceFromParticle(kfV0ToCasc); kfOmegac0Candidate.kfDcaXYCascToPv = - kfOmegaToOmegaC.GetDistanceFromVertexXY(kfPV); + kfOmegaToOmegaC.GetDistanceFromVertexXY(kfPV); kfOmegac0Candidate.kfDcaOmegacDau = - kfBachPionToOmegaC.GetDistanceFromParticle(kfOmegaToOmegaC); + kfBachPionToOmegaC.GetDistanceFromParticle(kfOmegaToOmegaC); // KF decay length float decayLxyLam, errDecayLxyLam; @@ -1392,7 +1403,7 @@ struct HfCandidateCreatorXic0Omegac0 { // KF cosThetaStar kfOmegac0Candidate.cosThetaStarPiFromOmegac = cosThetaStarFromKF( - 0, 4332, 211, 3312, kfBachPionToOmegaC, kfOmegaToOmegaC); + 0, 4332, 211, 3312, kfBachPionToOmegaC, kfOmegaToOmegaC); // KF ct kfOmegac0Candidate.ctV0 = kfV0.GetLifeTime(); @@ -1430,7 +1441,7 @@ struct HfCandidateCreatorXic0Omegac0 { registry.fill(HIST("hEtaPiFromCharmBaryon"), kfBachPionToOmegaC.GetEta()); registry.fill(HIST("hCascradius"), RecoDecay::sqrtSumOfSquares( - vertexCasc[0], vertexCasc[1])); + vertexCasc[0], vertexCasc[1])); registry.fill(HIST("hV0radius"), RecoDecay::sqrtSumOfSquares(vertexV0[0], vertexV0[1])); registry.fill(HIST("hCosPACasc"), kfOmegac0Candidate.cosPaCascToPv); @@ -1469,76 +1480,77 @@ struct HfCandidateCreatorXic0Omegac0 { // fill the table rowCandToOmegaPi( - collision.globalIndex(), pvCoord[0], pvCoord[1], pvCoord[2], - vertexCharmBaryonFromFitter[0], vertexCharmBaryonFromFitter[1], - vertexCharmBaryonFromFitter[2], vertexCasc[0], vertexCasc[1], - vertexCasc[2], vertexV0[0], vertexV0[1], vertexV0[2], - trackCascDauCharged.sign(), covVtxCharmBaryon[0], - covVtxCharmBaryon[1], covVtxCharmBaryon[2], covVtxCharmBaryon[3], - covVtxCharmBaryon[4], covVtxCharmBaryon[5], pVecCharmBaryon[0], - pVecCharmBaryon[1], pVecCharmBaryon[2], kfOmegaToOmegaC.GetPx(), - kfOmegaToOmegaC.GetPy(), kfOmegaToOmegaC.GetPz(), - pVecCharmBachelorAsD[0], pVecCharmBachelorAsD[1], - pVecCharmBachelorAsD[2], pVecV0[0], pVecV0[1], pVecV0[2], - pVecCascBachelor[0], pVecCascBachelor[1], pVecCascBachelor[2], - pVecV0Dau0[0], pVecV0Dau0[1], pVecV0Dau0[2], pVecV0Dau1[0], - pVecV0Dau1[1], pVecV0Dau1[2], impactParameterCasc.getY(), - impactParBachFromCharmBaryonXY, impactParameterCasc.getZ(), - impactParBachFromCharmBaryonZ, - std::sqrt(impactParameterCasc.getSigmaY2()), - std::sqrt(impactParameterCharmBachelor.getSigmaY2()), v0index, - casc.posTrackId(), casc.negTrackId(), casc.cascadeId(), - trackCharmBachelor.globalIndex(), casc.bachelorId(), - kfOmegac0Candidate.massV0, kfOmegac0Candidate.massCasc, - kfOmegac0Candidate.massOmegac, kfOmegac0Candidate.cosPaV0ToPv, - kfOmegac0Candidate.cosPaOmegacToPv, kfOmegac0Candidate.cosPaCascToPv, - kfOmegac0Candidate.cosPaXYV0ToPv, - kfOmegac0Candidate.cosPaXYOmegacToPv, - kfOmegac0Candidate.cosPaXYCascToPv, kfOmegac0Candidate.ctOmegac, - kfOmegac0Candidate.ctCasc, kfOmegac0Candidate.ctV0, pseudorapV0Dau0, - pseudorapV0Dau1, pseudorapCascBachelor, pseudorapCharmBachelor, - kfOmegac0Candidate.etaOmegac, kfOmega.GetEta(), kfV0.GetEta(), - dcaxyV0Dau0, dcaxyV0Dau1, dcaxyCascBachelor, dcazV0Dau0, dcazV0Dau1, - dcazCascBachelor, kfOmegac0Candidate.kfDcaCascDau, - kfOmegac0Candidate.kfDcaV0Dau, kfOmegac0Candidate.kfDcaOmegacDau, - decLenCharmBaryon, decLenCascade, decLenV0, - errorDecayLengthCharmBaryon, errorDecayLengthXYCharmBaryon, - cand.hfflag()); + collision.globalIndex(), pvCoord[0], pvCoord[1], pvCoord[2], + vertexCharmBaryonFromFitter[0], vertexCharmBaryonFromFitter[1], + vertexCharmBaryonFromFitter[2], vertexCasc[0], vertexCasc[1], + vertexCasc[2], vertexV0[0], vertexV0[1], vertexV0[2], + trackCascDauCharged.sign(), covVtxCharmBaryon[0], + covVtxCharmBaryon[1], covVtxCharmBaryon[2], covVtxCharmBaryon[3], + covVtxCharmBaryon[4], covVtxCharmBaryon[5], pVecCharmBaryon[0], + pVecCharmBaryon[1], pVecCharmBaryon[2], kfOmegaToOmegaC.GetPx(), + kfOmegaToOmegaC.GetPy(), kfOmegaToOmegaC.GetPz(), + pVecCharmBachelorAsD[0], pVecCharmBachelorAsD[1], + pVecCharmBachelorAsD[2], pVecV0[0], pVecV0[1], pVecV0[2], + pVecCascBachelor[0], pVecCascBachelor[1], pVecCascBachelor[2], + pVecV0Dau0[0], pVecV0Dau0[1], pVecV0Dau0[2], pVecV0Dau1[0], + pVecV0Dau1[1], pVecV0Dau1[2], impactParameterCasc.getY(), + impactParBachFromCharmBaryonXY, impactParameterCasc.getZ(), + impactParBachFromCharmBaryonZ, + std::sqrt(impactParameterCasc.getSigmaY2()), + std::sqrt(impactParameterCharmBachelor.getSigmaY2()), v0index, + casc.posTrackId(), casc.negTrackId(), casc.cascadeId(), + trackCharmBachelor.globalIndex(), casc.bachelorId(), + kfOmegac0Candidate.massV0, kfOmegac0Candidate.massCasc, + kfOmegac0Candidate.massOmegac, kfOmegac0Candidate.cosPaV0ToPv, + kfOmegac0Candidate.cosPaOmegacToPv, kfOmegac0Candidate.cosPaCascToPv, + kfOmegac0Candidate.cosPaXYV0ToPv, + kfOmegac0Candidate.cosPaXYOmegacToPv, + kfOmegac0Candidate.cosPaXYCascToPv, kfOmegac0Candidate.ctOmegac, + kfOmegac0Candidate.ctCasc, kfOmegac0Candidate.ctV0, pseudorapV0Dau0, + pseudorapV0Dau1, pseudorapCascBachelor, pseudorapCharmBachelor, + kfOmegac0Candidate.etaOmegac, kfOmega.GetEta(), kfV0.GetEta(), + dcaxyV0Dau0, dcaxyV0Dau1, dcaxyCascBachelor, dcazV0Dau0, dcazV0Dau1, + dcazCascBachelor, kfOmegac0Candidate.kfDcaCascDau, + kfOmegac0Candidate.kfDcaV0Dau, kfOmegac0Candidate.kfDcaOmegacDau, + decLenCharmBaryon, decLenCascade, decLenV0, + errorDecayLengthCharmBaryon, errorDecayLengthXYCharmBaryon, + cand.hfflag()); // fill kf table kfCandidateData( - kfOmegac0Candidate.kfDcaXYPiFromOmegac, - kfOmegac0Candidate.kfDcaXYCascToPv, kfOmegac0Candidate.chi2GeoV0, - kfOmegac0Candidate.chi2GeoCasc, kfOmegac0Candidate.chi2GeoOmegac, - kfOmegac0Candidate.chi2MassV0, kfOmegac0Candidate.chi2MassCasc, - kfOmegac0Candidate.ldlV0, kfOmegac0Candidate.ldlCasc, - kfOmegac0Candidate.ldlOmegac, kfOmegac0Candidate.chi2NdfTopoV0ToPv, - kfOmegac0Candidate.chi2NdfTopoCascToPv, - kfOmegac0Candidate.chi2NdfTopoPiFromOmegacToPv, - kfOmegac0Candidate.chi2NdfTopoOmegacToPv, - kfOmegac0Candidate.chi2NdfTopoV0ToCasc, - kfOmegac0Candidate.chi2NdfTopoCascToOmegac, - kfOmegac0Candidate.decayLenXYLambda, - kfOmegac0Candidate.decayLenXYCasc, - kfOmegac0Candidate.decayLenXYOmegac, kfOmegac0Candidate.cosPaV0ToCasc, - kfOmegac0Candidate.cosPaCascToOmegac, - kfOmegac0Candidate.cosPaXYV0ToCasc, - kfOmegac0Candidate.cosPaXYCascToOmegac, kfOmegac0Candidate.rapOmegac, - kfOmegac0Candidate.ptPiFromOmegac, kfOmegac0Candidate.ptOmegac, - kfOmegac0Candidate.cosThetaStarPiFromOmegac, v0NDF, cascNDF, - charmbaryonNDF, v0Ndfm, cascNdfm, v0Chi2OverNdf, cascChi2OverNdf, - charmbaryonChi2OverNdf, v0Chi2OverNdfm, cascChi2OverNdfm, - kfOmegac0Candidate.cascRejectInvmass); + kfOmegac0Candidate.kfDcaXYPiFromOmegac, + kfOmegac0Candidate.kfDcaXYCascToPv, kfOmegac0Candidate.chi2GeoV0, + kfOmegac0Candidate.chi2GeoCasc, kfOmegac0Candidate.chi2GeoOmegac, + kfOmegac0Candidate.chi2MassV0, kfOmegac0Candidate.chi2MassCasc, + kfOmegac0Candidate.ldlV0, kfOmegac0Candidate.ldlCasc, + kfOmegac0Candidate.ldlOmegac, kfOmegac0Candidate.chi2NdfTopoV0ToPv, + kfOmegac0Candidate.chi2NdfTopoCascToPv, + kfOmegac0Candidate.chi2NdfTopoPiFromOmegacToPv, + kfOmegac0Candidate.chi2NdfTopoOmegacToPv, + kfOmegac0Candidate.chi2NdfTopoV0ToCasc, + kfOmegac0Candidate.chi2NdfTopoCascToOmegac, + kfOmegac0Candidate.decayLenXYLambda, + kfOmegac0Candidate.decayLenXYCasc, + kfOmegac0Candidate.decayLenXYOmegac, kfOmegac0Candidate.cosPaV0ToCasc, + kfOmegac0Candidate.cosPaCascToOmegac, + kfOmegac0Candidate.cosPaXYV0ToCasc, + kfOmegac0Candidate.cosPaXYCascToOmegac, kfOmegac0Candidate.rapOmegac, + kfOmegac0Candidate.ptPiFromOmegac, kfOmegac0Candidate.ptOmegac, + kfOmegac0Candidate.cosThetaStarPiFromOmegac, v0NDF, cascNDF, + charmbaryonNDF, v0Ndfm, cascNdfm, v0Chi2OverNdf, cascChi2OverNdf, + charmbaryonChi2OverNdf, v0Chi2OverNdfm, cascChi2OverNdfm, + kfOmegac0Candidate.cascRejectInvmass); } // loop over LF Cascade-bachelor candidates } // end of run function //========================================================== template void runKfXic0CreatorWithKFParticle( - Coll const &, aod::BCsWithTimestamps const & /*bcWithTimeStamps*/, - MyKfTracks const &, MyKfCascTable const &, KFCascadesLinked const &, - aod::HfCascLf2Prongs const &candidates, Hist &hInvMassCharmBaryon, - Hist &hFitterStatus, Hist &hCandidateCounter, Hist &hCascadesCounter) { - for (const auto &cand : candidates) { + Coll const&, aod::BCsWithTimestamps const& /*bcWithTimeStamps*/, + MyKfTracks const&, MyKfCascTable const&, KFCascadesLinked const&, + aod::HfCascLf2Prongs const& candidates, Hist& hInvMassCharmBaryon, + Hist& hFitterStatus, Hist& hCandidateCounter, Hist& hCascadesCounter) + { + for (const auto& cand : candidates) { hCandidateCounter->Fill(1); auto collision = cand.collision_as(); @@ -1567,11 +1579,11 @@ struct HfCandidateCreatorXic0Omegac0 { auto casc = cascAodElement.kfCascData_as(); hCascadesCounter->Fill(1); auto trackCascDauCharged = - casc.bachelor_as(); // pion <- xi track + casc.bachelor_as(); // pion <- xi track auto trackV0Dau0 = - casc.posTrack_as(); // V0 positive daughter track + casc.posTrack_as(); // V0 positive daughter track auto trackV0Dau1 = - casc.negTrack_as(); // V0 negative daughter track + casc.negTrack_as(); // V0 negative daughter track auto bachCharge = trackCascDauCharged.signed1Pt() > 0 ? +1 : -1; @@ -1608,13 +1620,13 @@ struct HfCandidateCreatorXic0Omegac0 { //__________________________________________ //*>~<* step 1 : construct V0 with KF - const KFParticle *v0Daughters[2] = {&kfPos, &kfNeg}; + const KFParticle* v0Daughters[2] = {&kfPos, &kfNeg}; // construct V0 KFParticle kfV0; kfV0.SetConstructMethod(kfConstructMethod); try { kfV0.Construct(v0Daughters, 2); - } catch (std::runtime_error &e) { + } catch (std::runtime_error& e) { LOG(debug) << "Failed to construct cascade V0 from daughter tracks: " << e.what(); continue; @@ -1636,7 +1648,7 @@ struct HfCandidateCreatorXic0Omegac0 { kfXic0Candidate.chi2GeoV0 = kfV0.GetChi2(); KFParticle kfV0MassConstrained = kfV0; kfV0MassConstrained.SetNonlinearMassConstraint( - o2::constants::physics::MassLambda); // set mass constrain to Lambda + o2::constants::physics::MassLambda); // set mass constrain to Lambda if (kfUseV0MassConstraint) { KFParticle kfV0 = kfV0MassConstrained; } @@ -1644,13 +1656,13 @@ struct HfCandidateCreatorXic0Omegac0 { //__________________________________________ //*>~<* step 2 : reconstruct cascade(Xi) with KF - const KFParticle *xiDaugthers[2] = {&kfBachPion, &kfV0}; + const KFParticle* xiDaugthers[2] = {&kfBachPion, &kfV0}; // construct cascade KFParticle kfXi; kfXi.SetConstructMethod(kfConstructMethod); try { kfXi.Construct(xiDaugthers, 2); - } catch (std::runtime_error &e) { + } catch (std::runtime_error& e) { LOG(debug) << "Failed to construct Xi from V0 and bachelor track: " << e.what(); continue; @@ -1670,7 +1682,7 @@ struct HfCandidateCreatorXic0Omegac0 { kfXic0Candidate.chi2GeoCasc = kfXi.GetChi2(); KFParticle kfXiMassConstrained = kfXi; kfXiMassConstrained.SetNonlinearMassConstraint( - o2::constants::physics::MassXiMinus); // set mass constrain to XiMinus + o2::constants::physics::MassXiMinus); // set mass constrain to XiMinus if (kfUseCascadeMassConstraint) { // set mass constraint if requested KFParticle kfXi = kfXiMassConstrained; @@ -1683,17 +1695,17 @@ struct HfCandidateCreatorXic0Omegac0 { // Create KF charm bach Pion from track KFPTrack kfTrackBachPion = createKFPTrackFromTrack(trackCharmBachelor); KFParticle kfCharmBachPion(kfTrackBachPion, kPiPlus); - const KFParticle *xiC0Daugthers[2] = {&kfCharmBachPion, &kfXi}; + const KFParticle* xiC0Daugthers[2] = {&kfCharmBachPion, &kfXi}; // construct XiC0 KFParticle kfXiC0; kfXiC0.SetConstructMethod(kfConstructMethod); try { kfXiC0.Construct(xiC0Daugthers, 2); - } catch (std::runtime_error &e) { + } catch (std::runtime_error& e) { LOG(debug) - << "Failed to construct XiC0 from Cascade and bachelor pion track: " - << e.what(); + << "Failed to construct XiC0 from Cascade and bachelor pion track: " + << e.what(); continue; } float massXiC0, sigXiC0; @@ -1737,16 +1749,16 @@ struct HfCandidateCreatorXic0Omegac0 { kfPiFromXicToPv.SetProductionVertex(kfPV); //------------get updated daughter tracks after vertex fit --------------- auto trackParVarCharmBachelor = - getTrackParCovFromKFP(kfCharmBachPionToXiC, o2::track::PID::Pion, - -bachCharge); // chrambaryon bach pion + getTrackParCovFromKFP(kfCharmBachPionToXiC, o2::track::PID::Pion, + -bachCharge); // chrambaryon bach pion trackParVarCharmBachelor.setAbsCharge(1); xiDauChargedTrackParCov = - getTrackParCovFromKFP(kfBachPionToXi, o2::track::PID::Pion, - bachCharge); // Cascade bach pion + getTrackParCovFromKFP(kfBachPionToXi, o2::track::PID::Pion, + bachCharge); // Cascade bach pion xiDauChargedTrackParCov.setAbsCharge(1); o2::track::TrackParCov trackCasc = - getTrackParCovFromKFP(kfXiToXiC, kfXiToXiC.GetPDG(), bachCharge); + getTrackParCovFromKFP(kfXiToXiC, kfXiToXiC.GetPDG(), bachCharge); trackCasc.setAbsCharge(1); trackParCovV0Dau0 = getTrackParCovFromKFP(kfPos, kfPos.GetPDG(), @@ -1763,9 +1775,9 @@ struct HfCandidateCreatorXic0Omegac0 { // info from from KFParticle std::array pVecV0 = { - kfV0.GetPx(), kfV0.GetPy(), - kfV0.GetPz()}; // pVec stands for vector containing the 3-momentum - // components + kfV0.GetPx(), kfV0.GetPy(), + kfV0.GetPz()}; // pVec stands for vector containing the 3-momentum + // components std::array vertexV0 = {kfV0.GetX(), kfV0.GetY(), kfV0.GetZ()}; std::array pVecV0Dau0 = {kfPos.GetPx(), kfPos.GetPy(), kfPos.GetPz()}; @@ -1786,8 +1798,8 @@ struct HfCandidateCreatorXic0Omegac0 { std::array pvCoord = {collision.posX(), collision.posY(), collision.posZ()}; std::array vertexCharmBaryonFromFitter = { - 0.0, 0.0, 0.0}; // This variable get from DCAfitter in default - // process, in KF process it is set as 0. + 0.0, 0.0, 0.0}; // This variable get from DCAfitter in default + // process, in KF process it is set as 0. std::array pVecCharmBachelorAsD; pVecCharmBachelorAsD[0] = kfCharmBachPionToXiC.GetPx(); pVecCharmBachelorAsD[1] = kfCharmBachPionToXiC.GetPy(); @@ -1806,14 +1818,14 @@ struct HfCandidateCreatorXic0Omegac0 { gpu::gpustd::array impactParameterV0Dau1; gpu::gpustd::array impactParameterKaFromCasc; o2::base::Propagator::Instance()->propagateToDCABxByBz( - {collision.posX(), collision.posY(), collision.posZ()}, - trackParCovV0Dau0, 2.f, matCorr, &impactParameterV0Dau0); + {collision.posX(), collision.posY(), collision.posZ()}, + trackParCovV0Dau0, 2.f, matCorr, &impactParameterV0Dau0); o2::base::Propagator::Instance()->propagateToDCABxByBz( - {collision.posX(), collision.posY(), collision.posZ()}, - trackParCovV0Dau1, 2.f, matCorr, &impactParameterV0Dau1); + {collision.posX(), collision.posY(), collision.posZ()}, + trackParCovV0Dau1, 2.f, matCorr, &impactParameterV0Dau1); o2::base::Propagator::Instance()->propagateToDCABxByBz( - {collision.posX(), collision.posY(), collision.posZ()}, - xiDauChargedTrackParCov, 2.f, matCorr, &impactParameterKaFromCasc); + {collision.posX(), collision.posY(), collision.posZ()}, + xiDauChargedTrackParCov, 2.f, matCorr, &impactParameterKaFromCasc); float dcaxyV0Dau0 = impactParameterV0Dau0[0]; float dcaxyV0Dau1 = impactParameterV0Dau1[0]; float dcaxyCascBachelor = impactParameterKaFromCasc[0]; @@ -1828,31 +1840,31 @@ struct HfCandidateCreatorXic0Omegac0 { o2::dataformats::DCA impactParameterCasc; o2::dataformats::DCA impactParameterCharmBachelor; o2::base::Propagator::Instance()->propagateToDCABxByBz( - primaryVertex, trackCasc, 2.f, matCorr, &impactParameterCasc); + primaryVertex, trackCasc, 2.f, matCorr, &impactParameterCasc); o2::base::Propagator::Instance()->propagateToDCABxByBz( - primaryVertex, trackParVarCharmBachelor, 2.f, matCorr, - &impactParameterCharmBachelor); + primaryVertex, trackParVarCharmBachelor, 2.f, matCorr, + &impactParameterCharmBachelor); float impactParBachFromCharmBaryonXY = - impactParameterCharmBachelor.getY(); + impactParameterCharmBachelor.getY(); float impactParBachFromCharmBaryonZ = impactParameterCharmBachelor.getZ(); // computing decay length and ctau float decLenCharmBaryon = - RecoDecay::distance(pvCoord, coordVtxCharmBaryon); + RecoDecay::distance(pvCoord, coordVtxCharmBaryon); float decLenCascade = - RecoDecay::distance(coordVtxCharmBaryon, vertexCasc); + RecoDecay::distance(coordVtxCharmBaryon, vertexCasc); float decLenV0 = RecoDecay::distance(vertexCasc, vertexV0); double phiCharmBaryon, thetaCharmBaryon; getPointDirection(std::array{kfV0.GetX(), kfV0.GetY(), kfV0.GetZ()}, coordVtxCharmBaryon, phiCharmBaryon, thetaCharmBaryon); auto errorDecayLengthCharmBaryon = std::sqrt( - getRotatedCovMatrixXX(covMatrixPV, phiCharmBaryon, thetaCharmBaryon) + - getRotatedCovMatrixXX(covVtxCharmBaryon, phiCharmBaryon, - thetaCharmBaryon)); + getRotatedCovMatrixXX(covMatrixPV, phiCharmBaryon, thetaCharmBaryon) + + getRotatedCovMatrixXX(covVtxCharmBaryon, phiCharmBaryon, + thetaCharmBaryon)); auto errorDecayLengthXYCharmBaryon = std::sqrt( - getRotatedCovMatrixXX(covMatrixPV, phiCharmBaryon, 0.) + - getRotatedCovMatrixXX(covVtxCharmBaryon, phiCharmBaryon, 0.)); + getRotatedCovMatrixXX(covMatrixPV, phiCharmBaryon, 0.) + + getRotatedCovMatrixXX(covVtxCharmBaryon, phiCharmBaryon, 0.)); // fill test histograms hInvMassCharmBaryon->Fill(massXiC0); @@ -1880,36 +1892,36 @@ struct HfCandidateCreatorXic0Omegac0 { // KF topo Chi2 kfXic0Candidate.chi2NdfTopoV0ToPv = - kfV0ToPv.GetChi2() / kfV0ToPv.GetNDF(); + kfV0ToPv.GetChi2() / kfV0ToPv.GetNDF(); kfXic0Candidate.chi2NdfTopoCascToPv = - kfXiToPv.GetChi2() / kfXiToPv.GetNDF(); + kfXiToPv.GetChi2() / kfXiToPv.GetNDF();            kfXic0Candidate.chi2NdfTopoPiFromXicToPv = - kfPiFromXicToPv.GetChi2() / kfPiFromXicToPv.GetNDF(); + kfPiFromXicToPv.GetChi2() / kfPiFromXicToPv.GetNDF(); kfXic0Candidate.chi2NdfTopoXicToPv = - kfXic0ToPv.GetChi2() / kfXic0ToPv.GetNDF(); + kfXic0ToPv.GetChi2() / kfXic0ToPv.GetNDF();          - auto cascBachTopoChi2 = kfBachPionToXi.GetChi2(); + auto cascBachTopoChi2 = kfBachPionToXi.GetChi2(); kfXic0Candidate.chi2NdfTopoV0ToCasc = - kfV0ToCasc.GetChi2() / kfV0ToCasc.GetNDF(); + kfV0ToCasc.GetChi2() / kfV0ToCasc.GetNDF(); kfXic0Candidate.chi2NdfTopoCascToXic = - kfXiToXiC.GetChi2() / kfXiToXiC.GetNDF(); + kfXiToXiC.GetChi2() / kfXiToXiC.GetNDF();      - // KF ldl - kfXic0Candidate.ldlV0 = ldlFromKF(kfV0, kfPV); + // KF ldl + kfXic0Candidate.ldlV0 = ldlFromKF(kfV0, kfPV); kfXic0Candidate.ldlCasc = ldlFromKF(kfXi, kfPV); kfXic0Candidate.ldlXic = ldlFromKF(kfXiC0, kfPV); // KF dca kfXic0Candidate.kfDcaXYPiFromXic = - kfCharmBachPionToXiC.GetDistanceFromVertexXY(kfPV); + kfCharmBachPionToXiC.GetDistanceFromVertexXY(kfPV); kfXic0Candidate.kfDcaV0Dau = kfNeg.GetDistanceFromParticle(kfPos); kfXic0Candidate.kfDcaCascDau = - kfBachPionToXi.GetDistanceFromParticle(kfV0ToCasc); + kfBachPionToXi.GetDistanceFromParticle(kfV0ToCasc); kfXic0Candidate.kfDcaXYCascToPv = kfXiToXiC.GetDistanceFromVertexXY(kfPV); kfXic0Candidate.kfDcaXicDau = - kfCharmBachPionToXiC.GetDistanceFromParticle(kfXiToXiC); + kfCharmBachPionToXiC.GetDistanceFromParticle(kfXiToXiC); // KF decay length float decayLxyLam, errDecayLxyLam; @@ -1950,7 +1962,7 @@ struct HfCandidateCreatorXic0Omegac0 { // KF cosThetaStar kfXic0Candidate.cosThetaStarPiFromXic = cosThetaStarFromKF( - 0, 4332, 211, 3312, kfCharmBachPionToXiC, kfXiToXiC); + 0, 4332, 211, 3312, kfCharmBachPionToXiC, kfXiToXiC); // KF ct kfXic0Candidate.ctV0 = kfV0.GetLifeTime(); @@ -1980,92 +1992,94 @@ struct HfCandidateCreatorXic0Omegac0 { // fill kf table kfCandidateXicData( - collision.globalIndex(), pvCoord[0], pvCoord[1], pvCoord[2], - vertexCharmBaryonFromFitter[0], vertexCharmBaryonFromFitter[1], - vertexCharmBaryonFromFitter[2], vertexCasc[0], vertexCasc[1], - vertexCasc[2], vertexV0[0], vertexV0[1], vertexV0[2], - trackCascDauCharged.sign(), covVtxCharmBaryon[0], - covVtxCharmBaryon[1], covVtxCharmBaryon[2], covVtxCharmBaryon[3], - covVtxCharmBaryon[4], covVtxCharmBaryon[5], pVecCharmBaryon[0], - pVecCharmBaryon[1], pVecCharmBaryon[2], kfXiToXiC.GetPx(), - kfXiToXiC.GetPy(), kfXiToXiC.GetPz(), pVecCharmBachelorAsD[0], - pVecCharmBachelorAsD[1], pVecCharmBachelorAsD[2], pVecV0[0], - pVecV0[1], pVecV0[2], pVecCascBachelor[0], pVecCascBachelor[1], - pVecCascBachelor[2], pVecV0Dau0[0], pVecV0Dau0[1], pVecV0Dau0[2], - pVecV0Dau1[0], pVecV0Dau1[1], pVecV0Dau1[2], - impactParameterCasc.getY(), impactParBachFromCharmBaryonXY, - impactParameterCasc.getZ(), impactParBachFromCharmBaryonZ, - std::sqrt(impactParameterCasc.getSigmaY2()), - std::sqrt(impactParameterCharmBachelor.getSigmaY2()), v0index, - casc.posTrackId(), casc.negTrackId(), casc.cascadeId(), - trackCharmBachelor.globalIndex(), casc.bachelorId(), - kfXic0Candidate.massV0, kfXic0Candidate.massCasc, - kfXic0Candidate.massXic, kfXic0Candidate.cosPaV0ToPv, - kfXic0Candidate.cosPaXicToPv, kfXic0Candidate.cosPaCascToPv, - kfXic0Candidate.cosPaXYV0ToPv, kfXic0Candidate.cosPaXYXicToPv, - kfXic0Candidate.cosPaXYCascToPv, kfXic0Candidate.ctOmegac, - kfXic0Candidate.ctCasc, kfXic0Candidate.ctV0, kfXic0Candidate.ctXic, - pseudorapV0Dau0, pseudorapV0Dau1, pseudorapCascBachelor, - pseudorapCharmBachelor, kfXic0Candidate.etaXic, kfXi.GetEta(), - kfV0.GetEta(), dcaxyV0Dau0, dcaxyV0Dau1, dcaxyCascBachelor, - dcazV0Dau0, dcazV0Dau1, dcazCascBachelor, - kfXic0Candidate.kfDcaCascDau, kfXic0Candidate.kfDcaV0Dau, - kfXic0Candidate.kfDcaXicDau, decLenCharmBaryon, decLenCascade, - decLenV0, errorDecayLengthCharmBaryon, errorDecayLengthXYCharmBaryon, - kfXic0Candidate.kfDcaXYPiFromXic, kfXic0Candidate.kfDcaXYCascToPv, - kfXic0Candidate.chi2GeoV0, kfXic0Candidate.chi2GeoCasc, - kfXic0Candidate.chi2GeoXic, kfXic0Candidate.chi2MassV0, - kfXic0Candidate.chi2MassCasc, kfXic0Candidate.ldlV0, - kfXic0Candidate.ldlCasc, kfXic0Candidate.ldlXic, - kfXic0Candidate.chi2NdfTopoV0ToPv, - kfXic0Candidate.chi2NdfTopoCascToPv, - kfXic0Candidate.chi2NdfTopoPiFromXicToPv, - kfXic0Candidate.chi2NdfTopoXicToPv, - kfXic0Candidate.chi2NdfTopoV0ToCasc, - kfXic0Candidate.chi2NdfTopoCascToXic, - kfXic0Candidate.decayLenXYLambda, kfXic0Candidate.decayLenXYCasc, - kfXic0Candidate.decayLenXYXic, kfXic0Candidate.cosPaV0ToCasc, - kfXic0Candidate.cosPaCascToXic, kfXic0Candidate.cosPaXYV0ToCasc, - kfXic0Candidate.cosPaXYCascToXic, kfXic0Candidate.rapXic, - kfXic0Candidate.ptPiFromXic, kfXic0Candidate.ptXic, - kfXic0Candidate.cosThetaStarPiFromXic, v0NDF, cascNDF, charmbaryonNDF, - v0Ndfm, cascNdfm, v0Chi2OverNdf, cascChi2OverNdf, - charmbaryonChi2OverNdf, v0Chi2OverNdfm, cascChi2OverNdfm); + collision.globalIndex(), pvCoord[0], pvCoord[1], pvCoord[2], + vertexCharmBaryonFromFitter[0], vertexCharmBaryonFromFitter[1], + vertexCharmBaryonFromFitter[2], vertexCasc[0], vertexCasc[1], + vertexCasc[2], vertexV0[0], vertexV0[1], vertexV0[2], + trackCascDauCharged.sign(), covVtxCharmBaryon[0], + covVtxCharmBaryon[1], covVtxCharmBaryon[2], covVtxCharmBaryon[3], + covVtxCharmBaryon[4], covVtxCharmBaryon[5], pVecCharmBaryon[0], + pVecCharmBaryon[1], pVecCharmBaryon[2], kfXiToXiC.GetPx(), + kfXiToXiC.GetPy(), kfXiToXiC.GetPz(), pVecCharmBachelorAsD[0], + pVecCharmBachelorAsD[1], pVecCharmBachelorAsD[2], pVecV0[0], + pVecV0[1], pVecV0[2], pVecCascBachelor[0], pVecCascBachelor[1], + pVecCascBachelor[2], pVecV0Dau0[0], pVecV0Dau0[1], pVecV0Dau0[2], + pVecV0Dau1[0], pVecV0Dau1[1], pVecV0Dau1[2], + impactParameterCasc.getY(), impactParBachFromCharmBaryonXY, + impactParameterCasc.getZ(), impactParBachFromCharmBaryonZ, + std::sqrt(impactParameterCasc.getSigmaY2()), + std::sqrt(impactParameterCharmBachelor.getSigmaY2()), v0index, + casc.posTrackId(), casc.negTrackId(), casc.cascadeId(), + trackCharmBachelor.globalIndex(), casc.bachelorId(), + kfXic0Candidate.massV0, kfXic0Candidate.massCasc, + kfXic0Candidate.massXic, kfXic0Candidate.cosPaV0ToPv, + kfXic0Candidate.cosPaXicToPv, kfXic0Candidate.cosPaCascToPv, + kfXic0Candidate.cosPaXYV0ToPv, kfXic0Candidate.cosPaXYXicToPv, + kfXic0Candidate.cosPaXYCascToPv, kfXic0Candidate.ctOmegac, + kfXic0Candidate.ctCasc, kfXic0Candidate.ctV0, kfXic0Candidate.ctXic, + pseudorapV0Dau0, pseudorapV0Dau1, pseudorapCascBachelor, + pseudorapCharmBachelor, kfXic0Candidate.etaXic, kfXi.GetEta(), + kfV0.GetEta(), dcaxyV0Dau0, dcaxyV0Dau1, dcaxyCascBachelor, + dcazV0Dau0, dcazV0Dau1, dcazCascBachelor, + kfXic0Candidate.kfDcaCascDau, kfXic0Candidate.kfDcaV0Dau, + kfXic0Candidate.kfDcaXicDau, decLenCharmBaryon, decLenCascade, + decLenV0, errorDecayLengthCharmBaryon, errorDecayLengthXYCharmBaryon, + kfXic0Candidate.kfDcaXYPiFromXic, kfXic0Candidate.kfDcaXYCascToPv, + kfXic0Candidate.chi2GeoV0, kfXic0Candidate.chi2GeoCasc, + kfXic0Candidate.chi2GeoXic, kfXic0Candidate.chi2MassV0, + kfXic0Candidate.chi2MassCasc, kfXic0Candidate.ldlV0, + kfXic0Candidate.ldlCasc, kfXic0Candidate.ldlXic, + kfXic0Candidate.chi2NdfTopoV0ToPv, + kfXic0Candidate.chi2NdfTopoCascToPv, + kfXic0Candidate.chi2NdfTopoPiFromXicToPv, + kfXic0Candidate.chi2NdfTopoXicToPv, + kfXic0Candidate.chi2NdfTopoV0ToCasc, + kfXic0Candidate.chi2NdfTopoCascToXic, + kfXic0Candidate.decayLenXYLambda, kfXic0Candidate.decayLenXYCasc, + kfXic0Candidate.decayLenXYXic, kfXic0Candidate.cosPaV0ToCasc, + kfXic0Candidate.cosPaCascToXic, kfXic0Candidate.cosPaXYV0ToCasc, + kfXic0Candidate.cosPaXYCascToXic, kfXic0Candidate.rapXic, + kfXic0Candidate.ptPiFromXic, kfXic0Candidate.ptXic, + kfXic0Candidate.cosThetaStarPiFromXic, v0NDF, cascNDF, charmbaryonNDF, + v0Ndfm, cascNdfm, v0Chi2OverNdf, cascChi2OverNdf, + charmbaryonChi2OverNdf, v0Chi2OverNdfm, cascChi2OverNdfm); } // loop over LF Cascade-bachelor candidates } /// @brief process function w/o centrality selections void processNoCentToXiPi( - soa::Join const &collisions, - aod::BCsWithTimestamps const &bcWithTimeStamps, - TracksWCovDca const &tracks, MyLFTracksWCov const &lfTracks, - MyCascTable const &cascades, CascadesLinked const &cascadeLinks, - aod::HfCascLf2Prongs const &candidates) { + soa::Join const& collisions, + aod::BCsWithTimestamps const& bcWithTimeStamps, + TracksWCovDca const& tracks, MyLFTracksWCov const& lfTracks, + MyCascTable const& cascades, CascadesLinked const& cascadeLinks, + aod::HfCascLf2Prongs const& candidates) + { runXic0Omegac0Creator< - CentralityEstimator::None, - hf_cand_casc_lf::DecayType2Prong::XiczeroOmegaczeroToXiPi>( - collisions, bcWithTimeStamps, lfTracks, tracks, cascades, cascadeLinks, - candidates, hInvMassCharmBaryonToXiPi, hFitterStatusToXiPi, - hCandidateCounterToXiPi, hCascadesCounterToXiPi); + CentralityEstimator::None, + hf_cand_casc_lf::DecayType2Prong::XiczeroOmegaczeroToXiPi>( + collisions, bcWithTimeStamps, lfTracks, tracks, cascades, cascadeLinks, + candidates, hInvMassCharmBaryonToXiPi, hFitterStatusToXiPi, + hCandidateCounterToXiPi, hCascadesCounterToXiPi); } PROCESS_SWITCH( - HfCandidateCreatorXic0Omegac0, processNoCentToXiPi, - "Run candidate creator w/o centrality selections for xi pi decay channel", - true); + HfCandidateCreatorXic0Omegac0, processNoCentToXiPi, + "Run candidate creator w/o centrality selections for xi pi decay channel", + true); void processNoCentToXiPiTraCasc( - soa::Join const &collisions, - aod::BCsWithTimestamps const &bcWithTimeStamps, - TracksWCovDca const &tracks, MyLFTracksWCov const &lfTracks, - MyTraCascTable const &traCascades, - TraCascadesLinked const &traCascadeLinks, - aod::HfCascLf2Prongs const &candidates) { + soa::Join const& collisions, + aod::BCsWithTimestamps const& bcWithTimeStamps, + TracksWCovDca const& tracks, MyLFTracksWCov const& lfTracks, + MyTraCascTable const& traCascades, + TraCascadesLinked const& traCascadeLinks, + aod::HfCascLf2Prongs const& candidates) + { runXic0Omegac0Creator< - CentralityEstimator::None, - hf_cand_casc_lf::DecayType2Prong::XiczeroOmegaczeroToXiPi>( - collisions, bcWithTimeStamps, lfTracks, tracks, traCascades, - traCascadeLinks, candidates, hInvMassCharmBaryonToXiPi, - hFitterStatusToXiPi, hCandidateCounterToXiPi, hCascadesCounterToXiPi); + CentralityEstimator::None, + hf_cand_casc_lf::DecayType2Prong::XiczeroOmegaczeroToXiPi>( + collisions, bcWithTimeStamps, lfTracks, tracks, traCascades, + traCascadeLinks, candidates, hInvMassCharmBaryonToXiPi, + hFitterStatusToXiPi, hCandidateCounterToXiPi, hCascadesCounterToXiPi); } PROCESS_SWITCH(HfCandidateCreatorXic0Omegac0, processNoCentToXiPiTraCasc, "Run candidate creator w/o centrality selections for xi pi " @@ -2073,17 +2087,18 @@ struct HfCandidateCreatorXic0Omegac0 { false); void processNoCentToOmegaPi( - soa::Join const &collisions, - aod::BCsWithTimestamps const &bcWithTimeStamps, - TracksWCovDca const &tracks, MyLFTracksWCov const &lfTracks, - MyCascTable const &cascades, CascadesLinked const &cascadeLinks, - aod::HfCascLf2Prongs const &candidates) { + soa::Join const& collisions, + aod::BCsWithTimestamps const& bcWithTimeStamps, + TracksWCovDca const& tracks, MyLFTracksWCov const& lfTracks, + MyCascTable const& cascades, CascadesLinked const& cascadeLinks, + aod::HfCascLf2Prongs const& candidates) + { runXic0Omegac0Creator< - CentralityEstimator::None, - hf_cand_casc_lf::DecayType2Prong::OmegaczeroToOmegaPi>( - collisions, bcWithTimeStamps, lfTracks, tracks, cascades, cascadeLinks, - candidates, hInvMassCharmBaryonToOmegaPi, hFitterStatusToOmegaPi, - hCandidateCounterToOmegaPi, hCascadesCounterToOmegaPi); + CentralityEstimator::None, + hf_cand_casc_lf::DecayType2Prong::OmegaczeroToOmegaPi>( + collisions, bcWithTimeStamps, lfTracks, tracks, cascades, cascadeLinks, + candidates, hInvMassCharmBaryonToOmegaPi, hFitterStatusToOmegaPi, + hCandidateCounterToOmegaPi, hCascadesCounterToOmegaPi); } PROCESS_SWITCH(HfCandidateCreatorXic0Omegac0, processNoCentToOmegaPi, "Run candidate creator w/o centrality selections for omega pi " @@ -2091,15 +2106,16 @@ struct HfCandidateCreatorXic0Omegac0 { false); void processOmegacToOmegaPiWithKFParticle( - aod::Collisions const &collisions, - aod::BCsWithTimestamps const &bcWithTimeStamps, MyKfTracks const &tracks, - MyKfCascTable const &cascades, KFCascadesLinked const &cascadeLinks, - aod::HfCascLf2Prongs const &candidates) { + aod::Collisions const& collisions, + aod::BCsWithTimestamps const& bcWithTimeStamps, MyKfTracks const& tracks, + MyKfCascTable const& cascades, KFCascadesLinked const& cascadeLinks, + aod::HfCascLf2Prongs const& candidates) + { runKfOmegac0CreatorWithKFParticle< - hf_cand_casc_lf::DecayType2Prong::OmegaczeroToOmegaPi>( - collisions, bcWithTimeStamps, tracks, cascades, cascadeLinks, - candidates, hInvMassCharmBaryonToOmegaPi, hFitterStatusToOmegaPi, - hCandidateCounterToOmegaPi, hCascadesCounterToOmegaPi); + hf_cand_casc_lf::DecayType2Prong::OmegaczeroToOmegaPi>( + collisions, bcWithTimeStamps, tracks, cascades, cascadeLinks, + candidates, hInvMassCharmBaryonToOmegaPi, hFitterStatusToOmegaPi, + hCandidateCounterToOmegaPi, hCascadesCounterToOmegaPi); } PROCESS_SWITCH(HfCandidateCreatorXic0Omegac0, processOmegacToOmegaPiWithKFParticle, @@ -2108,15 +2124,16 @@ struct HfCandidateCreatorXic0Omegac0 { false); void processXicToXiPiWithKFParticle( - aod::Collisions const &collisions, - aod::BCsWithTimestamps const &bcWithTimeStamps, MyKfTracks const &tracks, - MyKfCascTable const &cascades, KFCascadesLinked const &cascadeLinks, - aod::HfCascLf2Prongs const &candidates) { + aod::Collisions const& collisions, + aod::BCsWithTimestamps const& bcWithTimeStamps, MyKfTracks const& tracks, + MyKfCascTable const& cascades, KFCascadesLinked const& cascadeLinks, + aod::HfCascLf2Prongs const& candidates) + { runKfXic0CreatorWithKFParticle< - hf_cand_casc_lf::DecayType2Prong::XiczeroOmegaczeroToXiPi>( - collisions, bcWithTimeStamps, tracks, cascades, cascadeLinks, - candidates, hInvMassCharmBaryonToXiPi, hFitterStatusToXiPi, - hCandidateCounterToXiPi, hCascadesCounterToXiPi); + hf_cand_casc_lf::DecayType2Prong::XiczeroOmegaczeroToXiPi>( + collisions, bcWithTimeStamps, tracks, cascades, cascadeLinks, + candidates, hInvMassCharmBaryonToXiPi, hFitterStatusToXiPi, + hCandidateCounterToXiPi, hCascadesCounterToXiPi); } PROCESS_SWITCH(HfCandidateCreatorXic0Omegac0, processXicToXiPiWithKFParticle, "Run candidate creator w/o centrality selections for Xic0 To " @@ -2124,16 +2141,17 @@ struct HfCandidateCreatorXic0Omegac0 { false); void processNoCentToOmegaK( - soa::Join const &collisions, - aod::BCsWithTimestamps const &bcWithTimeStamps, - TracksWCovDca const &tracks, MyLFTracksWCov const &lfTracks, - MyCascTable const &cascades, CascadesLinked const &cascadeLinks, - aod::HfCascLf2Prongs const &candidates) { + soa::Join const& collisions, + aod::BCsWithTimestamps const& bcWithTimeStamps, + TracksWCovDca const& tracks, MyLFTracksWCov const& lfTracks, + MyCascTable const& cascades, CascadesLinked const& cascadeLinks, + aod::HfCascLf2Prongs const& candidates) + { runXic0Omegac0Creator( - collisions, bcWithTimeStamps, lfTracks, tracks, cascades, cascadeLinks, - candidates, hInvMassCharmBaryonToOmegaK, hFitterStatusToOmegaK, - hCandidateCounterToOmegaK, hCascadesCounterToOmegaK); + collisions, bcWithTimeStamps, lfTracks, tracks, cascades, cascadeLinks, + candidates, hInvMassCharmBaryonToOmegaK, hFitterStatusToOmegaK, + hCandidateCounterToOmegaK, hCascadesCounterToOmegaK); } PROCESS_SWITCH(HfCandidateCreatorXic0Omegac0, processNoCentToOmegaK, "Run candidate creator w/o centrality selections for omega K " @@ -2142,35 +2160,37 @@ struct HfCandidateCreatorXic0Omegac0 { /// @brief process function w/ FT0C centrality selections void processCentFT0CToXiPi( - soa::Join const &collisions, - aod::BCsWithTimestamps const &bcWithTimeStamps, - TracksWCovDca const &tracks, MyLFTracksWCov const &lfTracks, - MyCascTable const &cascades, CascadesLinked const &cascadeLinks, - aod::HfCascLf2Prongs const &candidates) { + soa::Join const& collisions, + aod::BCsWithTimestamps const& bcWithTimeStamps, + TracksWCovDca const& tracks, MyLFTracksWCov const& lfTracks, + MyCascTable const& cascades, CascadesLinked const& cascadeLinks, + aod::HfCascLf2Prongs const& candidates) + { runXic0Omegac0Creator< - CentralityEstimator::FT0C, - hf_cand_casc_lf::DecayType2Prong::XiczeroOmegaczeroToXiPi>( - collisions, bcWithTimeStamps, lfTracks, tracks, cascades, cascadeLinks, - candidates, hInvMassCharmBaryonToXiPi, hFitterStatusToXiPi, - hCandidateCounterToXiPi, hCascadesCounterToXiPi); + CentralityEstimator::FT0C, + hf_cand_casc_lf::DecayType2Prong::XiczeroOmegaczeroToXiPi>( + collisions, bcWithTimeStamps, lfTracks, tracks, cascades, cascadeLinks, + candidates, hInvMassCharmBaryonToXiPi, hFitterStatusToXiPi, + hCandidateCounterToXiPi, hCascadesCounterToXiPi); } PROCESS_SWITCH( - HfCandidateCreatorXic0Omegac0, processCentFT0CToXiPi, - "Run candidate creator w/ centrality selection on FT0C for xi pi channel", - false); + HfCandidateCreatorXic0Omegac0, processCentFT0CToXiPi, + "Run candidate creator w/ centrality selection on FT0C for xi pi channel", + false); void processCentFT0CToOmegaPi( - soa::Join const &collisions, - aod::BCsWithTimestamps const &bcWithTimeStamps, - TracksWCovDca const &tracks, MyLFTracksWCov const &lfTracks, - MyCascTable const &cascades, CascadesLinked const &cascadeLinks, - aod::HfCascLf2Prongs const &candidates) { + soa::Join const& collisions, + aod::BCsWithTimestamps const& bcWithTimeStamps, + TracksWCovDca const& tracks, MyLFTracksWCov const& lfTracks, + MyCascTable const& cascades, CascadesLinked const& cascadeLinks, + aod::HfCascLf2Prongs const& candidates) + { runXic0Omegac0Creator< - CentralityEstimator::FT0C, - hf_cand_casc_lf::DecayType2Prong::OmegaczeroToOmegaPi>( - collisions, bcWithTimeStamps, lfTracks, tracks, cascades, cascadeLinks, - candidates, hInvMassCharmBaryonToOmegaPi, hFitterStatusToOmegaPi, - hCandidateCounterToOmegaPi, hCascadesCounterToOmegaPi); + CentralityEstimator::FT0C, + hf_cand_casc_lf::DecayType2Prong::OmegaczeroToOmegaPi>( + collisions, bcWithTimeStamps, lfTracks, tracks, cascades, cascadeLinks, + candidates, hInvMassCharmBaryonToOmegaPi, hFitterStatusToOmegaPi, + hCandidateCounterToOmegaPi, hCascadesCounterToOmegaPi); } PROCESS_SWITCH(HfCandidateCreatorXic0Omegac0, processCentFT0CToOmegaPi, "Run candidate creator w/ centrality selection on FT0C for " @@ -2178,16 +2198,17 @@ struct HfCandidateCreatorXic0Omegac0 { false); void processCentFT0CToOmegaK( - soa::Join const &collisions, - aod::BCsWithTimestamps const &bcWithTimeStamps, - TracksWCovDca const &tracks, MyLFTracksWCov const &lfTracks, - MyCascTable const &cascades, CascadesLinked const &cascadeLinks, - aod::HfCascLf2Prongs const &candidates) { + soa::Join const& collisions, + aod::BCsWithTimestamps const& bcWithTimeStamps, + TracksWCovDca const& tracks, MyLFTracksWCov const& lfTracks, + MyCascTable const& cascades, CascadesLinked const& cascadeLinks, + aod::HfCascLf2Prongs const& candidates) + { runXic0Omegac0Creator( - collisions, bcWithTimeStamps, lfTracks, tracks, cascades, cascadeLinks, - candidates, hInvMassCharmBaryonToOmegaK, hFitterStatusToOmegaK, - hCandidateCounterToOmegaK, hCascadesCounterToOmegaK); + collisions, bcWithTimeStamps, lfTracks, tracks, cascades, cascadeLinks, + candidates, hInvMassCharmBaryonToOmegaK, hFitterStatusToOmegaK, + hCandidateCounterToOmegaK, hCascadesCounterToOmegaK); } PROCESS_SWITCH(HfCandidateCreatorXic0Omegac0, processCentFT0CToOmegaK, "Run candidate creator w/ centrality selection on FT0C for " @@ -2196,35 +2217,37 @@ struct HfCandidateCreatorXic0Omegac0 { /// @brief process function w/ FT0M centrality selections void processCentFT0MToXiPi( - soa::Join const &collisions, - aod::BCsWithTimestamps const &bcWithTimeStamps, - TracksWCovDca const &tracks, MyLFTracksWCov const &lfTracks, - MyCascTable const &cascades, CascadesLinked const &cascadeLinks, - aod::HfCascLf2Prongs const &candidates) { + soa::Join const& collisions, + aod::BCsWithTimestamps const& bcWithTimeStamps, + TracksWCovDca const& tracks, MyLFTracksWCov const& lfTracks, + MyCascTable const& cascades, CascadesLinked const& cascadeLinks, + aod::HfCascLf2Prongs const& candidates) + { runXic0Omegac0Creator< - CentralityEstimator::FT0M, - hf_cand_casc_lf::DecayType2Prong::XiczeroOmegaczeroToXiPi>( - collisions, bcWithTimeStamps, lfTracks, tracks, cascades, cascadeLinks, - candidates, hInvMassCharmBaryonToXiPi, hFitterStatusToXiPi, - hCandidateCounterToXiPi, hCascadesCounterToXiPi); + CentralityEstimator::FT0M, + hf_cand_casc_lf::DecayType2Prong::XiczeroOmegaczeroToXiPi>( + collisions, bcWithTimeStamps, lfTracks, tracks, cascades, cascadeLinks, + candidates, hInvMassCharmBaryonToXiPi, hFitterStatusToXiPi, + hCandidateCounterToXiPi, hCascadesCounterToXiPi); } PROCESS_SWITCH( - HfCandidateCreatorXic0Omegac0, processCentFT0MToXiPi, - "Run candidate creator w/ centrality selection on FT0M for xi pi channel", - false); + HfCandidateCreatorXic0Omegac0, processCentFT0MToXiPi, + "Run candidate creator w/ centrality selection on FT0M for xi pi channel", + false); void processCentFT0MToOmegaPi( - soa::Join const &collisions, - aod::BCsWithTimestamps const &bcWithTimeStamps, - TracksWCovDca const &tracks, MyLFTracksWCov const &lfTracks, - MyCascTable const &cascades, CascadesLinked const &cascadeLinks, - aod::HfCascLf2Prongs const &candidates) { + soa::Join const& collisions, + aod::BCsWithTimestamps const& bcWithTimeStamps, + TracksWCovDca const& tracks, MyLFTracksWCov const& lfTracks, + MyCascTable const& cascades, CascadesLinked const& cascadeLinks, + aod::HfCascLf2Prongs const& candidates) + { runXic0Omegac0Creator< - CentralityEstimator::FT0M, - hf_cand_casc_lf::DecayType2Prong::OmegaczeroToOmegaPi>( - collisions, bcWithTimeStamps, lfTracks, tracks, cascades, cascadeLinks, - candidates, hInvMassCharmBaryonToOmegaPi, hFitterStatusToOmegaPi, - hCandidateCounterToOmegaPi, hCascadesCounterToOmegaPi); + CentralityEstimator::FT0M, + hf_cand_casc_lf::DecayType2Prong::OmegaczeroToOmegaPi>( + collisions, bcWithTimeStamps, lfTracks, tracks, cascades, cascadeLinks, + candidates, hInvMassCharmBaryonToOmegaPi, hFitterStatusToOmegaPi, + hCandidateCounterToOmegaPi, hCascadesCounterToOmegaPi); } PROCESS_SWITCH(HfCandidateCreatorXic0Omegac0, processCentFT0MToOmegaPi, "Run candidate creator w/ centrality selection on FT0M for " @@ -2232,16 +2255,17 @@ struct HfCandidateCreatorXic0Omegac0 { false); void processCentFT0MToOmegaK( - soa::Join const &collisions, - aod::BCsWithTimestamps const &bcWithTimeStamps, - TracksWCovDca const &tracks, MyLFTracksWCov const &lfTracks, - MyCascTable const &cascades, CascadesLinked const &cascadeLinks, - aod::HfCascLf2Prongs const &candidates) { + soa::Join const& collisions, + aod::BCsWithTimestamps const& bcWithTimeStamps, + TracksWCovDca const& tracks, MyLFTracksWCov const& lfTracks, + MyCascTable const& cascades, CascadesLinked const& cascadeLinks, + aod::HfCascLf2Prongs const& candidates) + { runXic0Omegac0Creator( - collisions, bcWithTimeStamps, lfTracks, tracks, cascades, cascadeLinks, - candidates, hInvMassCharmBaryonToOmegaK, hFitterStatusToOmegaK, - hCandidateCounterToOmegaK, hCascadesCounterToOmegaK); + collisions, bcWithTimeStamps, lfTracks, tracks, cascades, cascadeLinks, + candidates, hInvMassCharmBaryonToOmegaK, hFitterStatusToOmegaK, + hCandidateCounterToOmegaK, hCascadesCounterToOmegaK); } PROCESS_SWITCH(HfCandidateCreatorXic0Omegac0, processCentFT0MToOmegaK, "Run candidate creator w/ centrality selection on FT0M for " @@ -2256,17 +2280,18 @@ struct HfCandidateCreatorXic0Omegac0 { /// @brief process function to monitor collisions - no centrality void - processCollisions(soa::Join const &collisions, - aod::BCsWithTimestamps const & /*bcWithTimeStamps*/) { + processCollisions(soa::Join const& collisions, + aod::BCsWithTimestamps const& /*bcWithTimeStamps*/) + { /// loop over collisions - for (const auto &collision : collisions) { + for (const auto& collision : collisions) { /// bitmask with event. selection info float centrality{-1.f}; const auto rejectionMask = - hfEvSel.getHfCollisionRejectionMask( - collision, centrality, ccdb, registry); + hfEvSel.getHfCollisionRejectionMask( + collision, centrality, ccdb, registry); /// monitor the satisfied event selections hfEvSel.fillHistograms(collision, rejectionMask, centrality); @@ -2278,17 +2303,18 @@ struct HfCandidateCreatorXic0Omegac0 { /// @brief process function to monitor collisions - FT0C centrality void processCollisionsCentFT0C( - soa::Join const &collisions, - aod::BCsWithTimestamps const & /*bcWithTimeStamps*/) { + soa::Join const& collisions, + aod::BCsWithTimestamps const& /*bcWithTimeStamps*/) + { /// loop over collisions - for (const auto &collision : collisions) { + for (const auto& collision : collisions) { /// bitmask with event. selection info float centrality{-1.f}; const auto rejectionMask = - hfEvSel.getHfCollisionRejectionMask( - collision, centrality, ccdb, registry); + hfEvSel.getHfCollisionRejectionMask( + collision, centrality, ccdb, registry); /// monitor the satisfied event selections hfEvSel.fillHistograms(collision, rejectionMask, centrality); @@ -2300,17 +2326,18 @@ struct HfCandidateCreatorXic0Omegac0 { /// @brief process function to monitor collisions - FT0M centrality void processCollisionsCentFT0M( - soa::Join const &collisions, - aod::BCsWithTimestamps const & /*bcWithTimeStamps*/) { + soa::Join const& collisions, + aod::BCsWithTimestamps const& /*bcWithTimeStamps*/) + { /// loop over collisions - for (const auto &collision : collisions) { + for (const auto& collision : collisions) { /// bitmask with event. selection info float centrality{-1.f}; const auto rejectionMask = - hfEvSel.getHfCollisionRejectionMask( - collision, centrality, ccdb, registry); + hfEvSel.getHfCollisionRejectionMask( + collision, centrality, ccdb, registry); /// monitor the satisfied event selections hfEvSel.fillHistograms(collision, rejectionMask, centrality); @@ -2335,11 +2362,11 @@ struct HfCandidateCreatorXic0Omegac0Mc { // Configuration Configurable rejectBackground{ - "rejectBackground", true, "Reject particles from background events"}; + "rejectBackground", true, "Reject particles from background events"}; using MyTracksWMc = soa::Join; using McCollisionsNoCents = - soa::Join; + soa::Join; using McCollisionsFT0Cs = soa::Join; using McCollisionsFT0Ms = soa::Join; Preslice mcParticlesPerMcCollision = - aod::mcparticle::mcCollisionId; + aod::mcparticle::mcCollisionId; PresliceUnsorted colPerMcCollision = - aod::mccollisionlabel::mcCollisionId; + aod::mccollisionlabel::mcCollisionId; PresliceUnsorted colPerMcCollisionFT0C = - aod::mccollisionlabel::mcCollisionId; + aod::mccollisionlabel::mcCollisionId; PresliceUnsorted colPerMcCollisionFT0M = - aod::mccollisionlabel::mcCollisionId; + aod::mccollisionlabel::mcCollisionId; HfEventSelectionMc hfEvSelMc; // mc event selection and monitoring std::shared_ptr hGenCharmBaryonPtRapidityTightXicToXiPi, - hGenCharmBaryonPtRapidityLooseXicToXiPi, - hGenCharmBaryonPtRapidityTightOmegacToXiPi, - hGenCharmBaryonPtRapidityLooseOmegacToXiPi, - hGenCharmBaryonPtRapidityTightOmegacToOmegaPi, - hGenCharmBaryonPtRapidityLooseOmegacToOmegaPi, - hGenCharmBaryonPtRapidityTightOmegacToOmegaK, - hGenCharmBaryonPtRapidityLooseOmegacToOmegaK; + hGenCharmBaryonPtRapidityLooseXicToXiPi, + hGenCharmBaryonPtRapidityTightOmegacToXiPi, + hGenCharmBaryonPtRapidityLooseOmegacToXiPi, + hGenCharmBaryonPtRapidityTightOmegacToOmegaPi, + hGenCharmBaryonPtRapidityLooseOmegacToOmegaPi, + hGenCharmBaryonPtRapidityTightOmegacToOmegaK, + hGenCharmBaryonPtRapidityLooseOmegacToOmegaK; HistogramRegistry registry{"registry"}; // inspect for which zPvPosMax cut was set for reconstructed - void init(InitContext &initContext) { + void init(InitContext& initContext) + { std::array procCollisionsXicToXiPi{ - doprocessMcXicToXiPi, doprocessMcXicToXiPiFT0m, - doprocessMcXicToXiPiFT0c, doprocessMcXicToXiPiKf}; + doprocessMcXicToXiPi, doprocessMcXicToXiPiFT0m, + doprocessMcXicToXiPiFT0c, doprocessMcXicToXiPiKf}; if (std::accumulate(procCollisionsXicToXiPi.begin(), procCollisionsXicToXiPi.end(), 0) > 1) { - LOGP(fatal, "At most one process function for XicToXiPi collision study " - "can be enabled at a time."); + LOGP(fatal, + "At most one process function for XicToXiPi collision study " + "can be enabled at a time."); } std::array procCollisionsOmegacToXiPi{doprocessMcOmegacToXiPi, doprocessMcOmegacToXiPiFT0m, doprocessMcOmegacToXiPiFT0c}; if (std::accumulate(procCollisionsOmegacToXiPi.begin(), procCollisionsOmegacToXiPi.end(), 0) > 1) { - LOGP(fatal, "At most one process function for OmegacToXiPi collision " - "study can be enabled at a time."); + LOGP(fatal, + "At most one process function for OmegacToXiPi collision " + "study can be enabled at a time."); } std::array procCollisionsOmegacToOmegaPi{ - doprocessMcOmegacToOmegaPi, doprocessMcOmegacToOmegaPiFT0m, - doprocessMcOmegacToOmegaPiFT0c}; + doprocessMcOmegacToOmegaPi, doprocessMcOmegacToOmegaPiFT0m, + doprocessMcOmegacToOmegaPiFT0c}; if (std::accumulate(procCollisionsOmegacToOmegaPi.begin(), procCollisionsOmegacToOmegaPi.end(), 0) > 1) { - LOGP(fatal, "At most one process function for OmegacToOmegaPi collision " - "study can be enabled at a time."); + LOGP(fatal, + "At most one process function for OmegacToOmegaPi collision " + "study can be enabled at a time."); } std::array procCollisionsOmegacToOmegaK{ - doprocessMcOmegacToOmegaK, doprocessMcOmegacToOmegaKFT0m, - doprocessMcOmegacToOmegaKFT0c}; + doprocessMcOmegacToOmegaK, doprocessMcOmegacToOmegaKFT0m, + doprocessMcOmegacToOmegaKFT0c}; if (std::accumulate(procCollisionsOmegacToOmegaK.begin(), procCollisionsOmegacToOmegaK.end(), 0) > 1) { - LOGP(fatal, "At most one process function for OmegacToOmegaK collision " - "study can be enabled at a time."); + LOGP(fatal, + "At most one process function for OmegacToOmegaK collision " + "study can be enabled at a time."); } - const auto &workflows = - initContext.services().get(); - for (const DeviceSpec &device : workflows.devices) { + const auto& workflows = + initContext.services().get(); + for (const DeviceSpec& device : workflows.devices) { if (device.name.compare("hf-candidate-creator-xic0-omegac0") == 0) { hfEvSelMc.configureFromDevice(device); break; @@ -2415,53 +2447,54 @@ struct HfCandidateCreatorXic0Omegac0Mc { hfEvSelMc.addHistograms(registry); // particles monitoring hGenCharmBaryonPtRapidityTightXicToXiPi = registry.add( - "hGenCharmBaryonPtRapidityTightXicToXiPi", - "Generated charm baryon #it{p}_{T};#it{p}_{T} (GeV/#it{c});entries", - {HistType::kTH1D, - {{20, 0.0, - 20.0}}}); // keep track of generated candidates pt when |y|<0.5 + "hGenCharmBaryonPtRapidityTightXicToXiPi", + "Generated charm baryon #it{p}_{T};#it{p}_{T} (GeV/#it{c});entries", + {HistType::kTH1D, + {{20, 0.0, + 20.0}}}); // keep track of generated candidates pt when |y|<0.5 hGenCharmBaryonPtRapidityLooseXicToXiPi = registry.add( - "hGenCharmBaryonPtRapidityLooseXicToXiPi", - "Generated charm baryon #it{p}_{T};#it{p}_{T} (GeV/#it{c});entries", - {HistType::kTH1D, - {{20, 0.0, - 20.0}}}); // keep track of generated candidates pt when |y|<0.8 + "hGenCharmBaryonPtRapidityLooseXicToXiPi", + "Generated charm baryon #it{p}_{T};#it{p}_{T} (GeV/#it{c});entries", + {HistType::kTH1D, + {{20, 0.0, + 20.0}}}); // keep track of generated candidates pt when |y|<0.8 hGenCharmBaryonPtRapidityTightOmegacToXiPi = registry.add( - "hGenCharmBaryonPtRapidityTightOmegacToXiPi", - "Generated charm baryon #it{p}_{T};#it{p}_{T} (GeV/#it{c});entries", - {HistType::kTH1D, {{20, 0.0, 20.0}}}); + "hGenCharmBaryonPtRapidityTightOmegacToXiPi", + "Generated charm baryon #it{p}_{T};#it{p}_{T} (GeV/#it{c});entries", + {HistType::kTH1D, {{20, 0.0, 20.0}}}); hGenCharmBaryonPtRapidityLooseOmegacToXiPi = registry.add( - "hGenCharmBaryonPtRapidityLooseOmegacToXiPi", - "Generated charm baryon #it{p}_{T};#it{p}_{T} (GeV/#it{c});entries", - {HistType::kTH1D, {{20, 0.0, 20.0}}}); + "hGenCharmBaryonPtRapidityLooseOmegacToXiPi", + "Generated charm baryon #it{p}_{T};#it{p}_{T} (GeV/#it{c});entries", + {HistType::kTH1D, {{20, 0.0, 20.0}}}); hGenCharmBaryonPtRapidityTightOmegacToOmegaPi = registry.add( - "hGenCharmBaryonPtRapidityTightOmegacToOmegaPi", - "Generated charm baryon #it{p}_{T};#it{p}_{T} (GeV/#it{c});entries", - {HistType::kTH1D, {{20, 0.0, 20.0}}}); + "hGenCharmBaryonPtRapidityTightOmegacToOmegaPi", + "Generated charm baryon #it{p}_{T};#it{p}_{T} (GeV/#it{c});entries", + {HistType::kTH1D, {{20, 0.0, 20.0}}}); hGenCharmBaryonPtRapidityLooseOmegacToOmegaPi = registry.add( - "hGenCharmBaryonPtRapidityLooseOmegacToOmegaPi", - "Generated charm baryon #it{p}_{T};#it{p}_{T} (GeV/#it{c});entries", - {HistType::kTH1D, {{20, 0.0, 20.0}}}); + "hGenCharmBaryonPtRapidityLooseOmegacToOmegaPi", + "Generated charm baryon #it{p}_{T};#it{p}_{T} (GeV/#it{c});entries", + {HistType::kTH1D, {{20, 0.0, 20.0}}}); hGenCharmBaryonPtRapidityTightOmegacToOmegaK = registry.add( - "hGenCharmBaryonPtRapidityTightOmegacToOmegaK", - "Generated charm baryon #it{p}_{T};#it{p}_{T} (GeV/#it{c});entries", - {HistType::kTH1D, {{20, 0.0, 20.0}}}); + "hGenCharmBaryonPtRapidityTightOmegacToOmegaK", + "Generated charm baryon #it{p}_{T};#it{p}_{T} (GeV/#it{c});entries", + {HistType::kTH1D, {{20, 0.0, 20.0}}}); hGenCharmBaryonPtRapidityLooseOmegacToOmegaK = registry.add( - "hGenCharmBaryonPtRapidityLooseOmegacToOmegaK", - "Generated charm baryon #it{p}_{T};#it{p}_{T} (GeV/#it{c});entries", - {HistType::kTH1D, {{20, 0.0, 20.0}}}); + "hGenCharmBaryonPtRapidityLooseOmegacToOmegaK", + "Generated charm baryon #it{p}_{T};#it{p}_{T} (GeV/#it{c});entries", + {HistType::kTH1D, {{20, 0.0, 20.0}}}); } template - void runXic0Omegac0Mc(TMyRecoCand const &candidates, MyTracksWMc const &, - aod::McParticles const &mcParticles, - Colls const &collsWithMcLabels, - McCollisions const &mcCollisions, BCsInfo const &) { + void runXic0Omegac0Mc(TMyRecoCand const& candidates, MyTracksWMc const&, + aod::McParticles const& mcParticles, + Colls const& collsWithMcLabels, + McCollisions const& mcCollisions, BCsInfo const&) + { float ptCharmBaryonGen = -999.; float rapidityCharmBaryonGen = -999.; int indexRec = -1; @@ -2489,7 +2522,7 @@ struct HfCandidateCreatorXic0Omegac0Mc { int pdgCodeKaonMinus = kKMinus; // -321 // Match reconstructed candidates. - for (const auto &candidate : candidates) { + for (const auto& candidate : candidates) { flag = 0; origin = RecoDecay::OriginType::None; debug = 0; @@ -2497,23 +2530,23 @@ struct HfCandidateCreatorXic0Omegac0Mc { std::vector idxBhadMothers{}; auto arrayDaughters = std::array{ - candidate.template bachelorFromCharmBaryon_as< - MyTracksWMc>(), // bachelor <- charm baryon - candidate.template bachelor_as(), // bachelor <- cascade - candidate.template posTrack_as(), // p <- lambda - candidate.template negTrack_as()}; // pi <- lambda + candidate.template bachelorFromCharmBaryon_as< + MyTracksWMc>(), // bachelor <- charm baryon + candidate.template bachelor_as(), // bachelor <- cascade + candidate.template posTrack_as(), // p <- lambda + candidate.template negTrack_as()}; // pi <- lambda auto arrayDaughtersCasc = - std::array{candidate.template bachelor_as(), - candidate.template posTrack_as(), - candidate.template negTrack_as()}; + std::array{candidate.template bachelor_as(), + candidate.template posTrack_as(), + candidate.template negTrack_as()}; auto arrayDaughtersV0 = - std::array{candidate.template posTrack_as(), - candidate.template negTrack_as()}; + std::array{candidate.template posTrack_as(), + candidate.template negTrack_as()}; // Check whether the particle is from background events. If so, reject it. if (rejectBackground) { bool fromBkg{false}; - for (const auto &daughter : arrayDaughters) { + for (const auto& daughter : arrayDaughters) { if (daughter.has_mcParticle()) { auto mcParticle = daughter.mcParticle(); if (mcParticle.fromBackgroundEvent()) { @@ -2539,10 +2572,10 @@ struct HfCandidateCreatorXic0Omegac0Mc { aod::hf_cand_xic0_omegac0::DecayType::XiczeroToXiPi) { // Xic → pi pi pi p indexRec = RecoDecay::getMatchedMCRec( - mcParticles, arrayDaughters, pdgCodeXic0, - std::array{pdgCodePiPlus, pdgCodePiMinus, pdgCodeProton, - pdgCodePiMinus}, - true, &sign, 3); + mcParticles, arrayDaughters, pdgCodeXic0, + std::array{pdgCodePiPlus, pdgCodePiMinus, pdgCodeProton, + pdgCodePiMinus}, + true, &sign, 3); indexRecCharmBaryon = indexRec; if (indexRec == -1) { debug = 1; @@ -2550,17 +2583,17 @@ struct HfCandidateCreatorXic0Omegac0Mc { if (indexRec > -1) { // Xi- → pi pi p indexRec = RecoDecay::getMatchedMCRec( - mcParticles, arrayDaughtersCasc, pdgCodeXiMinus, - std::array{pdgCodePiMinus, pdgCodeProton, pdgCodePiMinus}, true, - &signCasc, 2); + mcParticles, arrayDaughtersCasc, pdgCodeXiMinus, + std::array{pdgCodePiMinus, pdgCodeProton, pdgCodePiMinus}, true, + &signCasc, 2); if (indexRec == -1) { debug = 2; } if (indexRec > -1) { // Lambda → p pi indexRec = RecoDecay::getMatchedMCRec( - mcParticles, arrayDaughtersV0, pdgCodeLambda, - std::array{pdgCodeProton, pdgCodePiMinus}, true, &signV0, 1); + mcParticles, arrayDaughtersV0, pdgCodeLambda, + std::array{pdgCodeProton, pdgCodePiMinus}, true, &signV0, 1); if (indexRec == -1) { debug = 3; } @@ -2568,8 +2601,8 @@ struct HfCandidateCreatorXic0Omegac0Mc { flag = sign * (1 << aod::hf_cand_xic0_omegac0::DecayType::XiczeroToXiPi); collisionMatched = - candidate.template collision_as().mcCollisionId() == - mcParticles.iteratorAt(indexRecCharmBaryon).mcCollisionId(); + candidate.template collision_as().mcCollisionId() == + mcParticles.iteratorAt(indexRecCharmBaryon).mcCollisionId(); } } } @@ -2594,13 +2627,13 @@ struct HfCandidateCreatorXic0Omegac0Mc { } } else if constexpr (decayChannel == aod::hf_cand_xic0_omegac0::DecayType:: - OmegaczeroToXiPi) { // Omegac -> xi pi matching + OmegaczeroToXiPi) { // Omegac -> xi pi matching // Omegac → pi pi pi p indexRec = RecoDecay::getMatchedMCRec( - mcParticles, arrayDaughters, pdgCodeOmegac0, - std::array{pdgCodePiPlus, pdgCodePiMinus, pdgCodeProton, - pdgCodePiMinus}, - true, &sign, 3); + mcParticles, arrayDaughters, pdgCodeOmegac0, + std::array{pdgCodePiPlus, pdgCodePiMinus, pdgCodeProton, + pdgCodePiMinus}, + true, &sign, 3); indexRecCharmBaryon = indexRec; if (indexRec == -1) { debug = 1; @@ -2608,27 +2641,27 @@ struct HfCandidateCreatorXic0Omegac0Mc { if (indexRec > -1) { // Xi- → pi pi p indexRec = RecoDecay::getMatchedMCRec( - mcParticles, arrayDaughtersCasc, pdgCodeXiMinus, - std::array{pdgCodePiMinus, pdgCodeProton, pdgCodePiMinus}, true, - &signCasc, 2); + mcParticles, arrayDaughtersCasc, pdgCodeXiMinus, + std::array{pdgCodePiMinus, pdgCodeProton, pdgCodePiMinus}, true, + &signCasc, 2); if (indexRec == -1) { debug = 2; } if (indexRec > -1) { // Lambda → p pi indexRec = RecoDecay::getMatchedMCRec( - mcParticles, arrayDaughtersV0, pdgCodeLambda, - std::array{pdgCodeProton, pdgCodePiMinus}, true, &signV0, 1); + mcParticles, arrayDaughtersV0, pdgCodeLambda, + std::array{pdgCodeProton, pdgCodePiMinus}, true, &signV0, 1); if (indexRec == -1) { debug = 3; } if (indexRec > -1) { flag = - sign * - (1 << aod::hf_cand_xic0_omegac0::DecayType::OmegaczeroToXiPi); + sign * + (1 << aod::hf_cand_xic0_omegac0::DecayType::OmegaczeroToXiPi); collisionMatched = - candidate.template collision_as().mcCollisionId() == - mcParticles.iteratorAt(indexRecCharmBaryon).mcCollisionId(); + candidate.template collision_as().mcCollisionId() == + mcParticles.iteratorAt(indexRecCharmBaryon).mcCollisionId(); } } } @@ -2653,14 +2686,14 @@ struct HfCandidateCreatorXic0Omegac0Mc { } } else if constexpr (decayChannel == aod::hf_cand_xic0_omegac0::DecayType:: - OmegaczeroToOmegaPi) { // Omegac0 -> omega pi - // matching + OmegaczeroToOmegaPi) { // Omegac0 -> omega pi + // matching // Omegac → pi K pi p indexRec = RecoDecay::getMatchedMCRec( - mcParticles, arrayDaughters, pdgCodeOmegac0, - std::array{pdgCodePiPlus, pdgCodeKaonMinus, pdgCodeProton, - pdgCodePiMinus}, - true, &sign, 3); + mcParticles, arrayDaughters, pdgCodeOmegac0, + std::array{pdgCodePiPlus, pdgCodeKaonMinus, pdgCodeProton, + pdgCodePiMinus}, + true, &sign, 3); indexRecCharmBaryon = indexRec; if (indexRec == -1) { debug = 1; @@ -2668,26 +2701,26 @@ struct HfCandidateCreatorXic0Omegac0Mc { if (indexRec > -1) { // Omega- → K pi p indexRec = RecoDecay::getMatchedMCRec( - mcParticles, arrayDaughtersCasc, pdgCodeOmegaMinus, - std::array{pdgCodeKaonMinus, pdgCodeProton, pdgCodePiMinus}, true, - &signCasc, 2); + mcParticles, arrayDaughtersCasc, pdgCodeOmegaMinus, + std::array{pdgCodeKaonMinus, pdgCodeProton, pdgCodePiMinus}, true, + &signCasc, 2); if (indexRec == -1) { debug = 2; } if (indexRec > -1) { // Lambda → p pi indexRec = RecoDecay::getMatchedMCRec( - mcParticles, arrayDaughtersV0, pdgCodeLambda, - std::array{pdgCodeProton, pdgCodePiMinus}, true, &signV0, 1); + mcParticles, arrayDaughtersV0, pdgCodeLambda, + std::array{pdgCodeProton, pdgCodePiMinus}, true, &signV0, 1); if (indexRec == -1) { debug = 3; } if (indexRec > -1) { flag = sign * (1 << aod::hf_cand_xic0_omegac0::DecayType:: - OmegaczeroToOmegaPi); + OmegaczeroToOmegaPi); collisionMatched = - candidate.template collision_as().mcCollisionId() == - mcParticles.iteratorAt(indexRecCharmBaryon).mcCollisionId(); + candidate.template collision_as().mcCollisionId() == + mcParticles.iteratorAt(indexRecCharmBaryon).mcCollisionId(); } } } @@ -2707,20 +2740,20 @@ struct HfCandidateCreatorXic0Omegac0Mc { } if (debug == 2 || debug == 3) { LOGF( - info, - "WARNING: Omegac0ToOmegaPi decays in the expected final state " - "but the condition on the intermediate states are not fulfilled"); + info, + "WARNING: Omegac0ToOmegaPi decays in the expected final state " + "but the condition on the intermediate states are not fulfilled"); } } else if constexpr (decayChannel == aod::hf_cand_xic0_omegac0::DecayType:: - OmegaczeroToOmegaK) { // Omegac0 -> omega K - // matching + OmegaczeroToOmegaK) { // Omegac0 -> omega K + // matching // Omegac → K K pi p indexRec = RecoDecay::getMatchedMCRec( - mcParticles, arrayDaughters, pdgCodeOmegac0, - std::array{pdgCodeKaonPlus, pdgCodeKaonMinus, pdgCodeProton, - pdgCodePiMinus}, - true, &sign, 3); + mcParticles, arrayDaughters, pdgCodeOmegac0, + std::array{pdgCodeKaonPlus, pdgCodeKaonMinus, pdgCodeProton, + pdgCodePiMinus}, + true, &sign, 3); indexRecCharmBaryon = indexRec; if (indexRec == -1) { debug = 1; @@ -2728,28 +2761,28 @@ struct HfCandidateCreatorXic0Omegac0Mc { if (indexRec > -1) { // Omega- → K pi p indexRec = RecoDecay::getMatchedMCRec( - mcParticles, arrayDaughtersCasc, pdgCodeOmegaMinus, - std::array{pdgCodeKaonMinus, pdgCodeProton, pdgCodePiMinus}, true, - &signCasc, 2); + mcParticles, arrayDaughtersCasc, pdgCodeOmegaMinus, + std::array{pdgCodeKaonMinus, pdgCodeProton, pdgCodePiMinus}, true, + &signCasc, 2); if (indexRec == -1) { debug = 2; } if (indexRec > -1) { // Lambda → p pi indexRec = RecoDecay::getMatchedMCRec( - mcParticles, arrayDaughtersV0, pdgCodeLambda, - std::array{pdgCodeProton, pdgCodePiMinus}, true, &signV0, 1); + mcParticles, arrayDaughtersV0, pdgCodeLambda, + std::array{pdgCodeProton, pdgCodePiMinus}, true, &signV0, 1); if (indexRec == -1) { debug = 3; } if (indexRec > -1) { flag = - sign * - (1 - << aod::hf_cand_xic0_omegac0::DecayType::OmegaczeroToOmegaK); + sign * + (1 + << aod::hf_cand_xic0_omegac0::DecayType::OmegaczeroToOmegaK); collisionMatched = - candidate.template collision_as().mcCollisionId() == - mcParticles.iteratorAt(indexRecCharmBaryon).mcCollisionId(); + candidate.template collision_as().mcCollisionId() == + mcParticles.iteratorAt(indexRecCharmBaryon).mcCollisionId(); } } } @@ -2768,41 +2801,41 @@ struct HfCandidateCreatorXic0Omegac0Mc { } if (debug == 2 || debug == 3) { LOGF( - info, - "WARNING: Omegac0ToOmegaK decays in the expected final state but " - "the condition on the intermediate states are not fulfilled"); + info, + "WARNING: Omegac0ToOmegaK decays in the expected final state but " + "the condition on the intermediate states are not fulfilled"); } } } // close loop over candidates - for (const auto &mcCollision : mcCollisions) { + for (const auto& mcCollision : mcCollisions) { // Slice the particles table to get the particles for the current MC // collision const auto mcParticlesPerMcColl = mcParticles.sliceBy( - mcParticlesPerMcCollision, mcCollision.globalIndex()); + mcParticlesPerMcCollision, mcCollision.globalIndex()); // Slice the collisions table to get the collision info for the current MC // collision float centrality{-1.f}; uint16_t rejectionMask{0}; if constexpr (centEstimator == CentralityEstimator::FT0C) { const auto collSlice = collsWithMcLabels.sliceBy( - colPerMcCollisionFT0C, mcCollision.globalIndex()); + colPerMcCollisionFT0C, mcCollision.globalIndex()); rejectionMask = - hfEvSelMc.getHfMcCollisionRejectionMask( - mcCollision, collSlice, centrality); + hfEvSelMc.getHfMcCollisionRejectionMask( + mcCollision, collSlice, centrality); } else if constexpr (centEstimator == CentralityEstimator::FT0M) { const auto collSlice = collsWithMcLabels.sliceBy( - colPerMcCollisionFT0M, mcCollision.globalIndex()); + colPerMcCollisionFT0M, mcCollision.globalIndex()); rejectionMask = - hfEvSelMc.getHfMcCollisionRejectionMask( - mcCollision, collSlice, centrality); + hfEvSelMc.getHfMcCollisionRejectionMask( + mcCollision, collSlice, centrality); } else if constexpr (centEstimator == CentralityEstimator::None) { const auto collSlice = collsWithMcLabels.sliceBy( - colPerMcCollision, mcCollision.globalIndex()); + colPerMcCollision, mcCollision.globalIndex()); rejectionMask = - hfEvSelMc.getHfMcCollisionRejectionMask( - mcCollision, collSlice, centrality); + hfEvSelMc.getHfMcCollisionRejectionMask( + mcCollision, collSlice, centrality); } hfEvSelMc.fillHistograms(mcCollision, rejectionMask); if (rejectionMask != 0) { @@ -2815,17 +2848,17 @@ struct HfCandidateCreatorXic0Omegac0Mc { RecoDecay::OriginType::None, -1); } else if constexpr (decayChannel == aod::hf_cand_xic0_omegac0::DecayType:: - OmegaczeroToXiPi) { + OmegaczeroToXiPi) { rowMCMatchGenOmegacToXiPi(0, 0, 0, 0, -999., -999., RecoDecay::OriginType::None, -1); } else if constexpr (decayChannel == aod::hf_cand_xic0_omegac0::DecayType:: - OmegaczeroToOmegaPi) { + OmegaczeroToOmegaPi) { rowMCMatchGenToOmegaPi(0, 0, 0, 0, -999., -999., RecoDecay::OriginType::None, -1); } else if constexpr (decayChannel == aod::hf_cand_xic0_omegac0::DecayType:: - OmegaczeroToOmegaK) { + OmegaczeroToOmegaK) { rowMCMatchGenToOmegaK(0, 0, 0, 0, -999., -999., RecoDecay::OriginType::None, -1); } @@ -2834,7 +2867,7 @@ struct HfCandidateCreatorXic0Omegac0Mc { } // Match generated particles. - for (const auto &particle : mcParticlesPerMcColl) { + for (const auto& particle : mcParticlesPerMcColl) { ptCharmBaryonGen = -999.; rapidityCharmBaryonGen = -999.; flag = 0; @@ -2854,19 +2887,19 @@ struct HfCandidateCreatorXic0Omegac0Mc { rapidityCharmBaryonGen, origin, -1); } else if constexpr (decayChannel == aod::hf_cand_xic0_omegac0::DecayType:: - OmegaczeroToXiPi) { + OmegaczeroToXiPi) { rowMCMatchGenOmegacToXiPi(flag, debugGenCharmBar, debugGenCasc, debugGenLambda, ptCharmBaryonGen, rapidityCharmBaryonGen, origin, -1); } else if constexpr (decayChannel == aod::hf_cand_xic0_omegac0::DecayType:: - OmegaczeroToOmegaPi) { + OmegaczeroToOmegaPi) { rowMCMatchGenToOmegaPi(flag, debugGenCharmBar, debugGenCasc, debugGenLambda, ptCharmBaryonGen, rapidityCharmBaryonGen, origin, -1); } else if constexpr (decayChannel == aod::hf_cand_xic0_omegac0::DecayType:: - OmegaczeroToOmegaK) { + OmegaczeroToOmegaK) { rowMCMatchGenToOmegaK(flag, debugGenCharmBar, debugGenCasc, debugGenLambda, ptCharmBaryonGen, rapidityCharmBaryonGen, origin, -1); @@ -2878,33 +2911,33 @@ struct HfCandidateCreatorXic0Omegac0Mc { aod::hf_cand_xic0_omegac0::DecayType::XiczeroToXiPi) { // Xic → Xi pi if (RecoDecay::isMatchedMCGen( - mcParticles, particle, pdgCodeXic0, - std::array{pdgCodeXiMinus, pdgCodePiPlus}, true, &sign)) { + mcParticles, particle, pdgCodeXic0, + std::array{pdgCodeXiMinus, pdgCodePiPlus}, true, &sign)) { debugGenCharmBar = 1; ptCharmBaryonGen = particle.pt(); rapidityCharmBaryonGen = particle.y(); - for (const auto &daughterCharm : + for (const auto& daughterCharm : particle.template daughters_as()) { if (std::abs(daughterCharm.pdgCode()) != pdgCodeXiMinus) { continue; } // Xi -> Lambda pi if (RecoDecay::isMatchedMCGen( - mcParticles, daughterCharm, pdgCodeXiMinus, - std::array{pdgCodeLambda, pdgCodePiMinus}, true)) { + mcParticles, daughterCharm, pdgCodeXiMinus, + std::array{pdgCodeLambda, pdgCodePiMinus}, true)) { debugGenCasc = 1; - for (const auto &daughterCascade : + for (const auto& daughterCascade : daughterCharm.template daughters_as()) { if (std::abs(daughterCascade.pdgCode()) != pdgCodeLambda) { continue; } // Lambda -> p pi if (RecoDecay::isMatchedMCGen( - mcParticles, daughterCascade, pdgCodeLambda, - std::array{pdgCodeProton, pdgCodePiMinus}, true)) { + mcParticles, daughterCascade, pdgCodeLambda, + std::array{pdgCodeProton, pdgCodePiMinus}, true)) { debugGenLambda = 1; flag = sign * (1 << aod::hf_cand_xic0_omegac0::DecayType:: - XiczeroToXiPi); + XiczeroToXiPi); } } } @@ -2916,21 +2949,21 @@ struct HfCandidateCreatorXic0Omegac0Mc { false, &idxBhadMothers); if (std::abs(rapidityCharmBaryonGen) < 0.5) { hGenCharmBaryonPtRapidityTightXicToXiPi->SetBinContent( + hGenCharmBaryonPtRapidityTightXicToXiPi->FindBin( + ptCharmBaryonGen), + hGenCharmBaryonPtRapidityTightXicToXiPi->GetBinContent( hGenCharmBaryonPtRapidityTightXicToXiPi->FindBin( - ptCharmBaryonGen), - hGenCharmBaryonPtRapidityTightXicToXiPi->GetBinContent( - hGenCharmBaryonPtRapidityTightXicToXiPi->FindBin( - ptCharmBaryonGen)) + - 1); + ptCharmBaryonGen)) + + 1); } if (std::abs(rapidityCharmBaryonGen) < 0.8) { hGenCharmBaryonPtRapidityLooseXicToXiPi->SetBinContent( + hGenCharmBaryonPtRapidityLooseXicToXiPi->FindBin( + ptCharmBaryonGen), + hGenCharmBaryonPtRapidityLooseXicToXiPi->GetBinContent( hGenCharmBaryonPtRapidityLooseXicToXiPi->FindBin( - ptCharmBaryonGen), - hGenCharmBaryonPtRapidityLooseXicToXiPi->GetBinContent( - hGenCharmBaryonPtRapidityLooseXicToXiPi->FindBin( - ptCharmBaryonGen)) + - 1); + ptCharmBaryonGen)) + + 1); } } if (origin == RecoDecay::OriginType::NonPrompt) { @@ -2945,36 +2978,36 @@ struct HfCandidateCreatorXic0Omegac0Mc { } } else if constexpr (decayChannel == aod::hf_cand_xic0_omegac0:: - DecayType::OmegaczeroToXiPi) { + DecayType::OmegaczeroToXiPi) { // Omegac → Xi pi if (RecoDecay::isMatchedMCGen( - mcParticles, particle, pdgCodeOmegac0, - std::array{pdgCodeXiMinus, pdgCodePiPlus}, true, &sign)) { + mcParticles, particle, pdgCodeOmegac0, + std::array{pdgCodeXiMinus, pdgCodePiPlus}, true, &sign)) { debugGenCharmBar = 1; ptCharmBaryonGen = particle.pt(); rapidityCharmBaryonGen = particle.y(); - for (const auto &daughterCharm : + for (const auto& daughterCharm : particle.template daughters_as()) { if (std::abs(daughterCharm.pdgCode()) != pdgCodeXiMinus) { continue; } // Xi -> Lambda pi if (RecoDecay::isMatchedMCGen( - mcParticles, daughterCharm, pdgCodeXiMinus, - std::array{pdgCodeLambda, pdgCodePiMinus}, true)) { + mcParticles, daughterCharm, pdgCodeXiMinus, + std::array{pdgCodeLambda, pdgCodePiMinus}, true)) { debugGenCasc = 1; - for (const auto &daughterCascade : + for (const auto& daughterCascade : daughterCharm.template daughters_as()) { if (std::abs(daughterCascade.pdgCode()) != pdgCodeLambda) { continue; } // Lambda -> p pi if (RecoDecay::isMatchedMCGen( - mcParticles, daughterCascade, pdgCodeLambda, - std::array{pdgCodeProton, pdgCodePiMinus}, true)) { + mcParticles, daughterCascade, pdgCodeLambda, + std::array{pdgCodeProton, pdgCodePiMinus}, true)) { debugGenLambda = 1; flag = sign * (1 << aod::hf_cand_xic0_omegac0::DecayType:: - OmegaczeroToXiPi); + OmegaczeroToXiPi); } } } @@ -2986,21 +3019,21 @@ struct HfCandidateCreatorXic0Omegac0Mc { false, &idxBhadMothers); if (std::abs(rapidityCharmBaryonGen) < 0.5) { hGenCharmBaryonPtRapidityTightOmegacToXiPi->SetBinContent( + hGenCharmBaryonPtRapidityTightOmegacToXiPi->FindBin( + ptCharmBaryonGen), + hGenCharmBaryonPtRapidityTightOmegacToXiPi->GetBinContent( hGenCharmBaryonPtRapidityTightOmegacToXiPi->FindBin( - ptCharmBaryonGen), - hGenCharmBaryonPtRapidityTightOmegacToXiPi->GetBinContent( - hGenCharmBaryonPtRapidityTightOmegacToXiPi->FindBin( - ptCharmBaryonGen)) + - 1); + ptCharmBaryonGen)) + + 1); } if (std::abs(rapidityCharmBaryonGen) < 0.8) { hGenCharmBaryonPtRapidityLooseOmegacToXiPi->SetBinContent( + hGenCharmBaryonPtRapidityLooseOmegacToXiPi->FindBin( + ptCharmBaryonGen), + hGenCharmBaryonPtRapidityLooseOmegacToXiPi->GetBinContent( hGenCharmBaryonPtRapidityLooseOmegacToXiPi->FindBin( - ptCharmBaryonGen), - hGenCharmBaryonPtRapidityLooseOmegacToXiPi->GetBinContent( - hGenCharmBaryonPtRapidityLooseOmegacToXiPi->FindBin( - ptCharmBaryonGen)) + - 1); + ptCharmBaryonGen)) + + 1); } } if (origin == RecoDecay::OriginType::NonPrompt) { @@ -3016,36 +3049,36 @@ struct HfCandidateCreatorXic0Omegac0Mc { } else if constexpr (decayChannel == aod::hf_cand_xic0_omegac0::DecayType:: - OmegaczeroToOmegaPi) { + OmegaczeroToOmegaPi) { // Omegac → Omega pi if (RecoDecay::isMatchedMCGen( - mcParticles, particle, pdgCodeOmegac0, - std::array{pdgCodeOmegaMinus, pdgCodePiPlus}, true, &sign)) { + mcParticles, particle, pdgCodeOmegac0, + std::array{pdgCodeOmegaMinus, pdgCodePiPlus}, true, &sign)) { debugGenCharmBar = 1; ptCharmBaryonGen = particle.pt(); rapidityCharmBaryonGen = particle.y(); - for (const auto &daughterCharm : + for (const auto& daughterCharm : particle.template daughters_as()) { if (std::abs(daughterCharm.pdgCode()) != pdgCodeOmegaMinus) { continue; } // Omega -> Lambda K if (RecoDecay::isMatchedMCGen( - mcParticles, daughterCharm, pdgCodeOmegaMinus, - std::array{pdgCodeLambda, pdgCodeKaonMinus}, true)) { + mcParticles, daughterCharm, pdgCodeOmegaMinus, + std::array{pdgCodeLambda, pdgCodeKaonMinus}, true)) { debugGenCasc = 1; - for (const auto &daughterCascade : + for (const auto& daughterCascade : daughterCharm.template daughters_as()) { if (std::abs(daughterCascade.pdgCode()) != pdgCodeLambda) { continue; } // Lambda -> p pi if (RecoDecay::isMatchedMCGen( - mcParticles, daughterCascade, pdgCodeLambda, - std::array{pdgCodeProton, pdgCodePiMinus}, true)) { + mcParticles, daughterCascade, pdgCodeLambda, + std::array{pdgCodeProton, pdgCodePiMinus}, true)) { debugGenLambda = 1; flag = sign * (1 << aod::hf_cand_xic0_omegac0::DecayType:: - OmegaczeroToOmegaPi); + OmegaczeroToOmegaPi); } } } @@ -3057,21 +3090,21 @@ struct HfCandidateCreatorXic0Omegac0Mc { false, &idxBhadMothers); if (std::abs(rapidityCharmBaryonGen) < 0.5) { hGenCharmBaryonPtRapidityTightOmegacToOmegaPi->SetBinContent( + hGenCharmBaryonPtRapidityTightOmegacToOmegaPi->FindBin( + ptCharmBaryonGen), + hGenCharmBaryonPtRapidityTightOmegacToOmegaPi->GetBinContent( hGenCharmBaryonPtRapidityTightOmegacToOmegaPi->FindBin( - ptCharmBaryonGen), - hGenCharmBaryonPtRapidityTightOmegacToOmegaPi->GetBinContent( - hGenCharmBaryonPtRapidityTightOmegacToOmegaPi->FindBin( - ptCharmBaryonGen)) + - 1); + ptCharmBaryonGen)) + + 1); } if (std::abs(rapidityCharmBaryonGen) < 0.8) { hGenCharmBaryonPtRapidityLooseOmegacToOmegaPi->SetBinContent( + hGenCharmBaryonPtRapidityLooseOmegacToOmegaPi->FindBin( + ptCharmBaryonGen), + hGenCharmBaryonPtRapidityLooseOmegacToOmegaPi->GetBinContent( hGenCharmBaryonPtRapidityLooseOmegacToOmegaPi->FindBin( - ptCharmBaryonGen), - hGenCharmBaryonPtRapidityLooseOmegacToOmegaPi->GetBinContent( - hGenCharmBaryonPtRapidityLooseOmegacToOmegaPi->FindBin( - ptCharmBaryonGen)) + - 1); + ptCharmBaryonGen)) + + 1); } } if (origin == RecoDecay::OriginType::NonPrompt) { @@ -3087,37 +3120,37 @@ struct HfCandidateCreatorXic0Omegac0Mc { } else if constexpr (decayChannel == aod::hf_cand_xic0_omegac0::DecayType:: - OmegaczeroToOmegaK) { + OmegaczeroToOmegaK) { // Omegac → Omega K if (RecoDecay::isMatchedMCGen( - mcParticles, particle, pdgCodeOmegac0, - std::array{pdgCodeOmegaMinus, pdgCodeKaonPlus}, true, - &sign)) { + mcParticles, particle, pdgCodeOmegac0, + std::array{pdgCodeOmegaMinus, pdgCodeKaonPlus}, true, + &sign)) { debugGenCharmBar = 1; ptCharmBaryonGen = particle.pt(); rapidityCharmBaryonGen = particle.y(); - for (const auto &daughterCharm : + for (const auto& daughterCharm : particle.template daughters_as()) { if (std::abs(daughterCharm.pdgCode()) != pdgCodeOmegaMinus) { continue; } // Omega -> Lambda K if (RecoDecay::isMatchedMCGen( - mcParticles, daughterCharm, pdgCodeOmegaMinus, - std::array{pdgCodeLambda, pdgCodeKaonMinus}, true)) { + mcParticles, daughterCharm, pdgCodeOmegaMinus, + std::array{pdgCodeLambda, pdgCodeKaonMinus}, true)) { debugGenCasc = 1; - for (const auto &daughterCascade : + for (const auto& daughterCascade : daughterCharm.template daughters_as()) { if (std::abs(daughterCascade.pdgCode()) != pdgCodeLambda) { continue; } // Lambda -> p pi if (RecoDecay::isMatchedMCGen( - mcParticles, daughterCascade, pdgCodeLambda, - std::array{pdgCodeProton, pdgCodePiMinus}, true)) { + mcParticles, daughterCascade, pdgCodeLambda, + std::array{pdgCodeProton, pdgCodePiMinus}, true)) { debugGenLambda = 1; flag = sign * (1 << aod::hf_cand_xic0_omegac0::DecayType:: - OmegaczeroToOmegaK); + OmegaczeroToOmegaK); } } } @@ -3129,21 +3162,21 @@ struct HfCandidateCreatorXic0Omegac0Mc { false, &idxBhadMothers); if (std::abs(rapidityCharmBaryonGen) < 0.5) { hGenCharmBaryonPtRapidityTightOmegacToOmegaK->SetBinContent( + hGenCharmBaryonPtRapidityTightOmegacToOmegaK->FindBin( + ptCharmBaryonGen), + hGenCharmBaryonPtRapidityTightOmegacToOmegaK->GetBinContent( hGenCharmBaryonPtRapidityTightOmegacToOmegaK->FindBin( - ptCharmBaryonGen), - hGenCharmBaryonPtRapidityTightOmegacToOmegaK->GetBinContent( - hGenCharmBaryonPtRapidityTightOmegacToOmegaK->FindBin( - ptCharmBaryonGen)) + - 1); + ptCharmBaryonGen)) + + 1); } if (std::abs(rapidityCharmBaryonGen) < 0.8) { hGenCharmBaryonPtRapidityLooseOmegacToOmegaK->SetBinContent( + hGenCharmBaryonPtRapidityLooseOmegacToOmegaK->FindBin( + ptCharmBaryonGen), + hGenCharmBaryonPtRapidityLooseOmegacToOmegaK->GetBinContent( hGenCharmBaryonPtRapidityLooseOmegacToOmegaK->FindBin( - ptCharmBaryonGen), - hGenCharmBaryonPtRapidityLooseOmegacToOmegaK->GetBinContent( - hGenCharmBaryonPtRapidityLooseOmegacToOmegaK->FindBin( - ptCharmBaryonGen)) + - 1); + ptCharmBaryonGen)) + + 1); } } if (origin == RecoDecay::OriginType::NonPrompt) { @@ -3161,189 +3194,204 @@ struct HfCandidateCreatorXic0Omegac0Mc { } // close loop on MCCollisions } // close process - void processDoNoMc(aod::Collisions::iterator const &) { + void processDoNoMc(aod::Collisions::iterator const&) + { // dummy process function - should not be required in the future } PROCESS_SWITCH(HfCandidateCreatorXic0Omegac0Mc, processDoNoMc, "Do not run any MC process function", true); - void processMcXicToXiPi(aod::HfCandToXiPi const &candidates, - MyTracksWMc const &tracks, - aod::McParticles const &mcParticles, - aod::McCollisions const &mcColls, - McCollisionsNoCents const &collsWithMcLabels, - BCsInfo const &bcs) { + void processMcXicToXiPi(aod::HfCandToXiPi const& candidates, + MyTracksWMc const& tracks, + aod::McParticles const& mcParticles, + aod::McCollisions const& mcColls, + McCollisionsNoCents const& collsWithMcLabels, + BCsInfo const& bcs) + { runXic0Omegac0Mc( - candidates, tracks, mcParticles, collsWithMcLabels, mcColls, bcs); + candidates, tracks, mcParticles, collsWithMcLabels, mcColls, bcs); } PROCESS_SWITCH(HfCandidateCreatorXic0Omegac0Mc, processMcXicToXiPi, "Run Xic0 to xi pi MC process function - no centrality", false); - void processMcXicToXiPiKf(aod::HfCandToXiPiKf const &candidates, - MyTracksWMc const &tracks, - aod::McParticles const &mcParticles, - aod::McCollisions const &mcColls, - McCollisionsNoCents const &collsWithMcLabels, - BCsInfo const &bcs) { + void processMcXicToXiPiKf(aod::HfCandToXiPiKf const& candidates, + MyTracksWMc const& tracks, + aod::McParticles const& mcParticles, + aod::McCollisions const& mcColls, + McCollisionsNoCents const& collsWithMcLabels, + BCsInfo const& bcs) + { runXic0Omegac0Mc( - candidates, tracks, mcParticles, collsWithMcLabels, mcColls, bcs); + candidates, tracks, mcParticles, collsWithMcLabels, mcColls, bcs); } PROCESS_SWITCH(HfCandidateCreatorXic0Omegac0Mc, processMcXicToXiPiKf, "Run Xic0 to xi pi MC process function - no centrality", false); - void processMcXicToXiPiFT0m(aod::HfCandToXiPi const &candidates, - MyTracksWMc const &tracks, - aod::McParticles const &mcParticles, - McCollisionsCentFT0Ms const &mcColls, - McCollisionsFT0Ms const &collsWithMcLabels, - BCsInfo const &bcs) { + void processMcXicToXiPiFT0m(aod::HfCandToXiPi const& candidates, + MyTracksWMc const& tracks, + aod::McParticles const& mcParticles, + McCollisionsCentFT0Ms const& mcColls, + McCollisionsFT0Ms const& collsWithMcLabels, + BCsInfo const& bcs) + { runXic0Omegac0Mc( - candidates, tracks, mcParticles, collsWithMcLabels, mcColls, bcs); + candidates, tracks, mcParticles, collsWithMcLabels, mcColls, bcs); } PROCESS_SWITCH(HfCandidateCreatorXic0Omegac0Mc, processMcXicToXiPiFT0m, "Run Xic0 to xi pi MC process function - FT0M", false); - void processMcXicToXiPiFT0c(aod::HfCandToXiPi const &candidates, - MyTracksWMc const &tracks, - aod::McParticles const &mcParticles, - aod::McCollisions const &mcColls, - McCollisionsFT0Cs const &collsWithMcLabels, - BCsInfo const &bcs) { + void processMcXicToXiPiFT0c(aod::HfCandToXiPi const& candidates, + MyTracksWMc const& tracks, + aod::McParticles const& mcParticles, + aod::McCollisions const& mcColls, + McCollisionsFT0Cs const& collsWithMcLabels, + BCsInfo const& bcs) + { runXic0Omegac0Mc( - candidates, tracks, mcParticles, collsWithMcLabels, mcColls, bcs); + candidates, tracks, mcParticles, collsWithMcLabels, mcColls, bcs); } PROCESS_SWITCH(HfCandidateCreatorXic0Omegac0Mc, processMcXicToXiPiFT0c, "Run Xic0 to xi pi MC process function - FT0C", false); - void processMcOmegacToXiPi(aod::HfCandToXiPi const &candidates, - MyTracksWMc const &tracks, - aod::McParticles const &mcParticles, - aod::McCollisions const &mcColls, - McCollisionsNoCents const &collsWithMcLabels, - BCsInfo const &bcs) { + void processMcOmegacToXiPi(aod::HfCandToXiPi const& candidates, + MyTracksWMc const& tracks, + aod::McParticles const& mcParticles, + aod::McCollisions const& mcColls, + McCollisionsNoCents const& collsWithMcLabels, + BCsInfo const& bcs) + { runXic0Omegac0Mc( - candidates, tracks, mcParticles, collsWithMcLabels, mcColls, bcs); + candidates, tracks, mcParticles, collsWithMcLabels, mcColls, bcs); } PROCESS_SWITCH(HfCandidateCreatorXic0Omegac0Mc, processMcOmegacToXiPi, "Run Omegac0 to xi pi MC process function - no centrality", false); - void processMcOmegacToXiPiFT0m(aod::HfCandToXiPi const &candidates, - MyTracksWMc const &tracks, - aod::McParticles const &mcParticles, - McCollisionsCentFT0Ms const &mcColls, - McCollisionsFT0Ms const &collsWithMcLabels, - BCsInfo const &bcs) { + void processMcOmegacToXiPiFT0m(aod::HfCandToXiPi const& candidates, + MyTracksWMc const& tracks, + aod::McParticles const& mcParticles, + McCollisionsCentFT0Ms const& mcColls, + McCollisionsFT0Ms const& collsWithMcLabels, + BCsInfo const& bcs) + { runXic0Omegac0Mc( - candidates, tracks, mcParticles, collsWithMcLabels, mcColls, bcs); + candidates, tracks, mcParticles, collsWithMcLabels, mcColls, bcs); } PROCESS_SWITCH(HfCandidateCreatorXic0Omegac0Mc, processMcOmegacToXiPiFT0m, "Run Omegac0 to xi pi MC process function - FT0M", false); - void processMcOmegacToXiPiFT0c(aod::HfCandToXiPi const &candidates, - MyTracksWMc const &tracks, - aod::McParticles const &mcParticles, - aod::McCollisions const &mcColls, - McCollisionsFT0Cs const &collsWithMcLabels, - BCsInfo const &bcs) { + void processMcOmegacToXiPiFT0c(aod::HfCandToXiPi const& candidates, + MyTracksWMc const& tracks, + aod::McParticles const& mcParticles, + aod::McCollisions const& mcColls, + McCollisionsFT0Cs const& collsWithMcLabels, + BCsInfo const& bcs) + { runXic0Omegac0Mc( - candidates, tracks, mcParticles, collsWithMcLabels, mcColls, bcs); + candidates, tracks, mcParticles, collsWithMcLabels, mcColls, bcs); } PROCESS_SWITCH(HfCandidateCreatorXic0Omegac0Mc, processMcOmegacToXiPiFT0c, "Run Omegac0 to xi pi MC process function - FT0C", false); - void processMcOmegacToOmegaPi(aod::HfCandToOmegaPi const &candidates, - MyTracksWMc const &tracks, - aod::McParticles const &mcParticles, - aod::McCollisions const &mcColls, - McCollisionsNoCents const &collsWithMcLabels, - BCsInfo const &bcs) { + void processMcOmegacToOmegaPi(aod::HfCandToOmegaPi const& candidates, + MyTracksWMc const& tracks, + aod::McParticles const& mcParticles, + aod::McCollisions const& mcColls, + McCollisionsNoCents const& collsWithMcLabels, + BCsInfo const& bcs) + { runXic0Omegac0Mc( - candidates, tracks, mcParticles, collsWithMcLabels, mcColls, bcs); + candidates, tracks, mcParticles, collsWithMcLabels, mcColls, bcs); } PROCESS_SWITCH(HfCandidateCreatorXic0Omegac0Mc, processMcOmegacToOmegaPi, "Run Omegac0 to omega pi MC process function - no centrality", false); - void processMcOmegacToOmegaPiFT0m(aod::HfCandToOmegaPi const &candidates, - MyTracksWMc const &tracks, - aod::McParticles const &mcParticles, - McCollisionsCentFT0Ms const &mcColls, - McCollisionsFT0Ms const &collsWithMcLabels, - BCsInfo const &bcs) { + void processMcOmegacToOmegaPiFT0m(aod::HfCandToOmegaPi const& candidates, + MyTracksWMc const& tracks, + aod::McParticles const& mcParticles, + McCollisionsCentFT0Ms const& mcColls, + McCollisionsFT0Ms const& collsWithMcLabels, + BCsInfo const& bcs) + { runXic0Omegac0Mc( - candidates, tracks, mcParticles, collsWithMcLabels, mcColls, bcs); + candidates, tracks, mcParticles, collsWithMcLabels, mcColls, bcs); } PROCESS_SWITCH(HfCandidateCreatorXic0Omegac0Mc, processMcOmegacToOmegaPiFT0m, "Run Omegac0 to omega pi MC process function - FT0M", false); - void processMcOmegacToOmegaPiFT0c(aod::HfCandToOmegaPi const &candidates, - MyTracksWMc const &tracks, - aod::McParticles const &mcParticles, - aod::McCollisions const &mcColls, - McCollisionsFT0Cs const &collsWithMcLabels, - BCsInfo const &bcs) { + void processMcOmegacToOmegaPiFT0c(aod::HfCandToOmegaPi const& candidates, + MyTracksWMc const& tracks, + aod::McParticles const& mcParticles, + aod::McCollisions const& mcColls, + McCollisionsFT0Cs const& collsWithMcLabels, + BCsInfo const& bcs) + { runXic0Omegac0Mc( - candidates, tracks, mcParticles, collsWithMcLabels, mcColls, bcs); + candidates, tracks, mcParticles, collsWithMcLabels, mcColls, bcs); } PROCESS_SWITCH(HfCandidateCreatorXic0Omegac0Mc, processMcOmegacToOmegaPiFT0c, "Run Omegac0 to omega pi MC process function - FT0C", false); - void processMcOmegacToOmegaK(aod::HfCandToOmegaK const &candidates, - MyTracksWMc const &tracks, - aod::McParticles const &mcParticles, - aod::McCollisions const &mcColls, - McCollisionsNoCents const &collsWithMcLabels, - BCsInfo const &bcs) { + void processMcOmegacToOmegaK(aod::HfCandToOmegaK const& candidates, + MyTracksWMc const& tracks, + aod::McParticles const& mcParticles, + aod::McCollisions const& mcColls, + McCollisionsNoCents const& collsWithMcLabels, + BCsInfo const& bcs) + { runXic0Omegac0Mc( - candidates, tracks, mcParticles, collsWithMcLabels, mcColls, bcs); + candidates, tracks, mcParticles, collsWithMcLabels, mcColls, bcs); } PROCESS_SWITCH(HfCandidateCreatorXic0Omegac0Mc, processMcOmegacToOmegaK, "Run Omegac0 to omega K MC process function - no centrality", false); - void processMcOmegacToOmegaKFT0m(aod::HfCandToOmegaK const &candidates, - MyTracksWMc const &tracks, - aod::McParticles const &mcParticles, - McCollisionsCentFT0Ms const &mcColls, - McCollisionsFT0Ms const &collsWithMcLabels, - BCsInfo const &bcs) { + void processMcOmegacToOmegaKFT0m(aod::HfCandToOmegaK const& candidates, + MyTracksWMc const& tracks, + aod::McParticles const& mcParticles, + McCollisionsCentFT0Ms const& mcColls, + McCollisionsFT0Ms const& collsWithMcLabels, + BCsInfo const& bcs) + { runXic0Omegac0Mc( - candidates, tracks, mcParticles, collsWithMcLabels, mcColls, bcs); + candidates, tracks, mcParticles, collsWithMcLabels, mcColls, bcs); } PROCESS_SWITCH(HfCandidateCreatorXic0Omegac0Mc, processMcOmegacToOmegaKFT0m, "Run Omegac0 to omega K MC process function - FT0M", false); - void processMcOmegacToOmegaKFT0c(aod::HfCandToOmegaK const &candidates, - MyTracksWMc const &tracks, - aod::McParticles const &mcParticles, - aod::McCollisions const &mcColls, - McCollisionsFT0Cs const &collsWithMcLabels, - BCsInfo const &bcs) { + void processMcOmegacToOmegaKFT0c(aod::HfCandToOmegaK const& candidates, + MyTracksWMc const& tracks, + aod::McParticles const& mcParticles, + aod::McCollisions const& mcColls, + McCollisionsFT0Cs const& collsWithMcLabels, + BCsInfo const& bcs) + { runXic0Omegac0Mc( - candidates, tracks, mcParticles, collsWithMcLabels, mcColls, bcs); + candidates, tracks, mcParticles, collsWithMcLabels, mcColls, bcs); } PROCESS_SWITCH(HfCandidateCreatorXic0Omegac0Mc, processMcOmegacToOmegaKFT0c, "Run Omegac0 to omega K MC process function - FT0C", false); }; // close struct -WorkflowSpec defineDataProcessing(ConfigContext const &cfgc) { +WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) +{ return WorkflowSpec{adaptAnalysisTask(cfgc), adaptAnalysisTask(cfgc)}; }