Skip to content
Snippets Groups Projects
Commit c494e42d authored by Andrii Verbytskyi's avatar Andrii Verbytskyi Committed by Julien Maurer
Browse files

Added more classificators for the exotic particles

Added more classificators for the exotic particles
parent 21b5bedf
No related branches found
No related tags found
2 merge requests!64457Daily merge of 23.0 into main,!64407Added more classificators for the exotic particles
......@@ -192,6 +192,11 @@ template<class T> inline bool isLeptoQuark(const T& p){return isLeptoQuark(p->pd
template<> inline bool isLeptoQuark(const int& p){ return std::abs(p) == LEPTOQUARK; }
template<class T> inline bool isSUSY(const T& p){return isSUSY(p->pdg_id());}
template<class T> inline bool isTechnicolor(const T& p){return isTechnicolor(p->pdg_id());}
template<class T> inline bool isExcited(const T& p){return isExcited(p->pdg_id());}
template<class T> inline bool isKK(const T& p){return isKK(p->pdg_id());}
template<class T> inline bool isHiddenValley(const T& p){return isHiddenValley(p->pdg_id());}
template<class T> inline bool isDiquark(const T& p){return isDiquark(p->pdg_id());}
template<class T> inline bool isHadron(const T& p){return isHadron(p->pdg_id());}
template<class T> inline bool isMeson(const T& p){return isMeson(p->pdg_id());}
......@@ -228,6 +233,37 @@ template<> inline bool isGeantino(const int& p){ return (std::abs(p) == GEANTIN
/// the lighter physical state is given the smaller basis state number.
template<> inline bool isSUSY(const DecodedPID& p){return (p.ndigits() == 7 && (p(0) == 1 || p(0) == 2 ) && isValid(p.shift(2)));}
/// PDG rule 11e
/// Technicolor states have n= 3, with technifermions treated like ordinary fermions. States which are ordinary color singlets
/// have nr= 0. Color octets have nr= 1. If a state has non-trivial quantum numbers under the topcolor groups SU(3)1×SU(3)2,
/// the quantum numbers are specified by tech, ij, where i and j are 1 or 2. nLis then 2i+j. The coloron
/// V8, is a heavy gluon color octet and thus is 3100021
template<> inline bool isTechnicolor(const DecodedPID& p){return (p.ndigits() == 7 && p(0) == 3 && (p(1) == 0 || p(0) == 1) && isValid(p.shift(2)));}
template<> inline bool isTechnicolor(const int& p){ auto value_digits = DecodedPID(p); return isTechnicolor(value_digits);}
/// PDG rule 11f
/// Excited (composite) quarks and leptons are identified by setting n= 4 and nr= 0
template<> inline bool isExcited(const DecodedPID& p){return (p.ndigits() == 7 && (p(0) == 4 && p(1) == 0 ) && (isLepton(p.shift(2))||isQuark(p.shift(2))) );}
template<> inline bool isExcited(const int& p){ auto value_digits = DecodedPID(p); return isExcited(value_digits);}
/// PDG rule 11h
/// A black hole in models with extra dimensions has code 5000040. Kaluza-Klein excitations in models with extra dimensions
/// have n= 5 or n= 6, to distinguish excitations of left-or right-handed fermions or, in case of mixing, the lighter or heavier
/// state (cf. 11d). The non zero nr digit gives the radial excitation number, in scenarios where the level spacing allows these to be
/// distinguished. Should the model also contain supersymmetry, excited SUSY states would be denoted by a nnr>0, with n= 1 or 2 as usual.
/// Should some colored states be long-lived enough that hadrons would form around them, the coding strategy of 11g applies, with the initial
/// two nnr digits preserved in the combined code.
template<> inline bool isKK(const DecodedPID& p){return (p.ndigits() == 7 && (p(0) == 5 || p(0) == 6 ) );}
template<> inline bool isKK(const int& p){ auto value_digits = DecodedPID(p); return isExcited(value_digits);}
/// PDG rule 11k
/// Hidden Valley particles have n= 4 and nr= 9, and trailing numbers in agreement with their nearest-analog standard particles,
/// as far as possible. Thus 4900021 is the gauge boson gv of a confining gauge field, 490000 nqv and 490001 nlv fundamental
/// constituents charged or not under this, 4900022 is the γv of a non-confining field, and 4900 nqv1 nqv2 nJ a Hidden Valley meson.
template<> inline bool isHiddenValley(const DecodedPID& p){return (p.ndigits() == 7 && p(0) == 4 && p(1) == 9 && isValid(p.shift(2)));}
template<> inline bool isHiddenValley(const int& p){ auto value_digits = DecodedPID(p); return isHiddenValley(value_digits);}
/// PDG rule 4
/// Diquarks have 4-digit numbers with nq1 >= nq2 and nq3 = 0
/// APID: the diquarks with top or fourth generation are not diquarks
......@@ -348,6 +384,10 @@ template<> inline bool isBSM(const DecodedPID& p){
if (std::abs(p.pid()) > 39 && std::abs(p.pid()) < 81) return true;
if (std::abs(p.pid()) > 6 && std::abs(p.pid()) < 9) return true;
if (isSUSY(p)) return true;
if (isTechnicolor(p)) return true;
if (isExcited(p)) return true;
if (isKK(p)) return true;
if (isHiddenValley(p)) return true;
return false;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment