Run III configuration
config_runIII.yaml
config_particles:
r_min: 4.0
r_max: 8.0
n_r: 256
n_angles: 5
n_split: 5
path_distribution_folder_output: particles
config_mad:
# Links to be made for tools and scripts
links:
acc-models-lhc: /afs/cern.ch/eng/lhc/optics/runIII
# Optics file
optics_file: acc-models-lhc/RunIII_dev/Proton_2024/opticsfile.37 #
# Beam parameters
beam_config:
lhcb1:
beam_energy_tot: 6800 # [GeV]
lhcb2:
beam_energy_tot: 6800 # [GeV]
# Ions being simulated
ions: false
# Enable machine imperfections
enable_imperfections: false
# Enable knob synthesis (for coupling correction, if no imperfections)
enable_knob_synthesis: true
# Rename the coupling knobs to avoid conflict between b1 and b2
# (for hllhc using old fortran code to generate the knobs)
rename_coupling_knobs: true
# Optics version, for choice of correction algorithms
# (ver_lhc_run or ver_hllhc_optics)
ver_hllhc_optics:
ver_lhc_run: 3.0
# Parameters for machine imperfections
pars_for_imperfections:
par_myseed: 1
par_correct_for_D2: 0
par_correct_for_MCBX: 0
par_on_errors_LHC: 1
par_off_errors_Q4_inIP15: 0
par_off_errors_Q5_inIP15: 0
par_on_errors_MBH: 1
par_on_errors_Q4: 1
par_on_errors_D2: 1
par_on_errors_D1: 1
par_on_errors_IT: 1
par_on_errors_MCBRD: 0
par_on_errors_MCBXF: 0
par_on_errors_NLC: 0
par_write_errortable: 1
phasing:
# RF voltage and phases
vrf400: 12.0 # [MV]
lagrf400.b1: 0.5 # [rad]
lagrf400.b2: 0. # [rad]
# To make some specifics checks
sanity_checks: true
# Path of the collider file to be saved (usually at the end of the first generation)
path_collider_file_for_configuration_as_output: collider_file_for_configuration.json
compress: true # will compress the collider file, filename will end with .zip
# Configuration for tuning of the collider
config_collider:
# Even though the file doesn't end with .zip, scrip will first try to load it as a zip file
path_collider_file_for_configuration_as_input: ../collider_file_for_configuration.json
config_knobs_and_tuning:
knob_settings:
# Exp. configuration in IR1, IR2, IR5 and IR8***
on_x1: -145.000
on_sep1: 0.0 #-0.550
phi_IR1: 180.000
on_x2h: 0.000
on_sep2h: 1.0 # 1.000
on_x2v: 200.000
on_sep2v: 0.000
phi_IR2: 90.000
on_x5: 145.000
on_sep5: 0.0 # 0.550
phi_IR5: 90.000
on_x8h: 0.000
on_sep8h: -0.01 #-1.000
on_x8v: 200.000
on_sep8v: 0.000
phi_IR8: 180.000
# Spurious dispersion correction
on_disp: 1.000
# Magnets of the experiments
on_alice_normalized: 1
on_lhcb_normalized: 1
on_sol_atlas: 0
on_sol_cms: 0
on_sol_alice: 0
# Octupoles
i_oct_b1: 300. # [A]
i_oct_b2: 300. # [A]
# Tunes and chromaticities
qx:
lhcb1: 62.31
lhcb2: 62.31
qy:
lhcb1: 60.32
lhcb2: 60.32
dqx:
lhcb1: 15
lhcb2: 15
dqy:
lhcb1: 15
lhcb2: 15
# Linear coupling
delta_cmr: 0.001
delta_cmi: 0.0
knob_names:
lhcb1:
q_knob_1: dqx.b1_sq
q_knob_2: dqy.b1_sq
dq_knob_1: dqpx.b1_sq
dq_knob_2: dqpy.b1_sq
c_minus_knob_1: c_minus_re_b1
c_minus_knob_2: c_minus_im_b1
lhcb2:
q_knob_1: dqx.b2_sq
q_knob_2: dqy.b2_sq
dq_knob_1: dqpx.b2_sq
dq_knob_2: dqpy.b2_sq
c_minus_knob_1: c_minus_re_b2
c_minus_knob_2: c_minus_im_b2
config_beambeam:
skip_beambeam: false
bunch_spacing_buckets: 10
num_slices_head_on: 11
num_long_range_encounters_per_side:
ip1: 25
ip2: 20
ip5: 25
ip8: 20
sigma_z: 0.09
num_particles_per_bunch: 1.15e11
nemitt_x: 2.2e-6
nemitt_y: 2.2e-6
mask_with_filling_pattern:
# If not already existing in the study-da package, pattern must have an absolute path or be
# added as a dependency for the run file
pattern_fname: 25ns_2604b_2592_2310_2421_4x48bpi_16inj.json
i_bunch_b1: # If not specified, the bunch with the worst schedule is chosen
i_bunch_b2: # Same. A value for i_bunch_b1 and i_bunch_b2 must be specified if pattern_fname is specified
cross_section: 81e-27
config_lumi_leveling_ip1_5:
skip_leveling: false
luminosity: 2.0e+34
num_colliding_bunches: # This will be set automatically according to the filling scheme
vary:
- num_particles_per_bunch
constraints:
max_intensity: 1.8e11
max_PU: 70
skip_leveling: false
config_lumi_leveling:
ip2:
separation_in_sigmas: 5
plane: x
impose_separation_orthogonal_to_crossing: false
knobs:
- on_sep2h
- on_sep2v
bump_range:
lhcb1:
- e.ds.l2.b1
- s.ds.r2.b1
lhcb2:
- s.ds.r2.b2
- e.ds.l2.b2
preserve_angles_at_ip: true
preserve_bump_closure: true
corrector_knob_names:
# to preserve angles at ip
- corr_co_acbyvs4.l2b1
- corr_co_acbyhs4.l2b1
- corr_co_acbyvs4.r2b2
- corr_co_acbyhs4.r2b2
# to close the bumps
- corr_co_acbyvs4.l2b2
- corr_co_acbyhs4.l2b2
- corr_co_acbyvs4.r2b1
- corr_co_acbyhs4.r2b1
- corr_co_acbyhs5.l2b2
- corr_co_acbyvs5.l2b2
- corr_co_acbchs5.r2b1
- corr_co_acbcvs5.r2b1
ip8:
luminosity: 2.0e+33
num_colliding_bunches: # This will be set automatically according to the filling scheme
impose_separation_orthogonal_to_crossing: true
knobs:
- on_sep8h
- on_sep8v
bump_range:
lhcb1:
- e.ds.l8.b1
- s.ds.r8.b1
lhcb2:
- s.ds.r8.b2
- e.ds.l8.b2
preserve_angles_at_ip: true
preserve_bump_closure: true
corrector_knob_names:
# to preserve angles at ip
- corr_co_acbyvs4.l8b1
- corr_co_acbyhs4.l8b1
- corr_co_acbyvs4.r8b2
- corr_co_acbyhs4.r8b2
# to close the bumps
- corr_co_acbyvs4.l8b2
- corr_co_acbyhs4.l8b2
- corr_co_acbyvs4.r8b1
- corr_co_acbyhs4.r8b1
- corr_co_acbcvs5.l8b2
- corr_co_acbchs5.l8b2
- corr_co_acbyvs5.r8b1
- corr_co_acbyhs5.r8b1
# Save collider or not (usually at the end of the collider tuning)
save_output_collider: false
path_collider_file_for_tracking_as_output: collider_file_for_tracking.json
compress: true # will compress the collider file, filename will end with .zip
config_simulation:
# Collider file to load for the tracking
path_collider_file_for_tracking_as_input: ../collider_file_for_tracking.json
# Distribution in the normalized xy space
path_distribution_folder_input: ../particles
distribution_file: 00.parquet
# Output particle file
path_distribution_file_output: output_particles.parquet
# Initial off-momentum
delta_max: 27.e-5
# Tracking
n_turns: 1000000 # number of turns to track
# Beam to track
beam: lhcb1 #lhcb1 or lhcb2
# Context for the simulation
context: cpu # 'cupy' # opencl
# Device number for GPU simulation
device_number: # 0