def make_options(obs_settings, obs_names):
  """Constructs a dict of configuration options for a set of named observables.

  Args:
    obs_settings: An `ObservationSettings` instance.
    obs_names: An `ObservableNames` instance.

  Returns:
    A nested dict containing `{observable_name: {option_name: value}}`.
  """
  observable_options = {}
  for category, spec in obs_settings._asdict().items():
    for observable_name in getattr(obs_names, category):
      observable_options[observable_name] = spec._asdict()
  return observable_options