CMS 3D CMS Logo

JetTagComputerESProducer.h
Go to the documentation of this file.
1 #ifndef RecoBTau_JetTagComputerESProducer_h
2 #define RecoBTau_JetTagComputerESProducer_h
3 
4 #include <string>
5 #include <boost/static_assert.hpp>
6 #include <boost/type_traits.hpp>
7 #include <memory>
8 
13 
14 template <typename ConcreteJetTagComputer>
16 private:
17  // check that the template parameter inherits from JetTagComputer
19 
20 public:
22  setWhatProduced(this, m_pset.getParameter<std::string>("@module_label") );
23 
24  }
25 
27  }
28 
29  std::unique_ptr<JetTagComputer> produce(const JetTagComputerRecord & record) {
30  std::unique_ptr<JetTagComputer> jetTagComputer = std::make_unique<ConcreteJetTagComputer>(m_pset);
31  jetTagComputer->initialize(record);
32  jetTagComputer->setupDone();
33  return jetTagComputer;
34  }
35 
36 private:
38 };
39 
40 #endif // RecoBTau_JetTagComputerESProducer_h
T getParameter(std::string const &) const
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
Definition: ESProducer.h:124
JetCorrectorParameters::Record record
Definition: classes.h:7
std::unique_ptr< JetTagComputer > produce(const JetTagComputerRecord &record)
JetTagComputerESProducer(const edm::ParameterSet &pset)