code: def strain(self, ifo, duration=32, sample_rate=4096):
          
          from astropy.utils.data import download_file
          from pycbc.frame import read_frame
  
          # Information is currently wrong on GWOSC!
          # channels = self.data['files']['FrameChannels']
          # for channel in channels:
          #    if ifo in channel:
          #        break
  
          length = "{}sec".format(duration)
          if sample_rate == 4096:
              sampling = "4KHz"
          elif sample_rate == 16384:
              sampling = "16KHz"
  
          channel = "{}:GWOSC-{}_R1_STRAIN".format(ifo, sampling.upper())
          url = self.data['files'][ifo][length][sampling]['GWF']
          filename = download_file(url, cache=True)
          return read_frame(str(filename), str(channel))
docs: Return strain around the event
  
          Currently this will return the strain around the event in the smallest
          format available. Selection of other data is not yet available.
  
          Parameters
          ----------
          ifo: str
              The name of the observatory you want strain for. Ex. H1, L1, V1
  
          Returns
          -------
          strain: pycbc.types.TimeSeries
              Strain around the event.