Exemplo n.º 1
0
def trial_check(d):
    a = np.linspace(-1, 1, n_points)
    b = np.linspace(1e-5, 1e-1, n_points)
    r = np.linspace(0, 1, n_points)
    e = np.linspace(1e-4, 1e-2, n_points)
    A, B, R, S, E = np.meshgrid(a, b, r, r, e)
    array = np.array([])
    for i in d:
        integrand = sp.integrate.trapz(sp.integrate.trapz(sp.integrate.trapz(
            sp.integrate.trapz(sp.integrate.trapz(
                (i * A + E) /
                (B**2 + i**2 / uf.chi(R)**2 + E**2 -
                 2 * B * np.sqrt(i**2 / uf.chi(R)**2 + E**2) * A) * R * S,
                a,
                axis=0),
                               b,
                               axis=0),
            r,
            axis=0),
                                                          r,
                                                          axis=0),
                                       e,
                                       axis=0)
        array = np.append(array, integrand)
    return array
Exemplo n.º 2
0
def Cl_21(ell,y,z):
    #Cl=[]
    Cl=np.array([])
    for i in ell:
        kpar=y/uf.r(z)
        k=np.sqrt(kpar**2+(i/uf.chi(z))**2)
        mu_k_sq=kpar**2/k**2
        a=uf.b_HI+uf.f(z)*mu_k_sq
        Cl_one=(uf.T_mean(z)*a*uf.D_1(z))**2*uf.Mps_interpf(k)/(uf.chi(z)**2*uf.r(z))
        Cl=np.append(Cl,Cl_one)
    return Cl
Exemplo n.º 3
0
def F_three_ints(ell, z):
    Kp = np.geomspace(1.e-10, 10., n_points)
    Mu = np.linspace(-0.9999, 0.9999, n_points)
    Phi = np.geomspace(1.e-4, 2 * np.pi, n_points)
    mu, phi, kp = np.meshgrid(Mu, Phi, Kp)
    C_l = np.zeros((len(z), len(ell)))
    theta_kp_arr = np.array([])
    theta_K_arr = np.array([])
    for j in range(len(z)):
        for i in range(len(ell)):
            k = ell[i] / uf.chi(z[j])
            K = np.sqrt(k**2 + kp**2 - 2 * k * kp * mu * np.cos(phi))
            theta_kp = np.sqrt(1 - mu**2)
            theta_kp_arr = np.append(theta_kp_arr, theta_kp)
            theta_K = -np.sqrt(1 - mu**2) * kp / K
            theta_K_arr = np.append(theta_K_arr, theta_K)
            I = theta_kp / kp**2 + theta_K * theta_kp / K / kp
            z_part = (1 + z[j])**2 * np.exp(-2 * tau_inst(z[j])) * f(
                z[j])**2 * D(z[j])**4 / chi(z[j])**2 * H(z[j])
            integral = z_part * sp.integrate.trapz(sp.integrate.trapz(
                sp.integrate.trapz(
                    kp**2 * I * Mps_interpf(kp) * Mps_interpf(K), Mu, axis=0),
                Phi,
                axis=0),
                                                   Kp,
                                                   axis=0)
            C_l[j, i] = integral
    return C_l, theta_kp_arr, theta_K_arr
