Watson¶
- class hmf.mass_function.fitting_functions.Watson(nu2: ndarray, m: ndarray | None = None, z: float = 0.0, n_eff: ndarray | None = None, mass_definition: BaseMassDefinition | None = None, cosmo: FLRW = FlatLambdaCDM(name='Planck18', H0=<Quantity 67.66 km / (Mpc s)>, Om0=0.30966, Tcmb0=<Quantity 2.7255 K>, Neff=3.046, m_nu=<Quantity [0., 0., 0.06] eV>, Ob0=0.04897), delta_c: float = 1.68647, **model_parameters)[source]¶
Watson mass function fit.
Three AHF fits from Watson+13 (v4/published) are used, by redshift. At \(z=0\) it uses the precise present-day fit (Table 2:
A_0,alpha_0,beta_0,gamma_0). At \(z \geq\)z_hiit uses the EoR fit (Table 2:*_hi). In between it uses the redshift-dependent fit of eqs 14-16, with \(\alpha(z) = \Omega_m(z)\{5.907(1+z)^{-3.599} + 2.344\}\), \(\beta(z) = \Omega_m(z)\{3.136(1+z)^{-3.058} + 2.349\}\), \(A(z) = \Omega_m(z)\{1.097(1+z)^{-3.216} + 0.074\}\) and \(\gamma\) =gamma_z. (arXiv v1 swaps the labels of the \(\alpha\) and \(\beta\) fits; v4 is the published version.)As in the paper, the fits are not joined smoothly, so \(f(\sigma)\) jumps between \(z=0\) and \(z \to 0^+\). For the simulation’s \(\Omega_m = 0.27\) the jump is 0-9% over \(-0.55 \leq \ln\sigma^{-1} \leq 1.05\), within the paper’s ~10% accuracy. Because \(\Omega_m(z)\) multiplies \(A\), \(\alpha\) and \(\beta\), and the fit was calibrated at a single cosmology, it extrapolates poorly to other \(\Omega_m\): at \(\Omega_m = 0.31\) the jump is a factor 1.4-2.7. Bocquet+16 call this a “heightened and likely artificial cosmological sensitivity”.
For details on attributes, see documentation for
BaseFittingFunction.- Parameters:
nu2 (array_like) – A vector of peak-heights, \(\delta_c^2/\sigma^2\) corresponding to m
m (array_like, optional) – A vector of halo masses [units M_sun/h]. Only necessary if
req_massis True. Typically provides limits of applicability. Must correspond to nu2.z (float, optional) – The redshift. Only used by models that depend on redshift. Default is 0.
n_eff (array_like, optional) – The effective spectral index at m. Only required if
req_neffis True.mass_definition (
hmf.halos.mass_definitions.MassDefinitioninstance) – A halo mass definition. Only required for fits which explicitly include a parameterization for halo definition.cosmo (
astropy.cosmology.FLRWinstance, optional) – A cosmology. Default ishmf.cosmology.cosmo.DEFAULT_COSMOLOGY(Planck18), as for the frameworks. Either omegam_z or cosmo is required ifreq_omzis True. If both are passed, omegam_z takes precedence.**model_parameters (unpacked-dictionary) – These parameters are model-specific. The available parameters and their defaults are listed in the Notes section of each model (and are also available as
<model>._defaults).
Notes
The Watson [1] form is:
\[f_{\rm WatS}(\sigma) = \Gamma A \left(\left(\frac{\beta}{\sigma}\right)^\alpha+1\right)\exp(-\gamma/\sigma^2)\]Default model parameters (override them with keyword arguments, or with
hmf_paramsinMassFunction):Parameter
Default
C_a0.023
d_a0.456
d_b0.139
p0.072
q2.13
A_00.194
alpha_01.805
beta_02.267
gamma_01.287
z_hi6
A_hi0.563
alpha_hi3.81
beta_hi0.874
gamma_hi1.453
A_a1.097
A_b3.216
A_c0.074
alpha_a5.907
alpha_b3.599
alpha_c2.344
beta_a3.136
beta_b3.058
beta_c2.349
gamma_z1.318
References
[1]Watson, W. A., et al., 2013. MNRAS 433, 1230. https://doi.org/10.1093/mnras/stt791
Attributes
Boolean mask of the elements within the fit's calibrated range.
The function \(f(\sigma)\equiv\nu f(\nu)\).
Negative log of sigma.
Whether this model is normalized so that all mass is in halos
The peak height, \(\nu = \delta_c/\sigma\).
Normalised matter density at current redshift.
References to cite when this model is used, each a formatted citation string.
Whether m is required for this subclass
Whether n_eff is required for this subclass
The sqrt of mass variance as a function of mass.
Details of the defining simulation, instance of
SimDetailsMethods
- classmethod get_measured_mdef()¶
Get the mass definition used in the defining simulation.