Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:24:37

0001 #ifndef CalibratedHistogramXML_H
0002 #define CalibratedHistogramXML_H
0003 #include <xercesc/dom/DOM.hpp>
0004 #include "RecoBTag/XMLCalibration/interface/CalibratedObject.h"
0005 #include "CondFormats/BTauObjects/interface/CalibratedHistogram.h"
0006 #include <vector>
0007 #include <xercesc/dom/DOMNode.hpp>
0008 
0009 /**
0010 * This class implements some methods of the CalibratedObject.
0011 * This class does not provide methdos for calibration, i.e.
0012 *  [start|update|finish]Calibration() functions.
0013 * If you want to use it in a calibration program you have to 
0014 * implement those methods in a child class.
0015 */
0016 
0017 class CalibratedHistogramXML : public CalibratedHistogram, CalibratedObject {
0018 public:
0019   typedef XERCES_CPP_NAMESPACE::DOMElement DOMElement;
0020   typedef XERCES_CPP_NAMESPACE::DOMNode DOMNode;
0021 
0022   CalibratedHistogramXML() {}
0023   CalibratedHistogramXML(const CalibratedHistogram &h) : CalibratedHistogram(h) {}
0024   CalibratedHistogramXML(const std::vector<float> &ulimits) : CalibratedHistogram(ulimits) {}
0025   ~CalibratedHistogramXML() override {}
0026 
0027   void read(DOMElement *dom) override;
0028 
0029   void write(DOMElement *dom) const override;
0030 
0031   std::string name() const override { return "CalibratedHistogramXML"; }
0032 };
0033 
0034 #endif