Exemplo n.º 4
0
def C_l_castro_integrand(ell, z):
    Kp = np.geomspace(k_min, k_max, n_points)
    Y1 = Kp * uf.chi(z) / ell
    Mu = np.linspace(-1, 1, n_points)
    mu, y1 = np.meshgrid(Mu, Y1)
    H = uf.H
    chi = uf.chi
    tau = uf.tau_inst
    #chi_Z=chi(Z)
    f = uf.f
    D = uf.D_1
    const = 1e12 * T_rad**2 * x**2 / cc.c_light_Mpc_s * (sigma_T * rho_g0 /
                                                         (mu_e * m_p))**2
    #kp_norm=np.linalg.norm(Kp)
    #k_norm=np.linalg.norm(ell/chi_Z)
    C_l = np.array([])
    for i in z:
        k = ell / chi(i)
        constants = 1 / (2 * np.pi)**(3 / 2) * 2 * np.pi / 2
        #mu=np.dot(k,Kp)/(k_norm*kp_norm)
        #I=k*(k-2*kp*j)*(1-j**2)/(k**2+kp**2-2*k*kp*j)
        integral = [
            constants * sp.integrate.trapz(sp.integrate.trapz(
                f(i)**2 * Mps_interpf(k * y1) *
                Mps_interpf(k * np.sqrt(1 + y1**2 - 2 * y1 * mu)) * k *
                (1 - 2 * y1 * mu)**2 * (1 - mu**2) /
                (1 + y1**2 - 2 * y1 * mu)**2 * const *
                (1 + i)**2 * H(i) * D(i)**4 * np.exp(-2 * tau(i)) / chi(i)**2,
                Y1,
                axis=0),
                                           Mu,
                                           axis=0)
        ]
        C_l = np.append(C_l, integral)
    return C_l
Exemplo n.º 5
0
def C_l_mu_single_ell(ell):
    Kp = np.geomspace(1e-4, 100, n_points)
    Mu = np.linspace(-0.9999, 0.9999, n_points)
    Z = np.geomspace(1e-4, z_r, n_points)
    mu, kp, z = np.meshgrid(Mu, Kp, Z)
    H_z = uf.H(Z)
    chi_z = uf.chi(Z)
    #chi_Z=chi(Z)
    tau_z = uf.tau_inst(Z)
    f_z = uf.f(Z)
    D_z = uf.D_1(Z)
    const = 1e12 * T_rad**2 * x**2 / cc.c_light_Mpc_s * (
        sigma_T * rho_g0 / (mu_e * m_p))**2 / 8 / np.pi**2
    #kp_norm=np.linalg.norm(Kp)
    #k_norm=np.linalg.norm(ell/chi_Z)
    k = ell / chi_z
    K = np.sqrt(k**2 + kp**2 - 2 * k * kp * mu)
    integral = sp.integrate.trapz(sp.integrate.trapz(
        sp.integrate.trapz(Mps_interpf(kp) * np.exp(-2 * tau_z) * f_z**2 *
                           D_z**4 * H_z * (1 - mu**2) * (1 + z)**2 / chi_z**2,
                           Mu,
                           axis=0),
        Kp,
        axis=0),
                                  Z,
                                  axis=0)
    return integral
Exemplo n.º 6
0
def C_l_integrand(ell, z):
    Kp = np.geomspace(1e-4, k_max, n_points)
    Mu = np.linspace(-0.9999, 0.9999, n_points)
    mu, kp = np.meshgrid(Mu, Kp)
    H_z = uf.H(z)
    chi_z = uf.chi(z)
    #chi_Z=chi(Z)
    tau_z = uf.tau_inst(z)
    f_z = uf.f(z)
    D_z = uf.D_1(z)
    const = 1e12 * T_rad**2 * x**2 / cc.c_light_Mpc_s * (
        sigma_T * rho_g0 / (mu_e * m_p))**2 / 8 / np.pi**2
    #kp_norm=np.linalg.norm(Kp)
    #k_norm=np.linalg.norm(ell/chi_Z)
    C_l = np.array([])
    for i in ell:
        k = i / chi_z
        K = np.sqrt(np.abs(k**2 + kp**2 - 2 * k * kp * mu))
        integral = [
            const * sp.integrate.trapz(sp.integrate.trapz(
                k * (k - 2 * kp * mu) *
                (1 - mu**2) / K**2 * Mps_interpf(kp) * Mps_interpf(K) *
                (1 + z)**2 * np.exp(-2 * tau_z) * f_z**2 * D_z**4 / chi_z**2 *
                H_z,
                Mu,
                axis=0),
                                       Kp,
                                       axis=0)
        ]
        C_l = np.append(C_l, integral)
    return C_l
