CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 <boost/shared_ptr.hpp>
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  m_jetTagComputer = boost::shared_ptr<JetTagComputer>( new ConcreteJetTagComputer( m_pset ) );
25  }
26 
28  }
29 
30  boost::shared_ptr<JetTagComputer> produce(const JetTagComputerRecord & record) {
31  return m_jetTagComputer;
32  }
33 
34 private:
35  boost::shared_ptr<JetTagComputer> m_jetTagComputer;
37 };
38 
39 #endif // RecoBTau_JetTagComputerESProducer_h
T getParameter(std::string const &) const
JetCorrectorParameters::Record record
Definition: classes.h:11
void setWhatProduced(T *iThis, const es::Label &iLabel=es::Label())
Definition: ESProducer.h:115
boost::shared_ptr< JetTagComputer > produce(const JetTagComputerRecord &record)
BOOST_STATIC_ASSERT((boost::is_convertible< ConcreteJetTagComputer *, JetTagComputer * >::value))
JetTagComputerESProducer(const edm::ParameterSet &pset)
boost::shared_ptr< JetTagComputer > m_jetTagComputer