Example #1
0
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()
Example #2
0
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()
Example #3
0
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()
Example #4
0
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()
Example #5
0
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()
Example #8
0
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'
Example #12
0
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()
Example #13
0
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()
Example #15
0
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()
Example #17
0
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()