Exemplo n.º 7
0
def power_spec(ell):
    kpar = np.geomspace(1e-4, 1e-1, 1000)
    array = np.array([])
    z = 1
    for i in ell:
        k = np.sqrt(kpar**2 + i**2 / uf.chi(z)**2)
        integrand = Mps_interpf(k)
        integral = sp.integrate.trapz(integrand, kpar, axis=0)
        array = np.append(array, integral)
    return array
Exemplo n.º 8
0
def Delta_b_noredshift_single(ell, z):
    kp_norm = np.linalg.norm(kp)
    k = ell / uf.chi(z)
    k_norm = np.linalg.norm(k)
    mu = np.dot(k, kp) / (k_norm * kp_norm)
    I = k * (k - 2 * kp * mu) * (1 - mu**2) / (k**2 + kp**2 - 2 * k * kp * mu)
    constants = 1 / ((2 * np.pi**2) * (2 * np.pi)**3)
    delta_sq = constants * Mps_interpf(kp) * Mps_interpf(np.abs(ell - kp)) * I
    Integral = sp.integrate.trapz(delta_sq, kp)
    return Integral
Exemplo n.º 9
0
def Cl_21_func_of_y(ell, z, y):
    z1 = 1.
    kpar = y / r(z1)
    chi_1 = uf.chi(z1)
    f_1 = uf.f(z1)
    D_1 = uf.D_1(z1)
    k = np.sqrt(kpar**2 + (ell / chi_1)**2)
    mu_k_sq = kpar**2 / k**2
    a = uf.b_HI + f_1 * mu_k_sq
    Cl = (uf.T_mean(z1) * a * D_1)**2 * uf.Mps_interpf(k) / chi_1**2 / r(z1)
    return Cl
Exemplo n.º 10
0
def Mps_k(ell):
    #Cl=np.array([])
    Mps=np.array([])
    kpar=(2/uf.r(1))
    for i in ell:
        k=np.sqrt(kpar**2+(i/uf.chi(1))**2)
        Mps_one_ell=uf.Mps_interpf(k)
        #Mps_div_ell=Mps*kpar**4*(T_mean(1)*(kpar**2/k**2))**2/(chi(1)**2*r(1))
        #Cl=np.append(Cl,Mps_div_ell)
        Mps=np.append(Mps,Mps_one_ell)
    return Mps
Exemplo n.º 11
0
def Cl_21_lksz(ell,y,z):
    #Cl=[]
    Cl=np.array([])

    for i in ell:
        a=uf.b_HI+uf.f(z)*mu_k(i,y,z)**2
        #print (a)
        delta_tcm=(uf.T_mean(z)*a*uf.D_1(z))/(uf.chi(z)**2*uf.r(z))
        #print (delta_tcm)
        delta_lksz=const*u(z_r)*np.abs(np.cos(uf.kpar(y,z_r)*chi_r))/k(i,y,z_r)**2*lksz.Mps_interpf(k(i,y,z_r))
        #print (delta_lksz)
        Cl_one=delta_tcm*delta_lksz
        Cl=np.append(Cl,Cl_one)
    return Cl  
