00001 #ifndef CAFUTIL_RECOMPUTEMET_HPP__ 00002 #define CAFUTIL_RECOMPUTEMET_HPP__ 00003 00004 00005 #include <string> 00006 #include <stdexcept> 00007 00008 #include "cafe/Event.hpp" 00009 #include "cafe/Processor.hpp" 00010 #include "cafe/Config.hpp" 00011 #include "cafe/Variables.hpp" 00012 00013 #include "tmb_tree/TMBMet.hpp" 00014 00015 #include "TFile.h" 00016 #include "TTree.h" 00017 #include "TBranch.h" 00018 00019 namespace caf_util { 00020 00061 class ReComputeMET : public cafe::Processor 00062 { 00063 public : 00064 ReComputeMET(const char *name); 00065 ~ReComputeMET(){;}; 00066 bool processEvent(cafe::Event& event); 00067 void inputFileOpened(TFile *file); 00068 void inputFileClosing(TFile *file); 00069 00070 enum JES {NotShifted, ShiftedPos, ShiftedNeg} ; 00071 void setJES(const JES& jes) {_jes = jes;} 00072 00073 private : 00074 00075 std::string _fromBranch; 00076 std::string _toBranch; 00077 std::string _treeName; 00078 TTree *_tree; 00079 TBranch *_branch; 00080 TMBMet *_result; 00081 00082 cafe::Variables _vars, _mcvars; 00083 00084 std::string _muonBranch; 00085 std::string _electronBranch; 00086 std::string _jetBranch; 00087 bool _debug; 00088 bool _useDefaultMuon; 00089 bool _useDefaultElectron; 00090 bool _useDefaultJet; 00091 00092 std::vector<std::string> _valgo; 00093 00094 JES _jes ; 00095 00096 public: 00097 ClassDef(ReComputeMET, 0); 00098 }; 00099 } 00100 00101 #endif // CAFUTIL_RECOMPUTEMET_HPP__
1.3.4