CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Classes | Public Types | Public Member Functions
PhysicsTools::MVATrainerContainerLooperImpl< Record_t > Class Template Reference

#include <MVATrainerLooperImpl.h>

Inheritance diagram for PhysicsTools::MVATrainerContainerLooperImpl< Record_t >:
PhysicsTools::MVATrainerLooper edm::ESProducerLooper edm::ESProducer edm::EventSetupRecordIntervalFinder edm::EDLooper edm::ESProxyFactoryProducer edm::EDLooperBase edm::eventsetup::DataProxyProvider

Classes

class  Trainer
 

Public Types

enum  { kTrainer, kTrained }
 
- Public Types inherited from PhysicsTools::MVATrainerLooper
typedef boost::shared_ptr
< Calibration::MVAComputerContainer
TrainContainer
 
typedef boost::shared_ptr
< Calibration::MVAComputer
TrainObject
 
- Public Types inherited from edm::eventsetup::DataProxyProvider
typedef std::vector< std::pair
< DataKey, boost::shared_ptr
< DataProxy > > > 
KeyedProxies
 
typedef std::vector
< EventSetupRecordKey
Keys
 
typedef std::map
< EventSetupRecordKey,
KeyedProxies
RecordProxies
 
- Public Types inherited from edm::EDLooperBase
enum  Status { kContinue, kStop }
 

Public Member Functions

 MVATrainerContainerLooperImpl (const edm::ParameterSet &params)
 
edm::ESProducts< edm::es::L
< Calibration::MVAComputerContainer,
kTrainer >, edm::es::L
< Calibration::MVAComputerContainer,
kTrained > > 
produce (const Record_t &record)
 
virtual ~MVATrainerContainerLooperImpl ()
 
- Public Member Functions inherited from PhysicsTools::MVATrainerLooper
virtual Status duringLoop (const edm::Event &ev, const edm::EventSetup &es)
 
virtual Status endOfLoop (const edm::EventSetup &es, unsigned int iteration)
 
template<>
bool isUntrained (const Calibration::MVAComputer *ptr)
 
template<>
bool isUntrained (const Calibration::MVAComputerContainer *ptr)
 
 MVATrainerLooper (const edm::ParameterSet &params)
 
virtual void startingNewLoop (unsigned int iteration)
 
virtual ~MVATrainerLooper ()
 
- Public Member Functions inherited from edm::ESProducerLooper
 ESProducerLooper ()
 
virtual std::set
< eventsetup::EventSetupRecordKey
modifyingRecords () const
 
- Public Member Functions inherited from edm::ESProducer
 ESProducer ()
 
virtual ~ESProducer ()
 
- Public Member Functions inherited from edm::ESProxyFactoryProducer
 ESProxyFactoryProducer ()
 
virtual void newInterval (const eventsetup::EventSetupRecordKey &iRecordType, const ValidityInterval &iInterval)
 overrides DataProxyProvider method More...
 
virtual ~ESProxyFactoryProducer ()
 
- 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 ()
 
- Public Member Functions inherited from edm::EventSetupRecordIntervalFinder
const
eventsetup::ComponentDescription
descriptionForFinder () const
 
 EventSetupRecordIntervalFinder ()
 
std::set
< eventsetup::EventSetupRecordKey
findingForRecords () const
 
const ValidityIntervalfindIntervalFor (const eventsetup::EventSetupRecordKey &, const IOVSyncValue &)
 
void setDescriptionForFinder (const eventsetup::ComponentDescription &iDescription)
 
virtual ~EventSetupRecordIntervalFinder ()
 
- Public Member Functions inherited from edm::EDLooper
 EDLooper ()
 
 EDLooper (EDLooper const &)=delete
 
EDLooperoperator= (EDLooper const &)=delete
 
virtual ~EDLooper ()
 
- Public Member Functions inherited from edm::EDLooperBase
virtual void attachTo (ActivityRegistry &)
 Override this method if you need to monitor the state of the processing. More...
 
