def METHOD_NAME(
    params: AllXYDragParameters,
    platform: Platform,
    qubits: Qubits,
) -> AllXYDragData:
    r"""
    Data acquisition for allXY experiment varying beta.
    The AllXY experiment is a simple test of the calibration of single qubit gatesThe qubit (initialized in the |0> state)
    is subjected to two back-to-back single-qubit gates and measured. In each round, we run 21 different gate pairs:
    ideally, the first 5 return the qubit to |0>, the next 12 drive it to superposition state, and the last 4 put the
    qubit in |1> state.
    The AllXY iteration method allows the user to execute iteratively the list of gates playing with the drag pulse shape
    in order to find the optimal drag pulse coefficient for pi pulses.
    """
    data = AllXYDragData()
    # sweep the parameters
    for beta_param in np.arange(
        params.beta_start, params.beta_end, params.beta_step
    ).round(4):
        for gates in allxy.gatelist:
            # create a sequence of pulses
            ro_pulses = {}
            sequence = PulseSequence()
            for qubit in qubits:
                sequence, ro_pulses[qubit] = allxy.add_gate_pair_pulses_to_sequence(
                    platform, gates, qubit, sequence, beta_param
                )
            # execute the pulse sequence
            results = platform.execute_pulse_sequence(
                sequence,
                ExecutionParameters(
                    nshots=params.nshots,
                    relaxation_time=params.relaxation_time,
                    averaging_mode=AveragingMode.CYCLIC,
                ),
            )
            # retrieve the results for every qubit
            for qubit in qubits:
                z_proj = 2 * results[ro_pulses[qubit].serial].probability(0) - 1
                # store the results
                gate = "-".join(gates)
                data.register_qubit(qubit, beta_param, z_proj, gate)
    return data