00001 #ifndef CAFUTIL_TOPOLOGICALSELECTOR_HPP__ 00002 #define CAFUTIL_TOPOLOGICALSELECTOR_HPP__ 00003 00004 #include "cafe/Event.hpp" 00005 #include "cafe/Processor.hpp" 00006 00007 #include <string> 00008 00009 namespace caf_util { 00010 00054 class TopologicalSelector : public cafe::Processor 00055 { 00056 private: 00057 00058 std::string _electronBranch ;//< electron branch name 00059 std::string _muonBranch ;//< muon branch name 00060 std::string _jetBranch ;//< jet branch name 00061 00062 int _nelectrons ; //< maximal number of electrons used for HT calculation 00063 int _nmuons ; //< maximal number of muons used for HT calculation 00064 int _njets ; //< maximal number of jets used for HT calculation 00065 00066 float _minHT ; //< lower cut on HT 00067 float _maxHT ; //< upper cut on HT 00068 00069 float _minHTleadL ; //< lower cut on HT with leading lepton 00070 float _maxHTleadL ; //< upper cut on HT wih leading lepton 00071 00072 float _minHTleptons ; //< lower cut on HT with leptons 00073 float _maxHTleptons ; //< upper cut on HT with leptons 00074 00075 std::string _htVarName ;//< global HT variable name 00076 std::string _htLeadLVarName ;//< global "HT with leading lepton" variable name 00077 std::string _htLeptonsVarName ;//< global "HT with leptons" variable name 00078 00079 bool _calcHT, _calcHTLeadL, _calcHTLeptons ; 00080 00082 cafe::Variables _jetvars, _emvars, _muvars ; 00083 00084 public: 00085 00086 TopologicalSelector(const char *name); 00087 ~TopologicalSelector() {} 00088 bool processEvent(cafe::Event &event); 00089 00090 ClassDef(TopologicalSelector, 0) ; 00091 }; 00092 00093 } 00094 #endif // CAFUTIL_TopologicalSELECTOR_HPP__
1.3.4