![]() |
![]() |
#include <PhysicsTools/MVATrainer/interface/MVATrainerFileSave.h>
Public Member Functions | |
virtual void | analyze (const edm::Event &iEvent, const edm::EventSetup &iSetup) |
virtual void | endJob () |
MVATrainerFileSave (const edm::ParameterSet ¶ms) | |
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 |
Definition at line 17 of file MVATrainerFileSave.h.
typedef std::map<std::string, std::string> PhysicsTools::MVATrainerFileSave::LabelFileMap [private] |
Definition at line 33 of file MVATrainerFileSave.h.
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 }
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 }
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] |
std::auto_ptr<Calibration::MVAComputerContainer> PhysicsTools::MVATrainerFileSave::calib [private] |
bool PhysicsTools::MVATrainerFileSave::saved [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().