Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
145 changes: 72 additions & 73 deletions PWGHF/Utils/utilsMcMatching.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,20 +30,20 @@ namespace hf_cand_2prong
{

std::unordered_map<DecayChannelMain, const std::vector<int>> finalStates2Prongs =
{
{DecayChannelMain::D0ToPiK, {+kKMinus, +kPiPlus}},
{DecayChannelMain::D0ToPiKPi0, {+kKMinus, +kPiPlus, +kPi0}},
{DecayChannelMain::D0ToPiPi, {+kPiMinus, +kPiPlus}},
{DecayChannelMain::D0ToPiPiPi0, {+kPiMinus, +kPiPlus, +kPi0}},
{DecayChannelMain::D0ToKK, {+kKMinus, +kKPlus}},
{
{DecayChannelMain::D0ToPiK, {+kKMinus, +kPiPlus}},
{DecayChannelMain::D0ToPiKPi0, {+kKMinus, +kPiPlus, +kPi0}},
{DecayChannelMain::D0ToPiPi, {+kPiMinus, +kPiPlus}},
{DecayChannelMain::D0ToPiPiPi0, {+kPiMinus, +kPiPlus, +kPi0}},
{DecayChannelMain::D0ToKK, {+kKMinus, +kKPlus}},
};

std::unordered_map<DecayChannelResonant, const std::array<int, 2>> resoStatesD0 =
{
{DecayChannelResonant::D0ToRhoplusPi, {+kRho770Plus, +kPiMinus}},
{DecayChannelResonant::D0ToRhoplusK, {+kRho770Plus, +kKMinus}},
{DecayChannelResonant::D0ToKstar0Pi0, {-o2::constants::physics::kK0Star892, +kPi0}},
{DecayChannelResonant::D0ToKstarPi, {-o2::constants::physics::kKPlusStar892, +kPiPlus}},
{
{DecayChannelResonant::D0ToRhoplusPi, {+kRho770Plus, +kPiMinus}},
{DecayChannelResonant::D0ToRhoplusK, {+kRho770Plus, +kKMinus}},
{DecayChannelResonant::D0ToKstar0Pi0, {-o2::constants::physics::kK0Star892, +kPi0}},
{DecayChannelResonant::D0ToKstarPi, {-o2::constants::physics::kKPlusStar892, +kPiPlus}},
};

} // namespace hf_cand_2prong
Expand All @@ -52,97 +52,97 @@ namespace hf_cand_3prong
{

std::unordered_map<DecayChannelResonant, const std::array<int, 2>> resoStatesDPlus =
{
{DecayChannelResonant::DplusToPhiPi, {+o2::constants::physics::kPhi, +kPiPlus}},
{DecayChannelResonant::DplusToKstar0K, {-o2::constants::physics::kK0Star892, +kKPlus}},
{DecayChannelResonant::DplusToKstar1430_0K, {+10311, +kKPlus}},
{DecayChannelResonant::DplusToRho0Pi, {+kRho770_0, +kPiPlus}},
{DecayChannelResonant::DplusToF2_1270Pi, {+225, +kPiPlus}},
{
{DecayChannelResonant::DplusToPhiPi, {+o2::constants::physics::kPhi, +kPiPlus}},
{DecayChannelResonant::DplusToKstar0K, {-o2::constants::physics::kK0Star892, +kKPlus}},
{DecayChannelResonant::DplusToKstar1430_0K, {+10311, +kKPlus}},
{DecayChannelResonant::DplusToRho0Pi, {+kRho770_0, +kPiPlus}},
{DecayChannelResonant::DplusToF2_1270Pi, {+225, +kPiPlus}},
};

std::unordered_map<DecayChannelMain, const std::vector<int>> finalStatesDPlus =
{
{DecayChannelMain::DplusToPiKPi, {+kKMinus, +kKPlus, +kPiPlus}},
{DecayChannelMain::DplusToPiKK, {+kKMinus, +kPiPlus, +kPiPlus}},
{DecayChannelMain::DplusToPiKPiPi0, {+kKMinus, +kPiPlus, +kPiPlus, +kPi0}},
{DecayChannelMain::DplusToPiPiPi, {+kPiMinus, +kPiPlus, +kPiPlus}},
{
{DecayChannelMain::DplusToPiKPi, {+kKMinus, +kKPlus, +kPiPlus}},
{DecayChannelMain::DplusToPiKK, {+kKMinus, +kPiPlus, +kPiPlus}},
{DecayChannelMain::DplusToPiKPiPi0, {+kKMinus, +kPiPlus, +kPiPlus, +kPi0}},
{DecayChannelMain::DplusToPiPiPi, {+kPiMinus, +kPiPlus, +kPiPlus}},
};

// Ds± → K± K∓ π±
std::unordered_map<DecayChannelResonant, const std::array<int, 2>> resoStatesDs =
{
{DecayChannelResonant::DsToPhiPi, {+o2::constants::physics::kPhi, +kPiPlus}},
{DecayChannelResonant::DsToPhiRhoplus, {+o2::constants::physics::kPhi, +kRho770Plus}},
{DecayChannelResonant::DsToKstar0K, {-o2::constants::physics::kK0Star892, +kKPlus}},
{DecayChannelResonant::DsToKstar0Pi, {+o2::constants::physics::kK0Star892, +kPiPlus}},
{DecayChannelResonant::DsToRho0Pi, {+kRho770_0, +kPiPlus}},
{DecayChannelResonant::DsToRho0K, {+kRho770_0, +kKPlus}},
{DecayChannelResonant::DsToF2_1270Pi, {225, +kPiPlus}},
{DecayChannelResonant::DsToF0_1370K, {10221, +kKPlus}},
{DecayChannelResonant::DsToEtaPi, {221, +kPiPlus}},
{
{DecayChannelResonant::DsToPhiPi, {+o2::constants::physics::kPhi, +kPiPlus}},
{DecayChannelResonant::DsToPhiRhoplus, {+o2::constants::physics::kPhi, +kRho770Plus}},
{DecayChannelResonant::DsToKstar0K, {-o2::constants::physics::kK0Star892, +kKPlus}},
{DecayChannelResonant::DsToKstar0Pi, {+o2::constants::physics::kK0Star892, +kPiPlus}},
{DecayChannelResonant::DsToRho0Pi, {+kRho770_0, +kPiPlus}},
{DecayChannelResonant::DsToRho0K, {+kRho770_0, +kKPlus}},
{DecayChannelResonant::DsToF2_1270Pi, {225, +kPiPlus}},
{DecayChannelResonant::DsToF0_1370K, {10221, +kKPlus}},
{DecayChannelResonant::DsToEtaPi, {221, +kPiPlus}},
};

std::unordered_map<DecayChannelMain, const std::vector<int>> finalStatesDs =
{
{DecayChannelMain::DsToPiKK, {+kKMinus, +kKPlus, +kPiPlus}},
{DecayChannelMain::DsToPiKKPi0, {+kKMinus, +kKPlus, +kPiPlus, +kPi0}},
{DecayChannelMain::DsToPiPiK, {+kKPlus, +kPiPlus, +kPiMinus}},
{DecayChannelMain::DsToPiPiPi, {+kPiMinus, +kPiPlus, +kPiPlus}},
{DecayChannelMain::DsToPiPiPiPi0, {+kPiMinus, +kPiPlus, +kPiPlus, +kPi0}},
{
{DecayChannelMain::DsToPiKK, {+kKMinus, +kKPlus, +kPiPlus}},
{DecayChannelMain::DsToPiKKPi0, {+kKMinus, +kKPlus, +kPiPlus, +kPi0}},
{DecayChannelMain::DsToPiPiK, {+kKPlus, +kPiPlus, +kPiMinus}},
{DecayChannelMain::DsToPiPiPi, {+kPiMinus, +kPiPlus, +kPiPlus}},
{DecayChannelMain::DsToPiPiPiPi0, {+kPiMinus, +kPiPlus, +kPiPlus, +kPi0}},
};

// Dstar → K± K∓ π±
std::unordered_map<DecayChannelResonant, const std::array<int, 2>> resoStatesDstar =
{
{DecayChannelResonant::DstarToD0ToRhoplusPi, {+kRho770Plus, +kPiMinus}},
{DecayChannelResonant::DstarToD0ToRhoplusK, {+kRho770Plus, +kKMinus}},
{DecayChannelResonant::DstarToD0ToKstar0Pi0, {-o2::constants::physics::kK0Star892, +kPi0}},
{DecayChannelResonant::DstarToD0ToKstarPi, {-o2::constants::physics::kKPlusStar892, +kPiPlus}},
{DecayChannelResonant::DstarToDplusToPhiPi, {+o2::constants::physics::kPhi, +kPiPlus}},
{DecayChannelResonant::DstarToDplusToKstar0K, {-o2::constants::physics::kK0Star892, +kKPlus}},
{DecayChannelResonant::DstarToDplusToKstar1430_0K, {+10311, +kKPlus}},
{DecayChannelResonant::DstarToDplusToRho0Pi, {+kRho770_0, +kPiPlus}},
{DecayChannelResonant::DstarToDplusToF2_1270Pi, {+225, +kPiPlus}},
{
{DecayChannelResonant::DstarToD0ToRhoplusPi, {+kRho770Plus, +kPiMinus}},
{DecayChannelResonant::DstarToD0ToRhoplusK, {+kRho770Plus, +kKMinus}},
{DecayChannelResonant::DstarToD0ToKstar0Pi0, {-o2::constants::physics::kK0Star892, +kPi0}},
{DecayChannelResonant::DstarToD0ToKstarPi, {-o2::constants::physics::kKPlusStar892, +kPiPlus}},
{DecayChannelResonant::DstarToDplusToPhiPi, {+o2::constants::physics::kPhi, +kPiPlus}},
{DecayChannelResonant::DstarToDplusToKstar0K, {-o2::constants::physics::kK0Star892, +kKPlus}},
{DecayChannelResonant::DstarToDplusToKstar1430_0K, {+10311, +kKPlus}},
{DecayChannelResonant::DstarToDplusToRho0Pi, {+kRho770_0, +kPiPlus}},
{DecayChannelResonant::DstarToDplusToF2_1270Pi, {+225, +kPiPlus}},
};

std::unordered_map<DecayChannelMain, const std::vector<int>> finalStatesDstar =
{
{DecayChannelMain::DstarToPiKPi, {+kKMinus, +kPiPlus, +kPiPlus}},
{DecayChannelMain::DstarToPiKPiPi0, {+kKMinus, +kPiPlus, +kPiPlus, +kPi0}},
{DecayChannelMain::DstarToPiKPiPi0Pi0, {+kKMinus, +kPiPlus, +kPiPlus, +kPi0, +kPi0}},
{DecayChannelMain::DstarToPiKK, {+kKMinus, +kKPlus, +kPiPlus}},
{DecayChannelMain::DstarToPiKKPi0, {+kKMinus, +kKPlus, +kPiPlus, +kPi0}},
{DecayChannelMain::DstarToPiPiPi, {+kPiMinus, +kPiPlus, +kPiPlus}},
{DecayChannelMain::DstarToPiPiPiPi0, {+kPiMinus, +kPiPlus, +kPiPlus, +kPi0}},
{
{DecayChannelMain::DstarToPiKPi, {+kKMinus, +kPiPlus, +kPiPlus}},
{DecayChannelMain::DstarToPiKPiPi0, {+kKMinus, +kPiPlus, +kPiPlus, +kPi0}},
{DecayChannelMain::DstarToPiKPiPi0Pi0, {+kKMinus, +kPiPlus, +kPiPlus, +kPi0, +kPi0}},
{DecayChannelMain::DstarToPiKK, {+kKMinus, +kKPlus, +kPiPlus}},
{DecayChannelMain::DstarToPiKKPi0, {+kKMinus, +kKPlus, +kPiPlus, +kPi0}},
{DecayChannelMain::DstarToPiPiPi, {+kPiMinus, +kPiPlus, +kPiPlus}},
{DecayChannelMain::DstarToPiPiPiPi0, {+kPiMinus, +kPiPlus, +kPiPlus, +kPi0}},
};

// Lc → p K∓ π±
std::unordered_map<DecayChannelResonant, const std::array<int, 2>> resoStatesLambdaC =
{
{DecayChannelResonant::LcToPKstar0, {+o2::constants::physics::kK0Star892, +kProton}},
{DecayChannelResonant::LcToDeltaplusplusK, {+2224, +kKMinus}},
{DecayChannelResonant::LcToL1520Pi, {+102134, +kPiPlus}},
{
{DecayChannelResonant::LcToPKstar0, {+o2::constants::physics::kK0Star892, +kProton}},
{DecayChannelResonant::LcToDeltaplusplusK, {+2224, +kKMinus}},
{DecayChannelResonant::LcToL1520Pi, {+102134, +kPiPlus}},
};

std::unordered_map<DecayChannelMain, const std::vector<int>> finalStatesLc =
{
{DecayChannelMain::LcToPKPi, {+kProton, +kKMinus, +kPiPlus}},
{DecayChannelMain::LcToPKPiPi0, {+kProton, +kKMinus, +kPiPlus, +kPi0}},
{DecayChannelMain::LcToPPiPi, {+kProton, +kPiMinus, +kPiPlus}},
{DecayChannelMain::LcToPKK, {+kProton, +kKMinus, +kKPlus}}};
{
{DecayChannelMain::LcToPKPi, {+kProton, +kKMinus, +kPiPlus}},
{DecayChannelMain::LcToPKPiPi0, {+kProton, +kKMinus, +kPiPlus, +kPi0}},
{DecayChannelMain::LcToPPiPi, {+kProton, +kPiMinus, +kPiPlus}},
{DecayChannelMain::LcToPKK, {+kProton, +kKMinus, +kKPlus}}};

// Xic → p K∓ π±
std::unordered_map<DecayChannelResonant, const std::array<int, 2>> resoStatesXiC =
{
{DecayChannelResonant::XicToPKstar0, {-o2::constants::physics::kK0Star892, +kProton}},
{DecayChannelResonant::XicToPPhi, {+kProton, +o2::constants::physics::kPhi}},
{
{DecayChannelResonant::XicToPKstar0, {-o2::constants::physics::kK0Star892, +kProton}},
{DecayChannelResonant::XicToPPhi, {+kProton, +o2::constants::physics::kPhi}},
};

std::unordered_map<DecayChannelMain, const std::vector<int>> finalStatesXic =
{
{DecayChannelMain::XicToPKPi, {+kProton, +kKMinus, +kPiPlus}},
{DecayChannelMain::XicToPKK, {+kProton, +kKMinus, +kKPlus}},
{DecayChannelMain::XicToSPiPi, {+kSigmaPlus, +kPiMinus, +kPiPlus}},
{
{DecayChannelMain::XicToPKPi, {+kProton, +kKMinus, +kPiPlus}},
{DecayChannelMain::XicToPKK, {+kProton, +kKMinus, +kKPlus}},
{DecayChannelMain::XicToSPiPi, {+kSigmaPlus, +kPiMinus, +kPiPlus}},
};

/// Returns a map of the possible final states for a specific 3-prong particle specie
Expand Down Expand Up @@ -191,7 +191,6 @@ std::unordered_map<DecayChannelResonant, const std::array<int, 2>> getResoChanne

} // namespace hf_cand_3prong


/// Perform the matching for a single resonant channel
/// \tparam N size of the array of daughter PDG codes
/// \param arrPdgResoChn array of daughter indices
Expand Down
Loading