Behroozi10SmHm

class halotools.empirical_models.Behroozi10SmHm(**kwargs)[source] [edit on github]

Bases: halotools.empirical_models.PrimGalpropModel

Stellar-to-halo-mass relation based on Behroozi et al 2010.

Note

The Behroozi10SmHm model is part of the behroozi10 prebuilt composite subhalo-based model. For a tutorial on the behroozi10 composite model, see Behroozi et al. (2010) Composite Model.

Parameters:

prim_haloprop_key : string, optional

String giving the column name of the primary halo property governing stellar mass. Default is set in the model_defaults module.

scatter_model : object, optional

Class governing stochasticity of stellar mass. Default scatter is log-normal, implemented by the LogNormalScatterModel class.

scatter_abscissa : array_like, optional

Array of values giving the abscissa at which the level of scatter will be specified by the input ordinates. Default behavior will result in constant scatter at a level set in the model_defaults module.

scatter_ordinates : array_like, optional

Array of values defining the level of scatter at the input abscissa. Default behavior will result in constant scatter at a level set in the model_defaults module.

redshift : float, optional

Redshift of the stellar-to-halo-mass relation. Recommended default behavior is to leave this argument unspecified.

If no redshift argument is given to the constructor, you will be free to use the analytical relations bound to Behroozi10SmHm to study the redshift-dependence of the SMHM by passing in a redshift argument to the mean_log_halo_mass and mean_stellar_mass methods.

If you do pass a redshift argument to the constructor, the instance of the Behroozi10SmHm will only return results for this redshift, and will raise an exception if you attempt to pass in a redshift to these methods. See the Notes below to understand the motivation for this behavior.

Notes

Note that the Behroozi10SmHm class is a distinct from the Behroozi10 model in several respects. The most important distinction to understand is that Behroozi10 is a composite model that has been built to populate simulations with mock galaxies, whereas Behroozi10SmHm is a component model that is just a collection of analytical functions.

Related to the above, the Behroozi10 composite model has a single redshift hard-wired into its behavior to guarantee consistency with the halo catalog into which Behroozi10 will sprinkle mock galaxies. On the other hand, the Behroozi10SmHm model need not have a redshift attribute bound to it at all, which permits you to use the analytical functions bound to Behroozi10SmHm to study the redshift-dependence of the stellar-to-halo-mass relation. However, since the Behroozi10 composite model uses an instance of the Behroozi10SmHm for its stellar-to-halo-mass feature, then there must be some mechanism by which the redshift-dependence of the Behroozi10SmHm can be held fixed. The option to provide a specific redshift to the constructor of Behroozi10SmHm provides this mechanism.

Methods Summary

mean_log_halo_mass(log_stellar_mass, **kwargs) Return the halo mass of a central galaxy as a function of the stellar mass.
mean_stellar_mass(**kwargs) Return the stellar mass of a central galaxy as a function of the input table.
retrieve_default_param_dict() Method returns a dictionary of all model parameters set to the column 2 values in Table 2 of Behroozi et al.

Methods Documentation

mean_log_halo_mass(log_stellar_mass, **kwargs)[source] [edit on github]

Return the halo mass of a central galaxy as a function of the stellar mass.

Parameters:

log_stellar_mass : array

Array of base-10 logarithm of stellar masses in h=1 solar mass units.

redshift : float or array, optional

Redshift of the halo hosting the galaxy. If passing an array, must be of the same length as the input log_stellar_mass. Default is set in sim_defaults.

Returns:

log_halo_mass : array_like

Array containing 10-base logarithm of halo mass in h=1 solar mass units.

Notes

The parameter values in Behroozi+10 were fit to data assuming h=0.7, but all halotools inputs are in h=1 units. Thus we will transform our input stellar mass to h=0.7 units, evaluate using the behroozi parameters, and then transform back to h=1 units before returning the result.

mean_stellar_mass(**kwargs)[source] [edit on github]

Return the stellar mass of a central galaxy as a function of the input table.

Parameters:

prim_haloprop : array, optional

Array of mass-like variable upon which occupation statistics are based. If prim_haloprop is not passed, then table keyword argument must be passed.

table : object, optional

Data table storing halo catalog. If table is not passed, then prim_haloprop keyword argument must be passed.

redshift : float or array, optional

Redshift of the halo hosting the galaxy. If passing an array, must be of the same length as the input stellar_mass. Default is set in sim_defaults.

Returns:

mstar : array_like

Array containing stellar masses living in the input table, in solar mass units assuming h = 1.

retrieve_default_param_dict()[source] [edit on github]

Method returns a dictionary of all model parameters set to the column 2 values in Table 2 of Behroozi et al. (2010).

Returns:

d : dict

Dictionary containing parameter values.