def NuclearRamseyWithInitialization_cal(name, carbon_nr = 5, carbon_init_state = 'up', el_RO = 'positive', detuning = 0.5e3, el_state = 0, debug = False, fid_transition = '_m1'): m = DD.NuclearRamseyWithInitialization_v2(name) funcs.prepare(m) '''Set parameters''' ### Sweep parameters m.params['reps_per_ROsequence'] = freq_reps 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'] = 21 if carbon_nr == 6: m.params['pts'] = 18 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'+str(fid_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'] '''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_cal(name, carbon_nr = 1, carbon_init_state = 'up', el_RO = 'positive', detuning = 0.5e3, evo_time = 400e-6, el_state = 1, debug = False, fid_transition = 'm1', free_evolution_time = 400e-6 + np.linspace(0., 6.0e-3,44), dyn_dec_wait=False): m = DD.NuclearRamseyWithInitialization_v2(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['dyn_dec_wait']=dyn_dec_wait if ~dyn_dec_wait: if fid_transition != '0': m.params['C'+str(carbon_nr)+'_freq_1'+fid_transition] += detuning else: m.params['C'+str(carbon_nr)+'_freq_0'] += detuning elif dyn_dec_wait: if fid_transition == '0': print 'please select a transition to dyn decouple' if fid_transition != '0': m.params['C'+str(carbon_nr)+'_freq'+fid_transition] += detuning m.params['fid_transition'] = fid_transition 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 ### # ########################################### # if ~dyn_dec_wait: # if fid_transition != '0': # m.params['C'+str(carbon_nr)+'_freq_1'+fid_transition] += detuning # else: # m.params['C'+str(carbon_nr)+'_freq_0'] += detuning # elif dyn_dec_wait: # if fid_transition == '0': # print 'please select a transition to dyn decouple' # if fid_transition != '0': # m.params['C'+str(carbon_nr)+'_freq'+fid_transition] += detuning # m.params['fid_transition'] = fid_transition # m.params['pts'] = 11 # 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)