spinqick.experiments.psb_setup

Defines the PsbSetup class which is used for setting up Pauli Spin Blockade spin-to-charge conversion.

Attributes

logger

Classes

PsbSetup

This class holds functions that wrap the QICK classes for setting up PSB readout. Initialize

Module Contents

spinqick.experiments.psb_setup.logger
class spinqick.experiments.psb_setup.PsbSetup(soccfg, soc, voltage_source, **kwargs)

Bases: spinqick.core.dot_experiment.DotExperiment

This class holds functions that wrap the QICK classes for setting up PSB readout. Initialize with information about your rfsoc and your experimental setup.

Parameters:
soccfg
soc
reference = True
thresh = True
threshold = 0
vdc
property psb_config

Get psb config for selected qubit from experiment config.

meashist(num_measurements, reference=True, fit=True, n_gaussians=3, use_gmm=False, log_scale=False)

Perform some number of spam sequences and produce a measurement histogram to show relative prevalance of measured 0 and 1 states. This simply plays the spam sequence as defined in the config.

Parameters:
  • num_measurements (int) – Total number of measurements

  • reference (bool) – perform a reference measurement and report the difference between the two measurements

  • fit (bool) – if True, fit results to a pair of gaussians

  • use_gmm (bool) – use gaussian mixtures model to fit gaussians :log_scale: if true, plot y axis in log scale

  • n_gaussians (int)

  • log_scale (bool)

idle_cell_scan(p_gates, p_range, point_avgs=10, full_avgs=10)

Performs a 2D sweep of idle coordinate.

Parameters:
flush_window_scan(p_gates, p_range, point_avgs=10, full_avgs=10)

Performs a 2D sweep of flush coordinate.

Parameters:
meas_window_scan(p_gates, p_range, step_time, point_avgs=10, full_avgs=10)

Performs a 2D sweep of the measurement coordinate. Here we are using a series of fast steps to approximate a ramp.

Parameters:
  • p_gates (Tuple[spinqick.helper_functions.spinqick_enums.GateNames, spinqick.helper_functions.spinqick_enums.GateNames]) – specify the two plunger gates being used

  • p_range (Tuple[Tuple[float, float, int], Tuple[float, float, int]]) – specify the range of each axis sweep. ((px_start, px_stop, px_points), (py_start, py_stop, py_points))

  • step_time (float) – time per step in each ramp, in microseconds. This uses a series of steps to approximate a ramp because it is challenging to code a sweep of the start and endpoints of a ramp in qick api.

  • point_avgs (int)

  • full_avgs (int)