1 #ifndef CondFormats_PhysicsToolsObjects_Histogram2D_h
2 #define CondFormats_PhysicsToolsObjects_Histogram2D_h
6 #if !defined(__CINT__) && !defined(__MAKECINT__) && !defined(__REFLEX__)
16 namespace PhysicsTools {
19 template<
typename Value_t,
typename AxisX_t = Value_t,
20 typename AxisY_t = AxisX_t>
30 template<
typename OValue_t,
typename OAxisX_t,
typename OAxisY_t>
36 template<
typename OAxisX_t,
typename OAxisY_t>
40 template<
typename OAxisX_t,
typename OAxisY_t>
45 template<
typename OAxisX_t,
typename OAxisY_t>
50 template<
typename OAxisX_t,
typename OAxisY_t>
56 Histogram2D(
unsigned int nBinsX, AxisX_t minX, AxisX_t maxX,
57 unsigned int nBinsY, AxisY_t minY, AxisY_t maxY);
63 template<
typename OValue_t,
typename OAxisX_t,
typename OAxisY_t>
65 OAxisX_t, OAxisY_t> &orig);
72 inline int bin2D(
int binX,
int binY)
const
73 {
return binY *
stride + binX; }
78 Value_t
value(AxisX_t x, AxisY_t y)
const
88 Value_t
error(AxisX_t x, AxisY_t y)
const
98 void fill(AxisX_t x, AxisY_t y, Value_t
weight = 1.0);
108 inline const std::vector<Value_t> &
values()
const
113 template<
typename OValue_t>
121 std::pair<RangeX, RangeY>
binRange(
int binX,
int binY)
const
142 #if !defined(__CINT__) && !defined(__MAKECINT__) && !defined(__REFLEX__)
159 std::vector<PhysicsTools::Calibration::HistogramD2D>
vHist;
168 #if !defined(__CINT__) && !defined(__MAKECINT__) && !defined(__REFLEX__)
169 #include "CondFormats/PhysicsToolsObjects/interface/Histogram2D.icc"
172 #endif // CondFormats_PhysicsToolsObjects_Histogram2D_h
#define COND_SERIALIZABLE