CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions
CalibratedObject Class Referenceabstract

#include <CalibratedObject.h>

Inheritance diagram for CalibratedObject:
CalibratedHistogramXML

Public Member Functions

virtual void finishCalibration ()
 
virtual std::string name () const =0
 
virtual void read (XERCES_CPP_NAMESPACE::DOMElement *dom)=0
 
virtual void startCalibration ()
 
virtual void updateCalibration ()
 
virtual void write (XERCES_CPP_NAMESPACE::DOMElement *dom) const =0
 

Detailed Description

CalibratedObject class. This is the abstract class of any object that the calibration framework returns to the algorithm. Actually in the simplified framework it is not needed to inherit from it, it is enough to mimic the same interface. Example of "CalibratedObjects" are PDFs,Neural Network set of parameters, ...

Definition at line 14 of file CalibratedObject.h.

Member Function Documentation

virtual void CalibratedObject::finishCalibration ( )
inlinevirtual

This function has to be implemented in derived class. Calibration is finished. Prepare for writing. E.g. fit histogram, normalize, compute averages, whatever...

Definition at line 43 of file CalibratedObject.h.

43 {};
virtual std::string CalibratedObject::name ( ) const
pure virtual
virtual void CalibratedObject::read ( XERCES_CPP_NAMESPACE::DOMElement *  dom)
pure virtual

This function has to be implemented in derived class. It should read all the information the calibrated objects need to load to be initialized from the xml file. It is possible to use CalibrationXML::readAttribute<type>() to read an attribute from the passed DOMElement.

Implemented in CalibratedHistogramXML.

virtual void CalibratedObject::startCalibration ( )
inlinevirtual

This function has to be implemented in derived class. Prepare the calibrated object for a calibration run. E.g. clear the right data members.

Definition at line 37 of file CalibratedObject.h.

37 {};
virtual void CalibratedObject::updateCalibration ( )
inlinevirtual

You have to impelement a different updateCalibration(CalibrationInput) in the derived class for each CalibrationInput you want to be able to calibrate on. So for example you may want to have an updateCalibration(RecTrack) but also a updateCalibration(JetWithTracks) that only loops on jet rectracks and calls updateCalibration(RecTrack).

This implementation do nothing.

Definition at line 54 of file CalibratedObject.h.

54 {}
virtual void CalibratedObject::write ( XERCES_CPP_NAMESPACE::DOMElement *  dom) const
pure virtual

This function has to be implemented in derived class. It should write all the information the calibrated objects need to\ save/load. It is possible to use CalibrationXML::writeAttribute() to write an attribute in the passed DOMElement.

Implemented in CalibratedHistogramXML.