def generate_orbit_correction_setup() -> dict:
"""Return a dictionary with the setup for the orbit correction."""
return {
"lhcb1": {
"IR1 left": dict(
ref_with_knobs={"on_corr_co": 0, "on_disp": 0},
start="e.ds.r8.b1",
end="e.ds.l1.b1",
vary=(
"corr_co_acbh14.l1b1",
"corr_co_acbh12.l1b1",
"corr_co_acbv15.l1b1",
"corr_co_acbv13.l1b1",
),
targets=("e.ds.l1.b1",),
),
"IR1 right": dict(
ref_with_knobs={"on_corr_co": 0, "on_disp": 0},
start="s.ds.r1.b1",
end="s.ds.l2.b1",
vary=(
"corr_co_acbh13.r1b1",
"corr_co_acbh15.r1b1",
"corr_co_acbv12.r1b1",
"corr_co_acbv14.r1b1",
),
targets=("s.ds.l2.b1",),
),
"IR5 left": dict(
ref_with_knobs={"on_corr_co": 0, "on_disp": 0},
start="e.ds.r4.b1",
end="e.ds.l5.b1",
vary=(
"corr_co_acbh14.l5b1",
"corr_co_acbh12.l5b1",
"corr_co_acbv15.l5b1",
"corr_co_acbv13.l5b1",
),
targets=("e.ds.l5.b1",),
),
"IR5 right": dict(
ref_with_knobs={"on_corr_co": 0, "on_disp": 0},
start="s.ds.r5.b1",
end="s.ds.l6.b1",
vary=(
"corr_co_acbh13.r5b1",
"corr_co_acbh15.r5b1",
"corr_co_acbv12.r5b1",
"corr_co_acbv14.r5b1",
),
targets=("s.ds.l6.b1",),
),
"IP1": dict(
ref_with_knobs={"on_corr_co": 0, "on_disp": 0},
start="e.ds.l1.b1",
end="s.ds.r1.b1",
vary=(
"corr_co_acbch6.l1b1",
"corr_co_acbyvs5.l1b1",
"corr_co_acbyhs5.r1b1",
"corr_co_acbcv6.r1b1",
"corr_co_acbyhs4.l1b1",
"corr_co_acbyhs4.r1b1",
"corr_co_acbyvs4.l1b1",
"corr_co_acbyvs4.r1b1",
),
targets=("ip1", "s.ds.r1.b1"),
),
"IP2": dict(
ref_with_knobs={"on_corr_co": 0, "on_disp": 0},
start="e.ds.l2.b1",
end="s.ds.r2.b1",
vary=(
"corr_co_acbyhs5.l2b1",
"corr_co_acbchs5.r2b1",
"corr_co_acbyvs5.l2b1",
"corr_co_acbcvs5.r2b1",
"corr_co_acbyhs4.l2b1",
"corr_co_acbyhs4.r2b1",
"corr_co_acbyvs4.l2b1",
"corr_co_acbyvs4.r2b1",
),
targets=("ip2", "s.ds.r2.b1"),
),
"IP5": dict(
ref_with_knobs={"on_corr_co": 0, "on_disp": 0},
start="e.ds.l5.b1",
end="s.ds.r5.b1",
vary=(
"corr_co_acbch6.l5b1",
"corr_co_acbyvs5.l5b1",
"corr_co_acbyhs5.r5b1",
"corr_co_acbcv6.r5b1",
"corr_co_acbyhs4.l5b1",
"corr_co_acbyhs4.r5b1",
"corr_co_acbyvs4.l5b1",
"corr_co_acbyvs4.r5b1",
),
targets=("ip5", "s.ds.r5.b1"),
),
"IP8": dict(
ref_with_knobs={"on_corr_co": 0, "on_disp": 0},
start="e.ds.l8.b1",
end="s.ds.r8.b1",
vary=(
"corr_co_acbch5.l8b1",
"corr_co_acbyhs4.l8b1",
"corr_co_acbyhs4.r8b1",
"corr_co_acbyhs5.r8b1",
"corr_co_acbcvs5.l8b1",
"corr_co_acbyvs4.l8b1",
"corr_co_acbyvs4.r8b1",
"corr_co_acbyvs5.r8b1",
),
targets=("ip8", "s.ds.r8.b1"),
),
},
"lhcb2": {
"IR1 left": dict(
ref_with_knobs={"on_corr_co": 0, "on_disp": 0},
start="e.ds.l1.b2",
end="e.ds.r8.b2",
vary=(
"corr_co_acbh13.l1b2",
"corr_co_acbh15.l1b2",
"corr_co_acbv12.l1b2",
"corr_co_acbv14.l1b2",
),
targets=("e.ds.r8.b2",),
),
"IR1 right": dict(
ref_with_knobs={"on_corr_co": 0, "on_disp": 0},
start="s.ds.l2.b2",
end="s.ds.r1.b2",
vary=(
"corr_co_acbh12.r1b2",
"corr_co_acbh14.r1b2",
"corr_co_acbv13.r1b2",
"corr_co_acbv15.r1b2",
),
targets=("s.ds.r1.b2",),
),
"IR5 left": dict(
ref_with_knobs={"on_corr_co": 0, "on_disp": 0},
start="e.ds.l5.b2",
end="e.ds.r4.b2",
vary=(
"corr_co_acbh13.l5b2",
"corr_co_acbh15.l5b2",
"corr_co_acbv12.l5b2",
"corr_co_acbv14.l5b2",
),
targets=("e.ds.r4.b2",),
),
"IR5 right": dict(
ref_with_knobs={"on_corr_co": 0, "on_disp": 0},
start="s.ds.l6.b2",
end="s.ds.r5.b2",
vary=(
"corr_co_acbh12.r5b2",
"corr_co_acbh14.r5b2",
"corr_co_acbv13.r5b2",
"corr_co_acbv15.r5b2",
),
targets=("s.ds.r5.b2",),
),
"IP1": dict(
ref_with_knobs={"on_corr_co": 0, "on_disp": 0},
start="s.ds.r1.b2",
end="e.ds.l1.b2",
vary=(
"corr_co_acbch6.r1b2",
"corr_co_acbyvs5.r1b2",
"corr_co_acbyhs5.l1b2",
"corr_co_acbcv6.l1b2",
"corr_co_acbyhs4.l1b2",
"corr_co_acbyhs4.r1b2",
"corr_co_acbyvs4.l1b2",
"corr_co_acbyvs4.r1b2",
),
targets=(
"ip1",
"e.ds.l1.b2",
),
),
"IP2": dict(
ref_with_knobs={"on_corr_co": 0, "on_disp": 0},
start="s.ds.r2.b2",
end="e.ds.l2.b2",
vary=(
"corr_co_acbyhs5.l2b2",
"corr_co_acbchs5.r2b2",
"corr_co_acbyvs5.l2b2",
"corr_co_acbcvs5.r2b2",
"corr_co_acbyhs4.l2b2",
"corr_co_acbyhs4.r2b2",
"corr_co_acbyvs4.l2b2",
"corr_co_acbyvs4.r2b2",
),
targets=("ip2", "e.ds.l2.b2"),
),
"IP5": dict(
ref_with_knobs={"on_corr_co": 0, "on_disp": 0},
start="s.ds.r5.b2",
end="e.ds.l5.b2",
vary=(
"corr_co_acbch6.r5b2",
"corr_co_acbyvs5.r5b2",
"corr_co_acbyhs5.l5b2",
"corr_co_acbcv6.l5b2",
"corr_co_acbyhs4.l5b2",
"corr_co_acbyhs4.r5b2",
"corr_co_acbyvs4.l5b2",
"corr_co_acbyvs4.r5b2",
),
targets=(
"ip5",
"e.ds.l5.b2",
),
),
"IP8": dict(
ref_with_knobs={"on_corr_co": 0, "on_disp": 0},
start="s.ds.r8.b2",
end="e.ds.l8.b2",
vary=(
"corr_co_acbchs5.l8b2",
"corr_co_acbyhs5.r8b2",
"corr_co_acbcvs5.l8b2",
"corr_co_acbyvs5.r8b2",
"corr_co_acbyhs4.l8b2",
"corr_co_acbyhs4.r8b2",
"corr_co_acbyvs4.l8b2",
"corr_co_acbyvs4.r8b2",
),
targets=(
"ip8",
"e.ds.l8.b2",
),
),
},
}