def test_hh(): qt.mstart() initialize_hh() hharp.StartMeas(int(1e3 * 60 * 2)) [histogram,hist_ch0,hist_ch1,hist_ch1_long] = hharp.get_T3_pulsed_g2_2DHistogram_v2( binsize_T3 = par_binsize_T3, binsize_sync=par_binsize_sync, range_sync=par_range_sync, binsize_g2=par_binsize_g2, range_g2=par_range_g2, sync_period = par_sync_period, ) data = qt.Data(name='interference test_hh') data.add_coordinate('dt') data.add_coordinate('sync') data.add_value('counts') cr_stats = qt.Data(name = 'Statistics_cr_checks') cr_stats.add_coordinate('repetition nr') cr_stats.add_value('lt1_cr_succes_percentage') cr_stats.add_value('lt1_cr_checks') cr_stats.add_value('lt2_cr_succes_percentage') cr_stats.add_value('lt2_cr_checks') cr_stats.add_value('tpqi_starts') save_and_plot_data(data,histogram,histogram,hist_ch0,hist_ch1,hist_ch1_long) qt.mend() optimize()
def main(): initialize_hh() generate_sequence() # configure measurement repetitions = 3*6 hh_measurement_time = int(1e3 * 60 * 20 ) qt.mstart() histogram=zeros((200,2000)) for idx in arange(repetitions): if msvcrt.kbhit() and msvcrt.getch() == "q" : break print 'Starting measurement cycle', idx histogram += measurement_cycle(hh_measurement_time) print 'Finished measurement cycle', idx, 'start saving' data = qt.Data(name='interference'+str(idx)) data.add_coordinate('dt') data.add_coordinate('sync') data.add_value('counts') save_and_plot_data(data,histogram) print 'Data saving cycle', idx, 'completed' qt.msleep(1) if not optimize(): break print 'Optimisation step', idx, ' completed' qt.mend() optimize()
def main(): initialize_hh() generate_sequence() # configure measurement repetitions = 3 * 6 hh_measurement_time = int(1e3 * 60 * 20) qt.mstart() histogram = zeros((200, 2000)) for idx in arange(repetitions): if msvcrt.kbhit() and msvcrt.getch() == "q": break print 'Starting measurement cycle', idx histogram += measurement_cycle(hh_measurement_time) print 'Finished measurement cycle', idx, 'start saving' data = qt.Data(name='interference' + str(idx)) data.add_coordinate('dt') data.add_coordinate('sync') data.add_value('counts') save_and_plot_data(data, histogram) print 'Data saving cycle', idx, 'completed' qt.msleep(1) if not optimize(): break print 'Optimisation step', idx, ' completed' qt.mend() optimize()
def main(): if not debug_mode: initialize_hh() generate_sequence() repetitions = par_reps hh_measurement_time = int(1e3 * 60 * par_meas_time) #ms qt.mstart() cr_stats = qt.Data(name='Statistics_cr_checks') cr_stats.add_coordinate('repetition nr') cr_stats.add_value('lt1_cr_below threshold') cr_stats.add_value('lt1_cr_checks') cr_stats.add_value('lt2_cr_below_threshold') cr_stats.add_value('lt2_cr_checks') cr_stats.add_value('tpqi_starts') cr_stats.add_value('lt1_repump_cts') cr_stats.add_value('lt2_repump_cts') cr_stats.add_value('lt1_triggers_received') cr_stats.add_value('lt2_triggers_sent') cr_stats.add_value('lt1_oks_sent') cr_stats.add_value('lt2_oks_received') cr_stats.create_file() histogram_summed = zeros((par_range_sync, par_range_g2)) hist_roi_summed = zeros(par_range_g2) for idx in arange(repetitions): if msvcrt.kbhit(): kb_char = msvcrt.getch() if kb_char == "q": break print 'Starting measurement cycle', idx, 'current time:', time.strftime( '%H:%M', time.localtime()) [histogram, hist_ch0, hist_ch1, hist_ch1_long, hist_roi] = measurement_cycle(hh_measurement_time) print_save_cr_check_info(cr_stats, idx) if not debug_mode: histogram_summed += histogram hist_roi_summed += hist_roi print 'Finished measurement cycle', idx, 'start saving' data = qt.Data(name='interference' + "_" + str(idx)) data.add_coordinate('dt') data.add_coordinate('sync') data.add_value('counts') save_and_plot_data(data, histogram, histogram_summed, hist_ch0, hist_ch1, hist_ch1_long, hist_roi, hist_roi_summed) print 'Data saving cycle', idx, 'completed' qt.msleep(1) cr_stats.close_file() qt.mend() end_measuring()
def main(): counters_lt1.set_is_running(0) counters.set_is_running(0) if not debug_mode:initialize_hh() generate_sequence() # configure measurement repetitions = par_reps hh_measurement_time = int(1e3 * 60 * par_meas_time) #ms qt.mstart() cr_stats = qt.Data(name = 'Statistics_cr_checks') cr_stats.add_coordinate('repetition nr') cr_stats.add_value('lt1_cr_below threshold') cr_stats.add_value('lt1_cr_checks') cr_stats.add_value('lt2_cr_below_threshold') cr_stats.add_value('lt2_cr_checks') cr_stats.add_value('tpqi_starts') cr_stats.add_value('lt1_repump_cts') cr_stats.add_value('lt2_repump_cts') cr_stats.add_value('lt1_triggers_received') cr_stats.add_value('lt2_triggers_sent') cr_stats.add_value('lt1_oks_sent') cr_stats.add_value('lt2_oks_received') cr_stats.create_file() gated_ch0_summed=zeros(par_range_g2) gated_ch1_summed=zeros(par_range_g2) for idx in arange(repetitions): if msvcrt.kbhit(): kb_char=msvcrt.getch() if kb_char == "q" : break print 'Starting measurement cycle', idx, 'current time:', time.strftime('%H:%M',time.localtime()) [hist_ch0, hist_ch1, gated_ch0, gated_ch1] = measurement_cycle(hh_measurement_time) # gated_ch0_summed += gated_ch0 # gated_ch1_summed += gated_ch1 print 'Finished measurement cycle', idx, 'start saving' print_save_cr_check_info(cr_stats,idx) data = qt.Data(name='PLU_calibration'+"_"+str(idx)) data.add_coordinate('dt') data.add_value('counts') save_and_plot_data(data,hist_ch0, hist_ch1, gated_ch0, gated_ch1,gated_ch0_summed,gated_ch1_summed) print 'Data saving cycle', idx, 'completed' qt.msleep(1) cr_stats.close_file() qt.mend() end_measuring()
def main(): generate_sequence() awg.set_runmode("SEQ") awg.start() while awg.get_state() != "Waiting for trigger": qt.msleep(1) repetitions = par_reps hh_measurement_time = int(1e3 * 60 * par_meas_time) # ms qt.mstart() cr_stats = qt.Data(name="Statistics_cr_checks") cr_stats.add_coordinate("repetition nr") cr_stats.add_value("lt1_cr_below threshold") cr_stats.add_value("lt1_cr_checks") cr_stats.add_value("lt2_cr_below_threshold") cr_stats.add_value("lt2_cr_checks") cr_stats.add_value("tpqi_starts") cr_stats.add_value("lt1_repump_cts") cr_stats.add_value("lt2_repump_cts") cr_stats.add_value("lt1_triggers_received") cr_stats.add_value("lt2_triggers_sent") cr_stats.add_value("lt1_oks_sent") cr_stats.add_value("lt2_oks_received") cr_stats.create_file() for idx in arange(repetitions): if msvcrt.kbhit(): kb_char = msvcrt.getch() if kb_char == "q": break print "Starting measurement cycle", idx, "current time:", time.strftime("%H:%M", time.localtime()) measurement_cycle(hh_measurement_time) print_save_cr_check_info(cr_stats, idx) if not debug_mode: histogram_summed += histogram hist_roi_summed += hist_roi print "Finished measurement cycle", idx, "start saving" data = qt.Data(name="interference" + "_" + str(idx)) data.add_coordinate("dt") data.add_coordinate("sync") data.add_value("counts") save_and_plot_data( data, histogram, histogram_summed, hist_ch0, hist_ch1, hist_ch1_long, hist_roi, hist_roi_summed ) print "Data saving cycle", idx, "completed" qt.msleep(1) cr_stats.close_file() qt.mend() end_measuring()
def main(): initialize_hh() generate_sequence() # configure measurement repetitions = 4 hh_measurement_time = int(1e3 * 60 * 15) #ms qt.mstart() cr_stats = qt.Data(name='Statistics_cr_checks') cr_stats.add_coordinate('repetition nr') cr_stats.add_value('lt1_cr_succes_percentage') cr_stats.add_value('lt1_cr_checks') cr_stats.add_value('lt2_cr_succes_percentage') cr_stats.add_value('lt2_cr_checks') cr_stats.add_value('tpqi_starts') cr_stats.add_value('lt1_repump_cts') cr_stats.add_value('lt2_repump_cts') cr_stats.add_value('lt1_triggers_received') cr_stats.add_value('lt2_triggers_sent') cr_stats.add_value('lt1_oks_sent') cr_stats.add_value('lt2_oks_received') cr_stats.create_file() histogram_summed = zeros((par_range_sync, par_range_g2)) for idx in arange(repetitions): if msvcrt.kbhit() and msvcrt.getch() == "q": break print 'Starting measurement cycle', idx, 'current time:', time.strftime( '%H:%M', time.localtime()) [histogram, hist_ch0, hist_ch1, hist_ch1_long] = measurement_cycle(hh_measurement_time) print_save_cr_check_info(cr_stats, idx) print shape(histogram) histogram_summed += histogram print 'Finished measurement cycle', idx, 'start saving' data = qt.Data(name='interference' + str(idx)) data.add_coordinate('dt') data.add_coordinate('sync') data.add_value('counts') save_and_plot_data(data, histogram, histogram_summed, hist_ch0, hist_ch1, hist_ch1_long) print 'Data saving cycle', idx, 'completed' qt.msleep(1) if not optimize(): break print 'Optimisation step', idx, ' completed' cr_stats.close_file() qt.mend()
def main(): initialize_hh() generate_sequence() # configure measurement repetitions = 100 hh_measurement_time = int(1e3 * 60 * 15) #ms qt.mstart() cr_stats = qt.Data(name = 'Statistics_cr_checks') cr_stats.add_coordinate('repetition nr') cr_stats.add_value('lt1_cr_succes_percentage') cr_stats.add_value('lt1_cr_checks') cr_stats.add_value('lt2_cr_succes_percentage') cr_stats.add_value('lt2_cr_checks') cr_stats.add_value('tpqi_starts') cr_stats.add_value('lt1_repump_cts') cr_stats.add_value('lt2_repump_cts') cr_stats.add_value('lt1_triggers_received') cr_stats.add_value('lt2_triggers_sent') cr_stats.add_value('lt1_oks_sent') cr_stats.add_value('lt2_oks_received') cr_stats.create_file() #histogram=zeros((par_range_sync,par_range_g2)) histogram_summed=zeros((par_range_sync,par_range_g2)) for idx in arange(repetitions): if msvcrt.kbhit() and msvcrt.getch() == "q" : break print 'Starting measurement cycle', idx [histogram,hist_ch0,hist_ch1,hist_ch1_long] = measurement_cycle(hh_measurement_time) print_save_cr_check_info(cr_stats,idx) print shape(histogram) histogram_summed += histogram print 'Finished measurement cycle', idx, 'start saving' data = qt.Data(name='interference'+str(idx)) data.add_coordinate('dt') data.add_coordinate('sync') data.add_value('counts') save_and_plot_data(data,histogram,histogram_summed,hist_ch0,hist_ch1,hist_ch1_long) print 'Data saving cycle', idx, 'completed' qt.msleep(1) #if not optimize(): break print 'Optimisation step', idx, ' completed' cr_stats.close_file() qt.mend()
def main(): initialize_hh() generate_sequence() # configure measurement repetitions = 100 hh_measurement_time = int(1e3 * 60 * 15) # ms qt.mstart() cr_stats = qt.Data(name="Statistics_cr_checks") cr_stats.add_coordinate("repetition nr") cr_stats.add_value("lt1_cr_succes_percentage") cr_stats.add_value("lt1_cr_checks") cr_stats.add_value("lt2_cr_succes_percentage") cr_stats.add_value("lt2_cr_checks") cr_stats.add_value("tpqi_starts") cr_stats.add_value("lt1_repump_cts") cr_stats.add_value("lt2_repump_cts") cr_stats.add_value("lt1_triggers_received") cr_stats.add_value("lt2_triggers_sent") cr_stats.add_value("lt1_oks_sent") cr_stats.add_value("lt2_oks_received") cr_stats.create_file() histogram_summed = zeros((par_range_sync, par_range_g2)) for idx in arange(repetitions): if msvcrt.kbhit() and msvcrt.getch() == "q": break print "Starting measurement cycle", idx, "current time:", time.strftime("%H:%M", time.localtime()) [histogram, hist_ch0, hist_ch1, hist_ch1_long] = measurement_cycle(hh_measurement_time) print_save_cr_check_info(cr_stats, idx) print shape(histogram) histogram_summed += histogram print "Finished measurement cycle", idx, "start saving" data = qt.Data(name="interference" + str(idx)) data.add_coordinate("dt") data.add_coordinate("sync") data.add_value("counts") save_and_plot_data(data, histogram, histogram_summed, hist_ch0, hist_ch1, hist_ch1_long) print "Data saving cycle", idx, "completed" qt.msleep(1) if not optimize(): break print "Optimisation step", idx, " completed" cr_stats.close_file() qt.mend()
def main(): initialize_hh() generate_sequence() # configure measurement repetitions = par_reps hh_measurement_time = int(1e3 * 60 * par_meas_time) #ms qt.mstart() cr_stats = qt.Data(name = 'Statistics_cr_checks') cr_stats.add_coordinate('repetition nr') cr_stats.add_value('lt1_cr_succes_percentage') cr_stats.add_value('lt1_cr_checks') cr_stats.add_value('lt2_cr_succes_percentage') cr_stats.add_value('lt2_cr_checks') cr_stats.add_value('tpqi_starts') cr_stats.add_value('lt1_repump_cts') cr_stats.add_value('lt2_repump_cts') cr_stats.add_value('lt1_triggers_received') cr_stats.add_value('lt2_triggers_sent') cr_stats.add_value('lt1_oks_sent') cr_stats.add_value('lt2_oks_received') cr_stats.create_file() histogram_summed=zeros(65536) histogram=zeros(65536) for idx in arange(repetitions): if msvcrt.kbhit() and msvcrt.getch() == "q" : break print 'Starting measurement cycle', idx, 'current time:', time.strftime('%H:%M',time.localtime()) histogram = measurement_cycle(hh_measurement_time) print_save_cr_check_info(cr_stats,idx) print shape(histogram) histogram_summed += histogram print 'Finished measurement cycle', idx, 'start saving' data = qt.Data(name='antibunching'+str(idx)) data.add_coordinate('dt') data.add_value('counts') save_and_plot_data(data,histogram,histogram_summed) print 'Data saving cycle', idx, 'completed' qt.msleep(1) if not optimize(): break print 'Optimisation step', idx, ' completed' cr_stats.close_file() qt.mend()
def save_data(): data = qt.Data(name='spin_control') data.add_coordinate('mw_pulse_length') data.add_value('counts_during_readout') mw_pulse_length = length counts_during_readout = physical_adwin.Get_Data_Long(27,1, nr_of_datapoints) data.create_file() filename=data.get_filepath()[:-4] pqm.savez(filename, repetitions_per_datapoint = repetitions_per_datapoint, mw_pulse_length = length, counts_during_readout = counts_during_readout) data.close_file() print 'Data saved'
def test_hh(): qt.mstart() initialize_hh() hharp.StartMeas(int(1e3 * 60 * 2)) histogram = hharp.get_T3_pulsed_g2_2DHistogram( binsize_sync=par_binsize_sync, range_sync=par_range_sync, binsize_g2=par_binsize_g2, range_g2=par_range_g2, sync_period=par_sync_period, ) data = qt.Data(name='interference test_hh') data.add_coordinate('dt') data.add_coordinate('sync') data.add_value('counts') save_and_plot_data(data, histogram) qt.mend() optimize()
def test_hh(): qt.mstart() initialize_hh() hharp.StartMeas(int(1e3 * 60 * 2)) histogram = hharp.get_T3_pulsed_g2_2DHistogram( binsize_sync=par_binsize_sync, range_sync=par_range_sync, binsize_g2=par_binsize_g2, range_g2=par_range_g2, sync_period = par_sync_period, ) data = qt.Data(name='interference test_hh') data.add_coordinate('dt') data.add_coordinate('sync') data.add_value('counts') save_and_plot_data(data,histogram) qt.mend() optimize()
def test_hh(): qt.mstart() initialize_hh() hharp.StartMeas(int(1e3 * 60 * 2)) # [histogram,hist_ch0,hist_ch1,hist_ch1_long] = hharp.get_T3_pulsed_g2_2DHistogram_v2( # binsize_T3 = par_binsize_T3, # binsize_sync=par_binsize_sync, # range_sync=par_range_sync, # binsize_g2=par_binsize_g2, # range_g2=par_range_g2, # sync_period = par_sync_period, # ) [histogram, hist_ch0, hist_ch1, hist_ch1_long] = hharp.get_T3_pulsed_g2_2DHistogram_v3( binsize_sync=par_binsize_sync, range_sync=par_range_sync, binsize_g2=par_binsize_g2, range_g2=par_range_g2, sync_period=par_sync_period, ) data = qt.Data(name="interference test_hh") data.add_coordinate("dt") data.add_coordinate("sync") data.add_value("counts") cr_stats = qt.Data(name="Statistics_cr_checks") cr_stats.add_coordinate("repetition nr") cr_stats.add_value("lt1_cr_succes_percentage") cr_stats.add_value("lt1_cr_checks") cr_stats.add_value("lt2_cr_succes_percentage") cr_stats.add_value("lt2_cr_checks") cr_stats.add_value("tpqi_starts") save_and_plot_data(data, histogram, histogram, hist_ch0, hist_ch1, hist_ch1_long) qt.mend() optimize()
def main(): if not debug_mode: initialize_hh() generate_sequence() # configure measurement repetitions = par_reps hh_measurement_time = int(1e3 * 60 * par_meas_time) #ms qt.mstart() cr_stats = qt.Data(name='Statistics_cr_checks') cr_stats.add_coordinate('repetition nr') cr_stats.add_value('lt1_cr_below threshold') cr_stats.add_value('lt1_cr_checks') cr_stats.add_value('lt2_cr_below_threshold') cr_stats.add_value('lt2_cr_checks') cr_stats.add_value('tpqi_starts') cr_stats.add_value('lt1_repump_cts') cr_stats.add_value('lt2_repump_cts') cr_stats.add_value('lt1_triggers_received') cr_stats.add_value('lt2_triggers_sent') cr_stats.add_value('lt1_oks_sent') cr_stats.add_value('lt2_oks_received') cr_stats.create_file() histogram_summed = {} hist_roi_summed = {} for pol in polarizations: histogram_summed[pol] = zeros((par_range_sync, par_range_g2)) hist_roi_summed[pol] = zeros(par_range_g2) for idx in arange(repetitions): skip_opt = False if msvcrt.kbhit(): kb_char = msvcrt.getch() if kb_char == "q": break elif kb_char == "c": skip_opt = True for pol in polarizations: print 'Starting measurement cycle_'+pol+'_', idx, 'current time:',\ time.strftime('%H:%M',time.localtime()) if raw: save_raw = os.path.join(qt.config['datadir'], strftime('%Y%m%d'), \ strftime('%H%M%S')+'_interference_'+pol+'_rawdata'+ '%.3d' % idx) if not os.path.isdir(save_raw): os.makedirs(save_raw) [histogram,hist_ch0,hist_ch1,hist_ch1_long,hist_roi] = \ measurement_cycle(hh_measurement_time, save_raw) print_save_cr_check_info(cr_stats, idx) if not debug_mode: histogram_summed[pol] += histogram hist_roi_summed[pol] += hist_roi print 'Finished measurement cycle_' + pol + '_', idx, 'start saving' data = qt.Data(name='interference_' + pol + '_' + '%.3d' % idx) data.add_coordinate('dt') data.add_coordinate('sync') data.add_value('counts') save_and_plot_data(data,histogram,histogram_summed[pol],\ hist_ch0,hist_ch1,hist_ch1_long, hist_roi, hist_roi_summed[pol]) print 'Data saving cycle_' + pol + '_', idx, 'completed' qt.msleep(1) if (len(polarizations) > 1): flip_waveplate_lt1() if not (debug_mode) and not (skip_opt): if not optimize(): break print 'Optimisation step_' + pol + '_', idx, ' completed' cr_stats.close_file() qt.mend() end_measuring()
def main(): if not debug_mode: initialize_hh() generate_sequence() # configure measurement repetitions = par_reps hh_measurement_time = int(1e3 * 60 * par_meas_time) #ms qt.mstart() cr_stats = qt.Data(name = 'Statistics_cr_checks') cr_stats.add_coordinate('repetition nr') cr_stats.add_value('lt1_cr_below threshold') cr_stats.add_value('lt1_cr_checks') cr_stats.add_value('lt2_cr_below_threshold') cr_stats.add_value('lt2_cr_checks') cr_stats.add_value('tpqi_starts') cr_stats.add_value('lt1_repump_cts') cr_stats.add_value('lt2_repump_cts') cr_stats.add_value('lt1_triggers_received') cr_stats.add_value('lt2_triggers_sent') cr_stats.add_value('lt1_oks_sent') cr_stats.add_value('lt2_oks_received') cr_stats.create_file() histogram_summed= {} hist_roi_summed = {} for pol in polarizations: histogram_summed[pol] = zeros((par_range_sync,par_range_g2)) hist_roi_summed[pol] = zeros(par_range_g2) for idx in arange(repetitions): skip_opt=False if msvcrt.kbhit(): kb_char=msvcrt.getch() if kb_char == "q" : break elif kb_char == "c" : skip_opt=True for pol in polarizations: print 'Starting measurement cycle_'+pol+'_', idx, 'current time:',\ time.strftime('%H:%M',time.localtime()) if raw: save_raw = os.path.join(qt.config['datadir'], strftime('%Y%m%d'), \ strftime('%H%M%S')+'_interference_'+pol+'_rawdata'+ '%.3d' % idx) if not os.path.isdir(save_raw): os.makedirs(save_raw) [histogram,hist_ch0,hist_ch1,hist_ch1_long,hist_roi] = \ measurement_cycle(hh_measurement_time, save_raw) print_save_cr_check_info(cr_stats,idx) if not debug_mode: histogram_summed[pol] += histogram hist_roi_summed[pol] += hist_roi print 'Finished measurement cycle_'+pol+'_', idx, 'start saving' data = qt.Data(name='interference_'+pol+'_'+'%.3d' % idx) data.add_coordinate('dt') data.add_coordinate('sync') data.add_value('counts') save_and_plot_data(data,histogram,histogram_summed[pol],\ hist_ch0,hist_ch1,hist_ch1_long, hist_roi, hist_roi_summed[pol]) print 'Data saving cycle_'+pol+'_', idx, 'completed' qt.msleep(1) if (len(polarizations)>1): flip_waveplate_lt1() if not(debug_mode) and not(skip_opt): if not optimize(): break print 'Optimisation step_'+pol+'_', idx, ' completed' cr_stats.close_file() qt.mend() end_measuring()
def main(): if not debug_mode: initialize_hh() generate_sequence() # configure measurement repetitions = par_reps hh_measurement_time = int(1e3 * 60 * par_meas_time) #ms qt.mstart() cr_stats = qt.Data(name = 'Statistics_cr_checks') cr_stats.add_coordinate('repetition nr') cr_stats.add_value('lt1_cr_below threshold') cr_stats.add_value('lt1_cr_checks') cr_stats.add_value('lt2_cr_below_threshold') cr_stats.add_value('lt2_cr_checks') cr_stats.add_value('tpqi_starts') cr_stats.add_value('lt1_repump_cts') cr_stats.add_value('lt2_repump_cts') cr_stats.add_value('lt1_triggers_received') cr_stats.add_value('lt2_triggers_sent') cr_stats.add_value('lt1_oks_sent') cr_stats.add_value('lt2_oks_received') cr_stats.create_file() histogram_summed=zeros((par_range_sync,par_range_g2)) hist_roi_summed = zeros(par_range_g2) for idx in arange(repetitions): skip_opt=False if msvcrt.kbhit(): kb_char=msvcrt.getch() if kb_char == "q" : break elif kb_char == "c" : skip_opt=True print 'Starting measurement cycle', idx, 'current time:', time.strftime('%H:%M',time.localtime()) [histogram,hist_ch0,hist_ch1,hist_ch1_long,hist_roi] = measurement_cycle(hh_measurement_time) print_save_cr_check_info(cr_stats,idx) if not debug_mode: histogram_summed += histogram hist_roi_summed += hist_roi print 'Finished measurement cycle', idx, 'start saving' data = qt.Data(name='interference'+"_"+str(idx)) data.add_coordinate('dt') data.add_coordinate('sync') data.add_value('counts') save_and_plot_data(data,histogram,histogram_summed,hist_ch0,hist_ch1,hist_ch1_long, hist_roi, hist_roi_summed) print 'Data saving cycle', idx, 'completed' qt.msleep(1) if not(debug_mode) and not(skip_opt): if not optimize(): break print 'Optimisation step', idx, ' completed' cr_stats.close_file() qt.mend() end_measuring()
def main(): if not debug_mode: initialize_hh() seq = generate_sequence() # wait at least three idle sequences extra adwin_wait_time = int( seq.element_lengths["optical_rabi"] * par_elt_reps * 1e6 + 3 * seq.element_lengths["idle"] * 1e6 ) # configure measurement repetitions = par_reps hh_measurement_time = int(1e3 * 60 * par_meas_time) # ms qt.mstart() cr_stats = qt.Data(name="Statistics_cr_checks") cr_stats.add_coordinate("repetition nr") cr_stats.add_value("lt1_cr_below threshold") cr_stats.add_value("lt1_cr_checks") cr_stats.add_value("lt2_cr_below_threshold") cr_stats.add_value("lt2_cr_checks") cr_stats.add_value("tpqi_starts") cr_stats.add_value("lt1_repump_cts") cr_stats.add_value("lt2_repump_cts") cr_stats.add_value("lt1_triggers_received") cr_stats.add_value("lt2_triggers_sent") cr_stats.add_value("lt1_oks_sent") cr_stats.add_value("lt2_oks_received") cr_stats.add_value("wp_flips") cr_stats.create_file() wp_flips = 0 histogram_summed = {} hist_roi_summed = {} for pol in polarizations: histogram_summed[pol] = zeros((par_range_sync, par_range_g2)) hist_roi_summed[pol] = zeros(par_range_g2) for idx in arange(repetitions): skip_opt = False for pol in polarizations: print "\n##############################################################" print "##### Starting measurement cycle_" + pol + "_", idx, "current time:", time.strftime( "%H:%M", time.localtime() ) print "##############################################################" if raw: save_raw = os.path.join( qt.config["datadir"], time.strftime("%Y%m%d"), time.strftime("%H%M%S") + "_interference_" + pol + "_rawdata" + "%.3d" % idx, ) if not os.path.isdir(save_raw): os.makedirs(save_raw) else: save_raw = r"" [histogram, hist_ch0, hist_ch1, hist_ch1_long, hist_roi] = measurement_cycle( hh_measurement_time, save_raw, adwin_wait_time ) print_save_cr_check_info(cr_stats, idx, wp_flips) if not debug_mode: histogram_summed[pol] += histogram hist_roi_summed[pol] += hist_roi print "Finished measurement cycle_" + pol + "_", idx, "start saving" data = qt.Data(name="interference_" + pol + "_" + "%.3d" % idx) data.add_coordinate("dt") data.add_coordinate("sync") data.add_value("counts") save_and_plot_data( data, histogram, histogram_summed[pol], hist_ch0, hist_ch1, hist_ch1_long, hist_roi, hist_roi_summed[pol], ) print "Data saving cycle_" + pol + "_", idx, "completed" qt.msleep(1) if len(polarizations) > 1: flip_waveplate_lt1() wp_flips += 1 if msvcrt.kbhit(): kb_char = msvcrt.getch() if kb_char == "q": break elif kb_char == "c": skip_opt = True if not (debug_mode) and not (skip_opt): if not optimize(): print "Break after polarization " + pol print "CHECK WAVEPLATE STATUS!!!" break else: print "Optimisation step_" + pol + "_", idx, " completed" if msvcrt.kbhit(): kb_char = msvcrt.getch() if kb_char == "q": break cr_stats.close_file() qt.mend() end_measuring()