CMS 3D CMS Logo

PhysicsTools::MVATrainerFileSave Class Reference

#include <PhysicsTools/MVATrainer/interface/MVATrainerFileSave.h>

Inheritance diagram for PhysicsTools::MVATrainerFileSave:

edm::EDAnalyzer PhysicsTools::MVATrainerFileSaveImpl< Record_t >

List of all members.

Public Member Functions

virtual void analyze (const edm::Event &iEvent, const edm::EventSetup &iSetup)
virtual void endJob ()
 MVATrainerFileSave (const edm::ParameterSet &params)

Protected Member Functions

virtual const
Calibration::MVAComputerContainer
getToPut (const edm::EventSetup &es) const =0

Protected Attributes

bool trained

Private Types

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

Private Attributes

std::auto_ptr
< Calibration::MVAComputerContainer
calib
bool saved
LabelFileMap toPut


Detailed Description

Definition at line 17 of file MVATrainerFileSave.h.


Member Typedef Documentation

typedef std::map<std::string, std::string> PhysicsTools::MVATrainerFileSave::LabelFileMap [private]

Definition at line 33 of file MVATrainerFileSave.h.


Constructor & Destructor Documentation

PhysicsTools::MVATrainerFileSave::MVATrainerFileSave ( const edm::ParameterSet params  )  [explicit]

Definition at line 23 of file MVATrainerFileSave.cc.

References edm::ParameterSet::getParameter(), edm::ParameterSet::getParameterNames(), iter, names, and toPut.

00023                                                                     :
00024         trained(params.getUntrackedParameter<bool>("trained", true)),
00025         saved(false)
00026 {
00027         std::vector<std::string> names = params.getParameterNames();
00028         for(std::vector<std::string>::const_iterator iter = names.begin();
00029             iter != names.end(); iter++) {
00030                 if (iter->c_str()[0] == '@' || *iter == "trained")
00031                         continue;
00032 
00033                 toPut[*iter] = params.getParameter<std::string>(*iter);
00034         }
00035 
00036 }


Member Function Documentation

void PhysicsTools::MVATrainerFileSave::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
) [virtual]

Implements edm::EDAnalyzer.

Definition at line 38 of file MVATrainerFileSave.cc.

References calib, getToPut(), PhysicsTools::MVATrainerLooper::isUntrained(), and saved.

00040 {
00041         if (calib.get() || saved)
00042                 return;
00043 
00044         const Calibration::MVAComputerContainer *toPutCalib = getToPut(es);
00045         if (MVATrainerLooper::isUntrained(toPutCalib))
00046                 return;
00047 
00048         edm::LogInfo("MVATrainerFileSave")
00049                 << "Got the trained calibration data";
00050 
00051         std::auto_ptr<Calibration::MVAComputerContainer> calib(
00052                                         new Calibration::MVAComputerContainer);
00053         *calib = *toPutCalib;
00054 
00055         this->calib = calib;
00056 }

void PhysicsTools::MVATrainerFileSave::endJob ( void   )  [virtual]

Reimplemented from edm::EDAnalyzer.

Definition at line 58 of file MVATrainerFileSave.cc.

References calib, calibration, iter, saved, toPut, and PhysicsTools::MVAComputer::writeCalibration().

00059 {
00060         if (!calib.get() || saved)
00061                 return;
00062 
00063         edm::LogInfo("MVATrainerFileSave")
00064                 << "Saving calibration data into plain MVA files.";
00065 
00066         for(LabelFileMap::const_iterator iter = toPut.begin();
00067             iter != toPut.end(); iter++) {
00068                 const Calibration::MVAComputer *calibration =
00069                                                 &calib->find(iter->first);
00070 
00071                 MVAComputer::writeCalibration(iter->second.c_str(),
00072                                               calibration);
00073         }
00074 
00075         saved = true;
00076 }

virtual const Calibration::MVAComputerContainer* PhysicsTools::MVATrainerFileSave::getToPut ( const edm::EventSetup es  )  const [protected, pure virtual]

Implemented in PhysicsTools::MVATrainerFileSaveImpl< Record_t >.

Referenced by analyze().


Member Data Documentation

std::auto_ptr<Calibration::MVAComputerContainer> PhysicsTools::MVATrainerFileSave::calib [private]

Definition at line 36 of file MVATrainerFileSave.h.

Referenced by analyze(), and endJob().

bool PhysicsTools::MVATrainerFileSave::saved [private]

Definition at line 37 of file MVATrainerFileSave.h.

Referenced by analyze(), and endJob().

LabelFileMap PhysicsTools::MVATrainerFileSave::toPut [private]

Definition at line 35 of file MVATrainerFileSave.h.

Referenced by endJob(), and MVATrainerFileSave().

bool PhysicsTools::MVATrainerFileSave::trained [protected]

Definition at line 30 of file MVATrainerFileSave.h.

Referenced by PhysicsTools::MVATrainerFileSaveImpl< Record_t >::getToPut().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:50:14 2009 for CMSSW by  doxygen 1.5.4