Source code for hierarc.Likelihood.BAOLikelihood.bao_likelihood

import numpy as np
from hierarc.Likelihood.BAOLikelihood.bao_likelihood_custom import CustomBAOLikelihood


[docs] class BAOLikelihood(object): """BAO likelihood.This class supports custom likelihoods as well as likelihoods from the DESI BAO files.""" def __init__(self, sample_name="DESI_DR2", **kwargs_bao_likelihood): """ :param sample_name: string, either 'CUSTOM' or a specific name supported by SneLikelihoodFromFile() class :param kwargs_sne_likelihood: keyword arguments to initiate likelihood class """ if sample_name == "CUSTOM": self._likelihood = CustomBAOLikelihood(**kwargs_bao_likelihood) elif sample_name == "DESI_DR2": from hierarc.Likelihood.BAOLikelihood.desi_dr2 import DESIDR2Data data = DESIDR2Data() self._likelihood = CustomBAOLikelihood( z=data.z, d=data.d, distance_type=data.distance_type, cov=data.cov, ) else: raise ValueError("Unsupported sample name: {}".format(sample_name))
[docs] def log_likelihood(self, cosmo, rd=None): """ :param cosmo: instance of a class to compute angular diameter distances on arrays :return: log likelihood of the data given the specified cosmology """ # TODO compute here the default case if rd is not sampled. if rd is None: raise NotImplementedError( "Computation of rd is not implemented yet. Please provide rd in the kwargs_cosmo and turn rd_sampling=True in the kwargs_model." ) return self._likelihood.log_likelihood_bao(cosmo, rd)