Behroozi¶
- class hmf.mass_function.fitting_functions.Behroozi(**model_parameters)[source]¶
Behroozi mass function fit [1].
This is an empirical modification to the
Tinker08fit, to improve accuracy at high redshift.- 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
\(f(\sigma)\) is that of
Tinker08. The mass function is then modified (Appendix G of [1]; masses in \(M_\odot\)) as\[\frac{dn}{dM} = \theta \frac{dn_{\rm T08}}{dM} - n_{\rm T08}(>M) \frac{d\theta}{dM},\]where
\[\begin{split}\theta &= 10^{\alpha (M/M_\star)^\gamma}, \\ \alpha &= \frac{0.144}{1 + \exp[14.79 (a - 0.213)]}, \\ \gamma &= \frac{0.5}{1 + \exp(6.5 a)},\end{split}\]with \(a = 1/(1+z)\) and \(M_\star = 10^{11.5} M_\odot\).
Default model parameters (override them with keyword arguments, or with
hmf_paramsinMassFunction):Parameter
Default
A_2000.1858659
A_3000.1995973
A_4000.2115659
A_6000.2184113
A_8000.2480968
A_12000.2546053
A_16000.26
A_24000.26
A_32000.26
a_2001.466904
a_3001.521782
a_4001.559186
a_6001.614585
a_8001.869936
a_12002.128056
a_16002.301275
a_24002.529241
a_32002.661983
b_2002.571104
b_3002.254217
b_4002.048674
b_6001.869559
b_8001.588649
b_12001.507134
b_16001.464374
b_24001.436827
b_32001.40521
c_2001.193958
c_3001.270316
c_4001.335191
c_6001.446266
c_8001.581345
c_12001.79505
c_16001.965613
c_24002.237466
c_32002.439729
A_exp0.14
a_exp0.06
References
[1] (1,2)Behroozi, P. S., Wechsler, R. H., Conroy, C., 2013. ApJ 770, 57. https://doi.org/10.1088/0004-637X/770/1/57
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
SimDetailsWhether to warn when the halo overdensity is outside the calibrated range.
Methods
- classmethod get_measured_mdef()¶
Get the mass definition used in the defining simulation.