diff --git a/PWGHF/Core/SelectorCuts.h b/PWGHF/Core/SelectorCuts.h index cc7a4867dce..f9142ae6ba7 100644 --- a/PWGHF/Core/SelectorCuts.h +++ b/PWGHF/Core/SelectorCuts.h @@ -721,16 +721,146 @@ constexpr double binsPt[nBinsPt + 1] = { auto vecBinsPt = std::vector{binsPt, binsPt + nBinsPt + 1}; // default values for the cuts m ptXi ptPi0 ptPi1 chi2PCA dL dLXY cosp cospXY impParXY Xi Pi0 Pi1 -constexpr double cuts[nBinsPt][nCutVars] = {{0.400, 0.4, 0.4, 0.4, 1e-5, 0.005, 0.005, 0.8, 0.8, 0.1, 0.1, 0.1,}, /* 0 < pT < 1 */ - {0.400, 0.4, 0.4, 0.4, 1e-5, 0.005, 0.005, 0.8, 0.8, 0.1, 0.1, 0.1,}, /* 1 < pT < 2 */ - {0.400, 0.4, 0.4, 0.4, 1e-5, 0.005, 0.005, 0.8, 0.8, 0.1, 0.1, 0.1,}, /* 2 < pT < 3 */ - {0.400, 0.4, 0.4, 0.4, 1e-5, 0.005, 0.005, 0.8, 0.8, 0.1, 0.1, 0.1,}, /* 3 < pT < 4 */ - {0.400, 0.4, 0.4, 0.4, 1e-5, 0.005, 0.005, 0.8, 0.8, 0.1, 0.1, 0.1,}, /* 4 < pT < 5 */ - {0.400, 0.4, 0.4, 0.4, 1e-5, 0.005, 0.005, 0.8, 0.8, 0.1, 0.1, 0.1,}, /* 5 < pT < 6 */ - {0.400, 0.4, 0.4, 0.4, 1e-5, 0.005, 0.005, 0.8, 0.8, 0.1, 0.1, 0.1,}, /* 6 < pT < 8 */ - {0.400, 0.4, 0.4, 0.4, 1e-5, 0.005, 0.005, 0.8, 0.8, 0.1, 0.1, 0.1,}, /* 8 < pT < 12 */ - {0.400, 0.4, 0.4, 0.4, 1e-5, 0.005, 0.005, 0.8, 0.8, 0.1, 0.1, 0.1,}, /* 12 < pT < 24 */ - {0.400, 0.4, 0.4, 0.4, 1e-5, 0.005, 0.005, 0.8, 0.8, 0.1, 0.1, 0.1,}}; /* 24 < pT < 36 */ +constexpr double cuts[nBinsPt][nCutVars] = {{ + 0.400, + 0.4, + 0.4, + 0.4, + 1e-5, + 0.005, + 0.005, + 0.8, + 0.8, + 0.1, + 0.1, + 0.1, + }, /* 0 < pT < 1 */ + { + 0.400, + 0.4, + 0.4, + 0.4, + 1e-5, + 0.005, + 0.005, + 0.8, + 0.8, + 0.1, + 0.1, + 0.1, + }, /* 1 < pT < 2 */ + { + 0.400, + 0.4, + 0.4, + 0.4, + 1e-5, + 0.005, + 0.005, + 0.8, + 0.8, + 0.1, + 0.1, + 0.1, + }, /* 2 < pT < 3 */ + { + 0.400, + 0.4, + 0.4, + 0.4, + 1e-5, + 0.005, + 0.005, + 0.8, + 0.8, + 0.1, + 0.1, + 0.1, + }, /* 3 < pT < 4 */ + { + 0.400, + 0.4, + 0.4, + 0.4, + 1e-5, + 0.005, + 0.005, + 0.8, + 0.8, + 0.1, + 0.1, + 0.1, + }, /* 4 < pT < 5 */ + { + 0.400, + 0.4, + 0.4, + 0.4, + 1e-5, + 0.005, + 0.005, + 0.8, + 0.8, + 0.1, + 0.1, + 0.1, + }, /* 5 < pT < 6 */ + { + 0.400, + 0.4, + 0.4, + 0.4, + 1e-5, + 0.005, + 0.005, + 0.8, + 0.8, + 0.1, + 0.1, + 0.1, + }, /* 6 < pT < 8 */ + { + 0.400, + 0.4, + 0.4, + 0.4, + 1e-5, + 0.005, + 0.005, + 0.8, + 0.8, + 0.1, + 0.1, + 0.1, + }, /* 8 < pT < 12 */ + { + 0.400, + 0.4, + 0.4, + 0.4, + 1e-5, + 0.005, + 0.005, + 0.8, + 0.8, + 0.1, + 0.1, + 0.1, + }, /* 12 < pT < 24 */ + { + 0.400, + 0.4, + 0.4, + 0.4, + 1e-5, + 0.005, + 0.005, + 0.8, + 0.8, + 0.1, + 0.1, + 0.1, + }}; /* 24 < pT < 36 */ // row labels static const std::vector labelsPt = { @@ -746,7 +876,7 @@ static const std::vector labelsPt = { "pT bin 9"}; // column labels -static const std::vector labelsCutVar = {"m", "pT Xi", "pT Pi0", "pT Pi1", "chi2PCA", "max decay length", "max decay length XY", "cos pointing angle", "cos pointing angle XY", "max impParXY Xi", "max impParXY Pi0", "max impParXY Pi1"}; +static const std::vector labelsCutVar = {"m", "pT Xi", "pT Pi0", "pT Pi1", "chi2PCA", "max decay length", "max decay length XY", "cos pointing angle", "cos pointing angle XY", "max impParXY Xi", "max impParXY Pi0", "max impParXY Pi1"}; } // namespace hf_cuts_xic_to_xi_pi_pi namespace hf_cuts_xicc_to_p_k_pi_pi diff --git a/PWGHF/D2H/Tasks/taskXicToXiPiPi.cxx b/PWGHF/D2H/Tasks/taskXicToXiPiPi.cxx index b68ff5211ed..16111287ebd 100644 --- a/PWGHF/D2H/Tasks/taskXicToXiPiPi.cxx +++ b/PWGHF/D2H/Tasks/taskXicToXiPiPi.cxx @@ -56,7 +56,7 @@ struct HfTaskXicToXiPiPi { void init(InitContext const&) { static const AxisSpec axisMassXic = {300, 1.8, 3.0, "inv. mass (GeV/#it{c}^{2})"}; - static const AxisSpec axisMassXiRes= {300, 1.0,2.0, "inv. mass (GeV/#it{c}^{2})"}; + static const AxisSpec axisMassXiRes = {300, 1.0, 2.0, "inv. mass (GeV/#it{c}^{2})"}; static const AxisSpec axisPt = {(std::vector)binsPt, "#it{p}_{T} (GeV/#it{c})"}; registry.add("hEta", "#Xi^{#plus}_{c} candidates;#Xi^{#plus}_{c} candidate #it{#eta};entries", {HistType::kTH2F, {{100, -2., 2.}, axisPt}}); @@ -219,8 +219,8 @@ struct HfTaskXicToXiPiPi { aod::TracksWMc const&) { std::vector arrDaughIndex; - int pdgCodeXiMinus = kXiMinus; // 3312 - int pdgCodePiPlus = kPiPlus; // 211 + int pdgCodeXiMinus = kXiMinus; // 3312 + int pdgCodePiPlus = kPiPlus; // 211 // MC rec for (const auto& candidate : candidates) { @@ -287,7 +287,7 @@ struct HfTaskXicToXiPiPi { registry.fill(HIST("hCPALambdaRecBg"), candidate.cosPaLambda(), ptCandXic); registry.fill(HIST("hCPAxyLambdaRecBg"), candidate.cosPaLambda(), ptCandXic); } - + if (checkDecayTypeMc) { if (TESTBIT(flagMcMatchRecXic, hf_cand_xictoxipipi::DecayType::XicToXiPiPi)) { registry.fill(HIST("hDecayTypeMc"), 1 + hf_cand_xictoxipipi::DecayType::XicToXiPiPi, candidate.invMassXic(), ptCandXic); diff --git a/PWGHF/DataModel/CandidateReconstructionTables.h b/PWGHF/DataModel/CandidateReconstructionTables.h index ab567658326..146b6fa858f 100644 --- a/PWGHF/DataModel/CandidateReconstructionTables.h +++ b/PWGHF/DataModel/CandidateReconstructionTables.h @@ -1357,7 +1357,7 @@ DECLARE_SOA_COLUMN(DebugMcGen, debugMcGen, int8_t); DECLARE_SOA_COLUMN(OriginRec, originRec, int8_t); DECLARE_SOA_COLUMN(OriginGen, originGen, int8_t); // mapping of decay types -enum DecayType { XicToXiPiPi=0, +enum DecayType { XicToXiPiPi = 0, XicToXiResPiToXiPiPi, NDecayType }; } // end of namespace hf_cand_xictoxipipi @@ -1418,7 +1418,7 @@ DECLARE_SOA_EXTENDED_TABLE_USER(HfCandXicExt, HfCandXicBase, "HFCANDXICEXT", using HfCandXic = HfCandXicExt; DECLARE_SOA_TABLE(HfCandXicKF, "AOD", "HFCANDXICKF", - cascdata::KFCascadeChi2, cascdata::KFV0Chi2, + cascdata::KFCascadeChi2, cascdata::KFV0Chi2, hf_cand_xictoxipipi::DcaPi0Pi1, hf_cand_xictoxipipi::DcaPi0Xi, hf_cand_xictoxipipi::DcaPi1Xi); // table with results of reconstruction level MC matching diff --git a/PWGHF/DataModel/CandidateSelectionTables.h b/PWGHF/DataModel/CandidateSelectionTables.h index 2cea370fa07..18abbb95692 100644 --- a/PWGHF/DataModel/CandidateSelectionTables.h +++ b/PWGHF/DataModel/CandidateSelectionTables.h @@ -307,7 +307,7 @@ DECLARE_SOA_COLUMN(IsSelXicToPiKP, isSelXicToPiKP, int); //! DECLARE_SOA_COLUMN(MlProbXicToPKPi, mlProbXicToPKPi, std::vector); //! DECLARE_SOA_COLUMN(MlProbXicToPiKP, mlProbXicToPiKP, std::vector); //! // XicPlus to Xi Pi Pi -DECLARE_SOA_COLUMN(IsSelXicToXiPiPi, isSelXicToXiPiPi, int); //! +DECLARE_SOA_COLUMN(IsSelXicToXiPiPi, isSelXicToXiPiPi, int); //! DECLARE_SOA_COLUMN(MlProbXicToXiPiPi, mlProbXicToXiPiPi, std::vector); //! } // namespace hf_sel_candidate_xic @@ -315,7 +315,7 @@ DECLARE_SOA_TABLE(HfSelXicToPKPi, "AOD", "HFSELXIC", //! hf_sel_candidate_xic::IsSelXicToPKPi, hf_sel_candidate_xic::IsSelXicToPiKP); DECLARE_SOA_TABLE(HfMlXicToPKPi, "AOD", "HFMLXIC", //! hf_sel_candidate_xic::MlProbXicToPKPi, hf_sel_candidate_xic::MlProbXicToPiKP); -// XicPlus to Xi Pi Pi +// XicPlus to Xi Pi Pi DECLARE_SOA_TABLE(HfSelXicToXiPiPi, "AOD", "HFSELXICTOXI2PI", //! hf_sel_candidate_xic::IsSelXicToXiPiPi); DECLARE_SOA_TABLE(HfMlXicToXiPiPi, "AOD", "HFMLXICTOXIPIPI", //! diff --git a/PWGHF/TableProducer/candidateCreatorXicToXiPiPi.cxx b/PWGHF/TableProducer/candidateCreatorXicToXiPiPi.cxx index 5b820f3655b..9d2dd78501f 100644 --- a/PWGHF/TableProducer/candidateCreatorXicToXiPiPi.cxx +++ b/PWGHF/TableProducer/candidateCreatorXicToXiPiPi.cxx @@ -440,7 +440,7 @@ struct HfCandidateCreatorXic { try { kfXiPi0.Construct(kfXiResonanceDaughtersPi0, 2); massXiPi0 = kfXiPi0.GetMass(); - } catch(...) { + } catch (...) { LOG(info) << "Failed to construct Xi(1530) with Pi 0"; } @@ -451,7 +451,7 @@ struct HfCandidateCreatorXic { try { kfXiPi1.Construct(kfXiResonanceDaughtersPi1, 2); massXiPi1 = kfXiPi1.GetMass(); - } catch(...){ + } catch (...) { LOG(info) << "Failed to construct Xi(1530) with Pi 1"; } @@ -526,12 +526,12 @@ struct HfCandidateCreatorXicExpressions { std::array arrPDGDaugh; std::array arrXiResonance = {3324, kPiPlus}; // 3324: Ξ(1530) - int pdgCodeXicPlus = Pdg::kXiCPlus; // 4232 - int pdgCodeXiMinus = kXiMinus; // 3312 - int pdgCodeLambda = kLambda0; // 3122 - int pdgCodePiPlus = kPiPlus; // 211 - int pdgCodePiMinus = kPiMinus; // -211 - int pdgCodeProton = kProton; // 2212 + int pdgCodeXicPlus = Pdg::kXiCPlus; // 4232 + int pdgCodeXiMinus = kXiMinus; // 3312 + int pdgCodeLambda = kLambda0; // 3122 + int pdgCodePiPlus = kPiPlus; // 211 + int pdgCodePiMinus = kPiMinus; // -211 + int pdgCodeProton = kProton; // 2212 // Match reconstructed candidates. for (const auto& candidate : *rowCandidateXic) { @@ -621,16 +621,16 @@ struct HfCandidateCreatorXicExpressions { RecoDecay::getDaughters(particle, &arrDaughIndex, std::array{0}, 1); if (arrDaughIndex.size() == 2) { for (auto iProng = 0u; iProng < arrDaughIndex.size(); ++iProng) { - auto daughI = mcParticles.rawIteratorAt(arrDaughIndex[iProng]); - arrPDGDaugh[iProng] = std::abs(daughI.pdgCode()); - } - if ((arrPDGDaugh[0] == arrXiResonance[0] && arrPDGDaugh[1] == arrXiResonance[1]) || (arrPDGDaugh[0] == arrXiResonance[1] && arrPDGDaugh[1] == arrXiResonance[0])) { - flag = sign * (1 << aod::hf_cand_xictoxipipi::DecayType::XicToXiResPiToXiPiPi); - } else { - debug = 4; - } + auto daughI = mcParticles.rawIteratorAt(arrDaughIndex[iProng]); + arrPDGDaugh[iProng] = std::abs(daughI.pdgCode()); + } + if ((arrPDGDaugh[0] == arrXiResonance[0] && arrPDGDaugh[1] == arrXiResonance[1]) || (arrPDGDaugh[0] == arrXiResonance[1] && arrPDGDaugh[1] == arrXiResonance[0])) { + flag = sign * (1 << aod::hf_cand_xictoxipipi::DecayType::XicToXiResPiToXiPiPi); + } else { + debug = 4; + } } else { - flag = sign * (1 << aod::hf_cand_xictoxipipi::DecayType::XicToXiPiPi); + flag = sign * (1 << aod::hf_cand_xictoxipipi::DecayType::XicToXiPiPi); } } } @@ -643,7 +643,7 @@ struct HfCandidateCreatorXicExpressions { rowMcMatchGen(flag, debug, origin); } // close loop over generated particles - } // close process + } // close process PROCESS_SWITCH(HfCandidateCreatorXicExpressions, processMc, "Process MC", false); }; // close struct diff --git a/PWGHF/TableProducer/candidateSelectorXicToXiPiPi.cxx b/PWGHF/TableProducer/candidateSelectorXicToXiPiPi.cxx index 70dc1eeaf01..1c68d35bf80 100644 --- a/PWGHF/TableProducer/candidateSelectorXicToXiPiPi.cxx +++ b/PWGHF/TableProducer/candidateSelectorXicToXiPiPi.cxx @@ -93,7 +93,6 @@ struct HfCandidateSelectorXicToXiPiPi { registry.get(HIST("hSelections"))->GetXaxis()->SetBinLabel(iBin + 1, labels[iBin].data()); } } - } /// Conjugate-independent topological cuts @@ -151,8 +150,8 @@ struct HfCandidateSelectorXicToXiPiPi { } // cut on daughter pT - if (hfCandXic.ptProng0() < cuts->get(pTBin, "pT Xi") || - hfCandXic.ptProng1() < cuts->get(pTBin, "pT Pi0") || + if (hfCandXic.ptProng0() < cuts->get(pTBin, "pT Xi") || + hfCandXic.ptProng1() < cuts->get(pTBin, "pT Pi0") || hfCandXic.ptProng2() < cuts->get(pTBin, "pT Pi1")) { return false; } diff --git a/PWGHF/TableProducer/treeCreatorXicToXiPiPi.cxx b/PWGHF/TableProducer/treeCreatorXicToXiPiPi.cxx index 61d382fa4c8..6723b31c62e 100644 --- a/PWGHF/TableProducer/treeCreatorXicToXiPiPi.cxx +++ b/PWGHF/TableProducer/treeCreatorXicToXiPiPi.cxx @@ -30,59 +30,59 @@ namespace o2::aod namespace full { // track indices -DECLARE_SOA_COLUMN(CandidateSelFlag, candidateSelFlag, int); //! Selection flag of candidate (output of candidateSelector) +DECLARE_SOA_COLUMN(CandidateSelFlag, candidateSelFlag, int); //! Selection flag of candidate (output of candidateSelector) DECLARE_SOA_INDEX_COLUMN_FULL(Xi, xi, int, Tracks, "_pi0"); DECLARE_SOA_INDEX_COLUMN_FULL(Pi0, pi0, int, Tracks, "_pi0"); DECLARE_SOA_INDEX_COLUMN_FULL(Pi1, pi1, int, Tracks, "_pi1"); -//vertices +// vertices DECLARE_SOA_COLUMN(XPv, xPv, float); -DECLARE_SOA_COLUMN(YPv, yPv, float); +DECLARE_SOA_COLUMN(YPv, yPv, float); DECLARE_SOA_COLUMN(ZPv, zPv, float); DECLARE_SOA_COLUMN(XPvErr, xPvErr, float); -DECLARE_SOA_COLUMN(YPvErr, yPvErr, float); -DECLARE_SOA_COLUMN(ZPvErr, zPvErr, float); -DECLARE_SOA_COLUMN(XSv, xSv, float); -DECLARE_SOA_COLUMN(YSv, ySv, float); +DECLARE_SOA_COLUMN(YPvErr, yPvErr, float); +DECLARE_SOA_COLUMN(ZPvErr, zPvErr, float); +DECLARE_SOA_COLUMN(XSv, xSv, float); +DECLARE_SOA_COLUMN(YSv, ySv, float); DECLARE_SOA_COLUMN(ZSv, zSv, float); DECLARE_SOA_COLUMN(Chi2Sv, chi2Sv, float); -DECLARE_SOA_COLUMN(XSvErr, xSvErr, float); -DECLARE_SOA_COLUMN(YSvErr, ySvErr, float); +DECLARE_SOA_COLUMN(XSvErr, xSvErr, float); +DECLARE_SOA_COLUMN(YSvErr, ySvErr, float); DECLARE_SOA_COLUMN(ZSvErr, zSvErr, float); -DECLARE_SOA_COLUMN(XDecVtxXi, xDecVtxXi, float); -DECLARE_SOA_COLUMN(YDecVtxXi, yDecVtxXi, float); +DECLARE_SOA_COLUMN(XDecVtxXi, xDecVtxXi, float); +DECLARE_SOA_COLUMN(YDecVtxXi, yDecVtxXi, float); DECLARE_SOA_COLUMN(ZDecVtxXi, zDecVtxXi, float); DECLARE_SOA_COLUMN(Chi2XiVtx, chi2XiVtx, float); -DECLARE_SOA_COLUMN(XDecVtxLam, xDecVtxLam, float); -DECLARE_SOA_COLUMN(YDecVtxLam, yDecVtxLam, float); +DECLARE_SOA_COLUMN(XDecVtxLam, xDecVtxLam, float); +DECLARE_SOA_COLUMN(YDecVtxLam, yDecVtxLam, float); DECLARE_SOA_COLUMN(ZDecVtxLam, zDecVtxLam, float); DECLARE_SOA_COLUMN(Chi2LamVtx, chi2LamVtx, float); // properties of XicPlus DECLARE_SOA_COLUMN(Sign, sign, float); -DECLARE_SOA_COLUMN(E, e, float); //! Energy of candidate (GeV) -DECLARE_SOA_COLUMN(M, m, float); //! Invariant mass of candidate (GeV/c2) -DECLARE_SOA_COLUMN(P, p, float); //! Momentum of candidate (GeV/c) -DECLARE_SOA_COLUMN(Pt, pt, float); //! Transverse momentum of candidate (GeV/c) -DECLARE_SOA_COLUMN(Y, y, float); //! Rapidity of candidate -DECLARE_SOA_COLUMN(Eta, eta, float); //! Pseudorapidity of candidate -DECLARE_SOA_COLUMN(Phi, phi, float); //! Azimuth angle of candidate -DECLARE_SOA_COLUMN(Ct, ct, float); //! Proper lifetime time ctau of candidate (cm) -DECLARE_SOA_COLUMN(DecayLength, decayLength, float); //! Decay length of candidate (cm) -DECLARE_SOA_COLUMN(DecayLengthXY, decayLengthXY, float); //! Transverse decay length of candidate (cm) -DECLARE_SOA_COLUMN(DecayLengthNormalised, decayLengthNormalised, float); //! Normalised decay length of candidate -DECLARE_SOA_COLUMN(DecayLengthXYNormalised, decayLengthXYNormalised, float); //! Normalised transverse decay length of candidate -DECLARE_SOA_COLUMN(Cpa, cpa, float); //! Cosine pointing angle of candidate -DECLARE_SOA_COLUMN(CpaXY, cpaXY, float); //! Cosine pointing angle of candidate in transverse plane -// properties of daughter tracks -DECLARE_SOA_COLUMN(PtXi, ptXi, float); //! Transverse momentum of Xi (prong0) (GeV/c) -DECLARE_SOA_COLUMN(ImpactParameterXi, impactParameterXi, float); //! Impact parameter of Xi (prong0) -DECLARE_SOA_COLUMN(ImpactParameterNormalisedXi, impactParameterNormalisedXi, float); //! Normalised impact parameter of Xi (prong0) -DECLARE_SOA_COLUMN(PtPi0, ptPi0, float); //! Transverse momentum of Pi0 (prong1) (GeV/c) -DECLARE_SOA_COLUMN(ImpactParameterPi0, impactParameterPi0, float); //! Impact parameter of Pi0 (prong1) -DECLARE_SOA_COLUMN(ImpactParameterNormalisedPi0, impactParameterNormalisedPi0, float); //! Normalised impact parameter of Pi0 (prong1) -DECLARE_SOA_COLUMN(PtPi1, ptPi1, float); //! Transverse momentum of Pi1 (prong2) (GeV/c) -DECLARE_SOA_COLUMN(ImpactParameterPi1, impactParameterPi1, float); //! Normalised impact parameter of Pi1 (prong2) -DECLARE_SOA_COLUMN(ImpactParameterNormalisedPi1, impactParameterNormalisedPi1, float); //! Normalised impact parameter of Pi1 (prong2) -DECLARE_SOA_COLUMN(MaxNormalisedDeltaIP, maxNormalisedDeltaIP, float); //! Maximum normalized difference between measured and expected impact parameter of candidate prongs +DECLARE_SOA_COLUMN(E, e, float); //! Energy of candidate (GeV) +DECLARE_SOA_COLUMN(M, m, float); //! Invariant mass of candidate (GeV/c2) +DECLARE_SOA_COLUMN(P, p, float); //! Momentum of candidate (GeV/c) +DECLARE_SOA_COLUMN(Pt, pt, float); //! Transverse momentum of candidate (GeV/c) +DECLARE_SOA_COLUMN(Y, y, float); //! Rapidity of candidate +DECLARE_SOA_COLUMN(Eta, eta, float); //! Pseudorapidity of candidate +DECLARE_SOA_COLUMN(Phi, phi, float); //! Azimuth angle of candidate +DECLARE_SOA_COLUMN(Ct, ct, float); //! Proper lifetime time ctau of candidate (cm) +DECLARE_SOA_COLUMN(DecayLength, decayLength, float); //! Decay length of candidate (cm) +DECLARE_SOA_COLUMN(DecayLengthXY, decayLengthXY, float); //! Transverse decay length of candidate (cm) +DECLARE_SOA_COLUMN(DecayLengthNormalised, decayLengthNormalised, float); //! Normalised decay length of candidate +DECLARE_SOA_COLUMN(DecayLengthXYNormalised, decayLengthXYNormalised, float); //! Normalised transverse decay length of candidate +DECLARE_SOA_COLUMN(Cpa, cpa, float); //! Cosine pointing angle of candidate +DECLARE_SOA_COLUMN(CpaXY, cpaXY, float); //! Cosine pointing angle of candidate in transverse plane +// properties of daughter tracks +DECLARE_SOA_COLUMN(PtXi, ptXi, float); //! Transverse momentum of Xi (prong0) (GeV/c) +DECLARE_SOA_COLUMN(ImpactParameterXi, impactParameterXi, float); //! Impact parameter of Xi (prong0) +DECLARE_SOA_COLUMN(ImpactParameterNormalisedXi, impactParameterNormalisedXi, float); //! Normalised impact parameter of Xi (prong0) +DECLARE_SOA_COLUMN(PtPi0, ptPi0, float); //! Transverse momentum of Pi0 (prong1) (GeV/c) +DECLARE_SOA_COLUMN(ImpactParameterPi0, impactParameterPi0, float); //! Impact parameter of Pi0 (prong1) +DECLARE_SOA_COLUMN(ImpactParameterNormalisedPi0, impactParameterNormalisedPi0, float); //! Normalised impact parameter of Pi0 (prong1) +DECLARE_SOA_COLUMN(PtPi1, ptPi1, float); //! Transverse momentum of Pi1 (prong2) (GeV/c) +DECLARE_SOA_COLUMN(ImpactParameterPi1, impactParameterPi1, float); //! Normalised impact parameter of Pi1 (prong2) +DECLARE_SOA_COLUMN(ImpactParameterNormalisedPi1, impactParameterNormalisedPi1, float); //! Normalised impact parameter of Pi1 (prong2) +DECLARE_SOA_COLUMN(MaxNormalisedDeltaIP, maxNormalisedDeltaIP, float); //! Maximum normalized difference between measured and expected impact parameter of candidate prongs DECLARE_SOA_COLUMN(CpaXi, cpaXi, float); DECLARE_SOA_COLUMN(CpaXYXi, cpaXYXi, float); DECLARE_SOA_COLUMN(CpaLam, cpaLam, float); @@ -93,8 +93,8 @@ DECLARE_SOA_COLUMN(DcaPi1Xi, dcaPi1Xi, float); DECLARE_SOA_COLUMN(InvMassXiPi0, invMassXiPi0, float); DECLARE_SOA_COLUMN(InvMassXiPi1, invMassXiPi1, float); // PID daughters -DECLARE_SOA_COLUMN(NSigTpcPi1, nSigTpcPi1, float); //! TPC Nsigma separation for prong1 with pion mass hypothesis -DECLARE_SOA_COLUMN(NSigTofPi1, nSigTofPi1, float); //! TOF Nsigma separation for prong1 with pion mass hypothesis +DECLARE_SOA_COLUMN(NSigTpcPi1, nSigTpcPi1, float); //! TPC Nsigma separation for prong1 with pion mass hypothesis +DECLARE_SOA_COLUMN(NSigTofPi1, nSigTofPi1, float); //! TOF Nsigma separation for prong1 with pion mass hypothesis // Events DECLARE_SOA_COLUMN(IsEventReject, isEventReject, int); //! Event rejection flag DECLARE_SOA_COLUMN(RunNumber, runNumber, int); //! Run number @@ -332,7 +332,7 @@ struct HfTreeCreatorXicToXiPiPi { Configurable fillOnlyBackground{"fillOnlyBackground", false, "Flag to fill derived tables with background for ML trainings"}; Configurable downSampleBkgFactor{"downSampleBkgFactor", 1., "Fraction of background candidates to keep for ML trainings"}; Configurable ptMaxForDownSample{"ptMaxForDownSample", 10., "Maximum pt for the application of the downsampling factor"}; - + using SelectedCandidates = soa::Filtered>; using SelectedCandidatesKf = soa::Filtered>; using SelectedCandidatesMc = soa::Filtered>; @@ -344,7 +344,7 @@ struct HfTreeCreatorXicToXiPiPi { Partition recSig = nabs(aod::hf_cand_xictoxipipi::flagMcMatchRec) != int8_t(0); Partition recBg = nabs(aod::hf_cand_xictoxipipi::flagMcMatchRec) == int8_t(0); Partition recSigKf = nabs(aod::hf_cand_xictoxipipi::flagMcMatchRec) != int8_t(0); - Partition recBgKf = nabs(aod::hf_cand_xictoxipipi::flagMcMatchRec) == int8_t(0); + Partition recBgKf = nabs(aod::hf_cand_xictoxipipi::flagMcMatchRec) == int8_t(0); void init(InitContext const&) { @@ -359,9 +359,9 @@ struct HfTreeCreatorXicToXiPiPi { collision.posX(), collision.posY(), collision.posZ(), - isEventReject, //! filled with 0 - runNumber //! filled with 1 - ); + isEventReject, //! filled with 0 + runNumber //! filled with 1 + ); } template @@ -371,7 +371,7 @@ struct HfTreeCreatorXicToXiPiPi { if constexpr (doMc) { flagMc = candidate.flagMcMatchRec(); } - if constexpr (noKf){ + if constexpr (noKf) { if (fillCandidateLiteTable) { rowCandidateLite( candidate.cascadeId(), @@ -627,7 +627,7 @@ struct HfTreeCreatorXicToXiPiPi { continue; } } - fillCandidateTable(candidate); + fillCandidateTable(candidate); } } PROCESS_SWITCH(HfTreeCreatorXicToXiPiPi, processDataKf, "Process data with KF Particle reconstruction", false); @@ -652,7 +652,7 @@ struct HfTreeCreatorXicToXiPiPi { rowCandidateFull.reserve(recSig.size()); } for (const auto& candidate : recSig) { - fillCandidateTable(candidate); + fillCandidateTable(candidate); } } else if (fillOnlyBackground) { if (fillCandidateLiteTable) { @@ -665,7 +665,7 @@ struct HfTreeCreatorXicToXiPiPi { if (candidate.pt() < ptMaxForDownSample && pseudoRndm >= downSampleBkgFactor) { continue; } - fillCandidateTable(candidate); + fillCandidateTable(candidate); } } else { if (fillCandidateLiteTable) { @@ -674,7 +674,7 @@ struct HfTreeCreatorXicToXiPiPi { rowCandidateFull.reserve(candidates.size()); } for (const auto& candidate : candidates) { - fillCandidateTable(candidate); + fillCandidateTable(candidate); } } @@ -695,10 +695,10 @@ struct HfTreeCreatorXicToXiPiPi { PROCESS_SWITCH(HfTreeCreatorXicToXiPiPi, processMc, "Process MC", false); void processMcKf(aod::Collisions const& collisions, - aod::McCollisions const&, - SelectedCandidatesKfMc const& candidates, - soa::Join const& particles, - TracksWPid const&) + aod::McCollisions const&, + SelectedCandidatesKfMc const& candidates, + soa::Join const& particles, + TracksWPid const&) { // Filling event properties rowCandidateFullEvents.reserve(collisions.size()); @@ -714,7 +714,7 @@ struct HfTreeCreatorXicToXiPiPi { rowCandidateFull.reserve(recSigKf.size()); } for (const auto& candidate : recSigKf) { - fillCandidateTable(candidate); + fillCandidateTable(candidate); } } else if (fillOnlyBackground) { if (fillCandidateLiteTable) { @@ -727,7 +727,7 @@ struct HfTreeCreatorXicToXiPiPi { if (candidate.pt() < ptMaxForDownSample && pseudoRndm >= downSampleBkgFactor) { continue; } - fillCandidateTable(candidate); + fillCandidateTable(candidate); } } else { if (fillCandidateLiteTable) { @@ -736,7 +736,7 @@ struct HfTreeCreatorXicToXiPiPi { rowCandidateFull.reserve(candidates.size()); } for (const auto& candidate : candidates) { - fillCandidateTable(candidate); + fillCandidateTable(candidate); } }