CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes
PhysicsTools::MVAComputerESSourceBase Class Reference

#include <MVAComputerESSourceBase.h>

Inheritance diagram for PhysicsTools::MVAComputerESSourceBase:
edm::ESProducer edm::ESProxyFactoryProducer edm::eventsetup::DataProxyProvider PhysicsTools::MVAComputerESSourceImpl< RecordType >

Public Types

using ReturnType = std::unique_ptr< Calibration::MVAComputerContainer >
 
- Public Types inherited from edm::eventsetup::DataProxyProvider
typedef std::vector< std::pair< DataKey, edm::propagate_const< std::shared_ptr< DataProxy > > > > KeyedProxies
 
typedef std::vector< EventSetupRecordKeyKeys
 
typedef std::map< EventSetupRecordKey, KeyedProxiesRecordProxies
 

Public Member Functions

 MVAComputerESSourceBase (const edm::ParameterSet &params)
 
 ~MVAComputerESSourceBase () override
 
- Public Member Functions inherited from edm::ESProducer
 ESProducer ()
 
 ~ESProducer ()(false) override
 
- Public Member Functions inherited from edm::ESProxyFactoryProducer
 ESProxyFactoryProducer ()
 
void newInterval (const eventsetup::EventSetupRecordKey &iRecordType, const ValidityInterval &iInterval) override
 overrides DataProxyProvider method More...
 
 ~ESProxyFactoryProducer () noexcept(false) override
 
- Public Member Functions inherited from edm::eventsetup::DataProxyProvider
 DataProxyProvider ()
 
const ComponentDescriptiondescription () const
 
bool isUsingRecord (const EventSetupRecordKey &) const
 
const KeyedProxieskeyedProxies (const EventSetupRecordKey &iRecordKey) const
 
void resetProxies (const EventSetupRecordKey &iRecordType)
 
void resetProxiesIfTransient (const EventSetupRecordKey &iRecordType)
 
void setAppendToDataLabel (const edm::ParameterSet &)
 
void setDescription (const ComponentDescription &iDescription)
 
std::set< EventSetupRecordKeyusingRecords () const
 
virtual ~DataProxyProvider () noexcept(false)
 

Protected Types

typedef std::map< std::string, std::string > LabelFileMap
 

Protected Member Functions

ReturnType produce () const
 
- Protected Member Functions inherited from edm::ESProducer
 ESProducer (const ESProducer &)=delete
 
ESProducer const & operator= (const ESProducer &)=delete
 
template<typename T >
auto setWhatProduced (T *iThis, const es::Label &iLabel={})
 
template<typename T >
auto setWhatProduced (T *iThis, const char *iLabel)
 
template<typename T >
auto setWhatProduced (T *iThis, const std::string &iLabel)
 
template<typename T , typename TDecorator >
auto setWhatProduced (T *iThis, const TDecorator &iDec, const es::Label &iLabel={})
 
template<typename T , typename TReturn , typename TRecord >
auto setWhatProduced (T *iThis, TReturn(T::*iMethod)(const TRecord &), const es::Label &iLabel={})
 
template<typename T , typename TReturn , typename TRecord , typename TArg >
ESConsumesCollector setWhatProduced (T *iThis, TReturn(T::*iMethod)(const TRecord &), const TArg &iDec, const es::Label &iLabel={})
 
- Protected Member Functions inherited from edm::ESProxyFactoryProducer
template<class TFactory >
void registerFactory (std::unique_ptr< TFactory > iFactory, const std::string &iLabel=std::string())
 
virtual void registerFactoryWithKey (const eventsetup::EventSetupRecordKey &iRecord, std::unique_ptr< eventsetup::ProxyFactoryBase > iFactory, const std::string &iLabel=std::string())
 
void registerProxies (const eventsetup::EventSetupRecordKey &iRecord, KeyedProxies &aProxyList) override
 override DataProxyProvider method More...
 
