dsf.data_vector.delta_sigma_builder module

Excess surface density profiles for galaxy-galaxy lensing.

This module evaluates the projected excess surface density,

\[\Delta\Sigma(R, z) = \bar{\Sigma}(<R, z) - \Sigma(R, z),\]

from power-spectrum-backed CCL halo profiles. The main use case is the galaxy-galaxy lensing observable around a lens sample, optionally averaged over a lens-bin redshift distribution.

The returned profiles use proejcted comoving radii and are reported in \(M_\odot / \mathrm{pc}^2\). Any conversion between comoving and proper surface-density conventions should be applied consistently at the likelihood or data-vector level.

class dsf.data_vector.delta_sigma_builder.DeltaSigmaCalculator(pk2d_func)[source]

Bases: object

Calculate excess surface density profiles from a 3D matter profile.

The calculator evaluates

\[\Delta\Sigma(R, z) = \bar{\Sigma}(<R, z) - \Sigma(R, z),\]

where \(\Sigma(R, z)\) is the projected surface density and \(\bar{\Sigma}(<R, z)\) is its mean within projected radius \(R\).

The underlying 3D profile is supplied through a function that returns a CCL Pk2D object. This makes the calculator agnostic to whether the profile comes from a linear matter power spectrum, nonlinear matter power spectrum, halo-model prediction, or another power-spectrum-backed model.

Parameters:

pk2d_func (Callable[..., ccl.Pk2D])

delta_sigma(r, a, cosmo, pk2d_kwargs=None)[source]

Calculate \(\Delta\Sigma(R)\) at a single lens redshift.

This is the excess projected surface density associated with the chosen 3D density profile,

\[\Delta\Sigma(R) = \bar{\Sigma}(<R) - \Sigma(R).\]
Parameters:
  • r (ndarray[tuple[Any, ...], dtype[float64]]) – Projected comoving radii in Mpc.

  • a (float) – Scale factor of the lens redshift.

  • cosmo (Cosmology) – CCL cosmology object.

  • pk2d_kwargs (dict[str, Any] | None) – Additional parameters for the 3D profile model.

Returns:

Excess surface density in \(M_\odot / \mathrm{pc}^2\).

Return type:

ndarray[tuple[Any, …], dtype[float64]]

delta_sigma_lens_bin(r, lens_dndz, cosmo, pk2d_kwargs=None, *, z_min=None, z_max=None, trim_edge_points=0)[source]

Calculate lens-bin-averaged \(\Delta\Sigma(R)\).

For a lens sample with redshift distribution \(n_l(z)\), this returns the redshift-weighted excess surface density,

\[\langle \Delta\Sigma(R) \rangle = \frac{\int dz\, n_l(z)\,\Delta\Sigma(R, z)} {\int dz\, n_l(z)}.\]

This is useful when the observable is assigned to a tomographic lens bin rather than to a single effective lens redshift.

Parameters:
  • r (ndarray[tuple[Any, ...], dtype[float64]]) – Projected comoving radii in Mpc.

  • lens_dndz (tuple[ndarray[tuple[Any, ...], dtype[float64]], ndarray[tuple[Any, ...], dtype[float64]]]) – Tuple (z, n_z) describing the lens-bin redshift distribution.

  • cosmo (Cosmology) – CCL cosmology object.

  • pk2d_kwargs (dict[str, Any] | None) – Additional parameters for the 3D profile model.

  • z_min (float | None) – Optional lower redshift limit of the lens bin.

  • z_max (float | None) – Optional upper redshift limit of the lens bin.

  • trim_edge_points (int) – Number of edge points removed from each side of the selected positive-support lens distribution.

Returns:

Lens-bin-averaged excess surface density in \(M_\odot / \mathrm{pc}^2\).

Return type:

ndarray[tuple[Any, …], dtype[float64]]

dsf.data_vector.delta_sigma_builder.stellar_point_mass_delta_sigma(r, log10_mstellar)[source]

Calculate the stellar point-mass contribution to \(\Delta\Sigma\).

The stellar mass of the lens galaxy contributes a small-scale point-mass term,

\[\Delta\Sigma_\star(R) = \frac{M_\star}{\pi R^2}.\]

This contirbution is most relevant at small projected separations where the lens galaxy’s stellar mass is non-negligible compared with the extended dark-matter contribution.

Parameters:
  • r (ndarray[tuple[Any, ...], dtype[float64]]) – Projected comoving radii in Mpc.

  • log10_mstellar (float) – Stellar mass in units of \(\log_{10}(M_\odot)\).

Returns:

Stellar point-mass contribution in \(M_\odot / \mathrm{pc}^2\).

Return type:

ndarray[tuple[Any, …], dtype[float64]]