00001 #ifndef TtSemiLepJetCombMVAComputer_h 00002 #define TtSemiLepJetCombMVAComputer_h 00003 00004 #include "FWCore/Framework/interface/Event.h" 00005 #include "FWCore/Framework/interface/EventSetup.h" 00006 #include "FWCore/Framework/interface/EDProducer.h" 00007 #include "FWCore/Framework/interface/Frameworkfwd.h" 00008 #include "FWCore/Framework/interface/MakerMacros.h" 00009 #include "FWCore/Framework/interface/ESHandle.h" 00010 #include "FWCore/ServiceRegistry/interface/Service.h" 00011 #include "FWCore/ParameterSet/interface/InputTag.h" 00012 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00013 #include "PhysicsTools/UtilAlgos/interface/TFileService.h" 00014 00015 #include "PhysicsTools/MVAComputer/interface/HelperMacros.h" 00016 #include "PhysicsTools/MVAComputer/interface/MVAComputerCache.h" 00017 00018 #ifndef TtSemiLepJetCombMVARcd_defined // to avoid conflicts with the TtSemiLepJetCombMVATrainer 00019 #define TtSemiLepJetCombMVARcd_defined 00020 MVA_COMPUTER_CONTAINER_DEFINE(TtSemiLepJetCombMVA); // defines TtSemiLepJetCombMVARcd 00021 #endif 00022 00023 class TtSemiLepJetCombMVAComputer : public edm::EDProducer { 00024 00025 public: 00026 00027 explicit TtSemiLepJetCombMVAComputer(const edm::ParameterSet&); 00028 ~TtSemiLepJetCombMVAComputer(); 00029 00030 private: 00031 00032 virtual void beginJob(const edm::EventSetup&); 00033 virtual void produce(edm::Event& evt, const edm::EventSetup& setup); 00034 virtual void endJob(); 00035 00036 edm::InputTag leptons_; 00037 edm::InputTag jets_; 00038 edm::InputTag mets_; 00039 00040 int maxNJets_; 00041 int maxNComb_; 00042 00043 PhysicsTools::MVAComputerCache mvaComputer; 00044 00045 }; 00046 00047 #endif