Skip to content
Snippets Groups Projects
Commit 50cd58b1 authored by John Chapman's avatar John Chapman
Browse files

TruthUtils: Add constants and helper functions for more heavy boson PDG IDs

parent 823fbdd2
No related branches found
No related tags found
No related merge requests found
Pipeline #11084307 passed
......@@ -80,7 +80,15 @@ static const int PHOTON = 22;
static const int Z0BOSON = 23;
static const int WPLUSBOSON = 24;
static const int HIGGSBOSON = 25;
static const int ZPRIME = 32; // Z′/Z^0_2
static const int ZDBLPRIME = 33; // Z′′/Z^0_3
static const int WPLUSPRIME = 34; // W ′/W^+_2
static const int HIGGS2 = 35; // H^0/H^0_2 FIXME Any better ideas?
static const int HIGGS3 = 36; // A^0/H^0_3 FIXME Any better ideas?
static const int HIGGSPLUS = 37; // H^+
static const int HIGGSPLUSPLUS = 38; // H^++
static const int GRAVITON = 39;
static const int HIGGS4 = 40; // a^0/H^0_4 FIXME Any better ideas?
static const int LEPTOQUARK = 42;
/// PDG Ids for Mavtop madgraph UFO model found under DarkX. The
......@@ -337,10 +345,18 @@ template<> inline bool isZ(const int& p){ return p == Z0BOSON; }
template<class T> inline bool isW(const T& p){return isW(p->pdg_id());}
template<> inline bool isW(const int& p){ return std::abs(p) == WPLUSBOSON; }
/// APID: Additional "Heavy"/"prime" versions of W and Z bosons (Used in MCTruthClassifier)
template<class T> inline bool isHeavyBoson(const T& p){return isHeavyBoson(p->pdg_id());}
template<> inline bool isHeavyBoson(const int& p){ return p == ZPRIME || p == ZDBLPRIME || std::abs(p) == WPLUSPRIME; }
/// APID: HIGGS boson is only one particle.
template<class T> inline bool isHiggs(const T& p){return isHiggs(p->pdg_id());}
template<> inline bool isHiggs(const int& p){ return p == HIGGSBOSON; }
/// APID: Additional Higgs bosons for MSSM (Used in MCTruthClassifier)
template<class T> inline bool isMSSMHiggs(const T& p){return isMSSMHiggs(p->pdg_id());}
template<> inline bool isMSSMHiggs(const int& p){ return p == HIGGS2 || p == HIGGS3 || std::abs(p) == HIGGSPLUS; }
template<class T> inline bool isGraviton(const T& p) {return isGraviton(p->pdg_id());}
template<> inline bool isGraviton(const int& p){ return p == GRAVITON; }
......
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