Exemple #1
0
def test_efficiency():
    # 1D
    eff = Efficiency(Hist(10, 0, 1), Hist(10, 0, 1))
    eff.Fill(False, 0.1)
    eff.Fill(True, 0.8)
    assert_equal(len(eff), len(eff.total))
    if ROOT_VERSION >= ROOTVersion(53417):
        assert eff.graph
    assert eff.painted_graph
    assert_equal(len(list(eff.efficiencies())), 10)
    assert_equal(len(list(eff.efficiencies(overflow=True))), 12)
    assert_equal(len(list(eff.errors())), 10)
    assert_equal(len(list(eff.errors(overflow=True))), 12)
    # 2D
    eff = Efficiency(Hist2D(10, 0, 1, 10, 0, 1), Hist2D(10, 0, 1, 10, 0, 1))
    eff.Fill(False, 0.1)
    eff.Fill(True, 0.8)
    assert_equal(len(eff), len(eff.total))
    if ROOT_VERSION >= ROOTVersion(53417):
        assert eff.histogram
    assert eff.painted_histogram
Exemple #2
0
def test_overall_efficiency():
    for stat_op in range(0, 8):
        Eff = Efficiency(Hist(20, -3, 3), Hist(20, -3, 3))
        Eff_1bin = Efficiency(Hist(1, -3, 3), Hist(1, -3, 3))
        Eff.SetStatisticOption(stat_op)
        Eff_1bin.SetStatisticOption(stat_op)

        for i in xrange(1000):
            x = gauss(0, 3.6)
            w = uniform(0, 1)
            passed = w > 0.5
            Eff.Fill(passed, x)
            Eff_1bin.Fill(passed, x)

        assert_almost_equal(
            Eff.overall_efficiency(overflow=True)[0],
            Eff_1bin.overall_efficiency(overflow=True)[0])
        assert_almost_equal(
            Eff.overall_efficiency(overflow=True)[1],
            Eff_1bin.overall_efficiency(overflow=True)[1])
        assert_almost_equal(
            Eff.overall_efficiency(overflow=True)[2],
            Eff_1bin.overall_efficiency(overflow=True)[2])