- Protected Member Functions inherited from edm::eventsetup::DataProxyProvider
void eraseAll (const EventSetupRecordKey &iRecordKey)
 deletes all the Proxies in aStream More...
 
void invalidateProxies (const EventSetupRecordKey &iRecordKey)
 
template<class T >
void usingRecord ()
 
void usingRecordWithKey (const EventSetupRecordKey &)
 

Protected Attributes

LabelFileMap mvaCalibrations
 

Additional Inherited Members

- Static Public Member Functions inherited from edm::eventsetup::DataProxyProvider
static void prevalidate (ConfigurationDescriptions &)
 

Detailed Description

Definition at line 17 of file MVAComputerESSourceBase.h.

Member Typedef Documentation

typedef std::map<std::string, std::string> PhysicsTools::MVAComputerESSourceBase::LabelFileMap
protected

Definition at line 27 of file MVAComputerESSourceBase.h.

Definition at line 19 of file MVAComputerESSourceBase.h.

Constructor & Destructor Documentation

PhysicsTools::MVAComputerESSourceBase::MVAComputerESSourceBase ( const edm::ParameterSet params)

Definition at line 19 of file MVAComputerESSourceBase.cc.

References mps_splice::entry, edm::FileInPath::fullPath(), edm::Entry::getFileInPath(), edm::ParameterSet::getParameterNames(), edm::Entry::getString(), mvaCalibrations, names, callgraph::path, edm::ParameterSet::retrieve(), AlCaHLTBitMon_QueryRunRegistry::string, and edm::Entry::typeCode().

21 {
22  std::vector<std::string> names = params.getParameterNames();
23  for(std::vector<std::string>::const_iterator iter = names.begin();
24  iter != names.end(); iter++) {
25  if (iter->c_str()[0] == '@')
26  continue;
27 
28  const edm::Entry &entry = params.retrieve(*iter);
29 
31  if (entry.typeCode() == 'F')
32  path = entry.getFileInPath().fullPath();
33  else
34  path = entry.getString();
35 
36  mvaCalibrations[*iter] = path;
37  }
38 }
Entry const & retrieve(char const *) const
const std::string names[nVars_]
std::vector< std::string > getParameterNames() const
FileInPath getFileInPath() const
Definition: Entry.cc:785
std::string fullPath() const
Definition: FileInPath.cc:197
char typeCode() const
Definition: Entry.h:179
std::string getString() const
Definition: Entry.cc:762
PhysicsTools::MVAComputerESSourceBase::~MVAComputerESSourceBase ( )
override

Definition at line 40 of file MVAComputerESSourceBase.cc.

41 {
42 }

Member Function Documentation

MVAComputerESSourceBase::ReturnType PhysicsTools::MVAComputerESSourceBase::produce ( ) const
protected

Definition at line 45 of file MVAComputerESSourceBase.cc.

References mvaCalibrations, and PhysicsTools::MVAComputer::readCalibration().

Referenced by PhysicsTools::MVAComputerESSourceImpl< RecordType >::produce().

46 {
47  auto container = std::make_unique<Calibration::MVAComputerContainer>();
48 
49  for(LabelFileMap::const_iterator iter = mvaCalibrations.begin();
50  iter != mvaCalibrations.end(); iter++) {
51  std::unique_ptr<Calibration::MVAComputer> calibration(
52  MVAComputer::readCalibration(iter->second.c_str()));
53 
54  container->add(iter->first) = *calibration;
55  }
56 
57  return container;
58 }
static Calibration::MVAComputer * readCalibration(const char *filename)
read calibration object from plain file
Definition: MVAComputer.cc:232

Member Data Documentation

LabelFileMap PhysicsTools::MVAComputerESSourceBase::mvaCalibrations
protected

Definition at line 29 of file MVAComputerESSourceBase.h.

Referenced by MVAComputerESSourceBase(), and produce().