Lb1 = np.mean(bias1[Toto]) Lb2 = np.mean(bias2[Toto]) Lb3 = np.mean(bias3[Toto]) Lb4 = np.mean(bias4[Toto]) errLb1 = np.mean(errb1[Toto]) errLb2 = np.mean(errb2[Toto]) errLb3 = np.mean(errb3[Toto]) errLb4 = np.mean(errb4[Toto]) #################################################################### #### compute pt terms Pmod_dd, Pmod_dt, Pmod_tt, A, B, C, D, E, F, G, H = pt_terms(kcamb, Pcamb) ### interpolate on simulation k Pmod_dd, Pmod_dt, Pmod_tt, A, B, C, D, E, F, G, H = interp_simu1(z,j ,k, kcamb, Pcamb, Pmod_dd, Pmod_dt, Pmod_tt,\ A, B, C, D, E, F, G, H, 2) #~ plt.plot(k,Pmm/Pmm) #~ plt.plot(k,Pmod_dd/Pmm) #~ plt.plot(k, Plin/Pmm) #~ plt.plot(k, Pcamb/Pmm) #~ plt.xscale('log') #~ plt.show() #~ kill #################################################################### #### get fitted coefficients #------------------------------------------------------------------- Tm, Tcb = interp_simu3(z, j, k, kclass, Tm, Tcb, 2) fcc = fz[j] * (Tm / Tcb)
def rescal(j, case): z = [0.0, 0.5, 1.0, 2.0] #~ z = [0.0,2.0] #~ mu = 0.5 #~ kmax = 1 #~ mass_range = ['m1','m2','m3','m4'] #~ mass_range = ['m1', 'm2'] #~ mass_range = ['m1'] #~ axis = 0 #in redshift-space distortion axis # neutrino parameters hierarchy = 'degenerate' #'degenerate', 'normal', 'inverted' ########################### Mnu = 0.0 #eV ########################### Nnu = 0 #number of massive neutrinos Neff = 3.046 # cosmological parameters h = 0.6711 Omega_c = 0.2685 - Mnu / (93.14 * h**2) Omega_b = 0.049 Omega_l = 0.6825 Omega_k = 0.0 Omega_m = Omega_c + Omega_b tau = None start = time() ######################################################################## ######################################################################## #################################################################### ##### scale factor red = ['0.0', '0.5', '1.0', '2.0'] ind = red.index(str(z[j])) fz = [0.524, 0.759, 0.875, 0.958] Dz = [1., 0.77, 0.61, 0.42] print 'For redshift z = ' + str(z[j]) Omeg_m_z = Omega_m * (1 + z[j])**3 / (Omega_m * (1 + z[j])**3 + Omega_l) #~ fz = Omeg_m_z**0.55 ######################################################################### #### load data from simualtion kcamb, Pcamb, k, Pmm, PH1, PH2, PH3 , PH4, errPhh1, errPhh2, errPhh3, errPhh4, bias1, bias2, bias3, bias4, \ bias1s, bias2s, bias3s, bias4s, errb1, errb2, errb3, errb4, Pmono1, Pmono2, Pmono3, Pmono4, errPr1, errPr2, errPr3,\ errPr4, kclass, Tm, Tcb, noise1, noise2, noise3, noise4 = ld_data(0.0, z, j) #################################################################### ##### define the maximum scale for the fit kstop1 = [0.16, 0.2, 0.25, 0.35] kstop2 = [0.12, 0.16, 0.2, 0.2] kstop3 = [0.15, 0.15, 0.15, 0.15] #### the case if case == 1: kstop = kstop1[ind] elif case == 2: kstop = kstop2[ind] elif case == 3: kstop = kstop3[ind] #### other kstop #~ kstoplim = [0.5,0.5,0.5,0.4] #~ kstoplim = [0.25,0.25,0.25,0.25] #~ kstop = kstoplim[ind] print kstop # put identation to the rest to loop over kstop #~ #kstop_arr = np.logspace(np.log10(0.05),np.log10(0.6),20) #~ #for kstop in kstop_arr: ####################################################################### # interpolate to have more points and create an evenly logged array #~ kbis = np.logspace(np.log10(np.min(k)), np.log10(np.max(k)), 250) #~ kbis = np.logspace(np.log10(np.min(kcamb)), np.log10(np.max(kcamb)), 200) #~ Plinbis = np.interp(kbis, k, Plin) lim = np.where((k < kstop) & (k > 1e-2))[0] #~ plt.figure() #~ plt.plot(kcamb,Pcamb) #~ plt.plot(kbis,Plinbis) #~ plt.plot(k,Plin) #~ plt.xscale('log') #~ plt.yscale('log') #~ plt.xlim(1e-3,10) #~ plt.ylim(1e-1,4e4) #~ plt.show() #~ kill #################################################################### ##### compute linear bias and error # on interpolated array toto = np.where(k < 0.05)[0] lb1 = np.mean(bias1[toto]) lb2 = np.mean(bias2[toto]) lb3 = np.mean(bias3[toto]) lb4 = np.mean(bias4[toto]) errlb1 = np.mean(errb1[toto]) errlb2 = np.mean(errb2[toto]) errlb3 = np.mean(errb3[toto]) errlb4 = np.mean(errb4[toto]) # on simulation array Toto = np.where(k < 0.05)[0] Lb1 = np.mean(bias1[Toto]) Lb2 = np.mean(bias2[Toto]) Lb3 = np.mean(bias3[Toto]) Lb4 = np.mean(bias4[Toto]) errLb1 = np.mean(errb1[Toto]) errLb2 = np.mean(errb2[Toto]) errLb3 = np.mean(errb3[Toto]) errLb4 = np.mean(errb4[Toto]) #################################################################### #### compute pt terms Pmod_dd, Pmod_dt, Pmod_tt, A, B, C, D, E, F, G, H = pt_terms(kcamb, Pcamb) ### interpolate on simulation k Pmod_dd, Pmod_dt, Pmod_tt, A, B, C, D, E, F, G, H = interp_simu1(z,j ,k, kcamb, Pcamb, Pmod_dd, Pmod_dt, Pmod_tt,\ A, B, C, D, E, F, G, H, 2) #~ plt.plot(k,Pmm/Pmm) #~ plt.plot(k,Pmod_dd/Pmm) #~ plt.plot(k, Plin/Pmm) #~ plt.plot(k, Pcamb/Pmm) #~ plt.xscale('log') #~ plt.show() #~ kill #################################################################### #### get fitted coefficients print 'polynomial' biasF1, biasF2, biasF3, biasF4, biasF1bis, biasF2bis, biasF3bis, biasF4bis = poly(kstop, lb1, lb2, lb3, lb4,\ errlb1, errlb2, errlb3, errlb4, k, bias1, bias2, bias3, bias4, errb1, errb2, errb3, errb4,0.0, z, j, case) #~ biasF1s, biasF2s, biasF3s, biasF4s, biasF1biss, biasF2biss, biasF3biss, biasF4biss = poly(kstop, k, lb1, lb2, lb3, lb4,\ #~ errlb1, errlb2, errlb3, errlb4, kbis, bias1biss, bias2biss, bias3biss, bias4biss, errb1bis, errb2bis, errb3bis, errb4bis,Mnu, z, j, case) #------------------------------------------------------------------- print 'perturbation' bias2PT1, bias2PT2, bias2PT3, bias2PT4, bias3PT1, bias3PT2, bias3PT3, bias3PT4, bias3PTbis1,\ bias3PTbis2, bias3PTbis3, bias3PTbis4 = perturb(kstop, lb1, lb2, lb3, lb4, errlb1, errlb2, errlb3, errlb4, Pmod_dd, k, bias1,\ bias2, bias3, bias4, errb1, errb2, errb3, errb4, A, B, C, D, E, F,0.0, z, j, case, PH1, noise1, noise2, noise3, noise4) #~ bias2PT1s, bias2PT2s, bias2PT3s, bias2PT4s, bias3PT1s, bias3PT2s, bias3PT3s, bias3PT4s, bias3PTbis1s,\ #~ bias3PTbis2s, bias3PTbis3s, bias3PTbis4s = perturb(kstop, k, lb1, lb2, lb3, lb4, errlb1, errlb2, errlb3, errlb4, Pmmbis,\ #~ kbis, bias1biss, bias2biss, bias3biss, bias4biss, errb1bis, errb2bis, errb3bis, errb4bis, A, B, C, D, E, F,Mnu, z, j, case) #~ kill ### mean #### #~ b1 = np.array([bias2PT1*sca1/bias1bis, bias2PT2*sca2/bias2bis, bias2PT3*sca3/bias3bis, bias2PT4*sca4/bias4bis]) #~ b1bis = np.array([bias3PT1*sca1/bias1bis, bias3PT2*sca2/bias2bis, bias3PT3*sca3/bias3bis, bias3PT4*sca4/bias4bis]) #~ b1ter = np.array([bias3PTbis1*sca1/bias1bis, bias3PTbis2*sca2/bias2bis, bias3PTbis3*sca3/bias3bis, bias3PTbis4*sca4/bias4bis]) #~ b3 = np.array([biasF1*sca1/bias1bis, biasF2*sca2/bias2bis, biasF3*sca3/bias3bis, biasF4*sca4/bias4bis]) #~ b3bis = np.array([biasF1bis*sca1/bias1bis, biasF2bis*sca2/bias2bis, biasF3bis*sca3/bias3bis, biasF4bis*sca4/bias4bis]) #~ b1 = np.mean(b1,axis=0) #~ b1bis = np.mean(b1bis,axis=0) #~ b1ter = np.mean(b1ter,axis=0) #~ b3 = np.mean(b3,axis=0) #~ b3bis = np.mean(b3bis,axis=0) sca1, sca2, sca3, sca4 = np.loadtxt( '/home/david/codes/montepython_public/montepython/likelihoods/BE_HaPPy/coefficients/other neutrinos masses/0.15eV/rescaling_z=' + str(z[j]) + '_.txt') b2PT1 = bias2PT1 * sca1 b2PT2 = bias2PT2 * sca2 b2PT3 = bias2PT3 * sca3 b2PT4 = bias2PT4 * sca4 b3PT1 = bias3PT1 * sca1 b3PT2 = bias3PT2 * sca2 b3PT3 = bias3PT3 * sca3 b3PT4 = bias3PT4 * sca4 bF1 = biasF1 * sca1 bF2 = biasF2 * sca2 bF3 = biasF3 * sca3 bF4 = biasF4 * sca4 b3PTbis1 = bias3PTbis1 * sca1 b3PTbis2 = bias3PTbis2 * sca2 b3PTbis3 = bias3PTbis3 * sca3 b3PTbis4 = bias3PTbis4 * sca4 return b2PT1, b2PT2, b2PT3, b2PT4,b3PT1, b3PT2, b3PT3, b3PT4,bF1, bF2, bF3, bF4,\ b3PTbis1, b3PTbis2, b3PTbis3, b3PTbis4 #~ #################################################################### #~ ### compute of the 4 mass bins #~ #################################################################### Tm, Tcb = interp_simu3(z, j, k, kclass, Tm, Tcb, 2) fcc = fz[j] * (Tm / Tcb) #~ kai1, kai2, kai3, kai4, sco1, sco2, sco3, sco4, tns1, tns2, tns3, tns4, etns1, etns2, etns3, etns4 = RSD(fz,fcc, Dz[ind]\ #~ , j, kstop, Pmmbis, biasF1, biasF2, biasF3, biasF4, kbis, Plinbis, Pmono1bis, Pmono2bis, Pmono3bis, \ #~ Pmono4bis, errPr1bis, errPr2bis, errPr3bis, errPr4bis, Pmod_dt, Pmod_tt, case,z,0.0, A, B, C, D, E, F, G, H ) kcamb, Pcamb, k, Pmm, PH1, PH2, PH3 , PH4, errPhh1, errPhh2, errPhh3, errPhh4, bias1, bias2, bias3, bias4, \ bias1s, bias2s, bias3s, bias4s, errb1, errb2, errb3, errb4, Pmono1, Pmono2, Pmono3, Pmono4, errPr1, errPr2, errPr3,\ errPr4, kclass, Tm, Tcb, noise1, noise2, noise3, noise4 = ld_data(0.15, z, j) Pmod_dd, Pmod_dt, Pmod_tt, A, B, C, D, E, F, G, H = pt_terms(kcamb, Pcamb) ### interpolate on simulation k Pmod_dd, Pmod_dt, Pmod_tt, A, B, C, D, E, F, G, H = interp_simu1(z,j ,k, kcamb, Pcamb, Pmod_dd, Pmod_dt, Pmod_tt,\ A, B, C, D, E, F, G, H, 2) #~ return kai1*sca1, kai2*sca2, kai3*sca3, kai4*sca4, sco1*sca1, sco2*sca2, sco3*sca3, sco4*sca4, tns1*sca1, tns2*sca2,\ #~ tns3*sca3, tns4*sca4, etns1*sca1, etns2*sca2, etns3*sca3, etns4*sca4 #--------------------------------------------------- #~ kai1, kai2, kai3, kai4, sco1, sco2, sco3, sco4, tns1, tns2, tns3, tns4, etns1, etns2, etns3, etns4 = RSD1(fz[j],fcc, Dz[ind]\ #~ , j, kstop, kcamb, Pcamb, Pmod_dd, bF1, bF2, bF3, bF4, k, Pmono1, Pmono2, Pmono3, Pmono4, errPr1, errPr2,\ #~ errPr3, errPr4, Pmod_dt, Pmod_tt, case,z,0.15, A, B, C, D, E, F, G, H) kai1, kai2, kai3, kai4, sco1, sco2, sco3, sco4, tns1, tns2, tns3, tns4, etns1, etns2, etns3, etns4 = RSD3(fz[j],fcc, Dz[ind]\ , j, kstop, kcamb, Pcamb, Pmod_dd, bF1, bF2, bF3, bF4, k, Pmono1, Pmono2, Pmono3, Pmono4, errPr1, errPr2,\ errPr3, errPr4, Pmod_dt, Pmod_tt, case,z,0.15, A, B, C, D, E, F, G, H, sca1, sca2, sca3, sca4)