code: def transform(self, fseries, norm=True, epoch=None, search=None):
          
          out = []
          for qtile in self:
              # get energy from transform
              out.append(qtile.transform(fseries, norm=norm, epoch=epoch))
          return QGram(self, out, search)
docs: Calculate the energy `TimeSeries` for the given `fseries`
  
          Parameters
          ----------
          fseries : `~gwpy.frequencyseries.FrequencySeries`
              the complex FFT of a time-series data set
  
          norm : `bool`, `str`, optional
              normalize the energy of the output by the median (if `True` or
              ``'median'``) or the ``'mean'``, if `False` the output
              is the complex `~numpy.fft.ifft` output of the Q-tranform
  
          epoch : `~gwpy.time.LIGOTimeGPS`, `float`, optional
              the epoch of these data, only used for metadata in the output
              `TimeSeries`, and not requires if the input `fseries` has the
              epoch populated.
  
          search : `~gwpy.segments.Segment`, optional
              search window of interest to determine the loudest Q-plane
  
          Returns
          -------
          results : `QGram`
              the complex energies of the Q-transform of the input `fseries`
              at each frequency
  
          See Also
          --------
          QTile.transform
              for details on the transform over a row of `(Q, frequency)` tiles
          QGram
              an object with energies populated over time-frequency tiles