ATLAS Offline Software
Loading...
Searching...
No Matches
MCTruthPartClassifier::ParticleDef Struct Reference

Human-readable names for the values of ParticleType, ParticleOrigin and ParticleOutCome. More...

#include <TruthClasses.h>

Collaboration diagram for MCTruthPartClassifier::ParticleDef:

Public Attributes

std::vector< std::string > sParticleType
 Names of the ParticleType values, indexed by value (0 = "Unknown" ... 39 = "OtherBSMParticle").
std::vector< std::string > sParticleOrigin
 Names of the ParticleOrigin values, indexed by value (0 = "NonDefined" ... 47 = "MultiBoson").

Detailed Description

Human-readable names for the values of ParticleType, ParticleOrigin and ParticleOutCome.

Each vector is indexed by the numeric value of the corresponding enum, so sParticleType[IsoElectron] is "IsoElectron". The order of the strings must therefore follow the enum values, not the order in which the enumerators are written above. Use it to print or label classifier results, or to convert a name from a configuration string back to its value by finding it in the vector (as ParticleLevelIsolationAlg does for sParticleType); there is no bounds checking, so an out-of-range value is undefined behaviour.

Definition at line 165 of file TruthClasses.h.

Member Data Documentation

◆ sParticleOrigin

std::vector<std::string> MCTruthPartClassifier::ParticleDef::sParticleOrigin

Names of the ParticleOrigin values, indexed by value (0 = "NonDefined" ... 47 = "MultiBoson").

Not used anywhere else in Athena at the moment. Caution: entry 16 is "WZMSSM", while the enumerator with that value is HeavyBoson, so a name lookup as done for sParticleType would not find "HeavyBoson" and would map "WZMSSM" to HeavyBoson.

Definition at line 215 of file TruthClasses.h.

215 {
216 "NonDefined",
217 "SingleElec",
218 "SingleMuon",
219 "SinglePhot",
220 "SingleTau",
221 "PhotonConv",
222 "DalitzDec",
223 "ElMagProc",
224 "Mu",
225 "TauLep",
226 "top",
227 "QuarkWeakDec",
228 "WBoson",
229 "ZBoson",
230 "Higgs",
231 "HiggsMSSM",
232 "WZMSSM",
233 "WBosonLRSM",
234 "NuREle",
235 "NuRMu",
236 "NuRTau",
237 "LQ",
238 "SUSY",
239 "LightMeson",
240 "StrangeMeson",
241 "CharmedMeson",
242 "BottomMeson",
243 "CCbarMeson",
244 "JPsi",
245 "BBbarMeson",
246 "LightBaryon",
247 "StrangeBaryon",
248 "CharmedBaryon",
249 "BottomBaryon",
250 "PionDecay",
251 "KaonDecay",
252 "BremPhot",
253 "PromptPhot",
254 "UndrPhot",
255 "ISRPhot",
256 "FSRPhot",
257 "NucReact",
258 "PiZero",
259 "DiBoson",
260 "ZorHeavyBoson",
261 "QCD",
262 "OtherBSM",
263 "MultiBoson"};

◆ sParticleType

std::vector<std::string> MCTruthPartClassifier::ParticleDef::sParticleType

Names of the ParticleType values, indexed by value (0 = "Unknown" ... 39 = "OtherBSMParticle").

Used by ParticleLevelIsolationAlg (TruthParticleLevelAnalysisAlgorithms) to turn its checkType string property into a ParticleType, taking the index of the matching entry as the enum value. This relies on every entry sitting at the index of its enumerator, so keep them in sync.

Definition at line 170 of file TruthClasses.h.

170 {
171 "Unknown",
172 "UnknownElectron",
173 "IsoElectron",
174 "NonIsoElectron",
175 "BkgElectron",
176 "UnknownMuon",
177 "IsoMuon",
178 "NonIsoMuon",
179 "BkgMuon",
180 "UnknownTau",
181 "IsoTau",
182 "NonIsoTau",
183 "BkgTau",
184 "UnknownPhoton",
185 "IsoPhoton",
186 "NonIsoPhoton",
187 "BkgPhoton",
188 "Hadron",
189 "Neutrino",
190 "NuclFrag",
191 "NonPrimary",
192 "GenParticle",
193 "SUSYParticle",
194 "BBbarMesonPart",
195 "BottomMesonPart",
196 "CCbarMesonPart",
197 "CharmedMesonPart",
198 "BottomBaryonPart",
199 "CharmedBaryonPart",
200 "StrangeBaryonPart",
201 "LightBaryonPart",
202 "StrangeMesonPart",
203 "LightMesonPart",
204 "BJet",
205 "CJet",
206 "LJet",
207 "GJet",
208 "TauJet",
209 "UnknownJet",
210 "OtherBSMParticle"};

The documentation for this struct was generated from the following file: