def run_sweep(
        self, program: cirq.AbstractCircuit, params: cirq.study.Sweepable, repetitions: int = 1
    ) -> list[cirq.study.Result]:
        """Samples from the given Circuit.
        In contrast to run, this allows for sweeping over different parameter
        values.
        Args:
            program: The circuit to simulate.
            params: Parameters to run with the program.
            repetitions: The number of repetitions to simulate.
        Returns:
            Result list for this run; one for each possible parameter
            resolver.
        """
        device = self._device
        assert isinstance(
            device, cirq_pasqal.PasqalDevice
        ), "Device must inherit from cirq.PasqalDevice."
        device.validate_circuit(program)
        trial_results = []

        for param_resolver in cirq.study.to_resolvers(params):
            json_str = self._serialize_circuit(circuit=program, param_resolver=param_resolver)
            results = self._send_serialized_circuit(
                serialization_str=json_str, repetitions=repetitions
            )
            trial_results.append(results)

        return trial_results
Samples from the given Circuit.
        In contrast to run, this allows for sweeping over different parameter
        values.
        Args:
            program: The circuit to simulate.
            params: Parameters to run with the program.
            repetitions: The number of repetitions to simulate.
        Returns:
            Result list for this run; one for each possible parameter
            resolver.
        
cirq-pasqal/cirq_pasqal/pasqal_sampler.py