CMS 3D CMS Logo

JetCorrectorProducer.h
Go to the documentation of this file.
1 #ifndef JetMETCorrections_Modules_JetCorrectorProducer_h
2 #define JetMETCorrections_Modules_JetCorrectorProducer_h
3 // -*- C++ -*-
4 //
5 // Package: JetMETCorrections/Modules
6 // Class : JetCorrectorProducer
7 //
16 //
17 // Original Author: Christopher Jones
18 // Created: Sun, 31 Aug 2014 20:40:18 GMT
19 //
20 
21 // system include files
22 #include <memory>
23 
24 // user include files
30 
31 // forward declarations
32 
33 template<typename T>
35 {
36  public:
38  maker_{iPSet,consumesCollector()}
39  {
40  produces<reco::JetCorrector>();
41  }
42 
43  // ---------- member functions ---------------------------
44  void produce(edm::Event& iEvent, edm::EventSetup const& iSetup) override {
45  auto impl =maker_.make(iEvent,iSetup);
46  std::unique_ptr<reco::JetCorrector> corrector{ new reco::JetCorrector{std::move(impl) } };
47  iEvent.put(std::move(corrector));
48  }
49 
50  static void fillDescriptions(edm::ConfigurationDescriptions& iDescriptions) {
51  T::Maker::fillDescriptions(iDescriptions);
52  }
53 
54  private:
55  JetCorrectorProducer(const JetCorrectorProducer&) = delete; // stop default
56 
57  const JetCorrectorProducer& operator=(const JetCorrectorProducer&) = delete; // stop default
58 
59  // ---------- member data --------------------------------
60  typename T::Maker maker_;
61 };
62 
63 
64 #endif
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
Definition: Event.h:125
JetCorrectorProducer(edm::ParameterSet const &iPSet)
int iEvent
Definition: GenABIO.cc:224
static void fillDescriptions(edm::ConfigurationDescriptions &iDescriptions)
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
const JetCorrectorProducer & operator=(const JetCorrectorProducer &)=delete
void produce(edm::Event &iEvent, edm::EventSetup const &iSetup) override
def move(src, dest)
Definition: eostools.py:511