emitnx_sixtrack_um=(mad_track.sequence[sequence_to_track].beam.exn), emitny_sixtrack_um=(mad_track.sequence[sequence_to_track].beam.eyn), sigz_sixtrack_m=(mad_track.sequence[sequence_to_track].beam.sigt), sige_sixtrack=(mad_track.sequence[sequence_to_track].beam.sige), ibeco_sixtrack=1, ibtyp_sixtrack=0, lhc_sixtrack=2, ibbc_sixtrack=0, radius_sixtrack_multip_conversion_mad=0.017, skip_mad_use=True) ####################################### # Save optics and orbit at start ring # ####################################### optics_orbit_start_ring = pm.get_optics_and_orbit_at_start_ring( mad_track, sequence_to_track, skip_mad_use=True) with open('./optics_orbit_at_start_ring.pkl', 'wb') as fid: pickle.dump(optics_orbit_start_ring, fid) ############################# # Generate pysixtrack lines # ############################# if enable_bb_legacy: print('Pysixtrack line is not generated with bb legacy macros') else: pysix_fol_name = "./pysixtrack" dct_pysxt = pm.generate_pysixtrack_line_with_bb( mad_track, sequence_to_track, bb_df_track,
sys.path.append('./modules') import pymask as pm Madx = pm.Madxp mad = Madx(command_log="mad_final.log") mad.call("final_seq.madx") mad.use(sequence="lhcb1") mad.twiss() mad.readtable(file="final_errors.tfs", table="errtab") mad.seterr(table="errtab") mad.set(format=".15g") mad.twiss(rmatrix=True) sequence_to_track = 'lhcb1' bb_df_track = pd.read_pickle('bb_df_track.pickle') optics_and_co_at_start_ring_from_madx = pm.get_optics_and_orbit_at_start_ring( mad, sequence_to_track, skip_mad_use=True) #with open('./optics_orbit_at_start_ring_from_madx.json', 'w') as fid: # json.dump(optics_and_co_at_start_ring_from_madx, fid, cls=pm.JEncoder ######################## # Generate xtrack line # ######################## #if enable_bb_legacy: # print('xtrack line is not generated with bb legacy macros') # else: tracker, line_bb_for_tracking_dict = pm.generate_xsuite_line( mad, sequence_to_track, bb_df_track, optics_and_co_at_start_ring_from_madx,