00001 #ifndef TtSemiLepJetCombMVATrainer_h 00002 #define TtSemiLepJetCombMVATrainer_h 00003 00004 #include "FWCore/Framework/interface/Event.h" 00005 #include "FWCore/Framework/interface/EventSetup.h" 00006 #include "FWCore/Framework/interface/EDAnalyzer.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/ParameterSet/interface/InputTag.h" 00011 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00012 00013 #include "PhysicsTools/MVAComputer/interface/HelperMacros.h" 00014 #include "PhysicsTools/MVAComputer/interface/MVAComputerCache.h" 00015 00016 #ifndef TtSemiLepJetCombMVARcd_defined // to avoid conflicts with the TtSemiLepJetCombMVAComputer 00017 #define TtSemiLepJetCombMVARcd_defined 00018 MVA_COMPUTER_CONTAINER_DEFINE(TtSemiLepJetCombMVA); // defines TtSemiLepJetCombMVARcd 00019 #endif 00020 00021 class TtSemiLepJetCombMVATrainer : public edm::EDAnalyzer { 00022 00023 public: 00024 00025 explicit TtSemiLepJetCombMVATrainer(const edm::ParameterSet&); 00026 ~TtSemiLepJetCombMVATrainer(); 00027 00028 private: 00029 00030 virtual void beginJob(const edm::EventSetup&); 00031 virtual void analyze(const edm::Event& evt, const edm::EventSetup& setup); 00032 virtual void endJob(); 00033 00034 edm::InputTag leptons_; 00035 edm::InputTag jets_; 00036 edm::InputTag mets_; 00037 edm::InputTag matching_; 00038 00039 unsigned int maxNJets_; 00040 00041 int lepChannel_; 00042 00043 PhysicsTools::MVAComputerCache mvaComputer; 00044 00045 unsigned int nEvents[5]; 00046 }; 00047 00048 #endif