diff --git a/src/qibocal/protocols/flux_dependence/qubit_flux_dependence.py b/src/qibocal/protocols/flux_dependence/qubit_flux_dependence.py index 303d19d54..d5a7db9fd 100644 --- a/src/qibocal/protocols/flux_dependence/qubit_flux_dependence.py +++ b/src/qibocal/protocols/flux_dependence/qubit_flux_dependence.py @@ -218,8 +218,12 @@ def fit_function(x, w_max, normalization, offset): "charging_energy": data.charging_energy[qubit] * HZ_TO_GHZ, } frequency[qubit] = popt[0] * GHZ_TO_HZ - # sweetspot obtain by solving transmon_frequency == w_max - sweetspot[qubit] = -popt[2] / popt[1] + # solution to x*popt[1] + popt[2] = k pi + # such that x is close to 0 + # to avoid errors due to periodicity + k = np.round(popt[2] / np.pi) + + sweetspot[qubit] = (k * np.pi + popt[2]) / popt[1] matrix_element[qubit] = popt[1] except ValueError as e: log.error( diff --git a/src/qibocal/protocols/utils.py b/src/qibocal/protocols/utils.py index 22833d302..6fa4ebd33 100644 --- a/src/qibocal/protocols/utils.py +++ b/src/qibocal/protocols/utils.py @@ -771,7 +771,7 @@ def extract_feature( z[first_mask], [100 - ci_second_mask, ci_second_mask], ) - second_mask = z[first_mask] < max if feat == "min" else z[first_mask] > min + second_mask = z[first_mask] < min if feat == "min" else z[first_mask] > max return x[first_mask][second_mask], y[first_mask][second_mask]