def METHOD_NAME():
    mapdataset_onoff = get_simple_dataset_on_off()
    wcs = mapdataset_onoff.counts.geom.wcs
    boxes = make_horizontal_boxes(wcs)
    prof_maker = FluxProfileEstimator(
        regions=boxes,
        energy_edges=[0.1, 1, 10] * u.TeV,
        selection_optional="all",
        n_sigma=1,
        n_sigma_ul=3,
    )
    result = prof_maker.run(mapdataset_onoff)
    imp_prof = result.to_table(sed_type="flux", format="profile")
    assert_allclose(imp_prof[7]["x_min"], 0.1462, atol=1e-4)
    assert_allclose(imp_prof[7]["x_ref"], 0.1575, atol=1e-4)
    assert_allclose(imp_prof[7]["counts"], [[100.0], [100.0]], atol=1e-2)
    assert_allclose(imp_prof[7]["sqrt_ts"], [7.63, 7.63], atol=1e-2)
    assert_allclose(imp_prof[0]["flux"], [8e-06, 8.0e-06], atol=1e-3)
    # TODO: npred quantities are not supported by the table serialisation format
    #  so we rely on the FluxPoints object
    npred_excess = result.npred_excess.data[7].squeeze()
    assert_allclose(npred_excess, [80.0, 80.0], rtol=1e-3)
    errn = result.npred_excess_errn.data[7].squeeze()
    assert_allclose(errn, [10.75, 10.75], atol=1e-2)
    ul = result.npred_excess_ul.data[7].squeeze()
    assert_allclose(ul, [111.32, 111.32], atol=1e-2)