Exemplo n.º 12
0
def C_l_mu_integral_threeints(ell, z_min):
    Kp = np.geomspace(1.e-10, 10., n_points)
    Mu = np.linspace(-0.9999, 0.9999, n_points)
    Phi = np.geomspace(1.e-4, 2 * np.pi, n_points)
    Z = np.geomspace(z_min, z_r, n_points)
    mu, phi, kp, z = np.meshgrid(Mu, Phi, Kp, Z)
    H_z = uf.H(z)
    chi_z = uf.chi(z)
    #chi_Z=chi(Z)
    tau_z = uf.tau_inst(z)
    f_z = uf.f(z)
    D_z = uf.D_1(z)
    const = 1e12 * T_rad**2 * x**2 / cc.c_light_Mpc_s * (
        sigma_T * rho_g0 / (mu_e * m_p))**2 / 16 / np.pi**3
    #kp_norm=np.linalg.norm(Kp)
    #k_norm=np.linalg.norm(ell/chi_Z)
    theta_kp_arr = np.array([])
    theta_K_arr = np.array([])
    I_arr = np.array([])
    C_l = np.array([])
    for i in ell:
        k = i / chi_z
        K = np.sqrt(k**2 + kp**2 - 2 * k * kp * mu * np.cos(phi))
        theta_kp = np.sqrt(1 - mu**2)
        theta_K = -np.sqrt(1 - mu**2) * kp / K
        theta_kp_arr = np.append(theta_kp_arr, theta_kp)
        theta_K_arr = np.append(theta_K_arr, theta_K)
        I = theta_kp**2 / kp**2 + theta_K * theta_kp / K / kp
        I_arr = np.append(I_arr, I)
        #I=k*(k-2*kp*mu)*(1-mu**2)/K**2
        integral = [
            const * sp.integrate.trapz(sp.integrate.trapz(sp.integrate.trapz(
                sp.integrate.trapz(
                    kp**2 * I * Mps_interpf(kp) * Mps_interpf(K) * (1 + z)**2 *
                    np.exp(-2 * tau_z) * f_z**2 * D_z**4 / chi_z**2 * H_z,
                    Mu,
                    axis=0),
                Phi,
                axis=0),
                                                          Kp,
                                                          axis=0),
                                       Z,
                                       axis=0)
        ]
        C_l = np.append(C_l, integral)
    return C_l, theta_kp_arr, theta_K_arr, I_arr
Exemplo n.º 13
0
def Cl_21(ell, z1):
    y = np.linspace(1, 3000, n_points)
    kpar = np.geomspace(1e-10, 1e-2, n_points)
    kpar = y / r(z1)
    Cl = np.array([])
    for i in ell:
        #integral=sp.integrate.quadrature(lambda kpar:Cl_21_func_of_y(z1,kpar,i),1e-4,1e-1)[0]
        chi_1 = uf.chi(z1)
        f_1 = uf.f(z1)
        D_1 = uf.D_1(z1)
        k = np.sqrt(kpar**2 + (i / chi_1)**2)
        mu_k_sq = kpar**2 / k**2
        a = uf.b_HI + f_1 * mu_k_sq
        integral = sp.integrate.trapz((uf.T_mean(z1) * a * D_1)**2 *
                                      uf.Mps_interpf(k) / chi_1**2 / r(z1),
                                      y,
                                      axis=0)
        Cl = np.append(Cl, integral)
    return Cl
Exemplo n.º 14
0
def C_l(ell):
    C_l=np.array([])
    zz=z[:,np.newaxis]
    kk=kp[np.newaxis,:]
    kk_norm=np.linalg.norm(kk)
    for i in ell:
        #mu=kk/i
        #mu=(i**2+kk**2-(np.abs(i-kk))**2)/(2*i*kk)
        #print (mu)
        #I=i**2/(kk**2*(i**2+kk**2))
        k_norm=np.linalg.norm(i/chi(zz))
        mu=np.dot(i/chi(zz),kk)/(k_norm*kk_norm)
        #print (mu)
        I=i/chi(zz)*(i/chi(zz)-2*kk*mu)*(1-mu**2)/((i/chi(zz))**2+kk**2-2*i/chi(zz)*kk*mu)
        constants=(i/chi(zz))**3/((2*np.pi**2)*(2*np.pi)**3)
        delta_sq=constants*Mps_interpf(kk)*Mps_interpf(np.abs(i/chi(zz)-kk))*I
        const=8*np.pi**2*T_rad**2*x**2/cc.c_light_Mpc_s*(sigma_T*rho_g0/(mu_e*m_p))**2
        integrand=[const*(1+zz)**2*uf.f(zz)**2*delta_sq*uf.chi(zz)*uf.H(zz)*np.exp(-2*tau(zz))]        
    C_l=np.append(C_l,sp.integrate.trapz(sp.integrate.trapz(integrand,zz,axis=0),kp,axis=0))
    return C_l
