def check_separations_at_ips_against_madvars(twiss_df_b1, twiss_df_b2, variables_dict, tol): separations_to_check = [] for iip, ip in enumerate([2, 8]): for plane in ['x', 'y']: # (*) Adapet based on knob definitions separations_to_check.append({ 'element_name': f'ip{ip}:1', 'scale_factor': -2 * 1e-3, 'plane': plane, # knobs like on_sep1h, onsep8v etc 'varname': f'on_sep{ip}' + { 'x': 'h', 'y': 'v' }[plane], 'tol': tol[iip] }) separations_to_check.append({ # IP1 'element_name': f'ip1:1', 'scale_factor': -2 * 1e-3, 'plane': 'x', 'varname': 'on_sep1', 'tol': tol[0] }) separations_to_check.append({ # IP5 'element_name': f'ip5:1', 'scale_factor': -2 * 1e-3, 'plane': 'y', 'varname': 'on_sep5', 'tol': tol[2] }) pm.check_separations_against_madvars(separations_to_check, twiss_df_b1, twiss_df_b2, variables_dict)
def _check_separations_at_ips_against_madvars(twiss_df_b1, twiss_df_b2, variables_dict, tol): separations_to_check = [] # IP1 separations_to_check.append({ 'element_name': f'ip1:1', 'plane': 'x', 'varname': 'on_sep1', 'scale_factor': -2*1e-3, 'tol': tol[0]}) # IP5 separations_to_check.append({ 'element_name': f'ip5:1', 'plane': 'y', 'varname': 'on_sep5', 'scale_factor': -2*1e-3, 'tol': tol[2]}) # IP2 and IP8 separations_to_check.append({ 'element_name': f'ip2:1', 'plane': 'x', 'varname': 'on_sep2', 'scale_factor': -2*1e-3, 'tol': tol[1]}) separations_to_check.append({ 'element_name': f'ip8:1', 'plane': 'y', 'varname': 'on_sep8', 'scale_factor': -2*1e-3, 'tol': tol[3]}) pm.check_separations_against_madvars(separations_to_check, twiss_df_b1, twiss_df_b2, variables_dict)