Library / Study
7 · The halo mass function

Press–Schechter: the barrier-crossing argument

How do you predict the number of dark-matter halos of every mass without running a simulation? Press & Schechter (1974) gave a startlingly simple answer: count the regions of the initial density field dense enough to collapse. This is the analytic engine behind our halo mass functions.

The core idea

The early density field is Gaussian. Press & Schechter proposed that a region collapses into a bound halo if, smoothed on the scale enclosing mass $M$, its overdensity $\delta$ exceeds a critical threshold $\delta_c$. The mass fraction in halos above $M$ is then the probability of exceeding that threshold — a statement about the initial statistics, not the messy nonlinear collapse.

Smoothing the field: σ(M)

Smoothing with a filter of radius $R$ (mass $M=\tfrac43\pi\bar\rho R^3$) gives a Gaussian $\delta$ of variance

$$\sigma^2(M)=\int_0^\infty\frac{dk}{2\pi^2}k^2P(k)|W(kR)|^2 .$$

More small-scale power means $\sigma$ is large for small $M$ and falls as $M$ grows — the single fact that makes massive halos rare. The window $W$ matters for FDM (Topic 6.4).

The collapsed fraction

Since $\delta$ is Gaussian with variance $\sigma^2(M)$,

$$F(>M)=\int_{\delta_c}^{\infty}\frac{d\delta}{\sqrt{2\pi}\sigma}e^{-\delta^2/2\sigma^2}=\tfrac12\,\mathrm{erfc}\!\left(\frac{\delta_c}{\sqrt2\,\sigma}\right).$$

Press & Schechter multiplied by 2 by hand (later justified by the excursion-set formalism, Topic 7.3).

From fraction to a mass function

Differentiating gives the number density per logarithmic mass interval,

$$\frac{dn}{d\ln M}=\frac{\bar\rho}{M}f(\sigma)\left|\frac{d\ln\sigma}{d\ln M}\right|,\qquad f_{\rm PS}(\sigma)=\sqrt{\tfrac2\pi}\,\frac{\delta_c}{\sigma}e^{-\delta_c^2/2\sigma^2}.$$

The exponential makes rare massive halos scarce; the prefactor gives the abundant low-mass end. Everything cosmological enters through $\sigma(M)$, built from $P(k)$. The figure shows both ingredients.

Derivation — from collapsed fraction to $dn/d\ln M$

Convert the mass fraction above threshold, $F(>M)$, into a number density:

  1. The mass fraction in a shell $[M,M+dM]$ is $\dfrac{dF}{dM}\,dM$; the number of halos per volume is $\dfrac{\bar\rho}{M}\dfrac{dF}{dM}\,dM$ (dividing mass fraction by mass per halo).
  2. With $F=\tfrac12\mathrm{erfc}(\delta_c/\sqrt2\,\sigma)$ and $\sigma=\sigma(M)$, chain-rule: $\dfrac{dF}{dM}=\dfrac{dF}{d\sigma}\dfrac{d\sigma}{dM}$.
  3. $\dfrac{dF}{d\sigma}=\dfrac{1}{\sqrt{2\pi}}\dfrac{\delta_c}{\sigma^2}e^{-\delta_c^2/2\sigma^2}$ (differentiating the erfc), and the ad-hoc factor 2 fixes the total.
  4. Collecting: $\dfrac{dn}{d\ln M}=\dfrac{\bar\rho}{M}\,f(\sigma)\left|\dfrac{d\ln\sigma}{d\ln M}\right|$ with $f_{\rm PS}=\sqrt{\tfrac2\pi}\dfrac{\delta_c}{\sigma}e^{-\delta_c^2/2\sigma^2}$.

The $|d\ln\sigma/d\ln M|$ factor is the Jacobian converting "fraction above threshold on scale $M$" into "halos per mass bin" — it is why the shape of $\sigma(M)$, not just its value, matters.

Worked example — how rare is a cluster?

At $z=0$ a cluster of $M=10^{15}\,M_\odot$ has $\sigma(M)\approx0.5$, so $\nu=\delta_c/\sigma=1.686/0.5\approx3.4$. The exponential suppression is $e^{-\nu^2/2}=e^{-5.7}\approx3\times10^{-3}$. Compare a galaxy halo $M=10^{12}$ with $\sigma\approx1.7$, $\nu\approx1.0$, $e^{-0.5}\approx0.6$. The ratio $\sim200$ in the exponential alone is why clusters are so much rarer than galaxies — a direct read-off of $\sigma(M)$ falling with mass.

Left: a region collapses when its smoothed $\delta$ exceeds $\delta_c=1.686$; small scales (broad, blue) have a fat tail above the barrier, large scales barely cross. Right: $\sigma(M)$ falls with mass, so massive halos are exponentially rarer.

δc, and the FDM twist

The threshold $\delta_c\approx1.686$ is the linearly-extrapolated overdensity at which a spherical top-hat collapses (Topic 7.1). For FDM nothing changes except $\sigma(M)$: quantum pressure erases small-scale power, $\sigma(M)$ flattens toward low mass, the Gaussian tail above $\delta_c$ collapses, and the halo count plummets below the half-mode mass. Same formula, different $\sigma(M)$ — the entire origin of the FDM suppression.

Press–Schechter in action: our GADGET-4 CDM halos (points) land on the analytic $\Lambda$CDM curve at $z=6$, validating the method, while our GAMER FDM halos are strongly suppressed below the cutoff.
In our research

This is the method Sandro named for Task 1. Our mass functions evaluate Press–Schechter and its Sheth–Tormen refinement (§7.3) on our validated linear $P(k)$; the $\Lambda$CDM baseline matches colossus to 0.1% and our own GADGET-4 halos at $z=6$. For FDM we swap in the Hu–Barkana–Gruzinov transfer (§6.3) and a sharp-$k$ window (§6.4), and the mass function cuts off below $M_{1/2}\approx5\times10^{10}\,M_\odot/h$.

Key references
  • Press & Schechter (1974), Formation of galaxies and clusters…, ApJ 187, 425.
  • Bond, Cole, Efstathiou & Kaiser (1991), Excursion set mass functions, ApJ 379, 440.
  • Sheth & Tormen (1999), Large-scale bias and the peak-background split, MNRAS 308, 119 (arXiv:astro-ph/9901122).