# Halo mass function

Pylians provides the routine MF_theory to compute the halo mass function of a given model. The arguments of this function are:

k_in, Pk_in, OmegaM, Masses, author, bins=10000, z=0, delta=200.0

• k. 1D numpy array with the value of the linear matter power spectrum wavenumbers.

• Pk. 1D numpy array with the amplitude of the linear matter power spectrum on the wavenumbers k.

• OmegaM. Value of $$\Omega_{\rm m}$$.

• Masses. 1D numpy array with the value of the halo masses over which compute the halo mass function.

• author. The model for the halo mass function. Options are: ST, Tinker, Tinker10, Crocce, Jenkins, Warren, Watson, Watson_FoF, Angulo.

• bins. In order to carry out the integrals, the k bins need to be sorted and equally spaced in log10. This parameter determines the number of bins to use. The more the better, but a very large number will have very little impact. Default 10000.

• z. Redshift at which to estimate the halo mass function. Only needed for the Tinker, Tinker10, and Crocce mass functions.

• delta. The overdensity value. Default is 200. Only needed for Tinker and Tinker10.

Note

For cosmologies with massive neutrinos, $$\Omega_{\rm m}$$ should be set to $$\Omega_{\rm c}+\Omega_{\rm b}$$ and the linear power spectrum should be the CDM+baryons linear power spectrum; see e.g. 1311.1212 and 1311.1514.

An example of how to use this routine is this:

import numpy as np
import mass_function_library as MFL

# halo mass function parameters
f_Pk   = 'Pk_linear_z=0.txt'  #file with linear Pk
OmegaM = 0.3175
Masses = np.logspace(11, 15, 100) #array with halo masses
author = 'ST'   #Sheth-Tormen halo mass function
bins   = 10000  #number of bins to use for Pk
z      = 0.0    #redshift; only used for Tinker, Tinker10 and Crocce
delta  = 200.0  #overdensity; only for Tinker and Tinker10

# compute halo mass function
HMF = MFL.MF_theory(k, Pk, OmegaM, Masses, author, bins, z, delta)


## variance

Pylians provides the routine sigma that can be used to compute $$\sigma_R$$, defined as

$\sigma_R = \int_0^\infty P(k)W(k,R)^2k^2/(2\pi^2)$

where $$W(k,R)$$ is the Fourier transform of a top-hat function with radius $$R$$:

$W(k,R) = \frac{3[\sin(kR) - kR\cos(kR)]}{(kR)^3}$

The most standard applicaiton of this routine is to compute the value of $$\sigma_8$$ given a linear power spectrum:

import numpy as np
import mass_function_library as MFL