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 | Static Public Member Functions | Protected Member Functions | Private Attributes
PhysicsTools::MVATrainerLooper Class Reference

#include <MVATrainerLooper.h>

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

Classes

class  Trainer
 
class  TrainerContainer
 
class  UntrainedMVAComputer
 
class  UntrainedMVAComputerContainer
 

Public Types

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

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 ()
 
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 ()
 
virtual void endOfJob ()
 
void prepareForNextLoop (eventsetup::EventSetupProvider *esp)
 
void setActionTable (ActionTable const *actionTable)
 
void setModuleChanger (ModuleChanger const *)
 
virtual ~EDLooperBase ()
 

Static Public Member Functions

template<class T >
static bool isUntrained (const T *ptr)
 

Protected Member Functions

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...
 

Private Attributes

TrainerContainer trainers
 

Detailed Description

Definition at line 18 of file MVATrainerLooper.h.

Member Typedef Documentation

Definition at line 31 of file MVATrainerLooper.h.

Definition at line 29 of file MVATrainerLooper.h.

Constructor & Destructor Documentation

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

Definition at line 73 of file MVATrainerLooper.cc.

74 {
75 }
PhysicsTools::MVATrainerLooper::~MVATrainerLooper ( )
virtual

Definition at line 77 of file MVATrainerLooper.cc.

78 {
79 }

Member Function Documentation

void PhysicsTools::MVATrainerLooper::addTrainer ( Trainer trainer)
inlineprotected
edm::EDLooper::Status PhysicsTools::MVATrainerLooper::duringLoop ( const edm::Event ,
const edm::EventSetup  
)
virtual

Called after all event modules have had a chance to process the edm::Event.

Implements edm::EDLooper.

Definition at line 93 of file MVATrainerLooper.cc.

References PhysicsTools::MVATrainerLooper::TrainerContainer::begin(), PhysicsTools::MVATrainerLooper::TrainerContainer::clear(), PhysicsTools::MVATrainerLooper::TrainerContainer::empty(), PhysicsTools::MVATrainerLooper::TrainerContainer::end(), edm::EDLooperBase::kContinue, edm::EDLooperBase::kStop, and trainers.

95 {
96  if (trainers.empty())
97  return kStop;
98 
100  iter != trainers.end(); iter++)
101  if ((*iter)->getCalibration())
102  return kContinue;
103 
104  trainers.clear();
105  return kStop;
106 }
std::vector< Trainer * >::const_iterator const_iterator
edm::EDLooper::Status PhysicsTools::MVATrainerLooper::endOfLoop ( const edm::EventSetup ,
unsigned int  iCounter 
)
virtual

Called after the system has finished one loop over the events. Thar argument is a count of how many loops have been processed before this loo. For the first time through the events the argument will be 0.

Implements edm::EDLooperBase.

Definition at line 108 of file MVATrainerLooper.cc.

References PhysicsTools::MVATrainerLooper::TrainerContainer::begin(), PhysicsTools::MVATrainerLooper::TrainerContainer::empty(), PhysicsTools::MVATrainerLooper::TrainerContainer::end(), edm::EDLooperBase::kContinue, edm::EDLooperBase::kStop, PhysicsTools::MVATrainerLooper::Trainer::trainCalib, PhysicsTools::MVATrainerLooper::Trainer::trainer, and trainers.

110 {
111  if (trainers.empty())
112  return kStop;
113 
115  iter != trainers.end(); iter++) {
116  Trainer *trainer = *iter;
117 
118  if (trainer->trainCalib)
119  trainer->trainer->doneTraining(
120  trainer->trainCalib.get());
121 
122  trainer->trainCalib.reset();
123  }
124 
125  return kContinue;
126 }
std::vector< Trainer * >::const_iterator const_iterator
const TrainerContainer& PhysicsTools::MVATrainerLooper::getTrainers ( ) const
inlineprotected
template<class T >
static bool PhysicsTools::MVATrainerLooper::isUntrained ( const T ptr)
inlinestatic
template<>
bool PhysicsTools::MVATrainerLooper::isUntrained ( const Calibration::MVAComputer ptr)
inline

Definition at line 85 of file MVATrainerLooper.h.

86 { return dynamic_cast<const UntrainedMVAComputer*>(ptr) != 0; }
template<>
bool PhysicsTools::MVATrainerLooper::isUntrained ( const Calibration::MVAComputerContainer ptr)
inline

Definition at line 89 of file MVATrainerLooper.h.

90 { return dynamic_cast<const UntrainedMVAComputerContainer*>(ptr) != 0; }
void PhysicsTools::MVATrainerLooper::startingNewLoop ( unsigned int  int)
virtual

Called before system starts to loop over the events. The argument is a count of how many loops have been processed. For the first time through the events the argument will be 0.

Implements edm::EDLooperBase.

Definition at line 81 of file MVATrainerLooper.cc.

References PhysicsTools::MVATrainerLooper::TrainerContainer::begin(), PhysicsTools::MVATrainerLooper::TrainerContainer::end(), PhysicsTools::MVATrainerLooper::Trainer::trainCalib, PhysicsTools::MVATrainerLooper::Trainer::trainer, and trainers.

82 {
84  iter != trainers.end(); iter++) {
85  Trainer *trainer = *iter;
86 
87  trainer->trainCalib =
88  TrainObject(trainer->trainer->getTrainCalibration());
89  }
90 }
boost::shared_ptr< Calibration::MVAComputer > TrainObject
std::vector< Trainer * >::const_iterator const_iterator

Member Data Documentation

TrainerContainer PhysicsTools::MVATrainerLooper::trainers
private