def param_fit_funct_full(zs, H0, OmM, w, OmL, OmR, Om0):
    zs = list(zs)
    w_of_funct = lambda w_zs: fitter_to_plot.w_of_funct(w_zs, [w])
    funct_mus = cfc.getMusForCosmology(
        zs, [H0, OmM, OmL, OmR, Om0],
        lambda w_zs: fitter_to_plot.w_of_funct(w_zs, [w]))
    #print ('zs = ' + str(zs))
    return funct_mus
        int(1000 * mu_offset)) + '_' + toy_sn_data_file_suffix + '.csv'
    if not (os.path.isfile(surveys_file)):
        #Need to make a new cosmology file
        cfc.generateToySNeData(randomize_orig_sn=0,
                               n_sn_per_survey=300,
                               surveys=all_extra_surveys,
                               H0=H0,
                               OmegaM=OmegaM,
                               Omega0=1.0,
                               OmegaR=0.0001,
                               w_params=[w],
                               sn_data_type='pantheon_plus',
                               cepheid_file_name='calibratorset.txt',
                               HF_surveys_to_include='all',
                               z_range=[0.0, 1.0],
                               mu_err='median',
                               colors=[
                                   'r',
                                   'b',
                                   'g',
                                   'orange',
                                   'cyan',
                                   'magenta',
                                   'purple',
                                   'darkblue',
                                   'darkgreen',
                                   'skyblue',
                               ],
                               art_data_file=surveys_file)

    print('surveys_file = ' + str(surveys_file))
    toy_data = can.readInColumnsToList(surveys_file,
 w0_mean_ax = axarr_centr[2]
 #Om_ax = axarr[1]
 #w0_ax = axarr[2]
 #cfc.makePlotOfPosteriorWidths(rand_mcmc_data_files_dict, 0, ax = H0_ax, ref_param_vals_for_other_ax = [67.4, 0.5, r"$H_0$ tension (# of $\sigma$s)"], xlabel = '$\Delta \mu_S$ Gaussian prior width (mags)', ylabel = r'Increase in $H_0$' + '\n'  + r'posterior $\sigma$ (km/s/Mpc)', data_load_dir = target_dir, plot_color = 'k', plot_marker = '.', show_fig = 0, save_fig = 0)
 #cfc.makePlotOfPosteriorWidths(rand_mcmc_data_files_dict, 1, ax = Om_ax, xlabel = '$\Delta \mu_S$ Gaussian prior width (mags)', ylabel = r'Increase in $\Omega_M$' + '\n'  + r'posterior $\sigma$', data_load_dir = target_dir, plot_color = 'k', plot_marker = '.', show_fig = 0, save_fig = 0)
 #cfc.makePlotOfPosteriorWidths(rand_mcmc_data_files_dict, 2, ax = w0_ax, xlabel = '$\Delta \mu_S$ Gaussian prior width (mags)', ylabel = r'Increase in $w$' + '\n'  + r'posterior $\sigma$', data_load_dir = target_dir, plot_color = 'k', plot_marker = '.', show_fig = 0, save_fig = 0)
 #cfc.makePlotOfPosteriorWidths(rand_mcmc_data_files_dict, 0, ax = H0_ax, xlabel = '$\Delta \mu_S$ Gaussian prior width (mags)', ylabel = r'$H_0$' + r' posterior $\sigma$ (km/s/Mpc)', data_load_dir = target_dir, plot_color = 'k', plot_marker = '.', show_fig = 0, save_fig = 0, zero_uncertainties_at_zero_prior = 0, labelsize = labelsize)
 print ('real_mcmc_data_files_dict = ' + str(real_mcmc_data_files_dict))
 #We need to add the pre-inter survey offset uncertainties in quadrature from Planck and SH0ES.
 #xlabel = 'Inter-survey offset prior, \n width $\sigma_{P,S}$ (mags)'
 xlabel = 'Cross-survey photometric \n calibration uncertainty, $\sigma_{P, S}$ (mag)'
 sig_sup_title = 'The Additional Cosmic Parameter Measurement Uncertainty Introduced as the \n Uncertainty in the Pantheon+ Cross-Survey Photometric Zeropoint Increases'
 centr_sup_title = 'The Shift in the Cosmic Parameter Measurement  as the Uncertainty in the Pantheon+ Cross-Survey Photometric Zeropoint Increases'
 f_sig.suptitle(sig_sup_title, fontsize = sup_title_size)
 f_centr.suptitle(centr_sup_title, fontsize = sup_title_size)
 cfc.makePlotOfPosteriorWidths(real_mcmc_data_files_dict, 0, ax = H0_sig_ax, ref_param_vals_for_other_ax = [73.2, 67.27, np.sqrt(0.6 ** 2.0 + 1.3 ** 2.0), r"Planck vs SH0ES HT"], xlabel = xlabel, ylabel = r'Additional $H_0$' + '\n' + r'posterior $\sigma$ (km s$^{-1}$ Mpc$^{-1}$)', data_load_dir = target_dir, plot_color = 'k', plot_marker = 'x', show_fig = 0, save_fig = 0, zero_uncertainties_at_zero_prior = 1, labelsize = labelsize, show_all_chain_posteriors = show_all_chains, n_points_to_lin_fit = n_offsets_to_lin_fit, in_plot_lin_text = ['$\\frac{d \sigma_{H_0}}{d \\sigma_{P,S}} =$ ', r' $\frac{\mathrm{km}}{\mathrm{s} \ \mathrm{Mpc}} \frac{1}{\ 25\ \mathrm{mmag}}$'], in_plot_loc = [0.20, 0.25], in_plot_text_size = labelsize + 4)
 H0_sig_ax.text(0.5, 0.1, "Worse cross-survey calibration", ha="center", va="center", transform = H0_sig_ax.transAxes, fontsize = labelsize,  bbox=dict(boxstyle="rarrow,pad=0.3", fc="cyan", ec="b", lw=2))
 cfc.makePlotOfPosteriorWidths(real_mcmc_data_files_dict, 0, ax = H0_mean_ax, xlabel = xlabel, ylabel = r'Shift in $H_0$ centroid, $<H_0>$ (km s$^{-1}$ Mpc$^{-1}$)', data_load_dir = target_dir, plot_color = 'k', plot_marker = 'x', show_fig = 0, save_fig = 0, zero_uncertainties_at_zero_prior = 1, labelsize = labelsize, show_all_chain_posteriors = show_all_chains, plot_sigmas = 0, n_points_to_lin_fit = n_offsets_to_lin_fit, in_plot_lin_text = ['$\\frac{d <H_0>}{d \\sigma_{P,S}} =$ ', r' $\frac{\mathrm{km}}{\mathrm{s} \ \mathrm{Mpc}} \frac{1}{25 \ \mathrm{ mmag}}$'], in_plot_loc = [0.2, 0.25], in_plot_text_size = labelsize + 4)
 H0_mean_ax.text(0.5, 0.1, "Worse cross-survey calibration", ha="center", va="center", transform = H0_mean_ax.transAxes, fontsize = labelsize,  bbox=dict(boxstyle="rarrow,pad=0.3", fc="cyan", ec="b", lw=2))
 #cfc.makePlotOfPosteriorWidths(rand_mcmc_data_files_dict, 1, ax = Om_ax, xlabel = '$\Delta \mu_S$ Gaussian prior width (mags)', ylabel = r'$\Omega_M$' + r' posterior $\sigma$', data_load_dir = target_dir, plot_color = 'k', plot_marker = '.', show_fig = 0, save_fig = 0, zero_uncertainties_at_zero_prior = 0, labelsize = labelsize)
 #cfc.makePlotOfPosteriorWidths(real_mcmc_data_files_dict, 1, ax = Om_ax, xlabel = '$\Delta \mu_S$ Gaussian prior width (mags)', ylabel = r'Increase in $\Omega_M$' + '\n' + r' posterior $\sigma$', data_load_dir = target_dir, plot_color = 'k', plot_marker = 'x', show_fig = 0, save_fig = 0, zero_uncertainties_at_zero_prior = 1, labelsize = labelsize, show_all_chain_posteriors = show_all_chains)
 cfc.makePlotOfPosteriorWidths(real_mcmc_data_files_dict, 1, ax = OmM_mean_ax, xlabel = xlabel, ylabel = r'Shift in $\Omega_M$ centroid, $<\Omega_M>$', data_load_dir = target_dir, plot_color = 'k', plot_marker = 'x', show_fig = 0, save_fig = 0, zero_uncertainties_at_zero_prior = 1, labelsize = labelsize, show_all_chain_posteriors = show_all_chains, plot_sigmas = 0, n_points_to_lin_fit = n_offsets_to_lin_fit, in_plot_lin_text = ['$\\frac{d <\\Omega_M>}{d \\sigma_{P,S}} =$ ', r' $\frac{1}{25 \ \mathrm{ mmag}}$'], in_plot_loc = [0.20, 0.25], in_plot_text_size = labelsize + 4)
 OmM_mean_ax.text(0.5, 0.1, "Worse cross-survey calibration", ha="center", va="center", transform = OmM_mean_ax.transAxes, fontsize = labelsize,  bbox=dict(boxstyle="rarrow,pad=0.3", fc="cyan", ec="b", lw=2))
 #cfc.makePlotOfPosteriorWidths(rand_mcmc_data_files_dict, 2, ax = w0_ax, xlabel = '$\Delta \mu_S$ Gaussian prior width (mags)', ylabel = r'$w$' + r' posterior $\sigma$', data_load_dir = target_dir, plot_color = 'k', plot_marker = '.', show_fig = 0, save_fig = 0, zero_uncertainties_at_zero_prior = 0, labelsize = labelsize)
 #cfc.makePlotOfPosteriorWidths(real_mcmc_data_files_dict, 2, ax = w0_sig_ax, xlabel = '$\Delta \mu_S$ Gaussian prior width (mags)', ylabel = r'Increase in $w$ posterior $\sigma$', data_load_dir = target_dir, plot_color = 'k', plot_marker = 'x', show_fig = 0, save_fig = 0, zero_uncertainties_at_zero_prior = 1, labelsize = labelsize, show_all_chain_posteriors = show_all_chains, n_points_to_lin_fit = n_offsets_to_lin_fit, in_plot_lin_text = ['$\\frac{d \sigma_w}{d \\sigma_{P,S}} = $', r' mmag$^{-1}$'])
 cfc.makePlotOfPosteriorWidths(real_mcmc_data_files_dict, 2, ax = w0_mean_ax, xlabel = xlabel, ylabel = r'Shift in $w$ centroid, $<w>$', data_load_dir = target_dir, plot_color = 'k', plot_marker = 'x', show_fig = 0, save_fig = 0, zero_uncertainties_at_zero_prior = 1, labelsize = labelsize, show_all_chain_posteriors = show_all_chains, plot_sigmas = 0, n_points_to_lin_fit = n_offsets_to_lin_fit, in_plot_lin_text = ['$\\frac{d <w>}{d \\sigma_{P,S}} =$ ', r' $\frac{1}{25 \ \mathrm{mmag}}$'], in_plot_loc = [0.20, 0.75], in_plot_text_size = labelsize + 4)
 w0_mean_ax.text(0.5, 0.9, "Worse cross-survey calibration", ha="center", va="center", transform = w0_mean_ax.transAxes, fontsize = labelsize,  bbox=dict(boxstyle="rarrow,pad=0.3", fc="cyan", ec="b", lw=2))
 #plt.subplots_adjust (left = 0.20, right = 0.85)
 #plt.savefig(save_dir + OneD_posterior_file_name)
 #plt.close('all')
 full_mcmc_data_files_list = [real_mcmc_data_files_dict[mu_offset] for mu_offset in mu_offsets]
Beispiel #4
0
 print('real_mcmc_data_files_dict = ' + str(real_mcmc_data_files_dict))
 #We need to add the pre-inter survey offset uncertainties in quadrature from Planck and SH0ES.
 #cfc.makePlotOfPosteriorWidths(real_mcmc_data_files_dict, 0, ax = H0_ax, ref_param_vals_for_other_ax = [73.2, 67.27, np.sqrt(0.6 ** 2.0 + 1.3 ** 2.0), r"Planck vs SH0ES HT"], xlabel = '$\Delta \mu_S$ Gaussian prior width (mags)', ylabel = r'Increase in $H_0$' + '\n' + r' posterior $\sigma$ (km/s/Mpc)', data_load_dir = target_dir, plot_color = 'k', plot_marker = 'x', show_fig = 0, save_fig = 0, zero_uncertainties_at_zero_prior = 1, labelsize = labelsize, show_all_chain_posteriors = show_all_chains)
 cfc.makePlotOfPosteriorWidths(
     real_mcmc_data_files_dict,
     0,
     ax=H0_ax,
     xlabel=
     'Cross-survey photometric calibration uncertainty, $\sigma_{P, S}$ (mag)',
     ylabel=r'$H_0$ posterior $\sigma$ (km s$^{-1}$ Mpc$^{-1}$) ' + '\n' +
     ' increase (CSP SNe only)',
     title=r'Expansion of H$_0$ posterior uncertainty ' + '\n' +
     'with CSP as Only HF SNs Survey',
     data_load_dir=target_dir,
     plot_color='k',
     plot_marker='x',
     show_fig=0,
     save_fig=0,
     zero_uncertainties_at_zero_prior=1,
     labelsize=labelsize,
     show_all_chain_posteriors=show_all_chains,
     n_points_to_lin_fit=len(mu_offsets),
     in_plot_lin_text=[
         '$\\frac{d \sigma_{H_0}}{d \\sigma_{P,S}} =$ ',
         r' $\frac{\mathrm{km}}{\mathrm{s} \ \mathrm{Mpc}} \frac{1}{25 \ \mathrm{mmag}}$'
     ],
     in_plot_loc=[0.35, 0.2],
     in_plot_text_size=labelsize + 4)
 H0_ax.axvline(best_fit_mu_offsets[0], c='k', linestyle='--')
 #cfc.makePlotOfPosteriorWidths(rand_mcmc_data_files_dict, 1, ax = Om_ax, xlabel = '$\Delta \mu_S$ Gaussian prior width (mags)', ylabel = r'$\Omega_M$' + r' posterior $\sigma$', data_load_dir = target_dir, plot_color = 'k', plot_marker = '.', show_fig = 0, save_fig = 0, zero_uncertainties_at_zero_prior = 0, labelsize = labelsize)
 #cfc.makePlotOfPosteriorWidths(real_mcmc_data_files_dict, 1, ax = Om_ax, xlabel = '$\Delta \mu_S$ Gaussian prior width (mags)', ylabel = r'Increase in $\Omega_M$' + '\n' + r' posterior $\sigma$', data_load_dir = target_dir, plot_color = 'k', plot_marker = 'x', show_fig = 0, save_fig = 0, zero_uncertainties_at_zero_prior = 1, labelsize = labelsize, show_all_chain_posteriors = show_all_chains)
import CosmicFitterClass as cfc
import matplotlib.pyplot as plt
import numpy as np

if __name__ == "__main__":
    overplot_steps = 1000
    overplot_n_chains = 2
    z_lims = [0.005, 2.1]
    ticklabelsize = 12
    labelsize = 18
    fitter_to_plot = cfc.CosmicFitter(w_of_funct_str = 'w0', randomize_sn = 1, sn_data_type = 'pantheon_plus', params_to_overplot = ['H0'], overplot_mcmc_steps = overplot_steps, overplot_mcmc_chains = overplot_n_chains)
    #sorted_zs, sorted_mus, sorted_muErrs, colors = [fitter_to_plot.sorted_zs, fitter_to_plot.sorted_mus, fitter_to_plot.sorted_muErrs, fitter_to_plot.sorted_colors]
    save_plot_dir = '/Users/sashabrownsberger/Documents/Harvard/physics/stubbs/variableMuFits/plots/'
    plot_file_name = 'PantheonPlus_randomizeMuVsZ.pdf'

    #canon_mus = fitter_to_plot.getMusForCosmology(fitter_to_plot.nonCeph_zs, [fitter_to_plot.H0, fitter_to_plot.OmegaM, fitter_to_plot.OmegaLambda, fitter_to_plot.OmegaR , fitter_to_plot.Omega0], wOfFunction = lambda zs: fitter_to_plot.w_of_funct(zs, fitter_to_plot.default_w_params), )
    wOfFunction = lambda zs: fitter_to_plot.w_of_funct(zs, fitter_to_plot.default_w_params)
    canon_mus = cfc.getMusForCosmology(fitter_to_plot.nonCeph_zs, [fitter_to_plot.H0, fitter_to_plot.OmegaM, fitter_to_plot.OmegaLambda, fitter_to_plot.OmegaR , fitter_to_plot.Omega0], wOfFunction )
    fill_zs = np.logspace(-3, np.log10(2.5), 221).tolist()
    #fill_mus = fitter_to_plot.getMusForCosmology(fill_zs, [fitter_to_plot.H0, fitter_to_plot.OmegaM, fitter_to_plot.OmegaLambda, fitter_to_plot.OmegaR , fitter_to_plot.Omega0], wOfFunction = lambda zs: fitter_to_plot.w_of_funct(zs, fitter_to_plot.default_w_params), )
    fill_mus = cfc.getMusForCosmology(fill_zs, [fitter_to_plot.H0, fitter_to_plot.OmegaM, fitter_to_plot.OmegaLambda, fitter_to_plot.OmegaR , fitter_to_plot.Omega0], wOfFunction )
    print ('[len(fill_zs), len(fill_mus)] = ' + str([len(fill_zs), len(fill_mus)] ))
    surveys = np.unique(fitter_to_plot.nonCeph_surveys).tolist()
    print ('surveys = '  +str(surveys) )
    f, axarr = plt.subplots(2,1, figsize = [10, 6], sharex = True)
    scats = []
    ref_cosmo_plot = axarr[0].plot([-0.01] + fill_zs, [0.0] + fill_mus.tolist(), c = 'k')[0]
    for survey in surveys:
        zs = [fitter_to_plot.nonCeph_zs[i] for i in range(len(fitter_to_plot.nonCeph_zs)) if fitter_to_plot.nonCeph_surveys[i] == survey]
        mus = [fitter_to_plot.nonCeph_mus[i] for i in range(len(fitter_to_plot.nonCeph_mus)) if fitter_to_plot.nonCeph_surveys[i] == survey]
        muErrs = [fitter_to_plot.nonCeph_muErrs[i] for i in range(len(fitter_to_plot.nonCeph_muErrs)) if fitter_to_plot.nonCeph_surveys[i] == survey]
        axarr[0].set_ylim(H0_ylims)
        #axarr[1].set_ylim(OmM_ylims)
        axarr[2].set_ylim(w_ylims)
        #H0_scat = cfc.makePlotOfPosteriorWidths(save_files_dict, 0, ax = axarr[0], xlabel = '$\Delta \mu_S$ Gaussian prior width (mags)', ylabel = r'$H_0$ MCMC $\sigma$ (km/s/Mpc)',
        #                              ref_param_vals_for_other_ax = (None if j < len(extra_surveys_to_include_in_sequence) - 1 else [70.0, 67.4, 0.5, r"$H_0$ tension (# of $\sigma$s)"]),
        #                              data_load_dir = results_dir, plot_save_dir = plot_dir, save_fig = 0, save_fig_name = 0, plot_marker = 'x', plot_color = color, show_all_chain_posteriors = 0,
        #                              zero_uncertainties_at_zero_prior = 0, labelsize = labelsize, ylims = H0_ylims)
        H0_scat = cfc.makePlotOfPosteriorWidths(
            save_files_dict,
            0,
            ax=axarr[0],
            xlabel='$\Delta \mu_S$ Gaussian prior width (mags)',
            ylabel=r'$H_0$ MCMC $\sigma$ (km/s/Mpc)',
            data_load_dir=results_dir,
            plot_save_dir=plot_dir,
            save_fig=0,
            save_fig_name=0,
            plot_marker='x',
            plot_color=color,
            show_all_chain_posteriors=0,
            zero_uncertainties_at_zero_prior=0,
            labelsize=labelsize,
            ylims=H0_ylims)
        H0_scats = H0_scats + [H0_scat]

        OmM_scat = cfc.makePlotOfPosteriorWidths(
            save_files_dict,
            1,
            ax=axarr[1],
            xlabel='$\Delta \mu_S$ Gaussian prior width (mags)',
            ylabel=r'$\Omega_M$ MCMC $\sigma$',
 #w0_ax = axarr[2]
 #cfc.makePlotOfPosteriorWidths(rand_mcmc_data_files_dict, 0, ax = H0_ax, ref_param_vals_for_other_ax = [67.4, 0.5, r"$H_0$ tension (# of $\sigma$s)"], xlabel = '$\Delta \mu_S$ Gaussian prior width (mags)', ylabel = r'Increase in $H_0$' + '\n'  + r'posterior $\sigma$ (km/s/Mpc)', data_load_dir = target_dir, plot_color = 'k', plot_marker = '.', show_fig = 0, save_fig = 0)
 #cfc.makePlotOfPosteriorWidths(rand_mcmc_data_files_dict, 1, ax = Om_ax, xlabel = '$\Delta \mu_S$ Gaussian prior width (mags)', ylabel = r'Increase in $\Omega_M$' + '\n'  + r'posterior $\sigma$', data_load_dir = target_dir, plot_color = 'k', plot_marker = '.', show_fig = 0, save_fig = 0)
 #cfc.makePlotOfPosteriorWidths(rand_mcmc_data_files_dict, 2, ax = w0_ax, xlabel = '$\Delta \mu_S$ Gaussian prior width (mags)', ylabel = r'Increase in $w$' + '\n'  + r'posterior $\sigma$', data_load_dir = target_dir, plot_color = 'k', plot_marker = '.', show_fig = 0, save_fig = 0)
 #cfc.makePlotOfPosteriorWidths(rand_mcmc_data_files_dict, 0, ax = H0_ax, xlabel = '$\Delta \mu_S$ Gaussian prior width (mags)', ylabel = r'$H_0$' + r' posterior $\sigma$ (km/s/Mpc)', data_load_dir = target_dir, plot_color = 'k', plot_marker = '.', show_fig = 0, save_fig = 0, zero_uncertainties_at_zero_prior = 0, labelsize = labelsize)
 print('real_mcmc_data_files_dict = ' + str(real_mcmc_data_files_dict))
 #We need to add the pre-inter survey offset uncertainties in quadrature from Planck and SH0ES.
 cfc.makePlotOfPosteriorWidths(
     real_mcmc_data_files_dict,
     0,
     ax=H0_ax,
     ref_param_vals_for_other_ax=[
         73.2, 67.27,
         np.sqrt(0.6**2.0 + 1.3**2.0), r"Planck vs SH0ES HT"
     ],
     xlabel='$\Delta \mu_S$ Gaussian prior width (mags)',
     ylabel=r'Increase in $H_0$' + '\n' + r' posterior $\sigma$ (km/s/Mpc)',
     data_load_dir=target_dir,
     plot_color='k',
     plot_marker='x',
     show_fig=0,
     save_fig=0,
     zero_uncertainties_at_zero_prior=1,
     labelsize=labelsize,
     show_all_chain_posteriors=show_all_chains)
 #cfc.makePlotOfPosteriorWidths(rand_mcmc_data_files_dict, 1, ax = Om_ax, xlabel = '$\Delta \mu_S$ Gaussian prior width (mags)', ylabel = r'$\Omega_M$' + r' posterior $\sigma$', data_load_dir = target_dir, plot_color = 'k', plot_marker = '.', show_fig = 0, save_fig = 0, zero_uncertainties_at_zero_prior = 0, labelsize = labelsize)
 cfc.makePlotOfPosteriorWidths(
     real_mcmc_data_files_dict,
     1,
     ax=Om_ax,
     xlabel='$\Delta \mu_S$ Gaussian prior width (mags)',
     ylabel=r'Increase in $\Omega_M$' + '\n' + r' posterior $\sigma$',
    fig_name = 'TwoSurveySampleOfLuminosityOffsetEffect.pdf'
    #surveys = ['CFA1', 'CFA2', 'CFA3S', 'CSP', 'KAIT', 'LOWZ', 'PS1MD', 'SWIFT']
    mu_prior_type = 'gauss'
    base_H0 = 70.0
    base_OmM = 0.3
    base_w0 = -1.0
    ticklabelsize = 13
    labelsize = 15

    fancy_plot = 1
    if fancy_plot:
        # use LaTeX fonts in the plot
        plt.rc('text', usetex=True)
        plt.rc('font', family='serif')

    rand_fitter = cfc.CosmicFitter(w_of_funct_str = 'w0', randomize_sn = 1, sn_data_type = 'pantheon_plus', params_to_overplot = ['H0', 'OmM'], overplot_mcmc_steps = overplot_steps, overplot_mcmc_chains = overplot_n_chains, mu_prior_type = mu_prior_type,
                                   canonical_cosmic_vals = {'H0':base_H0, 'L':1.0, 'OmM':base_OmM, 'OmL':1.0 - base_OmM, 'OmR': 0.0001, 'Om0': 1.0, 'w0':base_w0,'wa':0}, force_rand_fit_to_background_cosmology = 0)
    rand_fitter.updateUsedSN(z_lims = z_lims, surveys_to_include  = surveys )

    scalar_params, wOfFunctionParams, muOffsets = rand_fitter.getAllFitParametersFromListOfParamsToVary([base_H0, base_OmM], ['H0','OmM'])
    H0, OmegaM, OmegaLambda, OmegaR, Omega0 = scalar_params
    print ('[H0, OmegaM, OmegaLambda, OmegaR, Omega0] = ' + str([H0, OmegaM, OmegaLambda, OmegaR, Omega0]))
    print ('[rand_fitter.H0, rand_fitter.OmegaM, rand_fitter.OmegaLambda, rand_fitter.OmegaR , rand_fitter.Omega0] = ' + str([rand_fitter.H0, rand_fitter.OmegaM, rand_fitter.OmegaLambda, rand_fitter.OmegaR , rand_fitter.Omega0]))
    print ('[wOfFunctionParams, rand_fitter.default_w_params] = ' + str([wOfFunctionParams, rand_fitter.default_w_params] ))
    loadedWOfFunction = lambda zs: rand_fitter.w_of_funct(zs, wOfFunctionParams[:])
    mu_offsets_by_survey_dict = rand_fitter.getMuOffsetsBySurvey(muOffsets)
    print ('mu_offsets_by_survey_dict = ' + str(mu_offsets_by_survey_dict ))
    #base_calc_mus_nonCeph = rand_fitter.getMusForCosmology(rand_fitter.nonCeph_zs, [rand_fitter.H0, rand_fitter.OmegaM, rand_fitter.OmegaLambda, rand_fitter.OmegaR , rand_fitter.Omega0], wOfFunction = lambda zs: rand_fitter.w_of_funct(zs, rand_fitter.default_w_params) )
    #base_calc_mus_Ceph = rand_fitter.getMusForCosmology([rand_fitter.sorted_zs[index] for index in rand_fitter.cepheid_indeces], [rand_fitter.H0, rand_fitter.OmegaM, rand_fitter.OmegaLambda, rand_fitter.OmegaR , rand_fitter.Omega0], wOfFunction = lambda zs: rand_fitter.w_of_funct(zs, rand_fitter.default_w_params))
    #base_calc_mus_all = rand_fitter.getMusForCosmology(rand_fitter.sorted_zs, [rand_fitter.H0, rand_fitter.OmegaM, rand_fitter.OmegaLambda, rand_fitter.OmegaR , rand_fitter.Omega0], wOfFunction = lambda zs: rand_fitter.w_of_funct(zs, rand_fitter.default_w_params) )
    f, axarr = plt.subplots(4,1, squeeze = False, figsize = [14, 8])
    ylims = [-1.5, 1.5]
        for k in range(len(x_vals)):
            x_val = x_vals[k]
            mcmc_output_files = save_files_dict [x_val]
            read_in_H0_vals = [[] for i in range(len(mcmc_output_files))]
            read_in_OmM_vals = [[] for i in range(len(mcmc_output_files))]
            read_in_OmM_times_w_vals = [[] for i in range(len(mcmc_output_files))]
            read_in_w_vals = [[] for i in range(len(mcmc_output_files))]
            for i in range(len(mcmc_output_files)):
                mcmc_output_file = mcmc_output_files[i]
                print ('mcmc_output_file = ' + str(mcmc_output_file))
                mcmc_data = can.readInColumnsToList(results_dir + mcmc_output_file, delimiter = ', ', n_ignore = 1, convert_to_float = 1)
                loaded_H0_data = [elem - mcmc_data[0][-1] for elem in mcmc_data[0][:-1]]
                loaded_OmM_data = [elem - mcmc_data[1][-1] for elem in mcmc_data[1][:-1]]
                loaded_w_data = [elem - mcmc_data[2][-1] for elem in mcmc_data[2][:-1]]

                OmM_mesh, w_mesh, mcmc_mesh = cfc.getContourMeshFromMCMCChainComponents([loaded_OmM_data, loaded_w_data], OmM_lims, w0_lims, bins )
                sorted_full_mcmc_mesh = np.flip(np.sort(mcmc_mesh.flatten()))
                full_levels = cfc.determineContourLevelsFromMCMCPosterior(sorted_full_mcmc_mesh, fitter_levels, samples_already_sorted = 1)
                contours = axarr[k].contour(OmM_mesh, w_mesh, mcmc_mesh, levels =  full_levels)

                contour_vertices = [contours.allsegs[-1 - i][0] for i in range(1, len(full_levels)  )] #nth outer contour is -1 - n
                contour_areas = [np.abs(can.measureAreaOfContour(contour)) for contour in contour_vertices]

                H0_std, H0_mean = [np.std(loaded_H0_data), np.mean(loaded_H0_data)]
                OmM_std, OmM_mean = [np.std(loaded_OmM_data), np.mean(loaded_OmM_data)]
                w_std, w_mean = [np.std(loaded_w_data), np.mean(loaded_w_data)]
                read_in_H0_vals[i] = [H0_std, H0_mean]
                read_in_OmM_vals[i] = [OmM_std, OmM_mean]
                read_in_OmM_times_w_vals[i] = [contour_areas[1], 0.0 ]
                read_in_w_vals[i] = [w_std, w_mean]