def lnprior(self,theta):
        """ Logarithm of the prior """
        params,priors = self.params,self.priors
        kwargs = dict(list(zip(params,theta)))
        err = np.seterr(invalid='raise')
        try:
            lnprior = np.sum(np.log([priors[k](v) for k,v in list(kwargs.items())]))
        except (FloatingPointError,ValueError):
            lnprior = -np.inf
        np.seterr(**err)
        return lnprior