docs: def get_ZXY_freqs(Data, zfreq, xfreq, yfreq, bandwidth=5000):
      """
      Determines the exact z, x and y peak frequencies from approximate
      frequencies by finding the highest peak in the PSD "close to" the
      approximate peak frequency. By "close to" I mean within the range:
      approxFreq - bandwidth/2 to approxFreq + bandwidth/2
  
      Parameters
      ----------
      Data : DataObject
          DataObject containing the data for which you want to determine the
          z, x and y frequencies.
      zfreq : float
          An approximate frequency for the z peak
      xfreq : float
          An approximate frequency for the z peak
      yfreq : float
          An approximate frequency for the z peak
      bandwidth : float, optional
          The bandwidth around the approximate peak to look for the actual peak. The default value is 5000
  
      Returns
      -------
      trapfreqs : list
          List containing the trap frequencies in the following order (z, x, y)
      """
      trapfreqs = []
      for freq in [zfreq, xfreq, yfreq]:
          z_f_fit_lower = take_closest(Data.freqs, freq - bandwidth / 2)
          z_f_fit_upper = take_closest(Data.freqs, freq + bandwidth / 2)
          z_indx_fit_lower = int(_np.where(Data.freqs == z_f_fit_lower)[0][0])
          z_indx_fit_upper = int(_np.where(Data.freqs == z_f_fit_upper)[0][0])
  
          z_index_OmegaTrap = _np.where(Data.PSD == max(
              Data.PSD[z_indx_fit_lower:z_indx_fit_upper]))[0][0]
          # find highest point in region about guess for trap frequency
          # use that as guess for trap frequency and recalculate region
          # about the trap frequency
          z_OmegaTrap = Data.freqs[z_index_OmegaTrap]
          trapfreqs.append(z_OmegaTrap)
      return trapfreqs