code: def lnprob(self,theta):
          
          global niter
          params,priors,loglike = self.params,self.priors,self.loglike
          # Avoid extra likelihood calls with bad priors
          _lnprior = self.lnprior(theta)
          if np.isfinite(_lnprior):
              _lnlike = self.lnlike(theta)
          else:
              _lnprior = -np.inf
              _lnlike = -np.inf
  
          _lnprob = _lnprior + _lnlike
       
          if (niter%100==0):
              msg = "%i function calls ...\n"%niter
              msg+= ', '.join('%s: %.3f'%(k,v) for k,v in zip(params,theta))
              msg+= '\nlog(like): %.3f, log(prior): %.3f'%(_lnprior,_lnlike)
              logger.debug(msg)
          niter+=1
          return _lnprob
docs: Logarithm of the probability