Пример #1
0
# tests
#-----------------------------------------------------------------------

histogram = Histogram((1, (0.0, 0.5)), (1, (0, 1)), bin_type=int)

compare(histogram.getBinContent(("underflow", "underflow")),    0)
compare(histogram.getBinContent((0          , "underflow")),    0)
compare(histogram.getBinContent(("overflow" , "underflow")),    0)
compare(histogram.getBinContent(("underflow", 0          )),    0)
compare(histogram.getBinContent((0          , 0          )),    0)
compare(histogram.getBinContent(("overflow" , 0          )),    0)
compare(histogram.getBinContent(("underflow", "overflow" )),    0)
compare(histogram.getBinContent((0          , "overflow" )),    0)
compare(histogram.getBinContent(("overflow" , "overflow" )),    0)

histogram.accumulate((-1, -1),    4)
histogram.accumulate(( 0, -1),    8)
histogram.accumulate(( 1, -1),   16)
histogram.accumulate((-1,  0),   32)
histogram.accumulate(( 0,  0),   64)
histogram.accumulate(( 1,  0),  128)
histogram.accumulate((-1,  1),  256)
histogram.accumulate(( 0,  1),  512)
histogram.accumulate(( 1,  1), 1024)

compare(histogram.getBinContent(("underflow", "underflow")),    4)
compare(histogram.getBinContent((0          , "underflow")),    8)
compare(histogram.getBinContent(("overflow" , "underflow")),   16)
compare(histogram.getBinContent(("underflow", 0          )),   32)
compare(histogram.getBinContent((0          , 0          )),   64)
compare(histogram.getBinContent(("overflow" , 0          )),  128)
Пример #2
0
    for j in xrange(-10, 10):
        histogram << (sqrt(i), 0.1 * j + 0.05)

# Check that it's configured correctly.
compare(histogram.dimensions, 2)
compare(histogram.bin_type, float)
x_axis, y_axis = histogram.axes
compare(x_axis.number_of_bins, 10)
compare(x_axis.range, (0.0, 10.0))
compare(x_axis.type, float)
compare(y_axis.number_of_bins, 10)
compare(y_axis.range, (-1.0, 1.0))
compare(y_axis.type, float)

# Fill it.
histogram.accumulate((-10, -10), 42.0)
histogram.accumulate((-10, 0.1), 17.5)
histogram.accumulate((0.5, 10), -4.0)
histogram.accumulate((-10, 10), 3.33)

# Do some checks on the contents.
compare(histogram.number_of_samples, 2004)
total = 0
for i in xrange(0, 10):
    for j in xrange(0, 10):
        total += histogram.getBinContent((i, j))
compare(total, 2000)
compare(histogram.getBinContent(("underflow", "underflow")), 42.0)
compare(histogram.getBinContent(("underflow", 5)), 17.5)
compare(histogram.getBinContent((0, "overflow")), -4.0)
compare(histogram.getBinContent((1, "overflow")), 0)