00001 #ifndef HLTRHemisphere_h 00002 #define HLTRHemisphere_h 00003 00004 #include "FWCore/Framework/interface/Frameworkfwd.h" 00005 #include "FWCore/Framework/interface/Event.h" 00006 #include "FWCore/Framework/interface/EDFilter.h" 00007 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00008 #include "FWCore/Utilities/interface/InputTag.h" 00009 00010 namespace edm { 00011 class ConfigurationDescriptions; 00012 } 00013 00014 // 00015 // class declaration 00016 // 00017 00018 class HLTRHemisphere : public edm::EDFilter { 00019 00020 public: 00021 00022 explicit HLTRHemisphere(const edm::ParameterSet&); 00023 ~HLTRHemisphere(); 00024 static void fillDescriptions(edm::ConfigurationDescriptions & descriptions); 00025 virtual bool filter(edm::Event&, const edm::EventSetup&); 00026 00027 private: 00028 edm::InputTag inputTag_; // input tag identifying product 00029 edm::InputTag muonTag_; // input tag for the muon objects 00030 bool doMuonCorrection_; // do the muon corrections 00031 double muonEta_; // maximum muon eta 00032 double min_Jet_Pt_; // minimum jet pT threshold for collection 00033 double max_Eta_; // maximum eta 00034 int max_NJ_; // don't calculate R if event has more than NJ jets 00035 bool accNJJets_; // accept or reject events with high NJ 00036 00037 void ComputeHemispheres(std::auto_ptr<std::vector<math::XYZTLorentzVector> >& hlist, const std::vector<math::XYZTLorentzVector>& JETS, std::vector<math::XYZTLorentzVector> *extraJets=0); 00038 }; 00039 00040 #endif //HLTRHemisphere_h