Returns likelihood of transit signal

        Returns sum of ``trsig`` MCMC samples evaluated
        at ``self.kde``.

        :param trsig:
            :class:`vespa.TransitSignal` object.

        :param recalc: (optional)
            Whether to recalculate likelihood (if calculation
            is cached).

        :param cachefile: (optional)
            File that holds likelihood calculation cache.

def lhood(self, trsig, recalc=False, cachefile=None):
        """Returns likelihood of transit signal

        Returns sum of ``trsig`` MCMC samples evaluated
        at ``self.kde``.

        :param trsig:
            :class:`vespa.TransitSignal` object.

        :param recalc: (optional)
            Whether to recalculate likelihood (if calculation
            is cached).

        :param cachefile: (optional)
            File that holds likelihood calculation cache.

        """
        if not hasattr(self,'kde'):
            self._make_kde()

        if cachefile is None:
            cachefile = self.lhoodcachefile
            if cachefile is None:
                cachefile = 'lhoodcache.dat'

        lhoodcache = _loadcache(cachefile)
        key = hashcombine(self, trsig)
        if key in lhoodcache and not recalc:
            return lhoodcache[key]

        if self.is_ruled_out:
            return 0

        N = trsig.kde.dataset.shape[1]
        lh = self.kde(trsig.kde.dataset).sum() / N

        with open(cachefile, 'a') as fout:
            fout.write('%i %g\n' % (key, lh))

        return lh