virtual void beginOfJob (EventSetup const &)
 
virtual void beginOfJob ()
 
void copyInfo (ScheduleInfo const &)
 
void doBeginLuminosityBlock (LuminosityBlockPrincipal &, EventSetup const &)
 
void doBeginRun (RunPrincipal &, EventSetup const &)
 
Status doDuringLoop (EventPrincipal &eventPrincipal, EventSetup const &es, ProcessingController &)
 
void doEndLuminosityBlock (LuminosityBlockPrincipal &, EventSetup const &)
 
Status doEndOfLoop (EventSetup const &es)
 
void doEndRun (RunPrincipal &, EventSetup const &)
 
void doStartingNewLoop ()
 
 EDLooperBase ()
 
 EDLooperBase (EDLooperBase const &)=delete
 
virtual void endOfJob ()
 
EDLooperBaseoperator= (EDLooperBase const &)=delete
 
void prepareForNextLoop (eventsetup::EventSetupProvider *esp)
 
void setActionTable (ActionTable const *actionTable)
 
void setModuleChanger (ModuleChanger const *)
 
virtual ~EDLooperBase ()
 

Additional Inherited Members

- Static Public Member Functions inherited from PhysicsTools::MVATrainerLooper
template<class T >
static bool isUntrained (const T *ptr)
 
- Static Public Member Functions inherited from edm::eventsetup::DataProxyProvider
static void prevalidate (ConfigurationDescriptions &)
 
- Protected Member Functions inherited from PhysicsTools::MVATrainerLooper
void addTrainer (Trainer *trainer)
 
const TrainerContainergetTrainers () const
 
- Protected Member Functions inherited from edm::ESProducerLooper
virtual void registerFactoryWithKey (const eventsetup::EventSetupRecordKey &iRecord, std::auto_ptr< eventsetup::ProxyFactoryBase > &iFactory, const std::string &iLabel=std::string())
 
void setIntervalFor (const eventsetup::EventSetupRecordKey &iKey, const IOVSyncValue &iTime, ValidityInterval &oInterval)
 
- Protected Member Functions inherited from edm::ESProducer
template<typename T >
void setWhatProduced (T *iThis, const es::Label &iLabel=es::Label())
 
template<typename T >
void setWhatProduced (T *iThis, const char *iLabel)
 
template<typename T >
void setWhatProduced (T *iThis, const std::string &iLabel)
 
template<typename T , typename TDecorator >
void setWhatProduced (T *iThis, const TDecorator &iDec, const es::Label &iLabel=es::Label())
 
template<typename T , typename TReturn , typename TRecord >
void setWhatProduced (T *iThis, TReturn(T::*iMethod)(const TRecord &), const es::Label &iLabel=es::Label())
 
template<typename T , typename TReturn , typename TRecord , typename TArg >
void setWhatProduced (T *iThis, TReturn(T::*iMethod)(const TRecord &), const TArg &iDec, const es::Label &iLabel=es::Label())
 
- Protected Member Functions inherited from edm::ESProxyFactoryProducer
template<class TFactory >
void registerFactory (std::auto_ptr< TFactory > iFactory, const std::string &iLabel=std::string())
 
virtual void registerProxies (const eventsetup::EventSetupRecordKey &iRecord, KeyedProxies &aProxyList)
 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 Member Functions inherited from edm::EventSetupRecordIntervalFinder
template<class T >
void findingRecord ()
 
void findingRecordWithKey (const eventsetup::EventSetupRecordKey &)
 
- Protected Member Functions inherited from edm::EDLooperBase
ModuleChanger const * moduleChanger () const
 This only returns a non-zero value during the call to endOfLoop. More...
 
ScheduleInfo const * scheduleInfo () const
 This returns a non-zero value after the constructor has been called. More...
 

Detailed Description

template<class Record_t>
class PhysicsTools::MVATrainerContainerLooperImpl< Record_t >

Definition at line 36 of file MVATrainerLooperImpl.h.

Member Enumeration Documentation

template<class Record_t >
anonymous enum

