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/Utilities/interface/InputTag.h" 00011 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00012 00013 #include "AnalysisDataFormats/TopObjects/interface/TopGenEvent.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 TtSemiLepJetCombMVAComputer 00019 #define TtSemiLepJetCombMVARcd_defined 00020 MVA_COMPUTER_CONTAINER_DEFINE(TtSemiLepJetCombMVA); // defines TtSemiLepJetCombMVARcd 00021 #endif 00022 00023 class TtSemiLepJetCombMVATrainer : public edm::EDAnalyzer { 00024 00025 public: 00026 00027 explicit TtSemiLepJetCombMVATrainer(const edm::ParameterSet&); 00028 ~TtSemiLepJetCombMVATrainer(); 00029 00030 private: 00031 00032 virtual void beginJob(); 00033 virtual void analyze(const edm::Event& evt, const edm::EventSetup& setup); 00034 virtual void endJob(); 00035 00036 WDecay::LeptonType readLeptonType(const std::string& str); 00037 00038 edm::InputTag leps_; 00039 edm::InputTag jets_; 00040 edm::InputTag mets_; 00041 edm::InputTag matching_; 00042 00043 int maxNJets_; 00044 00045 WDecay::LeptonType leptonType_; 00046 00047 PhysicsTools::MVAComputerCache mvaComputer; 00048 00049 unsigned int nEvents[5]; 00050 }; 00051 00052 #endif