import os,sys from pylab import * from scipy.integrate import quad from scipy.integrate import romberg from scipy.interpolate import interp1d from SNeCosmology import SNeCosmology ################# SN_WANT = 100000 SC = SNeCosmology(H0=67.7, Omega_m=0.30, Omega_k=0.0, w0=-1.0, wa=0.0, z_sn_max=2.0, grid_size=100) # sn_density = loadtxt('SN_density.txt') # change to flat distribution # sn_density[:,1] = 1.0 sn_density = loadtxt('SN_density_flat.txt') savetxt('SN_density_flat.txt',sn_density) #plot(sn_density[:,0], sn_density[:,1],'.') #show() zs_min = min(sn_density[:,0]) zs_max = max(sn_density[:,0]) zp_min = zs_min zp_max = zs_max A = loadtxt('../mu_zs2zp.txt')
id2 = JLA[:,0] < zbin[i+1] mu_err.append(JLA[id1*id2,1].mean()) zbin = (zbin[1:]+zbin[:-1])/2 mu_err = array(mu_err) # plot(zbin,mu_err,'.-') # show() fun_dmu = interp1d(zbin,mu_err,kind='cubic') def get_dmu(z): return fun_dmu(z) ################################################################################ SC = SNeCosmology(H0=67.7, Omega_m=0.307, Omega_k=0.0, w0=-1.0, wa=0.0, z_sn_max=1.5, grid_size=100) NumSNe = 20000 NullzErr = 1.0 sn_z = [] sn_mu= [] sn_dmu = [] sn_zerr= [] cnt = 0 while cnt < NumSNe: zi = get_rand_z() zerr = 0.02*(1.+zi)*randn()*NullzErr if zi + zerr > 0.01 and zi + zerr <=1.299: mui = SC.dist_mu(zi)