#ifndef ATLAS_AtlMCTruthClassifier
#define ATLAS_AtlMCTruthClassifier
#ifndef ROOT_TObject
#include <TObject.h>
#endif
class AtlMCTruthClassifier : public TObject {
public:
enum EParticleOrigin {
kNonDefined = 0,
kSingleElec = 1,
kSingleMuon = 2,
kSinglePhot = 3,
kSingleTau = 4,
kPhotonConv = 5,
kDalitzDec = 6,
kElMagProc = 7,
kMu = 8,
kTauLep = 9,
ktop = 10,
kQuarkWeakDec = 11,
kWBoson = 12,
kZBoson = 13,
kHiggs = 14,
kHiggsMSSM = 15,
kHeavyBoson = 16,
kWBosonLRSM = 17,
kNuREle = 18,
kNuRMu = 19,
kNuRTau = 20,
kLQ = 21,
kSUSY = 22,
kLightMeson = 23,
kStrangeMeson = 24,
kCharmedMeson = 25,
kBottomMeson = 26,
kCCbarMeson = 27,
kJPsi = 28,
kBBbarMeson = 29,
kLightBaryon = 30,
kStrangeBaryon = 31,
kCharmedBaryon = 32,
kBottomBaryon = 33,
kPionDecay = 34,
kKaonDecay = 35,
kBremPhot = 36,
kPromptPhot = 37,
kUndrPhot = 38,
kISRPhot = 39,
kFSRPhot = 40,
kNucReact = 41,
kPiZero = 42,
kDiBoson = 43,
kZorHeavyBoson = 44,
kQCD = 45,
kNumParticleOrigin = 46
};
private:
EParticleOrigin fParticleOrigin;
public:
AtlMCTruthClassifier();
AtlMCTruthClassifier(EParticleOrigin ParticleOrigin);
virtual ~AtlMCTruthClassifier();
virtual void Clear(Option_t *option = "");
static const char* GetParticleOriginName(EParticleOrigin ParticleOrigin);
static EParticleOrigin GetParticleOriginByName(const char *name);
inline EParticleOrigin GetParticleOrigin() const { return fParticleOrigin; }
inline const char* GetName() const {
return GetParticleOriginName(fParticleOrigin);
}
inline void Set(EParticleOrigin ParticleOrigin) {
fParticleOrigin = ParticleOrigin;
}
inline Bool_t IsFromBottomMeson() const { return fParticleOrigin == kBottomMeson; }
inline Bool_t IsFromWBoson() const { return fParticleOrigin == kWBoson; }
ClassDef(AtlMCTruthClassifier,1)
};
#endif
AtlMCTruthClassifier.h:10 AtlMCTruthClassifier.h:11 AtlMCTruthClassifier.h:12 AtlMCTruthClassifier.h:13 AtlMCTruthClassifier.h:14 AtlMCTruthClassifier.h:15 AtlMCTruthClassifier.h:16 AtlMCTruthClassifier.h:17 AtlMCTruthClassifier.h:18 AtlMCTruthClassifier.h:19 AtlMCTruthClassifier.h:20 AtlMCTruthClassifier.h:21 AtlMCTruthClassifier.h:22 AtlMCTruthClassifier.h:23 AtlMCTruthClassifier.h:24 AtlMCTruthClassifier.h:25 AtlMCTruthClassifier.h:26 AtlMCTruthClassifier.h:27 AtlMCTruthClassifier.h:28 AtlMCTruthClassifier.h:29 AtlMCTruthClassifier.h:30 AtlMCTruthClassifier.h:31 AtlMCTruthClassifier.h:32 AtlMCTruthClassifier.h:33 AtlMCTruthClassifier.h:34 AtlMCTruthClassifier.h:35 AtlMCTruthClassifier.h:36 AtlMCTruthClassifier.h:37 AtlMCTruthClassifier.h:38 AtlMCTruthClassifier.h:39 AtlMCTruthClassifier.h:40 AtlMCTruthClassifier.h:41 AtlMCTruthClassifier.h:42 AtlMCTruthClassifier.h:43 AtlMCTruthClassifier.h:44 AtlMCTruthClassifier.h:45 AtlMCTruthClassifier.h:46 AtlMCTruthClassifier.h:47 AtlMCTruthClassifier.h:48 AtlMCTruthClassifier.h:49 AtlMCTruthClassifier.h:50 AtlMCTruthClassifier.h:51 AtlMCTruthClassifier.h:52 AtlMCTruthClassifier.h:53 AtlMCTruthClassifier.h:54 AtlMCTruthClassifier.h:55 AtlMCTruthClassifier.h:56 AtlMCTruthClassifier.h:57 AtlMCTruthClassifier.h:58 AtlMCTruthClassifier.h:59 AtlMCTruthClassifier.h:60 AtlMCTruthClassifier.h:61 AtlMCTruthClassifier.h:62 AtlMCTruthClassifier.h:63 AtlMCTruthClassifier.h:64 AtlMCTruthClassifier.h:65 AtlMCTruthClassifier.h:66 AtlMCTruthClassifier.h:67 AtlMCTruthClassifier.h:68 AtlMCTruthClassifier.h:69 AtlMCTruthClassifier.h:70 AtlMCTruthClassifier.h:71 AtlMCTruthClassifier.h:72 AtlMCTruthClassifier.h:73 AtlMCTruthClassifier.h:74 AtlMCTruthClassifier.h:75 AtlMCTruthClassifier.h:76 AtlMCTruthClassifier.h:77 AtlMCTruthClassifier.h:78 AtlMCTruthClassifier.h:79 AtlMCTruthClassifier.h:80 AtlMCTruthClassifier.h:81 AtlMCTruthClassifier.h:82 AtlMCTruthClassifier.h:83 AtlMCTruthClassifier.h:84 AtlMCTruthClassifier.h:85 AtlMCTruthClassifier.h:86 AtlMCTruthClassifier.h:87 AtlMCTruthClassifier.h:88 AtlMCTruthClassifier.h:89 AtlMCTruthClassifier.h:90 AtlMCTruthClassifier.h:91 AtlMCTruthClassifier.h:92 AtlMCTruthClassifier.h:93 AtlMCTruthClassifier.h:94 AtlMCTruthClassifier.h:95 AtlMCTruthClassifier.h:96 AtlMCTruthClassifier.h:97 AtlMCTruthClassifier.h:98 AtlMCTruthClassifier.h:99