docs: def trigger_setup(self, runsetup_oid):
          "Retrieve the trigger setup for a given runsetup OID"
          r = self._get_content(
              "jsonds/rslite/s?rs_oid={}&upifilter=1.1.2.2.3/*".
              format(runsetup_oid)
          )
          data = json.loads(r)['Data']
          if not data:
              log.error("Empty dataset.")
              return
          raw_setup = data[0]
          det_id = raw_setup['DetID']
          name = raw_setup['Name']
          description = raw_setup['Desc']
  
          _optical_df = raw_setup['ConfGroups'][0]
          optical_df = {'Name': _optical_df['Name'], 'Desc': _optical_df['Desc']}
          for param in _optical_df['Params']:
              pname = self.parameters.oid2name(param['OID']).replace('DAQ_', '')
              try:
                  dtype = float if '.' in param['Val'] else int
                  val = dtype(param['Val'])
              except ValueError:
                  val = param['Val']
              optical_df[pname] = val
  
          _acoustic_df = raw_setup['ConfGroups'][1]
          acoustic_df = {
              'Name': _acoustic_df['Name'],
              'Desc': _acoustic_df['Desc']
          }
          for param in _acoustic_df['Params']:
              pname = self.parameters.oid2name(param['OID']).replace('DAQ_', '')
              try:
                  dtype = float if '.' in param['Val'] else int
                  val = dtype(param['Val'])
              except ValueError:
                  val = param['Val']
              acoustic_df[pname] = val
  
          return TriggerSetup(
              runsetup_oid, name, det_id, description, optical_df, acoustic_df
          )