SusyNtuple
|
00001 // Dear emacs, this is -*- c++ -*- 00002 #ifndef SUSYNTUPLE_MET_H 00003 #define SUSYNTUPLE_MET_H 00004 00005 #include "TObject.h" 00006 #include "TLorentzVector.h" 00007 00008 namespace Susy 00009 { 00011 00014 class Met : public TObject 00015 { 00016 public: 00017 Met(){ clear(); } 00018 virtual ~Met(){}; 00020 Met(const Met &); 00022 Met& operator=(const Met &); 00023 00024 float Et; 00025 float phi; 00026 float sumet; 00027 00029 const TLorentzVector lv() const { 00030 TLorentzVector tlv; 00031 tlv.SetPtEtaPhiE(this->Et,0,this->phi,this->Et); 00032 return tlv; 00033 } 00034 00035 // MET Composition info - do we want TLorentzVectors, TVector2, or just floats? 00036 // TODO: clean out the obsolete term 00037 float refEle_et; 00038 float refEle_phi; 00039 float refEle_sumet; 00040 float refGamma_et; 00041 float refGamma_phi; 00042 float refGamma_sumet; 00043 float refTau_et; 00044 float refTau_phi; 00045 float refTau_sumet; 00046 float refJet_et; 00047 float refJet_phi; 00048 float refJet_sumet; 00049 float softTerm_et; 00050 float softTerm_phi; 00051 float softTerm_sumet; 00052 float refMuo_et; 00053 float refMuo_phi; 00054 float refMuo_sumet; 00055 00056 // I'm not a big fan of the way this is setup, would like to improve it someday 00057 int sys; 00058 00059 00061 void print() const; 00062 00064 void clear(){ 00065 Et = phi = sumet = 0; 00066 refEle_et = refGamma_et = refTau_et = refJet_et = softTerm_et = refMuo_et = 0; 00067 refEle_phi = refGamma_phi = refTau_phi = refJet_phi = softTerm_phi = refMuo_phi = 0; 00068 refEle_sumet = refGamma_sumet = refTau_sumet = refJet_sumet = softTerm_sumet = refMuo_sumet = 0; 00069 sys = 0; 00070 } 00071 00072 ClassDef(Met, 5); 00073 }; 00074 } // Susy 00075 #endif