1 #ifndef CondFormats_PhysicsToolsObjects_Histogram2D_h 2 #define CondFormats_PhysicsToolsObjects_Histogram2D_h 6 #if !defined(__CINT__) && !defined(__MAKECINT__) && !defined(__REFLEX__) 17 namespace Calibration {
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>
114 void setValues(
const std::vector<OValue_t> &values);
120 std::pair<RangeX, RangeY>
binRange(
int bin)
const;
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
bin
set the eta bin as selection string.
#define COND_SERIALIZABLE