Lensing (CMB Lensing)

Synopsis:

Gaussian Likelihood for CMB Lensing for Simons Observatory

Authors:

Frank Qu, Mat Madhavacheril.

This is a simple likelihood which inherits from generic binned power spectrum (PS) likelihood. It comes in two forms: the full LensingLikelihood which requires (automated) downloading of external data and a more lightweight LensingLiteLikelihood which is less accurate (and should only be used for testing) but does not require the data download.

Lensing Likelihood

class soliket.lensing.LensingLikelihood(*args, **kwargs)[source]

Bases: GaussianLikelihood, InstallableLikelihood

The full LensingLikelihood makes use of a fiducial lensing power spectrum which is calculated at a hard-coded set of fiducial cosmological parameters. This fiducial spectrum is combined with noise power spectra correction terms (\(N_0\) and \(N_1\) terms calculated using this code) appropriate for SO accounting for known biases in the lensing estimators. These correction terms are then combined with the power spectrum calculated at each Monte Carlo step. For more details on the calculation of the corrected power spectrum see e.g. Section 5.9 and Appendix E of Qu et al (2023).

Noise power spectra are downloaded as part of the LensingLikelihood installation. This is an Installable Likelihood with necessary data files stored on NERSC. You can install these data files either by running cobaya-install on the yaml file specifying your run, or letting the Likelihood install itself at run time. Please see the cobaya documentation for more information about installable likelihoods.

_get_theory(**params_values) ndarray[source]

Generate binned theory vector of \(\kappa \kappa\) with correction terms.

Parameters:

params_values – Dictionary of cosmological parameters.

Returns:

Array Clkk.

_set_fiducial_Cls() dict[source]

Obtain a set of fiducial Cls from theory provider (e.g. camb). Fiducial Cls are used to compute correction terms for the theory vector.

Returns:

Fiducial Cls

get_requirements() dict[source]

Set lmax for theory Cls

Returns:

Dictionary Cl of lmax for each spectrum type.

LensingLite Likelihood

class soliket.lensing.LensingLiteLikelihood(info: Mapping[str, Any] = mappingproxy({}), name: str | None = None, timing: bool | None = None, packages_path: str | None = None, initialize=True, standalone=True)[source]

Bases: GaussianLikelihood

Lite version of Lensing Likelihood for quick tests, which does not make any of the bias corrections requiring fiducial spectra calculations or downloads of external data. Simply a Gaussian likelihood between a provided binned pp data vector and covariance matrix, and the appropriate theory vector.

get_requirements() dict[source]

Get a dictionary of requirements (or a list of requirement name, option tuples) that are always needed (e.g. must be calculated by another component or provided as input parameters).

Returns:

dictionary or list of tuples of requirement names and options (or iterable of requirement names if no optional parameters are needed)