SusyNtuple
SusyNtuple/MCTruthClassifierDefs.h
00001 #ifndef MCTRUTHCLASSIFIER_MCTRUTHCLASSIFIERDEFS_H
00002 #define MCTRUTHCLASSIFIER_MCTRUTHCLASSIFIERDEFS_H
00003 /********************************************************************
00004 
00005 NAME:     MCTruthClassifierDefs.h 
00006 PACKAGE:  atlasoff/PhysicsAnalysis/MCTruthClassifier
00007 
00008 AUTHORS:  O. Fedin
00009 CREATED:  Oct 2007
00010 
00011 PURPOSE:  
00012           
00013 Updated:  
00014 ********************************************************************/
00015 #include <vector>
00016 #include <string>
00017 //
00018 #define PARTICLETYPES   23
00019 #define PARTICLEORIGIN  45
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   };
00050 
00051   enum ParticleOrigin {
00052 
00053     NonDefined    = 0,
00054 
00055     SingleElec    = 1,
00056     SingleMuon    = 2,
00057     SinglePhot    = 3,
00058     SingleTau     = 4,
00059 
00060 
00061     PhotonConv    = 5,
00062     DalitzDec     = 6,
00063     ElMagProc     = 7,
00064     Mu            = 8,
00065     TauLep        = 9,
00066     top           = 10,
00067     QuarkWeakDec  = 11,
00068     WBoson        = 12,
00069     ZBoson        = 13,
00070     Higgs         = 14,
00071     HiggsMSSM     = 15,
00072     HeavyBoson    = 16,
00073     WBosonLRSM    = 17,
00074     NuREle        = 18,
00075     NuRMu         = 19,
00076     NuRTau        = 20,
00077     LQ            = 21,
00078 
00079     SUSY          = 22,
00080     LightMeson    = 23,
00081     StrangeMeson  = 24,
00082     CharmedMeson  = 25,
00083     BottomMeson   = 26,
00084     CCbarMeson    = 27,
00085     JPsi          = 28,
00086     BBbarMeson    = 29,  
00087     LightBaryon   = 30,
00088     StrangeBaryon = 31,
00089     CharmedBaryon = 32, 
00090     BottomBaryon  = 33,
00091     PionDecay     = 34,
00092     KaonDecay     = 35,
00093     BremPhot      = 36,
00094     PromptPhot    = 37,
00095     UndrPhot      = 38,
00096     ISRPhot       = 39,
00097     FSRPhot       = 40, 
00098     NucReact      = 41,
00099     PiZero        = 42,
00100     DiBoson       = 43,
00101     ZorHeavyBoson = 44
00102   };
00103 
00104   enum ParticleOutCome {
00105     NonDefinedOutCome  =  0,  
00106     UnknownOutCome     =  1,  
00107     UnConverted        =  2,
00108     Converted          =  3,
00109     NonInteract        =  4,
00110     NuclInteraction    =  5,
00111     ElectrMagInter     =  6,
00112     DecaytoElectron    =  7,
00113     DecaytoMuon        =  8,
00114     OneProng           =  9,
00115     ThreeProng         = 10,
00116     FiveProng          = 11
00117    };
00118 
00119 
00120 
00121  struct ParticleDef {
00122   
00124   std::vector<std::string> sParticleType;   
00126   std::vector<std::string> sParticleOrigin;   
00128   std::vector<std::string> sParticleOutCome;   
00129    
00131   ParticleDef()
00132   {
00133    sParticleType.reserve(PARTICLETYPES);
00134 
00135    sParticleType.push_back("Unknown"); 
00136    sParticleType.push_back("UnknownElectron"); 
00137    sParticleType.push_back("IsoElectron"); 
00138    sParticleType.push_back("NonIsoElectron");
00139    sParticleType.push_back("BkgElectron");
00140    sParticleType.push_back("UnknownMuon");
00141    sParticleType.push_back("IsoMuon");
00142    sParticleType.push_back("NonIsoMuon");
00143    sParticleType.push_back("BkgMuon");
00144    sParticleType.push_back("UnknownTau");
00145    sParticleType.push_back("IsoTau");
00146    sParticleType.push_back("NonIsoTau");
00147    sParticleType.push_back("BkgTau");
00148    sParticleType.push_back("UnknownPhoton");
00149    sParticleType.push_back("IsoPhoton");
00150    sParticleType.push_back("NonIsoPhoton");
00151    sParticleType.push_back("BkgPhoton");
00152    sParticleType.push_back("Hadron");
00153    sParticleType.push_back("Neutrino");
00154    sParticleType.push_back("NuclFrag");
00155    sParticleType.push_back("NonPrimary");
00156    sParticleType.push_back("GenParticle"); 
00157    sParticleType.push_back("SUSYParticle"); 
00158 
00159    sParticleOrigin.reserve(PARTICLEORIGIN);
00160    sParticleOrigin.push_back("NonDefined");
00161    sParticleOrigin.push_back("SingleElec");
00162    sParticleOrigin.push_back("SingleMuon");
00163    sParticleOrigin.push_back("SinglePhot");
00164    sParticleOrigin.push_back("SingleTau");
00165    sParticleOrigin.push_back("PhotonConv");
00166    sParticleOrigin.push_back("DalitzDec");
00167    sParticleOrigin.push_back("ElMagProc");
00168    sParticleOrigin.push_back("Mu");
00169    sParticleOrigin.push_back("TauLep");
00170    sParticleOrigin.push_back("top");
00171    sParticleOrigin.push_back("QuarkWeakDec");
00172    sParticleOrigin.push_back("WBoson");
00173    sParticleOrigin.push_back("ZBoson");
00174    sParticleOrigin.push_back("Higgs");
00175    sParticleOrigin.push_back("HiggsMSSM");
00176    sParticleOrigin.push_back("WZMSSM");
00177    sParticleOrigin.push_back("WBosonLRSM");
00178    sParticleOrigin.push_back("NuREle");
00179    sParticleOrigin.push_back("NuRMu ");
00180    sParticleOrigin.push_back("NuRTau");
00181    sParticleOrigin.push_back("LQ");
00182    sParticleOrigin.push_back("SUSY");
00183    sParticleOrigin.push_back("LightMeson");
00184    sParticleOrigin.push_back("StrangeMeson");
00185    sParticleOrigin.push_back("CharmedMeson");
00186    sParticleOrigin.push_back("BottomMeson");
00187    sParticleOrigin.push_back("CCbarMeson");
00188    sParticleOrigin.push_back("JPsi");
00189    sParticleOrigin.push_back("BBbarMeson");
00190    sParticleOrigin.push_back("LightBaryon");
00191    sParticleOrigin.push_back("StrangeBaryon");
00192    sParticleOrigin.push_back("CharmedBaryon");
00193    sParticleOrigin.push_back("BottomBaryon");
00194    sParticleOrigin.push_back("PionDecay");
00195    sParticleOrigin.push_back("KaonDecay");
00196    sParticleOrigin.push_back("BremPhot");
00197    sParticleOrigin.push_back("PromptPhot");
00198    sParticleOrigin.push_back("UndrPhot");
00199    sParticleOrigin.push_back("ISRPhot");
00200    sParticleOrigin.push_back("FSRPhot");
00201    sParticleOrigin.push_back("NucReact");
00202    sParticleOrigin.push_back("PiZero");
00203    sParticleOrigin.push_back("DiBoson");
00204    sParticleOrigin.push_back("ZorHeavyBoson");
00205 
00206    sParticleOutCome.reserve(PARTICLEOUTCOME);
00207    sParticleOutCome.push_back("NonDefinedOutCome");
00208    sParticleOutCome.push_back("UnknownOutCome");
00209    sParticleOutCome.push_back("UnConverted");
00210    sParticleOutCome.push_back("Converted");
00211    sParticleOutCome.push_back("NonInteract");
00212    sParticleOutCome.push_back("NuclInteraction");
00213    sParticleOutCome.push_back("ElectrMagInter");
00214    sParticleOutCome.push_back("DecaytoElectron");
00215    sParticleOutCome.push_back("DecaytoMuon");
00216    sParticleOutCome.push_back("OneProng");
00217    sParticleOutCome.push_back("ThreeProng");
00218    sParticleOutCome.push_back("FiveProng");
00219 
00220 
00221   }
00222        
00223  };
00224     
00225 }
00226 
00227 #endif // MCTRUTHCLASSIFIER_MCTRUTHCLASSIFIERDEFS_H 
 All Classes Functions Variables Typedefs Enumerations Enumerator