ATLAS Offline Software
TruthClasses.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 #ifndef TRUTHUTILS_TRUTHCLASSES_H
5 #define TRUTHUTILS_TRUTHCLASSES_H
6 
7  // cppcheck-suppress syntaxError; cppcheck 2.16 bug (https://sourceforge.net/p/cppcheck/discussion/general/thread/44654d46c3)
8  enum ParticleType : unsigned int {
9  Unknown = 0,
15  IsoMuon = 6,
17  BkgMuon = 8,
19  IsoTau = 10,
20  NonIsoTau = 11,
21  BkgTau = 12,
23  IsoPhoton = 14,
25  BkgPhoton = 16,
26  Hadron = 17,
27  Neutrino = 18,
28  NuclFrag = 19,
29  NonPrimary = 20,
43  BJet = 33,
44  CJet = 34,
45  LJet = 35,
46  GJet = 36,
47  TauJet = 37,
48  UnknownJet = 38
49  };
50 
51  enum ParticleOrigin : unsigned int {
53 
57  SingleTau = 4,
58 
60  DalitzDec = 6,
61  ElMagProc = 7,
62  Mu = 8,
63  TauLep = 9,
64  top = 10,
66  WBoson = 12,
67  ZBoson = 13,
68  Higgs = 14,
69  HiggsMSSM = 15,
70  HeavyBoson = 16,
71  WBosonLRSM = 17,
72  NuREle = 18,
73  NuRMu = 19,
74  NuRTau = 20,
75  LQ = 21,
76 
77  SUSY = 22,
78  OtherBSM = 46,
79  LightMeson = 23,
83  CCbarMeson = 27,
84  JPsi = 28,
85  BBbarMeson = 29,
90  PionDecay = 34,
91  KaonDecay = 35,
92  BremPhot = 36,
93  PromptPhot = 37,
94  UndrPhot = 38,
95  ISRPhot = 39,
96  FSRPhot = 40,
97  NucReact = 41,
98  PiZero = 42,
99  DiBoson = 43,
102  QCD = 45
103  };
104 
105  enum ParticleOutCome : unsigned int {
115  OneProng = 9,
117  FiveProng = 11
118  };
119 
120 
121 
122  struct ParticleDef {
124  std::vector<std::string> sParticleType{
125  "Unknown",
126  "UnknownElectron",
127  "IsoElectron",
128  "NonIsoElectron",
129  "BkgElectron",
130  "UnknownMuon",
131  "IsoMuon",
132  "NonIsoMuon",
133  "BkgMuon",
134  "UnknownTau",
135  "IsoTau",
136  "NonIsoTau",
137  "BkgTau",
138  "UnknownPhoton",
139  "IsoPhoton",
140  "NonIsoPhoton",
141  "BkgPhoton",
142  "Hadron",
143  "Neutrino",
144  "NuclFrag",
145  "NonPrimary",
146  "GenParticle",
147  "SUSYParticle",
148  "BBbarMesonPart",
149  "BottomMesonPart",
150  "CCbarMesonPart",
151  "CharmedMesonPart",
152  "BottomBaryonPart",
153  "CharmedBaryonPart",
154  "StrangeBaryonPart",
155  "LightBaryonPart",
156  "StrangeMesonPart",
157  "LightMesonPart",
158  "BJet",
159  "CJet",
160  "LJet",
161  "GJet",
162  "TauJet",
163  "UnknownJet",
164  "OtherBSMParticle"};
165 
167  std::vector<std::string> sParticleOrigin{
168  "NonDefined",
169  "SingleElec",
170  "SingleMuon",
171  "SinglePhot",
172  "SingleTau",
173  "PhotonConv",
174  "DalitzDec",
175  "ElMagProc",
176  "Mu",
177  "TauLep",
178  "top",
179  "QuarkWeakDec",
180  "WBoson",
181  "ZBoson",
182  "Higgs",
183  "HiggsMSSM",
184  "WZMSSM",
185  "WBosonLRSM",
186  "NuREle",
187  "NuRMu",
188  "NuRTau",
189  "LQ",
190  "SUSY",
191  "LightMeson",
192  "StrangeMeson",
193  "CharmedMeson",
194  "BottomMeson",
195  "CCbarMeson",
196  "JPsi",
197  "BBbarMeson",
198  "LightBaryon",
199  "StrangeBaryon",
200  "CharmedBaryon",
201  "BottomBaryon",
202  "PionDecay",
203  "KaonDecay",
204  "BremPhot",
205  "PromptPhot",
206  "UndrPhot",
207  "ISRPhot",
208  "FSRPhot",
209  "NucReact",
210  "PiZero",
211  "DiBoson",
212  "ZorHeavyBoson",
213  "QCD",
214  "OtherBSM",
215  "MultiBoson"};
216 
218  std::vector<std::string> sParticleOutCome{
219  "NonDefinedOutCome",
220  "UnknownOutCome",
221  "UnConverted",
222  "Converted",
223  "NonInteract",
224  "NuclInteraction",
225  "ElectrMagInter",
226  "DecaytoElectron",
227  "DecaytoMuon",
228  "OneProng",
229  "ThreeProng",
230  "FiveProng"};
231  };
232 
233 
234 
235 #endif
NuRMu
@ NuRMu
Definition: TruthClasses.h:73
IsoPhoton
@ IsoPhoton
Definition: TruthClasses.h:23
LightBaryonPart
@ LightBaryonPart
Definition: TruthClasses.h:40
TauLep
@ TauLep
Definition: TruthClasses.h:63
StrangeMeson
@ StrangeMeson
Definition: TruthClasses.h:80
OtherBSMParticle
@ OtherBSMParticle
Definition: TruthClasses.h:32
NuREle
@ NuREle
Definition: TruthClasses.h:72
Mu
@ Mu
Definition: TruthClasses.h:62
BBbarMeson
@ BBbarMeson
Definition: TruthClasses.h:85
BottomMeson
@ BottomMeson
Definition: TruthClasses.h:82
WBosonLRSM
@ WBosonLRSM
Definition: TruthClasses.h:71
SingleTau
@ SingleTau
Definition: TruthClasses.h:57
GJet
@ GJet
Definition: TruthClasses.h:46
NonIsoPhoton
@ NonIsoPhoton
Definition: TruthClasses.h:24
PionDecay
@ PionDecay
Definition: TruthClasses.h:90
ElMagProc
@ ElMagProc
Definition: TruthClasses.h:61
ParticleDef::sParticleType
std::vector< std::string > sParticleType
the vector of particle types
Definition: TruthClasses.h:124
ThreeProng
@ ThreeProng
Definition: TruthClasses.h:116
IsoElectron
@ IsoElectron
Definition: TruthClasses.h:11
SingleElec
@ SingleElec
Definition: TruthClasses.h:54
BkgPhoton
@ BkgPhoton
Definition: TruthClasses.h:25
ParticleDef::sParticleOutCome
std::vector< std::string > sParticleOutCome
the vector of particle out come
Definition: TruthClasses.h:218
PhotonConv
@ PhotonConv
Definition: TruthClasses.h:59
Converted
@ Converted
Definition: TruthClasses.h:109
CharmedMesonPart
@ CharmedMesonPart
Definition: TruthClasses.h:36
ISRPhot
@ ISRPhot
Definition: TruthClasses.h:95
PromptPhot
@ PromptPhot
Definition: TruthClasses.h:93
BottomMesonPart
@ BottomMesonPart
Definition: TruthClasses.h:34
NuRTau
@ NuRTau
Definition: TruthClasses.h:74
UnknownMuon
@ UnknownMuon
Definition: TruthClasses.h:14
ZBoson
@ ZBoson
Definition: TruthClasses.h:67
UnknownTau
@ UnknownTau
Definition: TruthClasses.h:18
Hadron
@ Hadron
Definition: TruthClasses.h:26
StrangeMesonPart
@ StrangeMesonPart
Definition: TruthClasses.h:41
SUSY
Definition: SUSYCrossSection.h:24
BkgMuon
@ BkgMuon
Definition: TruthClasses.h:17
WBoson
@ WBoson
Definition: TruthClasses.h:66
FSRPhot
@ FSRPhot
Definition: TruthClasses.h:96
NuclFrag
@ NuclFrag
Definition: TruthClasses.h:28
BBbarMesonPart
@ BBbarMesonPart
Definition: TruthClasses.h:33
CCbarMeson
@ CCbarMeson
Definition: TruthClasses.h:83
NonDefined
@ NonDefined
Definition: TruthClasses.h:52
HiggsMSSM
@ HiggsMSSM
Definition: TruthClasses.h:69
CCbarMesonPart
@ CCbarMesonPart
Definition: TruthClasses.h:35
CharmedBaryon
@ CharmedBaryon
Definition: TruthClasses.h:88
QCD
@ QCD
Definition: TruthClasses.h:102
BkgTau
@ BkgTau
Definition: TruthClasses.h:21
NonIsoTau
@ NonIsoTau
Definition: TruthClasses.h:20
UnknownElectron
@ UnknownElectron
Definition: TruthClasses.h:10
ParticleOrigin
ParticleOrigin
Definition: TruthClasses.h:51
PiZero
@ PiZero
Definition: TruthClasses.h:98
MultiBoson
@ MultiBoson
Definition: TruthClasses.h:101
StrangeBaryon
@ StrangeBaryon
Definition: TruthClasses.h:87
LightMeson
@ LightMeson
Definition: TruthClasses.h:79
UnConverted
@ UnConverted
Definition: TruthClasses.h:108
DiBoson
@ DiBoson
Definition: TruthClasses.h:99
IsoTau
@ IsoTau
Definition: TruthClasses.h:19
LQ
@ LQ
Definition: TruthClasses.h:75
LightMesonPart
@ LightMesonPart
Definition: TruthClasses.h:42
JPsi
@ JPsi
Definition: TruthClasses.h:84
DecaytoElectron
@ DecaytoElectron
Definition: TruthClasses.h:113
CharmedMeson
@ CharmedMeson
Definition: TruthClasses.h:81
IsoMuon
@ IsoMuon
Definition: TruthClasses.h:15
ParticleDef
Definition: TruthClasses.h:122
StrangeBaryonPart
@ StrangeBaryonPart
Definition: TruthClasses.h:39
NonIsoMuon
@ NonIsoMuon
Definition: TruthClasses.h:16
OneProng
@ OneProng
Definition: TruthClasses.h:115
CharmedBaryonPart
@ CharmedBaryonPart
Definition: TruthClasses.h:38
LJet
@ LJet
Definition: TruthClasses.h:45
BJet
@ BJet
Definition: TruthClasses.h:43
SinglePhot
@ SinglePhot
Definition: TruthClasses.h:56
BottomBaryonPart
@ BottomBaryonPart
Definition: TruthClasses.h:37
UnknownOutCome
@ UnknownOutCome
Definition: TruthClasses.h:107
HeavyBoson
@ HeavyBoson
Definition: TruthClasses.h:70
NuclInteraction
@ NuclInteraction
Definition: TruthClasses.h:111
UndrPhot
@ UndrPhot
Definition: TruthClasses.h:94
BottomBaryon
@ BottomBaryon
Definition: TruthClasses.h:89
NucReact
@ NucReact
Definition: TruthClasses.h:97
LightBaryon
@ LightBaryon
Definition: TruthClasses.h:86
NonInteract
@ NonInteract
Definition: TruthClasses.h:110
QuarkWeakDec
@ QuarkWeakDec
Definition: TruthClasses.h:65
TauJet
@ TauJet
Definition: TruthClasses.h:47
ParticleDef::sParticleOrigin
std::vector< std::string > sParticleOrigin
the vector of particle origin
Definition: TruthClasses.h:167
SUSYParticle
@ SUSYParticle
Definition: TruthClasses.h:31
ElectrMagInter
@ ElectrMagInter
Definition: TruthClasses.h:112
NonPrimary
@ NonPrimary
Definition: TruthClasses.h:29
Higgs
@ Higgs
Definition: TruthClasses.h:68
SingleMuon
@ SingleMuon
Definition: TruthClasses.h:55
UnknownJet
@ UnknownJet
Definition: TruthClasses.h:48
OtherBSM
@ OtherBSM
Definition: TruthClasses.h:78
DalitzDec
@ DalitzDec
Definition: TruthClasses.h:60
top
@ top
Definition: TruthClasses.h:64
FiveProng
@ FiveProng
Definition: TruthClasses.h:117
CJet
@ CJet
Definition: TruthClasses.h:44
DecaytoMuon
@ DecaytoMuon
Definition: TruthClasses.h:114
KaonDecay
@ KaonDecay
Definition: TruthClasses.h:91
ParticleType
ParticleType
Definition: TruthClasses.h:8
Neutrino
Definition: Neutrino.h:33
NonIsoElectron
@ NonIsoElectron
Definition: TruthClasses.h:12
BkgElectron
@ BkgElectron
Definition: TruthClasses.h:13
Unknown
@ Unknown
Definition: TruthClasses.h:9
ParticleOutCome
ParticleOutCome
Definition: TruthClasses.h:105
ZorHeavyBoson
@ ZorHeavyBoson
Definition: TruthClasses.h:100
UnknownPhoton
@ UnknownPhoton
Definition: TruthClasses.h:22
BremPhot
@ BremPhot
Definition: TruthClasses.h:92
GenParticle
@ GenParticle
Definition: TruthClasses.h:30
NonDefinedOutCome
@ NonDefinedOutCome
Definition: TruthClasses.h:106