Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:31:20

0001 #ifndef TtSemiLepJetCombMVAComputer_h
0002 #define TtSemiLepJetCombMVAComputer_h
0003 
0004 #include "FWCore/Framework/interface/Event.h"
0005 #include "FWCore/Framework/interface/stream/EDProducer.h"
0006 
0007 #include "PhysicsTools/MVAComputer/interface/HelperMacros.h"
0008 #include "PhysicsTools/MVAComputer/interface/MVAComputerCache.h"
0009 
0010 #include "AnalysisDataFormats/TopObjects/interface/TtSemiLepEvtPartons.h"
0011 #include "DataFormats/PatCandidates/interface/Jet.h"
0012 #include "DataFormats/RecoCandidate/interface/RecoCandidate.h"
0013 
0014 #include "TopQuarkAnalysis/TopJetCombination/interface/TtSemiLepJetCombEval.h"
0015 
0016 #ifndef TtSemiLepJetCombMVARcd_defined  // to avoid conflicts with the TtSemiLepJetCombMVATrainer
0017 #define TtSemiLepJetCombMVARcd_defined
0018 MVA_COMPUTER_CONTAINER_DEFINE(TtSemiLepJetCombMVA);  // defines TtSemiLepJetCombMVARcd
0019 #endif
0020 
0021 class TtSemiLepJetCombMVAComputer : public edm::stream::EDProducer<> {
0022 public:
0023   explicit TtSemiLepJetCombMVAComputer(const edm::ParameterSet&);
0024 
0025 private:
0026   void produce(edm::Event& evt, const edm::EventSetup& setup) override;
0027 
0028   edm::ESGetToken<PhysicsTools::Calibration::MVAComputerContainer, TtSemiLepJetCombMVARcd> mvaToken_;
0029   edm::EDGetTokenT<edm::View<reco::RecoCandidate>> lepsToken_;
0030   edm::EDGetTokenT<std::vector<pat::Jet>> jetsToken_;
0031   edm::EDGetTokenT<std::vector<pat::MET>> metsToken_;
0032 
0033   const int maxNJets_;
0034   const int maxNComb_;
0035 
0036   PhysicsTools::MVAComputerCache mvaComputer;
0037 };
0038 
0039 #endif