clenspy.kernels.limber.LimberProjector¶
- class clenspy.kernels.limber.LimberProjector(*, chi, pk_lin, rho_mean0, q_sigma, mean_sigma_crit, f_src_behind, sigma_gamma, n_src_arcmin2, n_ell=8000, ell_range=(0.1, 20000000.0))[source]¶
Bases:
objectWu et al. (2019) angular power spectra on a shared log-\(\ell\) grid.
NOTE: units and approximations are the module’s – h-free absolute, Limber with \(\ell + 1/2\), thin lens bin.
Every input is a plain callable, so a live clenspy object and a frozen snapshot table drive it identically.
- Parameters:
chi (callable) – Comoving distance \(\chi(z)\) [Mpc].
pk_lin (callable) – Linear matter power \(P_{\rm lin}(k, z)\) [Mpc^3], vectorised in
k.rho_mean0 (float) – Comoving mean matter density \(\bar\rho\) [Msun/Mpc^3]. The \(\bar\rho\) of eq.
F_Sigma; comoving, so no \(z\).q_sigma (callable) – \(q_\Sigma(z_{\rm lss}, z_h)\), so that \(F_\Sigma = \bar\rho\, q_\Sigma\) – see the module NOTE.
mean_sigma_crit (callable) – \(\langle\Sigma_{\rm crit}\rangle(z_h)\) [Msun/Mpc^2], unnormalised (LensingKernel.mean_sigma_crit). Called with
min_separation=if it accepts it; see shape_noise_Sigma.f_src_behind (callable) – Fraction of sources behind \(z_h\), same calling rule. See the module’s note on the one deviation from the paper.
sigma_gamma (float) – Per-galaxy shape noise.
n_src_arcmin2 (float) – Source surface density [arcmin^-2].
n_ell (int, optional) – Points on the \(\ell\) grid (default N_ELL_DEFAULT).
ell_range (tuple of float, optional) – \(\ell\) extent (default ELL_RANGE_DEFAULT); see the note there for why.
- __init__(*, chi, pk_lin, rho_mean0, q_sigma, mean_sigma_crit, f_src_behind, sigma_gamma, n_src_arcmin2, n_ell=8000, ell_range=(0.1, 20000000.0))[source]¶
Methods
C_ell_SS(z_lss_min, z_lss_max, z_halo)\(C_\ell^{\Sigma\Sigma}(z_h)\) [(Msun/Mpc^2)^2], eq.
C_ell_hS(z_min, z_max, bias, z_halo[, pk_hm])\(C_\ell^{\rm h\Sigma}\) [Msun/Mpc^2], eq.
C_ell_hh(z_min, z_max, bias[, pk_hh])\(C_\ell^{\rm hh}\) (dimensionless), eq.
F_Sigma(z_mid, z_halo)\(F_\Sigma(\chi_{\rm lss}, \chi_h) = \bar\rho\, q_\Sigma(z_{\rm lss}, z_h)\) (eq.
F_h(chi_mid, volume)\(F_{\rm h}(\chi_h) = \chi_h^2 / V\) (eq.
__init__(*, chi, pk_lin, rho_mean0, q_sigma, ...)c_ell_h(z_min, z_max, bias, counts, area_sr)Deprecated alias returning
(C_ell_hh, shot_noise_h).c_ell_h_sigma(z_min, z_max, bias, z_h[, pk_hm])Deprecated alias for C_ell_hS.
c_ell_sigma(zl_min, zl_max, z_h)Deprecated alias for C_ell_SS.
shape_noise_Sigma(z_halo)Shape noise on \(\Sigma\) [(Msun/Mpc^2)^2], eq.
shape_noise_sigma(z_h)Deprecated alias for shape_noise_Sigma.
shot_noise_h(counts, area_sr)Halo shot noise \(1/n_{\rm h}^{(2D)}\) [sr], eq.
- static F_h(chi_mid, volume)[source]¶
\(F_{\rm h}(\chi_h) = \chi_h^2 / V\) (eq.
F_h).The halo-sample window: a normalised comoving-volume weight, so it carries units of 1/Mpc and \(C_\ell^{\rm hh}\) comes out dimensionless.
- F_Sigma(z_mid, z_halo)[source]¶
\(F_\Sigma(\chi_{\rm lss}, \chi_h) = \bar\rho\, q_\Sigma(z_{\rm lss}, z_h)\) (eq.
F_Sigma).NOTE: the identification with \(q_\Sigma\) is exact, not an approximation – the paper’s \(\int_{\chi_{\rm lss}}^\infty d\chi_s\, p_{\rm src}\,\Sigma_{\rm crit}(z_s,z_h) / \Sigma_{\rm crit}(z_s,z_{\rm lss})\) is LensingKernel.q_sigma. Units: Msun/Mpc^3.
- C_ell_SS(z_lss_min, z_lss_max, z_halo)[source]¶
\(C_\ell^{\Sigma\Sigma}(z_h)\) [(Msun/Mpc^2)^2], eq.
clSS.\[C_\ell^{\Sigma\Sigma} = \int_0^\infty \!\! d\chi_{\rm lss} \left(\frac{F_\Sigma}{\chi_{\rm lss}}\right)^2 P_{\rm mm}\!\left(k=\frac{\ell+1/2}{\chi_{\rm lss}}\right)\]NOTE: the paper integrates over all line-of-sight structure, \(0\) to \(\infty\). Here the range is an argument, because \(q_\Sigma\) vanishes once no sources lie behind \(z_{\rm lss}\) and the caller knows where that is – the covariance uses \([0.1, \min(2, z_s^{\max} - 0.1)]\). Truncating it is the caller’s stated approximation, not a hidden one.
- C_ell_hh(z_min, z_max, bias, pk_hh=None)[source]¶
\(C_\ell^{\rm hh}\) (dimensionless), eq.
clhh.\[C_\ell^{\rm hh} = \int_{\chi_{\min}}^{\chi_{\max}} \!\! d\chi_h \left(\frac{F_{\rm h}}{\chi_h}\right)^2 P_{\rm hh}\!\left(k=\frac{\ell+1/2}{\chi_h}\right)\]- Parameters:
z_min (float) – The cluster redshift bin.
z_max (float) – The cluster redshift bin.
bias (float) – Linear halo bias, used only for the default \(P_{\rm hh} = b^2 P_{\rm lin}\) (the paper’s choice, with the Tinker et al. 2010 bias).
pk_hh (callable, optional) – Full \(P_{\rm hh}(k, z)\), overriding the linear-bias form.
- C_ell_hS(z_min, z_max, bias, z_halo, pk_hm=None)[source]¶
\(C_\ell^{\rm h\Sigma}\) [Msun/Mpc^2], eq.
clhS.\[C_\ell^{\rm h\Sigma} = \int_{\chi_{\min}}^{\chi_{\max}} \!\! d\chi \left(\frac{F_{\rm h}}{\chi}\right) \left(\frac{F_\Sigma}{\chi}\right) P_{\rm hm}\!\left(k=\frac{\ell+1/2}{\chi}\right)\]NOTE: integrated over the halo bin, where the two fields overlap – not over all LSS as \(C_\ell^{\Sigma\Sigma}\) is.
- Parameters:
pk_hm (callable, optional) – Full \(P_{\rm hm}(k, z)\). The paper uses the halo model: two-halo (\(b P_{\rm lin}\)) plus a one-halo NFW term. The default here is the two-halo part only, \(b P_{\rm lin}\), so pass
pk_hmfor the paper’s full form.
- static shot_noise_h(counts, area_sr)[source]¶
Halo shot noise \(1/n_{\rm h}^{(2D)}\) [sr], eq.
cov_DS.\(n_{\rm h}^{(2D)}\) is the halo surface density per steradian, so this is
area_sr / counts. It adds to \(C_\ell^{\rm hh}\), which is why both are dimensionless.
- shape_noise_Sigma(z_halo)[source]¶
Shape noise on \(\Sigma\) [(Msun/Mpc^2)^2], eq.
cov_DS.\[N^{\Sigma} = \frac{\sigma_\gamma^2}{n_{\rm s}^{(2D)} f_{\rm src}(z_h)} \left[\frac{\langle\Sigma_{\rm crit}\rangle(z_h)} {f_{\rm src}(z_h)}\right]^2\]where \(\langle\Sigma_{\rm crit}\rangle\) is the unnormalised integral of LensingKernel.mean_sigma_crit, so the bracket is the conditional average over sources behind the lens. Both integrals start at \(z_h + 0.1\) (MIN_LENS_SOURCE_SEPARATION_NOISE). This is the convention of
cluster-lensing-covcddbb2a.NOTE: the cut is passed as
min_separation=to themean_sigma_critandf_src_behindcallables when they accept it (a LensingKernel method does). A plain callable of \(z\) alone is used as given and must already carry the cut it wants.NOTE: the \(f_{\rm src}\) in the denominator is the one deviation from the paper – see the module NOTE. Passing
f_src_behind=lambda z: 1.0gives the paper’s form.
- c_ell_h(z_min, z_max, bias, counts, area_sr, pk_hh=None)[source]¶
Deprecated alias returning
(C_ell_hh, shot_noise_h).- Parameters:
pk_hh (Callable | None)