00001 #ifndef MCTRUTHCLASSIFIER_MCTRUTHCLASSIFIERDEFS_H
00002 #define MCTRUTHCLASSIFIER_MCTRUTHCLASSIFIERDEFS_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #include <vector>
00016 #include <string>
00017
00018 #define PARTICLETYPES 39
00019 #define PARTICLEORIGIN 46
00020 #define PARTICLEOUTCOME 12
00021
00022 namespace MCTruthPartClassifier {
00023
00024 enum ParticleType {
00025
00026 Unknown = 0,
00027 UnknownElectron = 1,
00028 IsoElectron = 2,
00029 NonIsoElectron = 3,
00030 BkgElectron = 4,
00031 UnknownMuon = 5,
00032 IsoMuon = 6,
00033 NonIsoMuon = 7,
00034 BkgMuon = 8,
00035 UnknownTau = 9,
00036 IsoTau = 10,
00037 NonIsoTau = 11,
00038 BkgTau = 12,
00039 UnknownPhoton = 13,
00040 IsoPhoton = 14,
00041 NonIsoPhoton = 15,
00042 BkgPhoton = 16,
00043 Hadron = 17,
00044 Neutrino = 18,
00045 NuclFrag = 19,
00046 NonPrimary = 20,
00047 GenParticle = 21,
00048 SUSYParticle = 22,
00049 BBbarMesonPart = 23,
00050 BottomMesonPart = 24,
00051 CCbarMesonPart = 25,
00052 CharmedMesonPart = 26,
00053 BottomBaryonPart = 27,
00054 CharmedBaryonPart = 28,
00055 StrangeBaryonPart = 29,
00056 LightBaryonPart = 30,
00057 StrangeMesonPart = 31,
00058 LightMesonPart = 32,
00059 BJet = 33,
00060 CJet = 34,
00061 LJet = 35,
00062 GJet = 36,
00063 TauJet = 37,
00064 UnknownJet = 38
00065 };
00066
00067 enum ParticleOrigin {
00068
00069 NonDefined = 0,
00070
00071 SingleElec = 1,
00072 SingleMuon = 2,
00073 SinglePhot = 3,
00074 SingleTau = 4,
00075
00076
00077 PhotonConv = 5,
00078 DalitzDec = 6,
00079 ElMagProc = 7,
00080 Mu = 8,
00081 TauLep = 9,
00082 top = 10,
00083 QuarkWeakDec = 11,
00084 WBoson = 12,
00085 ZBoson = 13,
00086 Higgs = 14,
00087 HiggsMSSM = 15,
00088 HeavyBoson = 16,
00089 WBosonLRSM = 17,
00090 NuREle = 18,
00091 NuRMu = 19,
00092 NuRTau = 20,
00093 LQ = 21,
00094
00095 SUSY = 22,
00096 LightMeson = 23,
00097 StrangeMeson = 24,
00098 CharmedMeson = 25,
00099 BottomMeson = 26,
00100 CCbarMeson = 27,
00101 JPsi = 28,
00102 BBbarMeson = 29,
00103 LightBaryon = 30,
00104 StrangeBaryon = 31,
00105 CharmedBaryon = 32,
00106 BottomBaryon = 33,
00107 PionDecay = 34,
00108 KaonDecay = 35,
00109 BremPhot = 36,
00110 PromptPhot = 37,
00111 UndrPhot = 38,
00112 ISRPhot = 39,
00113 FSRPhot = 40,
00114 NucReact = 41,
00115 PiZero = 42,
00116 DiBoson = 43,
00117 ZorHeavyBoson = 44,
00118 QCD = 45
00119 };
00120
00121 enum ParticleOutCome {
00122 NonDefinedOutCome = 0,
00123 UnknownOutCome = 1,
00124 UnConverted = 2,
00125 Converted = 3,
00126 NonInteract = 4,
00127 NuclInteraction = 5,
00128 ElectrMagInter = 6,
00129 DecaytoElectron = 7,
00130 DecaytoMuon = 8,
00131 OneProng = 9,
00132 ThreeProng = 10,
00133 FiveProng = 11
00134 };
00135
00136
00137
00138 struct ParticleDef {
00139
00141 std::vector<std::string> sParticleType;
00143 std::vector<std::string> sParticleOrigin;
00145 std::vector<std::string> sParticleOutCome;
00146
00148 ParticleDef()
00149 {
00150 sParticleType.reserve(PARTICLETYPES);
00151
00152 sParticleType.push_back("Unknown");
00153 sParticleType.push_back("UnknownElectron");
00154 sParticleType.push_back("IsoElectron");
00155 sParticleType.push_back("NonIsoElectron");
00156 sParticleType.push_back("BkgElectron");
00157 sParticleType.push_back("UnknownMuon");
00158 sParticleType.push_back("IsoMuon");
00159 sParticleType.push_back("NonIsoMuon");
00160 sParticleType.push_back("BkgMuon");
00161 sParticleType.push_back("UnknownTau");
00162 sParticleType.push_back("IsoTau");
00163 sParticleType.push_back("NonIsoTau");
00164 sParticleType.push_back("BkgTau");
00165 sParticleType.push_back("UnknownPhoton");
00166 sParticleType.push_back("IsoPhoton");
00167 sParticleType.push_back("NonIsoPhoton");
00168 sParticleType.push_back("BkgPhoton");
00169 sParticleType.push_back("Hadron");
00170 sParticleType.push_back("Neutrino");
00171 sParticleType.push_back("NuclFrag");
00172 sParticleType.push_back("NonPrimary");
00173 sParticleType.push_back("GenParticle");
00174 sParticleType.push_back("SUSYParticle");
00175 sParticleType.push_back("BBbarMesonPart");
00176 sParticleType.push_back("BottomMesonPart");
00177 sParticleType.push_back("CCbarMesonPart");
00178 sParticleType.push_back("CharmedMesonPart");
00179 sParticleType.push_back("BottomBaryonPart");
00180 sParticleType.push_back("CharmedBaryonPart");
00181 sParticleType.push_back("StrangeBaryonPart");
00182 sParticleType.push_back("LightBaryonPart");
00183 sParticleType.push_back("StrangeMesonPart");
00184 sParticleType.push_back("LightMesonPart");
00185 sParticleType.push_back("BJet");
00186 sParticleType.push_back("CJet");
00187 sParticleType.push_back("LJet");
00188 sParticleType.push_back("GJet");
00189 sParticleType.push_back("TauJet");
00190 sParticleType.push_back("UnknownJet");
00191
00192 sParticleOrigin.reserve(PARTICLEORIGIN);
00193 sParticleOrigin.push_back("NonDefined");
00194 sParticleOrigin.push_back("SingleElec");
00195 sParticleOrigin.push_back("SingleMuon");
00196 sParticleOrigin.push_back("SinglePhot");
00197 sParticleOrigin.push_back("SingleTau");
00198 sParticleOrigin.push_back("PhotonConv");
00199 sParticleOrigin.push_back("DalitzDec");
00200 sParticleOrigin.push_back("ElMagProc");
00201 sParticleOrigin.push_back("Mu");
00202 sParticleOrigin.push_back("TauLep");
00203 sParticleOrigin.push_back("top");
00204 sParticleOrigin.push_back("QuarkWeakDec");
00205 sParticleOrigin.push_back("WBoson");
00206 sParticleOrigin.push_back("ZBoson");
00207 sParticleOrigin.push_back("Higgs");
00208 sParticleOrigin.push_back("HiggsMSSM");
00209 sParticleOrigin.push_back("WZMSSM");
00210 sParticleOrigin.push_back("WBosonLRSM");
00211 sParticleOrigin.push_back("NuREle");
00212 sParticleOrigin.push_back("NuRMu ");
00213 sParticleOrigin.push_back("NuRTau");
00214 sParticleOrigin.push_back("LQ");
00215 sParticleOrigin.push_back("SUSY");
00216 sParticleOrigin.push_back("LightMeson");
00217 sParticleOrigin.push_back("StrangeMeson");
00218 sParticleOrigin.push_back("CharmedMeson");
00219 sParticleOrigin.push_back("BottomMeson");
00220 sParticleOrigin.push_back("CCbarMeson");
00221 sParticleOrigin.push_back("JPsi");
00222 sParticleOrigin.push_back("BBbarMeson");
00223 sParticleOrigin.push_back("LightBaryon");
00224 sParticleOrigin.push_back("StrangeBaryon");
00225 sParticleOrigin.push_back("CharmedBaryon");
00226 sParticleOrigin.push_back("BottomBaryon");
00227 sParticleOrigin.push_back("PionDecay");
00228 sParticleOrigin.push_back("KaonDecay");
00229 sParticleOrigin.push_back("BremPhot");
00230 sParticleOrigin.push_back("PromptPhot");
00231 sParticleOrigin.push_back("UndrPhot");
00232 sParticleOrigin.push_back("ISRPhot");
00233 sParticleOrigin.push_back("FSRPhot");
00234 sParticleOrigin.push_back("NucReact");
00235 sParticleOrigin.push_back("PiZero");
00236 sParticleOrigin.push_back("DiBoson");
00237 sParticleOrigin.push_back("ZorHeavyBoson");
00238 sParticleOrigin.push_back("QCD");
00239
00240 sParticleOutCome.reserve(PARTICLEOUTCOME);
00241 sParticleOutCome.push_back("NonDefinedOutCome");
00242 sParticleOutCome.push_back("UnknownOutCome");
00243 sParticleOutCome.push_back("UnConverted");
00244 sParticleOutCome.push_back("Converted");
00245 sParticleOutCome.push_back("NonInteract");
00246 sParticleOutCome.push_back("NuclInteraction");
00247 sParticleOutCome.push_back("ElectrMagInter");
00248 sParticleOutCome.push_back("DecaytoElectron");
00249 sParticleOutCome.push_back("DecaytoMuon");
00250 sParticleOutCome.push_back("OneProng");
00251 sParticleOutCome.push_back("ThreeProng");
00252 sParticleOutCome.push_back("FiveProng");
00253
00254
00255 }
00256
00257 };
00258
00259 }
00260
00261 #endif // MCTRUTHCLASSIFIER_MCTRUTHCLASSIFIERDEFS_H