Skip to content

Commit e5885e8

Browse files
authored
Global corrector lists 2025 (#481)
1 parent 83bbf7d commit e5885e8

File tree

8 files changed

+490
-1
lines changed

8 files changed

+490
-1
lines changed

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
# OMC3 Changelog
22

3+
#### 2025-04-04 - v0.24.1 - _jdilly_
4+
5+
- Added:
6+
- Corrector lists for 2025.
7+
- Added `kqt13.l7b1` to the main `MQT` correctors list.
8+
- `lhc_corrector_list_check`: Checks LHC-sequence against the corrector lists.
9+
310
#### 2025-04-03 - v0.24.0 - _jdilly_
411

512
- Added:

doc/entrypoints/scripts.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,3 +44,8 @@ Scripts
4444
.. automodule:: omc3.scripts.bad_bpms_summary
4545
:members:
4646
:noindex:
47+
48+
49+
.. automodule:: omc3.scripts.lhc_corrector_list_check
50+
:members:
51+
:noindex:

omc3/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
__title__ = "omc3"
1212
__description__ = "An accelerator physics tools package for the OMC team at CERN."
1313
__url__ = "https://github.com/pylhc/omc3"
14-
__version__ = "0.24.0"
14+
__version__ = "0.24.1"
1515
__author__ = "pylhc"
1616
__author_email__ = "[email protected]"
1717
__license__ = "MIT"
Lines changed: 153 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,153 @@
1+
{
2+
"MQM_INJ": [
3+
"kq10.l1b1",
4+
"kq10.l2b1",
5+
"kq10.l4b1",
6+
"kq10.l5b1",
7+
"kq10.l6b1",
8+
"kq10.l8b1",
9+
"kq10.r1b1",
10+
"kq10.r2b1",
11+
"kq10.r4b1",
12+
"kq10.r5b1",
13+
"kq10.r6b1",
14+
"kq10.r8b1",
15+
"kq4.l1b1",
16+
"kq4.l2b1",
17+
"kq4.l8b1",
18+
"kq4.r1b1",
19+
"kq4.r2b1",
20+
"kq4.r6b1",
21+
"kq4.r8b1",
22+
"kq5.l1b1",
23+
"kq5.l4b1",
24+
"kq5.l5b1",
25+
"kq5.l6b1",
26+
"kq5.l8b1",
27+
"kq5.r1b1",
28+
"kq5.r2b1",
29+
"kq5.r4b1",
30+
"kq5.r5b1",
31+
"kq5.r6b1",
32+
"kq5.r8b1",
33+
"kq6.l1b1",
34+
"kq6.l2b1",
35+
"kq6.l3b1",
36+
"kq6.l4b1",
37+
"kq6.l5b1",
38+
"kq6.l7b1",
39+
"kq6.l8b1",
40+
"kq6.r1b1",
41+
"kq6.r2b1",
42+
"kq6.r3b1",
43+
"kq6.r4b1",
44+
"kq6.r5b1",
45+
"kq6.r7b1",
46+
"kq6.r8b1",
47+
"kq7.l1b1",
48+
"kq7.l2b1",
49+
"kq7.l4b1",
50+
"kq7.l5b1",
51+
"kq7.l8b1",
52+
"kq7.r1b1",
53+
"kq7.r2b1",
54+
"kq7.r4b1",
55+
"kq7.r5b1",
56+
"kq7.r8b1",
57+
"kq8.l1b1",
58+
"kq8.l2b1",
59+
"kq8.l4b1",
60+
"kq8.l5b1",
61+
"kq8.l6b1",
62+
"kq8.l8b1",
63+
"kq8.r1b1",
64+
"kq8.r2b1",
65+
"kq8.r4b1",
66+
"kq8.r5b1",
67+
"kq8.r6b1",
68+
"kq8.r8b1",
69+
"kq9.l1b1",
70+
"kq9.l2b1",
71+
"kq9.l4b1",
72+
"kq9.l5b1",
73+
"kq9.l6b1",
74+
"kq9.l8b1",
75+
"kq9.r1b1",
76+
"kq9.r2b1",
77+
"kq9.r4b1",
78+
"kq9.r5b1",
79+
"kq9.r6b1",
80+
"kq9.r8b1"
81+
],
82+
"MQM_TOP": [
83+
"kq10.l1b1",
84+
"kq10.l2b1",
85+
"kq10.l4b1",
86+
"kq10.l5b1",
87+
"kq10.l6b1",
88+
"kq10.l8b1",
89+
"kq10.r1b1",
90+
"kq10.r2b1",
91+
"kq10.r4b1",
92+
"kq10.r5b1",
93+
"kq10.r6b1",
94+
"kq10.r8b1",
95+
"kq4.l2b1",
96+
"kq4.l8b1",
97+
"kq4.r2b1",
98+
"kq4.r6b1",
99+
"kq4.r8b1",
100+
"kq5.l2b1",
101+
"kq5.l4b1",
102+
"kq5.l6b1",
103+
"kq5.l8b1",
104+
"kq5.r2b1",
105+
"kq5.r4b1",
106+
"kq5.r6b1",
107+
"kq5.r8b1",
108+
"kq6.l2b1",
109+
"kq6.l3b1",
110+
"kq6.l4b1",
111+
"kq6.l7b1",
112+
"kq6.l8b1",
113+
"kq6.r2b1",
114+
"kq6.r3b1",
115+
"kq6.r4b1",
116+
"kq6.r7b1",
117+
"kq6.r8b1",
118+
"kq7.l1b1",
119+
"kq7.l2b1",
120+
"kq7.l4b1",
121+
"kq7.l5b1",
122+
"kq7.l8b1",
123+
"kq7.r1b1",
124+
"kq7.r2b1",
125+
"kq7.r4b1",
126+
"kq7.r5b1",
127+
"kq7.r8b1",
128+
"kq8.l1b1",
129+
"kq8.l2b1",
130+
"kq8.l4b1",
131+
"kq8.l5b1",
132+
"kq8.l6b1",
133+
"kq8.l8b1",
134+
"kq8.r1b1",
135+
"kq8.r2b1",
136+
"kq8.r4b1",
137+
"kq8.r5b1",
138+
"kq8.r6b1",
139+
"kq8.r8b1",
140+
"kq9.l1b1",
141+
"kq9.l2b1",
142+
"kq9.l4b1",
143+
"kq9.l5b1",
144+
"kq9.l6b1",
145+
"kq9.l8b1",
146+
"kq9.r1b1",
147+
"kq9.r2b1",
148+
"kq9.r4b1",
149+
"kq9.r5b1",
150+
"kq9.r6b1",
151+
"kq9.r8b1"
152+
]
153+
}
Lines changed: 153 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,153 @@
1+
{
2+
"MQM_INJ": [
3+
"kq10.l1b2",
4+
"kq10.l2b2",
5+
"kq10.l4b2",
6+
"kq10.l5b2",
7+
"kq10.l6b2",
8+
"kq10.l8b2",
9+
"kq10.r1b2",
10+
"kq10.r2b2",
11+
"kq10.r4b2",
12+
"kq10.r5b2",
13+
"kq10.r6b2",
14+
"kq10.r8b2",
15+
"kq4.l1b2",
16+
"kq4.l2b2",
17+
"kq4.l6b2",
18+
"kq4.l8b2",
19+
"kq4.r1b2",
20+
"kq4.r2b2",
21+
"kq4.r8b2",
22+
"kq5.l1b2",
23+
"kq5.l2b2",
24+
"kq5.l4b2",
25+
"kq5.l5b2",
26+
"kq5.l6b2",
27+
"kq5.l8b2",
28+
"kq5.r1b2",
29+
"kq5.r2b2",
30+
"kq5.r4b2",
31+
"kq5.r5b2",
32+
"kq5.r6b2",
33+
"kq6.l1b2",
34+
"kq6.l2b2",
35+
"kq6.l3b2",
36+
"kq6.l4b2",
37+
"kq6.l5b2",
38+
"kq6.l7b2",
39+
"kq6.l8b2",
40+
"kq6.r1b2",
41+
"kq6.r2b2",
42+
"kq6.r3b2",
43+
"kq6.r4b2",
44+
"kq6.r5b2",
45+
"kq6.r7b2",
46+
"kq6.r8b2",
47+
"kq7.l1b2",
48+
"kq7.l2b2",
49+
"kq7.l4b2",
50+
"kq7.l5b2",
51+
"kq7.l8b2",
52+
"kq7.r1b2",
53+
"kq7.r2b2",
54+
"kq7.r4b2",
55+
"kq7.r5b2",
56+
"kq7.r8b2",
57+
"kq8.l1b2",
58+
"kq8.l2b2",
59+
"kq8.l4b2",
60+
"kq8.l5b2",
61+
"kq8.l6b2",
62+
"kq8.l8b2",
63+
"kq8.r1b2",
64+
"kq8.r2b2",
65+
"kq8.r4b2",
66+
"kq8.r5b2",
67+
"kq8.r6b2",
68+
"kq8.r8b2",
69+
"kq9.l1b2",
70+
"kq9.l2b2",
71+
"kq9.l4b2",
72+
"kq9.l5b2",
73+
"kq9.l6b2",
74+
"kq9.l8b2",
75+
"kq9.r1b2",
76+
"kq9.r2b2",
77+
"kq9.r4b2",
78+
"kq9.r5b2",
79+
"kq9.r6b2",
80+
"kq9.r8b2"
81+
],
82+
"MQM_TOP": [
83+
"kq10.l1b2",
84+
"kq10.l2b2",
85+
"kq10.l4b2",
86+
"kq10.l5b2",
87+
"kq10.l6b2",
88+
"kq10.l8b2",
89+
"kq10.r1b2",
90+
"kq10.r2b2",
91+
"kq10.r4b2",
92+
"kq10.r5b2",
93+
"kq10.r6b2",
94+
"kq10.r8b2",
95+
"kq4.l2b2",
96+
"kq4.l6b2",
97+
"kq4.l8b2",
98+
"kq4.r2b2",
99+
"kq4.r8b2",
100+
"kq5.l2b2",
101+
"kq5.l4b2",
102+
"kq5.l6b2",
103+
"kq5.l8b2",
104+
"kq5.r2b2",
105+
"kq5.r4b2",
106+
"kq5.r6b2",
107+
"kq5.r8b2",
108+
"kq6.l2b2",
109+
"kq6.l3b2",
110+
"kq6.l4b2",
111+
"kq6.l7b2",
112+
"kq6.l8b2",
113+
"kq6.r2b2",
114+
"kq6.r3b2",
115+
"kq6.r4b2",
116+
"kq6.r7b2",
117+
"kq6.r8b2",
118+
"kq7.l1b2",
119+
"kq7.l2b2",
120+
"kq7.l4b2",
121+
"kq7.l5b2",
122+
"kq7.l8b2",
123+
"kq7.r1b2",
124+
"kq7.r2b2",
125+
"kq7.r4b2",
126+
"kq7.r5b2",
127+
"kq7.r8b2",
128+
"kq8.l1b2",
129+
"kq8.l2b2",
130+
"kq8.l4b2",
131+
"kq8.l5b2",
132+
"kq8.l6b2",
133+
"kq8.l8b2",
134+
"kq8.r1b2",
135+
"kq8.r2b2",
136+
"kq8.r4b2",
137+
"kq8.r5b2",
138+
"kq8.r6b2",
139+
"kq8.r8b2",
140+
"kq9.l1b2",
141+
"kq9.l2b2",
142+
"kq9.l4b2",
143+
"kq9.l5b2",
144+
"kq9.l6b2",
145+
"kq9.l8b2",
146+
"kq9.r1b2",
147+
"kq9.r2b2",
148+
"kq9.r4b2",
149+
"kq9.r5b2",
150+
"kq9.r6b2",
151+
"kq9.r8b2"
152+
]
153+
}
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
-------------- From Stephane ---------------------------------------------------
2+
3+
IR2/8
4+
For IR2/8 optics re-matching *at injection* we generally exclude both Q4 and Q5 on the injected beam side and the triplet (i.e. not only kq5.l2b1 and kq5.r8b2),
5+
in order to preserve the twiss parameter at the injection point (TL matching), the MKI/TDI vertical phase advance, and the TL trajectory till the injection point (Q5 matters).
6+
7+
In your context (optics correction), I agree that it maybe counter-productive to exclude the IT and Q4
8+
(of course putting some good weight for the BPM data near the injection point and the TDI), only the Q5 circuits makes sens
9+
10+
Therefore I do not also see any reason why excluding these Q5 circuits in the ramp, FT, collision, etc..
11+
12+
13+
IR6
14+
I would definitely exclude kq4.l6b1 and kq4.r6b2 because they sensibly (~10%) participate to the extraction kick
15+
(V-defocusing quadrupoles, without which the MKD would not be strong enough at 7 TeV).
16+
So to be excluded a priori so all the time (injection, ramp, FT, etc..).
17+
18+
But Indeed I do not see any reason why excluding kq4.l6b2. To be checked with Chiara, maybe?
19+
20+
21+
IR1/5
22+
Q4 in IR5 should be excluded by construction (RP-Q4off optics).
23+
For squeezed optics (beta-presqueezed=60 cm or below, so as of [email protected] m), I would exclude Q6 both in IR1/5 (very small gradient)
24+
and Q5 in IR5 (very small gradient).
25+
For OMC knobs below 1.2 m,
26+
I would then try to work at cst Q4/5/6 in IR1&IR5 (in order to preserve the telescopic features of these optics).
27+
If you prefer, ideally the IT/Q4/5/6 setting correction should be optimized and kept constant, based on the 60 cm pivot optics (non telescopic)…
28+
but in practice I do not know wether this would not be an overhead for the usual steps which are taken.
29+
----------------------------------------------------------------------------------------------------
30+
31+
So in short for squeezed optics:
32+
- To keep ATS features intact: q4, q5, q6 off in IP1 and IP5
33+
- q4 in IP5 off by optics
34+
- Best to keep off always: q6 in IP1 and IP5, q5 in IP5 (-> not in the MQT_TOP)
35+
- Best to keep off if possible: q4 and q5 in IP1 (-> not in the MQT_TOP)
36+
- kq4.l6b1 and kq4.r6b2 -> Do not use, they are between dump kicker and septum
37+
38+
For injection optics:
39+
- q4 in IP5 off by optics
40+
- kq4.l6b1 and kq4.r6b2 -> Do not use, they are between dump kicker and septum
41+
- kq5.l2b1 and kq5.r8b2 -> Do not use at injection, they are within the injection bump
42+
43+
Changes 2025 to 2024:
44+
- kq4.l6b2 -> now used, not sure why excluded in the past (copy/paste error)
45+
- kqt13.l7b1 -> now used, no idea why excluded in the past (!! Brought back in the main json. Cleaner to have it there !!)
46+
- Inj:
47+
Removed kq4 in IP5, added kq4 in IP1 due to polarity switch.
48+
In the optics these magnets are turned off.
49+
- Top:
50+
Removed kq6 in IP1, as we are not supposed to use them. (see email above)

omc3/model/accelerators/lhc/correctors/correctors_b1/beta_correctors.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -313,6 +313,7 @@
313313
"kqt13.r6b1",
314314
"kqtf.a67b1",
315315
"kqtd.a67b1",
316+
"kqt13.l7b1",
316317
"kqt12.l7b1",
317318
"kqt12.r7b1",
318319
"kqt13.r7b1",

0 commit comments

Comments
 (0)