SusyNtuple
|
00001 // Dear emacs, this is -*- c++ -*- 00002 #ifndef SUSYNTUPLE_TRACKMET_H 00003 #define SUSYNTUPLE_TRACKMET_H 00004 00005 #include "TObject.h" 00006 #include "TLorentzVector.h" 00007 00008 namespace Susy 00009 { 00010 class TrackMet : public TObject 00011 { 00012 public: 00013 TrackMet() { clear(); } 00014 virtual ~TrackMet() {}; 00016 TrackMet(const TrackMet &); 00018 TrackMet& operator=(const TrackMet &); 00019 00020 float Et; 00021 float phi; 00022 float sumet; 00023 00025 const TLorentzVector lv() const 00026 { 00027 TLorentzVector tlv; 00028 tlv.SetPtEtaPhiE(this->Et, 0, this->phi, this->Et); 00029 return tlv; 00030 } 00031 00032 // MET terms 00033 float refEle_et; 00034 float refEle_phi; 00035 float refEle_sumet; 00036 00037 float refMuo_et; 00038 float refMuo_phi; 00039 float refMuo_sumet; 00040 00041 float refJet_et; 00042 float refJet_phi; 00043 float refJet_sumet; 00044 00045 float softTerm_et; 00046 float softTerm_phi; 00047 float softTerm_sumet; 00048 00049 // I'm not a big fan of the way this is setup, would like to improve it someday 00050 int sys; 00051 00053 void print() const; 00054 00056 void clear() 00057 { 00058 Et = phi = sumet = 0.; 00059 // ele term 00060 refEle_et = refEle_phi = refEle_sumet = 0.; 00061 // muon term 00062 refMuo_et = refMuo_phi = refMuo_sumet = 0.; 00063 // jet term 00064 refJet_et = refJet_phi = refJet_sumet = 0.; 00065 // soft term 00066 softTerm_et = softTerm_phi = softTerm_sumet = 0.; 00067 00068 sys = 0; 00069 } 00070 00071 ClassDef(TrackMet, 2); 00072 }; 00073 } // Susy 00074 #endif