Exemplo n.º 15
0
def C_l_castro_triplemesh(ell, z_min):
    Z = np.geomspace(z_min, z_r, n_points)
    kp = np.geomspace(k_min, k_max, n_points)
    Y1 = kp * uf.chi(Z) / ell
    Mu = np.linspace(-1, 1, n_points)
    mu, y1, z = np.meshgrid(Mu, Y1, Z)
    H = uf.H
    chi = uf.chi
    #chi_Z=chi(Z)
    tau = uf.tau_inst
    f = uf.f
    D = uf.D_1
    const = 1e12 * T_rad**2 * x**2 / cc.c_light_Mpc_s * (sigma_T * rho_g0 /
                                                         (mu_e * m_p))**2
    #kp_norm=np.linalg.norm(Kp)
    #k_norm=np.linalg.norm(ell/chi_Z)
    constants = 1 / (2 * np.pi)**(3 / 2) * 2 * np.pi / 2
    C_l = np.array([])
    for i in ell:
        print(i)
        #mu=np.dot(k,Kp)/(k_norm*kp_norm)
        #I=k*(k-2*kp*j)*(1-j**2)/(k**2+kp**2-2*k*kp*j)
        integral = [
            constants *
            sp.integrate.trapz(sp.integrate.trapz(sp.integrate.trapz(
                f(z)**2 * Mps_interpf(i * y1 / chi(z)) *
                Mps_interpf(i / chi(z) * np.sqrt(1 + y1**2 - 2 * y1 * mu)) *
                i / chi(z) * (1 - 2 * y1 * mu) * (1 - mu**2) /
                (1 + y1**2 - 2 * y1 * mu) * const *
                (1 + z)**2 * H(z) * D(z)**4 * np.exp(-2 * tau(z)) / chi(z)**2,
                Y1,
                axis=0),
                                                  Mu,
                                                  axis=0),
                               Z,
                               axis=0)
        ]
        C_l = np.append(C_l, integral)
    return C_l
Exemplo n.º 16
0
def C_l_mu_integral_squeezed(ell, z_min):
    Kp = np.geomspace(1.e-10, .1, n_points)
    Mu = np.linspace(-0.9999, 0.9999, n_points)
    Z = np.geomspace(z_min, z_r, n_points)
    mu, kp, z = np.meshgrid(Mu, Kp, Z)
    H_z = uf.H(z)
    chi_z = uf.chi(z)
    #chi_Z=chi(Z)
    tau_z = uf.tau_inst(z)
    f_z = uf.f(z)
    D_z = uf.D_1(z)
    const = 1e12 * T_rad**2 * x**2 / cc.c_light_Mpc_s * (
        sigma_T * rho_g0 / (mu_e * m_p))**2 / 8 / np.pi**2
    #kp_norm=np.linalg.norm(Kp)
    #k_norm=np.linalg.norm(ell/chi_Z)
    C_l = np.array([])
    for i in ell:
        k = i / chi_z
        #K=np.sqrt(k**2+kp**2-2*k*kp*mu)  #original K
        K = np.sqrt(k**2 + kp**2 - 2 * k * kp *
                    (np.sqrt(1 - mu**2)))  #changed K, correct one
        #I=(1-mu**2) #in squeezed with original
        #I=k*(k-2*kp*mu)*(1-mu**2)/K**2 #original I, without squeezed
        #I=k*(k-2*kp*np.sqrt(1-mu**2))*(mu**2)/K**2 #I, without squeezed, changed, correct one
        I = mu**2  #I, with squeezed, changed, correct one
        integral = [
            const * sp.integrate.trapz(sp.integrate.trapz(sp.integrate.trapz(
                I * Mps_interpf(kp) * Mps_interpf(k) * (1 + z)**2 *
                np.exp(-2 * tau_z) * f_z**2 * D_z**4 / chi_z**2 * H_z,
                Mu,
                axis=0),
                                                          Kp,
                                                          axis=0),
                                       Z,
                                       axis=0)
        ]
        C_l = np.append(C_l, integral)
    return C_l
