示例#1
0
def calc_wstat_xspec(mu_sig, n_on, n_off, alpha):
    from xspec_stats import xspec_wstat as wstat
    from xspec_stats import xspec_wstat_f, xspec_wstat_d

    td = test_data()

    # alpha = t_s / t_b
    t_b = 1. / alpha
    t_s = 1

    d = xspec_wstat_d(t_s, t_b, mu_sig, n_on, n_off)
    f = xspec_wstat_f(n_on, n_off, t_s, t_b, mu_sig, d)
    bkg = f * t_b
    stat = wstat(t_s, t_b, mu_sig, n_on, n_off)

    print("XSPEC mu_bkg (f * t_b): {}".format(bkg))
    print("XSPEC stat: {}".format(stat))
示例#2
0
    )

    data.set_background(background, 1)

    return model, data


def test_case(args):
    import sherpa.stats as ss

    mu_sig = float(args[1])
    n_on = float(args[2])
    n_off = float(args[3])
    alpha = float(args[4])

    model, data = get_data(mu_sig, n_on, n_off, alpha)
    wstat, cash, cstat = ss.WStat(), ss.Cash(), ss.CStat()

    print('wstat: {}'.format(wstat.calc_stat(model=model, data=data)[0]))
    print('cash: {}'.format(cash.calc_stat(model=model, data=data)[0]))
    print('cstat: {}'.format(cstat.calc_stat(model=model, data=data)[0]))


if __name__ == "__main__":

    td = test_data()
    for mu_sig, n_on, n_off, alpha in zip(td["mu_sig"], td["n_on"],
                                          td["n_off"], td["alpha"]):
        test_case([None, mu_sig, n_on, n_off, alpha])
        print("\n-------------------------\n")
示例#3
0
    data.set_background(background, 1)

    return model, data


def test_case(args):
    import sherpa.stats as ss

    mu_sig = float(args[1])
    n_on = float(args[2])
    n_off = float(args[3])
    alpha = float(args[4])

    model, data = get_data(mu_sig, n_on, n_off, alpha)
    wstat, cash, cstat = ss.WStat(), ss.Cash(), ss.CStat()

    print('wstat: {}'.format(wstat.calc_stat(model=model, data=data)[0]))
    print('cash: {}'.format(cash.calc_stat(model=model, data=data)[0]))
    print('cstat: {}'.format(cstat.calc_stat(model=model, data=data)[0]))


if __name__ == "__main__":

    td = test_data()
    for mu_sig, n_on, n_off, alpha in zip(
        td["mu_sig"], td["n_on"], td["n_off"], td["alpha"]
    ):
        test_case([None, mu_sig, n_on, n_off, alpha])
        print("\n-------------------------\n")