135 finalStateID(
const int SUSY_Spart1_pdgId,
const int SUSY_Spart2_pdgId){
136 std::array<int, nParticleIndices> particleCountByType{};
137 std::array<PdgConditional,34> conditions{
148 PdgConditional([](
int pdgId)->
bool{
return ((std::abs(pdgId)>1000000 && std::abs(pdgId)<= 1000004) || (std::abs(pdgId)>2000000 && std::abs(pdgId)<=2000004)) && (pdgId>0);}),
149 PdgConditional([](
int pdgId)->
bool{
return (std::abs(pdgId)>1000000 && std::abs(pdgId)<= 1000004) || (std::abs(pdgId)>2000000 && std::abs(pdgId)<=2000004);}),
174 auto it = std::find(conditions.begin(),conditions.end(), SUSY_Spart1_pdgId);
175 int idx = std::distance(conditions.begin(), it);
176 ++particleCountByType[idx];
178 it = std::find(conditions.begin(),conditions.end(), SUSY_Spart2_pdgId);
179 idx = std::distance(conditions.begin(), it);
180 ++particleCountByType[idx];
186 if (
const auto & v=
slepton(particleCountByType);v)
return v;
188 if (
const auto & v=
smuon(particleCountByType);v)
return v;