code: def set_cache(self,filename):
      
      if isinstance( filename, str ):
        # the name of a lal cache file created by a datafind node
        self.add_var_opt('frame-cache', filename)
        self.add_input_file(filename)
      elif isinstance( filename, list ):
        # we have an LFN list
        self.add_var_opt('glob-frame-data',' ')
        # only add the LFNs that actually overlap with this job
        # XXX FIXME this is a very slow algorithm
        if len(filename) == 0:
          raise CondorDAGNodeError, \
            "LDR did not return any LFNs for query: check ifo and frame type"
        for lfn in filename:
          a, b, c, d = lfn.split('.')[0].split('-')
          t_start = int(c)
          t_end = int(c) + int(d)
          if (t_start <= (self.get_data_end()+self.get_pad_data()+int(d)+1) \
            and t_end >= (self.get_data_start()-self.get_pad_data()-int(d)-1)):
            self.add_input_file(lfn)
        # set the frame type based on the LFNs returned by datafind
        self.add_var_opt('frame-type',b)
      else:
        raise CondorDAGNodeError, "Unknown LFN cache format"
docs: Set the LAL frame cache to to use. The frame cache is passed to the job
      with the --frame-cache argument.
      @param filename: calibration file to use.