Exemplo n.º 17
0
def k(i,y,z):
    k=np.sqrt(uf.kpar(y,z)**2+(i/uf.chi(z))**2)
    return k
Exemplo n.º 18
0
from decimal import Decimal

cosmo=uf.cosmo
Mps_interpf=uf.Mps_interpf

n_points=uf.n_points
z_r=10.
x_e=1.
G=cc.G_const_Mpc_Msun_s/cc.M_sun_g
#rho_c=3*H0**2/(8.*np.pi*G)
rho_c=den.cosmo_densities(**cosmo)[0]*cc.M_sun_g #in units of g/Mpc^3
sigma_T=cc.sigma_T_Mpc
tau_r=0.055
T_rad=2.73 #In Kelvin

chi_r = uf.chi(z_r)
chi_m = uf.chi(1100)
chi_min=0.0001
k_min=1e-3
k_max=0.1
chi_array=np.linspace(chi_min,chi_m,n_points)
#tau_r=0.046*omega_b_0*h*x_e[np.sqrt(omega_M_0(1+z_r)**3+(1-omega_M_0))-1]
#get matter power spec data
mu_e=1.44
m_p=cc.m_p_g #in grams
rho_g0=cosmo['omega_b_0']*rho_c
#plt.loglog(uf.kabs,Mps_interpf(uf.kabs))
#plt.show()

zed=uf.zed
z=uf.z
Exemplo n.º 19
0
            if n_u(i/(2.*np.pi))==0:
                n_u1=1/1e100
            else:
                n_u1=n_u(i/(2.*np.pi))
            n=np.append(n,n_u1)
        Nbs= 1024.*(1024.-1.)
        #norm=Nbs/sp.integrate.trapz(n*2*np.pi*(l/(2.*np.pi)), l/(2.*np.pi))
        C=n#*noprint (nu_min)
        A_bull= ((Tsys**2)*(lam**4)*Sarea) / (nu21*npol*Ttot*(Aeff**2)*Fov_deg*Nbeam)
        Warren=Tsys**2*lam**2/Aeff*4.*np.pi/(nu21*npol*Nbeam*Ttot)
        #return (Warren/C)*1e12
        return (A_bull/C)*1e12

ell_large=np.geomspace(1.e-10,1.e6,10000)

kperp_min_orig,kperp_max_orig=uf.ell_lims(z,6.,6*1024)/uf.chi(z)
kperp_min,kperp_max=kperp_min_orig,kperp_max_orig
#print (kperp_min,kperp_max)
kpar_min=uf.kpar_min(z,delta_z)
#print (kpar_min)
kperp_arr=np.geomspace(kperp_min,kperp_max,n)
kpar_arr=np.geomspace(kpar_min,5.,n)

ell_min,ell_max=uf.chi(z)*kperp_min,uf.chi(z)*kperp_max
ell=np.geomspace(ell_min,ell_max,n)

ell=np.geomspace(1.,1.e4,n)
kperp_arr=ell/chi(1.26)
kpar_arr=np.geomspace(1.e-4,.15,n)
y=kpar_arr*r(1.26)
Exemplo n.º 20
0
def P_delta_N_v(z, kperp, kpar, Noise):
    k = np.sqrt(kperp**2 + kpar**2)
    Nv_func_of_k = Noise(uf.chi(z) * kperp) / k**4 * kpar**2
    return Nv_func_of_k * Mps_interpf(k)
Exemplo n.º 21
0
def P_v_N_delta(z, kperp, kpar, Noise):
    k = np.sqrt(kperp**2 + kpar**2)
    Pv_func_of_k = Mps_interpf(k) / k**4 * kpar**2
    return Pv_func_of_k * Noise(uf.chi(z) * kperp)
Exemplo n.º 22
0
                                                     Ttot)
    #return (Warren/C)*1e12
    return (A_bull / C) * 1e12


ell_large = np.geomspace(1.e-10, 1.e5, 10000)