Constructor & Destructor Documentation

template<class Record_t >
PhysicsTools::MVATrainerContainerLooperImpl< Record_t >::MVATrainerContainerLooperImpl ( const edm::ParameterSet params)
inline

Definition at line 40 of file MVATrainerLooperImpl.h.

References PhysicsTools::MVATrainerLooper::addTrainer(), edm::ParameterSet::getParameter(), PhysicsTools::MVATrainerContainerLooperImpl< Record_t >::kTrained, PhysicsTools::MVATrainerContainerLooperImpl< Record_t >::kTrainer, edm::es::label(), edm::ESProducer::setWhatProduced(), and PhysicsTools::MVATrainerLooper::trainers.

40  :
41  MVATrainerLooper(params)
42  {
43  setWhatProduced(this, edm::es::label("trainer", kTrainer)
44  ("trained", kTrained));
45 
46  std::vector<edm::ParameterSet> trainers =
47  params.getParameter<std::vector<edm::ParameterSet> >(
48  "trainers");
49 
50  for(std::vector<edm::ParameterSet>::const_iterator iter =
51  trainers.begin(); iter != trainers.end(); iter++)
52 
53  addTrainer(new Trainer(*iter));
54  }
T getParameter(std::string const &) const
Label label(const std::string &iString, int iIndex)
Definition: es_Label.h:89
void addTrainer(Trainer *trainer)
MVATrainerLooper(const edm::ParameterSet &params)
void setWhatProduced(T *iThis, const es::Label &iLabel=es::Label())
Definition: ESProducer.h:115
template<class Record_t >
virtual PhysicsTools::MVATrainerContainerLooperImpl< Record_t >::~MVATrainerContainerLooperImpl ( )
inlinevirtual

Definition at line 56 of file MVATrainerLooperImpl.h.

56 {}

Member Function Documentation

Definition at line 61 of file MVATrainerLooperImpl.h.

References begin, calib, PhysicsTools::MVATrainerContainerLooperImpl< Record_t >::Trainer::calibrationRecord, PhysicsTools::MVATrainerLooper::TrainerContainer::end(), PhysicsTools::MVATrainerLooper::Trainer::getCalibration(), PhysicsTools::MVATrainer::getCalibration(), PhysicsTools::MVATrainerLooper::Trainer::getTrainer(), PhysicsTools::MVATrainerLooper::getTrainers(), and edm::es::products().

62  {
63  boost::shared_ptr<MVATrainerContainer> trainerCalib(
64  new MVATrainerContainer());
65  TrainContainer trainedCalib;
66 
67  bool untrained = false;
69  getTrainers().begin();
70  iter != getTrainers().end(); iter++) {
71  Trainer *trainer = dynamic_cast<Trainer*>(*iter);
72  TrainObject calib = trainer->getCalibration();
73 
74  trainerCalib->addTrainer(trainer->calibrationRecord,
75  calib);
76  if (calib) {
77  untrained = true;
78  continue;
79  }
80 
81  if (!trainedCalib)
82  trainedCalib = TrainContainer(
83  new Calibration::MVAComputerContainer);
84 
85  trainedCalib->add(trainer->calibrationRecord) =
86  *trainer->getTrainer()->getCalibration();
87  }
88 
89  if (untrained)
90  trainedCalib = TrainContainer(
91  new UntrainedMVAComputerContainer);
92 
94  trainedESLabel(trainerCalib);
95 
96  return edm::es::products(trainedESLabel,
97  edm::es::l<kTrained>(trainedCalib));
98  }
MVATrainerComputer * calib
Definition: MVATrainer.cc:64
ESProducts< T, S > products(const T &i1, const S &i2)
Definition: ESProducts.h:189
boost::shared_ptr< Calibration::MVAComputerContainer > TrainContainer
const TrainerContainer & getTrainers() const
boost::shared_ptr< Calibration::MVAComputer > TrainObject
std::vector< Trainer * >::const_iterator const_iterator
#define begin
Definition: vmac.h:31