code: def matched_filter(template, data, psd=None, low_frequency_cutoff=None,
                    high_frequency_cutoff=None, sigmasq=None):
      
      snr, _, norm = matched_filter_core(template, data, psd=psd,
              low_frequency_cutoff=low_frequency_cutoff,
              high_frequency_cutoff=high_frequency_cutoff, h_norm=sigmasq)
      return snr * norm
docs: Return the complex snr.
  
      Return the complex snr, along with its associated normalization of the
      template, matched filtered against the data.
  
      Parameters
      ----------
      template : TimeSeries or FrequencySeries
          The template waveform
      data : TimeSeries or FrequencySeries
          The strain data to be filtered.
      psd : FrequencySeries
          The noise weighting of the filter.
      low_frequency_cutoff : {None, float}, optional
          The frequency to begin the filter calculation. If None, begin at the
          first frequency after DC.
      high_frequency_cutoff : {None, float}, optional
          The frequency to stop the filter calculation. If None, continue to the
          the nyquist frequency.
      sigmasq : {None, float}, optional
          The template normalization. If none, this value is calculated
          internally.
  
      Returns
      -------
      snr : TimeSeries
          A time series containing the complex snr.