compute_uber_hostid

halotools.utils.compute_uber_hostid(upid, haloid, n_iter_max=20)[source]

Calculate uber_hostid of every UM galaxy. For centrals, uber_hostid = id. For satellites, uber_hostid = upid.

For sats whose upid does not appear in the catalog, uber_hostid is set to haloid For sats whose original upid points to a non-central, the upid is corrected.

Parameters:
upidinteger array of shape (n, )

For centrals, upid=-1. For satellites, upid=haloid of the host halo

haloidinteger array of shape (n, )

Unique identifier of the subhalo

Returns:
upidinteger array of shape (n, )

Equals the original upid except for two cases: i) upid does not appear in the input haloid ii) upid points to a halo with upid!=-1

uber_hostidinteger array of shape (n, )
n_iterinteger

Number of iterations required to correct the upids of higher-ordr sub-sub halos