00001 #ifndef CAFUTIL_APPLYJES_HPP__ 00002 #define CAFUTIL_APPLYJES_HPP__ 00003 00004 00005 #include <string> 00006 #include "cafe/SelectUserObjects.hpp" 00007 #include "cafe/Event.hpp" 00008 #include "tmb_tree/TMBJet.hpp" 00009 #include "tmb_tree/TMBMuon.hpp" 00010 #include "jetcorr/ParticleJetCorr.hpp" 00011 00012 namespace caf_util { 00013 00048 class ApplyJES : public cafe::SelectUserObjects<TMBJet> 00049 { 00050 public : 00051 ApplyJES(const char *name); 00052 ~ApplyJES(){;}; 00053 bool processEvent(cafe::Event& event); 00054 bool selectObject(const TMBJet &jet); 00055 00056 private : 00057 00058 void after(cafe::Collection<TMBJet>& accepted, cafe::Collection<TMBJet>& rejected); 00059 float PTrel(const TMBMuon* muon, const TMBJet& jet); 00060 00061 std::string _muonBranch; 00062 std::string _jetBranch; 00063 bool _debug; 00064 bool _isMC; 00065 bool _doJESMU; 00066 int _jes_datatype; 00067 int _jes_jetalgo; 00068 00069 float _muotag_dr; 00070 float _muotag_ptrel; 00071 00072 cafe::Event* _event ; 00073 cafe::Variables _vars; 00074 00075 ParticleJetCorr _pjc; 00076 bool _useDefaultMuon; 00077 bool _addDataErr2MC; 00078 bool _p1803cafPatch; 00079 00080 public: 00081 ClassDef(ApplyJES, 1); 00082 }; 00083 } 00084 00085 #endif // CAFE_APPLYJES_HPP__
1.3.4