kperp_min_orig, kperp_max_orig = uf.kperp_lims(z, 6., 6. * 1024.)
kperp_min, kperp_max = kperp_min_orig, kperp_max_orig
#print (kperp_min,kperp_max)
kpar_min = uf.kpar_min(z, delta_z)
#print (kpar_min)
kperp_arr = np.geomspace(kperp_min, kperp_max, n)
kpar_arr = np.geomspace(kpar_min, 5., n)

ell_min, ell_max = uf.chi(z) * kperp_min, uf.chi(z) * kperp_max
ell = np.geomspace(ell_min, ell_max, n)
ell = np.geomspace(1., 1.e4, n)

#np.savetxt('Hirax_noise_z_1_Ddish_6_Dsep_7_geom.out',(ell_large,HiraxNoise(ell_large,6.,7.,1.)))
#ell_new,Hirax_noise_z_1=np.genfromtxt('/home/zahra/python_scripts/kSZ_21cm_signal/Hirax_noise_z_1_Ddish_6_Dsep_7.out')
Hirax_noise_z_1pt26_deltaz_pt2 = interp1d(ell_large,
                                          HiraxNoise(ell_large, 6., 7., 1.26,
                                                     0.2),
                                          bounds_error=False)
Hirax_noise_z_1pt26_deltaz_pt05 = interp1d(ell_large,
                                           HiraxNoise(ell_large, 6., 7., 1.26,
                                                      0.05),
                                           bounds_error=False)
Hirax_noise_z_1pt26_deltaz_pt0015 = interp1d(ell_large,
                                             HiraxNoise(
Exemplo n.º 23
0
x_e = 1.

G = cc.G_const_Mpc_Msun_s / cc.M_sun_g

#rho_c=3*H0**2/(8.*np.pi*G)

rho_c = den.cosmo_densities(**cosmo)[0] * cc.M_sun_g  #in units of g/Mpc^3

sigma_T = cc.sigma_T_Mpc

tau_r = 0.055

T_rad = 2.725  #In Kelvin

chi_m = uf.chi(1100)

chi_min = 0.0001

k_min = 1e-4

k_max = 4.5e-2

chi_array = np.linspace(chi_min, chi_m, n_points)

#tau_r=0.046*omega_b_0*h*x_e[np.sqrt(omega_M_0(1+z_r)**3+(1-omega_M_0))-1]

#get matter power spec data

mu_e = 1.44
Exemplo n.º 24
0
plt.show()
'''

def cumulative_SNR(SNR_2D_binned):
    sum_each_kperp=np.array([])
    SNR_y,SNR_x=SNR_2D_binned.shape
    for i in range(SNR_x):
        sum_one_kperp=np.sum(SNR_2D_binned[:,i])
        sum_each_kperp=np.append(sum_each_kperp,sum_one_kperp)
    return sum_each_kperp


S_area=15000
SNR=Bispec_SNR
kperp_arr,kpar_arr,SNR_arr=SNR_binned(z,delta_z,Noise,SNR,S_area,Dsep=7.)
ell=kperp_arr*uf.chi(z)


#print (np.cumsum(cum_SNR(SNR_arr)))

pylab.pcolormesh(kperp_arr,kpar_arr,SNR_arr) ;  cbar=plt.colorbar()
cbar.ax.tick_params(labelsize=12)
plt.tick_params(axis='both', which='major', labelsize=12)
pylab.xlim([np.min(kperp_arr),np.max(kperp_arr)]) ; pylab.ylim([np.min(kpar_arr),np.max(kpar_arr)])
plt.xlabel(r'$k_\perp$',fontsize=12); plt.ylabel(r'$k_\parallel$',fontsize=12); plt.title('Pixel SN for bispectrum', x=1.13, y=1.05)
pylab.show()

plt.plot(kperp_arr,np.cumsum(cumulative_SNR(SNR_arr)))
plt.ylabel('Cumulative S/N')
plt.xlabel(r'$k_\perp$')
plt.show()