SusyNtuple
|
00001 // Dear emacs, this is -*- c++ -*- 00002 #ifndef SUSYNTUPLE_LEPTON_H 00003 #define SUSYNTUPLE_LEPTON_H 00004 00005 #include "SusyNtuple/Particle.h" 00006 00007 #include "TBits.h" 00008 00009 namespace Susy 00010 { 00012 class Lepton : public Particle 00013 { 00014 public: 00015 Lepton() : 00016 trigBits(m_nTriggerBits) 00017 { 00018 clear(); 00019 } 00020 virtual ~Lepton(){}; 00022 Lepton(const Lepton &); 00024 Lepton& operator=(const Lepton &); 00025 00026 // public member vars 00027 int q; 00028 bool isBaseline; 00029 bool isSignal; 00030 00031 //Iso var -- same fer ele & mu 00032 //Etcone to be drop later in run-2 00033 float etconetopo20; 00034 float etconetopo30; 00035 float ptcone20; 00036 float ptcone30; 00037 float ptvarcone20; 00038 float ptvarcone30; 00039 00040 // IsolationSelectionTool flags 00041 bool isoGradientLoose; 00042 bool isoGradient; 00043 bool isoLooseTrackOnly; 00044 bool isoLoose; 00045 bool isoTight; 00046 00047 00048 float d0; 00049 float errD0; 00050 float d0sigBSCorr; 00051 float z0; 00052 float errZ0; 00053 00054 unsigned int mcType; 00055 unsigned int mcOrigin; 00056 00057 bool matched2TruthLepton; 00058 int truthType; 00059 00060 float effSF; 00061 //float errEffSF; ///< Uncertainty on the efficiency scale factor (for electron from LH) 00062 00063 TBits trigBits; 00064 static const size_t m_nTriggerBits=64; 00065 00067 00068 float d0Sig() const { 00069 return d0/errD0; 00070 } 00071 float z0SinTheta() const { 00072 return z0 * sin(Theta()); 00073 } 00074 00075 // Polymorphism, baby!! 00076 virtual bool isEle() const { return false; } 00077 virtual bool isMu() const { return false; } 00078 void setState(int sys){ resetTLV(); } 00079 00081 virtual void print() const {}; 00082 00084 void clear(){ 00085 q = 0; 00086 etconetopo20 = etconetopo30 00087 = ptcone20 = ptcone30 00088 = ptvarcone20 = ptvarcone30 = 0; 00089 isoGradientLoose = isoGradient = isoLooseTrackOnly = isoLoose = isoTight = false; 00090 d0 = errD0 = d0sigBSCorr = z0 = errZ0 = 0; 00091 mcType = mcOrigin = 0; 00092 matched2TruthLepton = false; 00093 truthType = -1; 00094 effSF = 1; 00095 //errEffSF = 0; 00096 isBaseline = isSignal = false; 00097 Particle::clear(); 00098 } 00099 00100 ClassDef(Lepton, 20); 00101 }; 00102 } // Susy 00103 #endif