def METHOD_NAME(
    self,
    qubits: Dict[QubitId, Qubit],
    sequence: PulseSequence,
    options: ExecutionParameters,
    *sweepers: List[Sweeper],
):
    results = {}
    if options.averaging_mode is not AveragingMode.CYCLIC:
        shape = (options.nshots,) + tuple(len(sweeper.values) for sweeper in sweepers)
    else:
        shape = tuple(len(sweeper.values) for sweeper in sweepers)
    for ro_pulse in sequence.ro_pulses:
        values = self.get_values(options, sequence, shape)
        results[ro_pulse.qubit] = results[ro_pulse.serial] = options.results_type(values)
    return results