def _write_beta_beat_from_amp_for_plane(file_beta_beat, plane, bpms_list, measured_beta_amp, model_propagation, model_cor, model_back_propagation, model_back_cor, initial_values): for bpm in bpms_list: bpm_s = bpm[0] bpm_name = bpm[1] delta_phase_prop = (getattr( model_propagation, "MU" + plane)[model_propagation.indx[bpm_name]]) % 1 delta_phase_back = (getattr( model_back_propagation, "MU" + plane)[model_back_propagation.indx[bpm_name]]) % 1 beta_propagation = _get_from_twiss(model_propagation, bpm_name, "BET", plane) beta_back_propagation = _get_from_twiss(model_back_propagation, bpm_name, "BET", plane) # Beta from amplitude beating (front) beta_amp = _get_from_twiss(measured_beta_amp, bpm_name, "BET", plane) beta_beat_amp = (beta_amp - beta_propagation) / beta_propagation std_beta_beat_amp = _get_from_twiss(measured_beta_amp, bpm_name, "BET", plane, "STD") prop_err_beta_amp = sbs_beta_writer._propagate_error_beta( initial_values.err_beta_start, initial_values.err_alfa_start, delta_phase_prop, beta_propagation, initial_values.beta_start, initial_values.alfa_start) err_beta_beat_amp = sqrt(std_beta_beat_amp**2 + prop_err_beta_amp**2) / beta_propagation # Beta from amplitude beating (back) beta_amp_back = _get_from_twiss(measured_beta_amp, bpm_name, "BET", plane) beta_beat_amp_back = (beta_amp_back - beta_back_propagation) / beta_back_propagation std_beta_beat_amp_back = _get_from_twiss(measured_beta_amp, bpm_name, "BET", plane, "STD") prop_err_beta_amp_back = sbs_beta_writer._propagate_error_beta( initial_values.err_beta_end, initial_values.err_alfa_end, delta_phase_back, beta_back_propagation, initial_values.beta_end, initial_values.alfa_end) err_beta_beat_amp_back = sqrt( std_beta_beat_amp_back**2 + prop_err_beta_amp_back**2) / beta_back_propagation model_s = measured_beta_amp.S[measured_beta_amp.indx[bpm_name]] beta_model = _get_from_twiss(measured_beta_amp, bpm_name, "BET", plane, "MDL") file_beta_beat.add_table_row([ bpm_name, bpm_s, beta_beat_amp, err_beta_beat_amp, beta_beat_amp_back, err_beta_beat_amp_back, beta_model, model_s ]) file_beta_beat.write_to_file()
def _write_beta_beat_from_amp_for_plane(file_beta_beat, plane, bpms_list, measured_beta_amp, model_propagation, model_cor, model_back_propagation, model_back_cor, initial_values): for bpm in bpms_list: bpm_s = bpm[0] bpm_name = bpm[1] delta_phase_prop = (getattr(model_propagation, "MU" + plane)[model_propagation.indx[bpm_name]]) % 1 delta_phase_back = (getattr(model_back_propagation, "MU" + plane)[model_back_propagation.indx[bpm_name]]) % 1 beta_propagation = _get_from_twiss(model_propagation, bpm_name, "BET", plane) beta_back_propagation = _get_from_twiss(model_back_propagation, bpm_name, "BET", plane) # Beta from amplitude beating (front) beta_amp = _get_from_twiss(measured_beta_amp, bpm_name, "BET", plane) beta_beat_amp = (beta_amp - beta_propagation) / beta_propagation std_beta_beat_amp = _get_from_twiss(measured_beta_amp, bpm_name, "BET", plane, "STD") prop_err_beta_amp = sbs_beta_writer._propagate_error_beta( initial_values.err_beta_start, initial_values.err_alfa_start, delta_phase_prop, beta_propagation, initial_values.beta_start, initial_values.alfa_start ) err_beta_beat_amp = sqrt(std_beta_beat_amp ** 2 + prop_err_beta_amp ** 2) / beta_propagation # Beta from amplitude beating (back) beta_amp_back = _get_from_twiss(measured_beta_amp, bpm_name, "BET", plane) beta_beat_amp_back = (beta_amp_back - beta_back_propagation) / beta_back_propagation std_beta_beat_amp_back = _get_from_twiss(measured_beta_amp, bpm_name, "BET", plane, "STD") prop_err_beta_amp_back = sbs_beta_writer._propagate_error_beta( initial_values.err_beta_end, initial_values.err_alfa_end, delta_phase_back, beta_back_propagation, initial_values.beta_end, initial_values.alfa_end ) err_beta_beat_amp_back = sqrt(std_beta_beat_amp_back ** 2 + prop_err_beta_amp_back ** 2) / beta_back_propagation model_s = measured_beta_amp.S[measured_beta_amp.indx[bpm_name]] beta_model = _get_from_twiss(measured_beta_amp, bpm_name, "BET", plane, "MDL") file_beta_beat.add_table_row([ bpm_name, bpm_s, beta_beat_amp, err_beta_beat_amp, beta_beat_amp_back, err_beta_beat_amp_back, beta_model, model_s ]) file_beta_beat.write_to_file()
def _write_beta_beat_from_phase_for_plane(file_beta_beat, plane, bpms_list, measured_beta_phase, model_propagation, model_cor, model_back_propagation, model_back_cor, initial_values): for bpm in bpms_list: bpm_s = bpm[0] bpm_name = bpm[1] delta_phase_prop = (getattr( model_propagation, "MU" + plane)[model_propagation.indx[bpm_name]]) % 1 delta_phase_back = (getattr( model_back_propagation, "MU" + plane)[model_back_propagation.indx[bpm_name]]) % 1 beta_propagation = _get_from_twiss(model_propagation, bpm_name, "BET", plane) beta_back_propagation = _get_from_twiss(model_back_propagation, bpm_name, "BET", plane) # Beta from phase beating (front) beta_phase = _get_from_twiss(measured_beta_phase, bpm_name, "BET", plane) beta_beat_phase = (beta_phase - beta_propagation) / beta_propagation syst_err_beta_phase = _get_from_twiss(measured_beta_phase, bpm_name, "ERRBET", plane) stdbet_exist = True try: rand_err_beta_phase = _get_from_twiss(measured_beta_phase, bpm_name, "STDBET", plane) except AttributeError: stdbet_exist = False prop_err_beta_phase = sbs_beta_writer._propagate_error_beta( initial_values.err_beta_start, initial_values.err_alfa_start, delta_phase_prop, beta_phase, initial_values.beta_start, initial_values.alfa_start) if stdbet_exist: err_beta_beat_phase = sqrt( syst_err_beta_phase**2 + rand_err_beta_phase**2 + prop_err_beta_phase**2) / beta_propagation else: err_beta_beat_phase = sqrt( syst_err_beta_phase**2 + prop_err_beta_phase**2) / beta_propagation # Beta from corrected model beating (front) beta_cor = _get_from_twiss(model_cor, bpm_name, "BET", plane) beta_beat_cor = (beta_cor - beta_propagation) / beta_propagation # Beta from phase beating (back) beta_beat_phase_back = (beta_phase - beta_back_propagation) / beta_back_propagation syst_err_beta_phase_back = _get_from_twiss(measured_beta_phase, bpm_name, "ERRBET", plane) stdbet_exist = True try: rand_err_beta_phase_back = _get_from_twiss(measured_beta_phase, bpm_name, "STDBET", plane) except AttributeError: stdbet_exist = False prop_err_beta_phase_back = sbs_beta_writer._propagate_error_beta( initial_values.err_beta_end, initial_values.err_alfa_end, delta_phase_back, beta_phase, initial_values.beta_end, initial_values.alfa_end) if stdbet_exist: err_beta_beat_phase_back = sqrt( syst_err_beta_phase_back**2 + rand_err_beta_phase_back**2 + prop_err_beta_phase_back) / beta_back_propagation else: err_beta_beat_phase_back = sqrt( syst_err_beta_phase_back**2 + prop_err_beta_phase_back) / beta_back_propagation # Beta from corrected model beating (back) beta_back_cor = _get_from_twiss(model_back_cor, bpm_name, "BET", plane) beta_beat_back_cor = (beta_back_cor - beta_back_propagation) / beta_back_propagation model_s = measured_beta_phase.S[measured_beta_phase.indx[bpm_name]] beta_model = _get_from_twiss(measured_beta_phase, bpm_name, "BET", plane, "MDL") file_beta_beat.add_table_row([ bpm_name, bpm_s, beta_beat_phase, err_beta_beat_phase, beta_beat_cor, beta_beat_phase_back, err_beta_beat_phase_back, beta_beat_back_cor, beta_model, model_s ]) file_beta_beat.write_to_file()
def _write_beta_beat_from_phase_for_plane(file_beta_beat, plane, bpms_list, measured_beta_phase, model_propagation, model_cor, model_back_propagation, model_back_cor, initial_values): for bpm in bpms_list: bpm_s = bpm[0] bpm_name = bpm[1] delta_phase_prop = (getattr(model_propagation, "MU" + plane)[model_propagation.indx[bpm_name]]) % 1 delta_phase_back = (getattr(model_back_propagation, "MU" + plane)[model_back_propagation.indx[bpm_name]]) % 1 beta_propagation = _get_from_twiss(model_propagation, bpm_name, "BET", plane) beta_back_propagation = _get_from_twiss(model_back_propagation, bpm_name, "BET", plane) # Beta from phase beating (front) beta_phase = _get_from_twiss(measured_beta_phase, bpm_name, "BET", plane) beta_beat_phase = (beta_phase - beta_propagation) / beta_propagation syst_err_beta_phase = _get_from_twiss(measured_beta_phase, bpm_name, "ERRBET", plane) stdbet_exist = True try: rand_err_beta_phase = _get_from_twiss(measured_beta_phase, bpm_name, "STDBET", plane) except AttributeError: stdbet_exist = False prop_err_beta_phase = sbs_beta_writer._propagate_error_beta( initial_values.err_beta_start, initial_values.err_alfa_start, delta_phase_prop, beta_phase, initial_values.beta_start, initial_values.alfa_start ) if stdbet_exist: err_beta_beat_phase = sqrt(syst_err_beta_phase ** 2 + rand_err_beta_phase ** 2 + prop_err_beta_phase ** 2) / beta_propagation else: err_beta_beat_phase = sqrt(syst_err_beta_phase ** 2 + prop_err_beta_phase ** 2) / beta_propagation # Beta from corrected model beating (front) beta_cor = _get_from_twiss(model_cor, bpm_name, "BET", plane) beta_beat_cor = (beta_cor - beta_propagation) / beta_propagation # Beta from phase beating (back) beta_beat_phase_back = (beta_phase - beta_back_propagation) / beta_back_propagation syst_err_beta_phase_back = _get_from_twiss(measured_beta_phase, bpm_name, "ERRBET", plane) stdbet_exist = True try: rand_err_beta_phase_back = _get_from_twiss(measured_beta_phase, bpm_name, "STDBET", plane) except AttributeError: stdbet_exist = False prop_err_beta_phase_back = sbs_beta_writer._propagate_error_beta( initial_values.err_beta_end, initial_values.err_alfa_end, delta_phase_back, beta_phase, initial_values.beta_end, initial_values.alfa_end ) if stdbet_exist: err_beta_beat_phase_back = sqrt(syst_err_beta_phase_back ** 2 + rand_err_beta_phase_back ** 2 + prop_err_beta_phase_back) / beta_back_propagation else: err_beta_beat_phase_back = sqrt(syst_err_beta_phase_back ** 2 + prop_err_beta_phase_back) / beta_back_propagation # Beta from corrected model beating (back) beta_back_cor = _get_from_twiss(model_back_cor, bpm_name, "BET", plane) beta_beat_back_cor = (beta_back_cor - beta_back_propagation) / beta_back_propagation model_s = measured_beta_phase.S[measured_beta_phase.indx[bpm_name]] beta_model = _get_from_twiss(measured_beta_phase, bpm_name, "BET", plane, "MDL") file_beta_beat.add_table_row([ bpm_name, bpm_s, beta_beat_phase, err_beta_beat_phase, beta_beat_cor, beta_beat_phase_back, err_beta_beat_phase_back, beta_beat_back_cor, beta_model, model_s ]) file_beta_beat.write_to_file()