code: def _loglr(self):
          r
          # calculate <d-h|d-h> = <h|h> - 2<h|d> + <d|d> up to a constant
          p = self.current_params.copy()
          p.update(self.static_params)
  
          if self.time is None:
              self.time = p['tc']
  
          shloglr = hhloglr = 0
          for ifo in self.sh:
              fp, fc = self.det[ifo].antenna_pattern(p['ra'], p['dec'],
                                                     p['polarization'],
                                                     self.time)
              dt = self.det[ifo].time_delay_from_earth_center(p['ra'],
                                                              p['dec'],
                                                              self.time)
              ip = numpy.cos(p['inclination'])
              ic = 0.5 * (1.0 + ip * ip)
              htf = (fp * ip + 1.0j * fc * ic) / p['distance']
  
              sh = self.sh[ifo].at_time(p['tc'] + dt) * htf
              shloglr += sh
              hhloglr += self.hh[ifo] * abs(htf) ** 2.0
  
          vloglr = numpy.log(scipy.special.i0e(abs(shloglr)))
          vloglr += abs(shloglr) + hhloglr
  
          return float(vloglr)
docs: r"""Computes the log likelihood ratio
  
          Returns
          -------
          float
              The value of the log likelihood ratio.