Ejemplo n.º 1
0
def GetLikelihoodFitStat(File_Asi,
                         File_Obs,
                         Graph="Graph",
                         Likelihood="Likelihood"):
    f_obs = ROOT.TFile(File_Obs)
    f_asi = ROOT.TFile(File_Asi)
    g_obs = f_obs.Get(Graph)
    g_asi = f_asi.Get(Graph)
    x_obs, y_obs = g_obs.GetX(), g_obs.GetY()
    x_asi, y_asi = g_asi.GetX(), g_asi.GetY()

    Sigma = abs(
        ROOT.TMath.NormQuantile(
            1 - ROOT.TMath.Prob(y_obs[list(x_obs).index(0)], 1)))
    Sigma_68CL_asi = Utilities.Get1DIntersectionsGivenY(x_asi, y_asi, 1.)
    Sigma_95CL_asi = Utilities.Get1DIntersectionsGivenY(x_asi, y_asi, 3.841)
    Sigma_68CL_obs = Utilities.Get1DIntersectionsGivenY(x_obs, y_obs, 1.)
    Sigma_95CL_obs = Utilities.Get1DIntersectionsGivenY(x_obs, y_obs, 3.841)
    pos_obs = list(y_obs).index(min(y_obs))
    t_obs = f_obs.Get(Likelihood)
    t_obs.GetEntry(pos_obs)
    BSM_min_obs = t_obs.BSM_coupling
    SM_min_obs = t_obs.SM_coupling
    Type = 'fixed' if 'fixed' in File_Asi else 'free'
    SM_text = '-' if 'fixed' in File_Asi else "{0:.2f}".format(SM_min_obs)
    s = '$\kappa_\\text{SM}$ \\text{fixed} &' + Utilities.BracketListStr(
        Sigma_68CL_asi) + '&' + Utilities.BracketListStr(
            Sigma_95CL_asi) + '&' + Utilities.BracketListStr(
                Sigma_68CL_obs) + '&' + Utilities.BracketListStr(
                    Sigma_95CL_asi) + '&' + "{0:.2f}".format(
                        BSM_min_obs) + '&' + SM_text + '&' + "{0:.2f}".format(
                            Sigma)
    print s