def NuclearRamseyWithInitialization_cal(name, carbon_nr=1, carbon_init_state='up', el_RO='positive', detuning=0.5e3, evo_time=400e-6, el_state=1, debug=False, free_evolution_time=400e-6 + np.linspace(0., 6.0e-3, 44)): m = DD.NuclearRamseyWithInitialization(name) funcs.prepare(m) '''Set parameters''' ### Sweep parameters m.params['reps_per_ROsequence'] = 250 m.params['C13_MBI_RO_state'] = 0 ### overwritten from msmnt params #################################### ### Option 1; Sweep waiting time ### #################################### ## '''1A - Rotating frame with detuning''' m.params['add_wait_gate'] = True m.params['pts'] = len(free_evolution_time) m.params['free_evolution_time'] = free_evolution_time # m.params['free_evolution_time'] = 180e-6 + np.linspace(0e-6, 4*1./74e3,m.params['pts']) m.params['C' + str(carbon_nr) + '_freq_0'] += detuning m.params['C' + str(carbon_nr) + '_freq_1' + m.params['electron_transition']] += detuning m.params['C_RO_phase'] = np.ones(m.params['pts']) * 0 m.params['sweep_name'] = 'free_evolution_time' m.params['sweep_pts'] = m.params['free_evolution_time'] ############################################ ### Option 2; Sweep RO phase at set time ### ############################################ # m.params['pts'] = 21 # m.params['add_wait_gate'] = False # m.params['free_evolution_time'] = np.ones(m.params['pts'] )*evo_time # m.params['C_RO_phase'] = np.linspace(-20, 400,m.params['pts']) # m.params['sweep_name'] = 'phase' # m.params['sweep_pts'] = m.params['C_RO_phase'] '''Derived and fixed parameters''' m.params['electron_readout_orientation'] = el_RO m.params['carbon_nr'] = carbon_nr m.params['init_state'] = carbon_init_state m.params['electron_after_init'] = str(el_state) m.params['Nr_C13_init'] = 1 m.params['Nr_MBE'] = 0 m.params['Nr_parity_msmts'] = 0 funcs.finish(m, upload=True, debug=debug)
def NuclearRamseyWithInitialization_phase(name, carbon_nr = 1, carbon_init_state = 'up', el_RO = 'positive', el_state = 0, debug = False): m = DD.NuclearRamseyWithInitialization(name) funcs.prepare(m) '''Set parameters''' ### Sweep parameters m.params['reps_per_ROsequence'] = phase_reps m.params['C13_MBI_RO_state'] =0 m.params['pts'] = 25 if carbon_nr == 6 and SETUP == 'lt2': m.params['pts'] = 21 m.params['add_wait_gate'] = False # m.params['free_evolution_time'] = np.ones(m.params['pts'] )*360e-6 m.params['C_RO_phase'] = np.linspace(-60, 400,m.params['pts']) m.params['sweep_name'] = 'phase' m.params['sweep_pts'] = m.params['C_RO_phase'] '''Derived and fixed parameters''' m.params['electron_readout_orientation'] = el_RO m.params['carbon_nr'] = carbon_nr m.params['init_state'] = carbon_init_state m.params['electron_after_init'] = str(el_state) m.params['Nr_C13_init'] = 1 m.params['Nr_MBE'] = 0 m.params['Nr_parity_msmts'] = 0 funcs.finish(m, upload =True, debug=debug)
def measure_T2star(name, carbon_nr=5, carbon_init_state='up', detuning=0.5e3, el_state=0, debug=False): m = DD.NuclearRamseyWithInitialization(name) funcs.prepare(m) '''Set parameters''' ### Sweep parameters m.params['reps_per_ROsequence'] = 2000 m.params['C13_MBI_RO_state'] = 0 ### overwritten from msmnt params #################################### ### Option 1; Sweep waiting time ### #################################### # 1A - Rotating frame with detuning m.params['add_wait_gate'] = True m.params['pts'] = 25 m.params['free_evolution_time'] = 400e-6 + np.linspace( 0e-6, 3 * 1. / detuning, m.params['pts']) # m.params['free_evolution_time'] = 180e-6 + np.linspace(0e-6, 4*1./74e3,m.params['pts']) m.params['C' + str(carbon_nr) + '_freq_0'] += detuning m.params['C' + str(carbon_nr) + '_freq_1' + m.params['electron_transition']] += detuning m.params['C_RO_phase'] = 'X' m.params['sweep_name'] = 'free_evolution_time' m.params['sweep_pts'] = m.params['free_evolution_time'] '''Derived and fixed parameters''' # m.params['carbon_nr'] = carbon_nr m.params['init_state'] = carbon_init_state m.params['electron_after_init'] = str(el_state) m.params['Nr_C13_init'] = 1 m.params['Nr_MBE'] = 0 m.params['Nr_parity_msmts'] = 0 Tomography_list = ['X', 'Y'] readout_orientations = {'positive', 'negative'} for ero in readout_orientations: if not stop_msmt(): break m.params['electron_readout_orientation'] = ero for tomo in Tomography_list: if not stop_msmt(): break m.params['C_RO_phase'] = [tomo] * m.params['pts'] save_name = "%s_%s" % (tomo, ero) print("Measuring " + save_name) funcs.finish(m, upload=True, debug=debug, save_name=save_name, last_msmt=False) m.finish()