The script bootstrap.sh should get you up and running
chmod u+x bootstrap.sh
/bootstrap.shdo_global_corrections.pywill run a full set of simulations go into the file and check it outpairs.py,q1_errors.pyq2_errors.pyandmagnet_errors.pydefine helpful classes for the setup of magnet errorsanalysis_pairing.pydoes the statistics on many simulationsjob*.madxare various job files to create the madx lattice and produce model and meas output- the folder
macroscontains our omc3 macros for lattice and model creation - some folders are created by
bootstrap.sh
- History gives an overview over studies already done
- FiDeL homepage
- Magnet sorting Decision
- MADX Lattice info
- Magnet sorting studies for LHC
- defined steps to take with Massimo
- Error distribution defines how the errors are created
- Run many simulations, correct with full response and compare how correctability and bbeat improves
- some correlation visible for high bbeat
- low bbeat at Q2a + Q2b less significant
- shows good improvement for bbeat by sorting and pairing
- shows also good improvement for corr
- both seem correlated (luckily, now we can fix both in one go)
- i.e. calc corrections by hand / using mad-x
- plug I into transfer functions
- repeat tracking and measure betabeat
- Jaime: study on correctability, long time ago. showed that a tiny deviation from optimal could already be a problem.
- Global correction: not good for triplet (global factor?)
- Hectors work on magnet sorting: first talk, second talk (with ML), third talk (more ML),
- create a global corrections script, taking a global factor into account
- corrections from twiss
- add parameter to FR? YES
- check which correction method is the best (SbS, global+factor, APJ?, ML?)
- decide if sorting is needed after all
- measured magnet strengths
- aperture?
- beta beating
- required correction strengths (pc limits?, K limits?)
- check corrections.py - can we get corrections from twiss? A: YES
- start some simulations, get overview of beta beating A: 6-10%
- probably only Q2 pairing possible,
- possibly Q1, Q2, Q3 sorting between different IPs same side
Pairing: A - B Sorting: Q1IP1 - Q1IP5
-
sorting: could improve beta beating
-
pairing: could improve correctability
Aperture / tolerances: try simulating sorting for aperture
The error distributions are created and managed by subclasses of Pairs.
Example:
q1_errors = Q1Pairs(real_error=10, meas_error=2, stage=1)
q1_errors.write_errors_to_file("model/errors_Q1.madx")This creates a set of error distributions q1_errors and writes the errors of the initial
distribution to a file model/errors_Q1.madx.
Now we can perform sorting:
q1_errors.sort_sum()
q1_errors.write_errors_to_file("model/errors_Q1_sorted.madx")Or define our own sorting function:
def sort_fn(pairs):
return np.sum([
(errors.get_pair(i)[0].real_error - errors.get_pair(i)[1].real_error)**2
for i in range(errors.get_pair_count())])
q1_errors.sort(sort_fn)
q1_errors.write_errors_to_file("model/errors_Q1_sorted.madx")root: acc-models-lhc
Q1ab, Q2a, Q2b, Q3ab
defined in acc-models-lhc/hllhc_sequence.madx:420
task: please check if Q2a/b might be powered individually