Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 9 additions & 56 deletions HL-LHC/Efcomp_MBRD.madx
Original file line number Diff line number Diff line change
Expand Up @@ -3,83 +3,36 @@
! The orientation for D2 left is LE-BODY-NLE in IR1 and IR5, and then mirror symmetry w.r.t. IP
! F.F. Van der Veken January 2019
! orientation is IP .. (=D2)
! T. Pugnat Sep 2022
! Change routine such that orientation is given by tables instead of hardcoded

exec new_magnetfamily_MB(MBRD);


abs_or_rel:=0; order:=0;

!D2.L1
if (print_errors==1){print, text="Errors for MBRD.4L1.*";};
select,flag=error,clear;select,flag=error,pattern="^MBRD\.4L1.*$";
iap=1; exec new_magnetindividual(MBRD,iap); exec average_of_randoms(ssrBeam1,ssr,ssr);
iap=2; exec new_magnetindividual(MBRD,iap); exec average_of_randoms(ssrBeam2,ssr,ssr);
if(use_average_errors_MBRD==1){
exec average_of_randoms(ssr,ssrBeam1,ssrBeam2);
};
if(use_average_errors_MBRD==0){
if(mylhcbeam==1){
exec average_of_randoms(ssr,ssrBeam1,ssrBeam1);
};
if(mylhcbeam>1){
exec average_of_randoms(ssr,ssrBeam2,ssrBeam2);
};
};
exec errorgenerate_dip_inv(MBRD);
exec Efcomp_Random_Multi(MBRD, MBRD.4L1, abs_or_rel, order);


!D2.R1
if (print_errors==1){print, text="Errors for MBRD.4R1.*";};
select,flag=error,clear;select,flag=error,pattern="^MBRD\.4R1.*$";
iap=1; exec new_magnetindividual(MBRD,iap); exec average_of_randoms(ssrBeam1,ssr,ssr);
iap=2; exec new_magnetindividual(MBRD,iap); exec average_of_randoms(ssrBeam2,ssr,ssr);
if(use_average_errors_MBRD==1){
exec average_of_randoms(ssr,ssrBeam1,ssrBeam2);
};
if(use_average_errors_MBRD==0){
if(mylhcbeam==1){
exec average_of_randoms(ssr,ssrBeam1,ssrBeam1);
};
if(mylhcbeam>1){
exec average_of_randoms(ssr,ssrBeam2,ssrBeam2);
};
};
exec errorgenerate_dip(MBRD);
exec Efcomp_Random_Multi(MBRD, MBRD.4R1, abs_or_rel, order);


!D2.L5
if (print_errors==1){print, text="Errors for MBRD.4L5.*";};
select,flag=error,clear;select,flag=error,pattern="^MBRD\.4L5.*$";
iap=1; exec new_magnetindividual(MBRD,iap); exec average_of_randoms(ssrBeam1,ssr,ssr);
iap=2; exec new_magnetindividual(MBRD,iap); exec average_of_randoms(ssrBeam2,ssr,ssr);
if(use_average_errors_MBRD==1){
exec average_of_randoms(ssr,ssrBeam1,ssrBeam2);
};
if(use_average_errors_MBRD==0){
if(mylhcbeam==1){
exec average_of_randoms(ssr,ssrBeam1,ssrBeam1);
};
if(mylhcbeam>1){
exec average_of_randoms(ssr,ssrBeam2,ssrBeam2);
};
};
exec errorgenerate_dip_inv(MBRD);
exec Efcomp_Random_Multi(MBRD, MBRD.4L5, abs_or_rel, order);


!D2.R5
if (print_errors==1){print, text="Errors for MBRD.4R5.*";};
select,flag=error,clear;select,flag=error,pattern="^MBRD\.4R5.*$";
iap=1; exec new_magnetindividual(MBRD,iap); exec average_of_randoms(ssrBeam1,ssr,ssr);
iap=2; exec new_magnetindividual(MBRD,iap); exec average_of_randoms(ssrBeam2,ssr,ssr);
if(use_average_errors_MBRD==1){
exec average_of_randoms(ssr,ssrBeam1,ssrBeam2);
};
if(use_average_errors_MBRD==0){
if(mylhcbeam==1){
exec average_of_randoms(ssr,ssrBeam1,ssrBeam1);
};
if(mylhcbeam>1){
exec average_of_randoms(ssr,ssrBeam2,ssrBeam2);
};
};
exec errorgenerate_dip(MBRD);
exec Efcomp_Random_Multi(MBRD, MBRD.4R5, abs_or_rel, order);



Expand Down
13 changes: 8 additions & 5 deletions HL-LHC/Efcomp_MBXAB.madx
Original file line number Diff line number Diff line change
Expand Up @@ -5,32 +5,35 @@
! The second module MBXB does no longer exist
! F.F. Van der Veken Aug 2019
! The new orientation is IP ... (D1=)
! T. Pugnat Sep 2022
! Change routine such that orientation is given by tables instead of hardcoded

exec new_magnetfamily(MBXAB);
iap=0;

abs_or_rel:=0; order:=0;

!D1.L1
if (print_errors==1){print, text="Errors for MBXF.4L1.*";};
select,flag=error,clear;select,flag=error,pattern="^MBXF\.4L1.*$";
exec new_magnetindividual(MBXAB,iap);exec errorgenerate_dip(MBXAB);
exec Efcomp_Random_Multi(MBXAB, MBXF.4L1, abs_or_rel, order);


!D1.R1
if (print_errors==1){print, text="Errors for MBXF.4R1.*";};
select,flag=error,clear;select,flag=error,pattern="^MBXF\.4R1.*$";
exec new_magnetindividual(MBXAB,iap);exec errorgenerate_dip_inv(MBXAB);
exec Efcomp_Random_Multi(MBXAB, MBXF.4R1, abs_or_rel, order);


!D1.L5
if (print_errors==1){print, text="Errors for MBXF.4L5.*";};
select,flag=error,clear;select,flag=error,pattern="^MBXF\.4L5.*$";
exec new_magnetindividual(MBXAB,iap);exec errorgenerate_dip(MBXAB);
exec Efcomp_Random_Multi(MBXAB, MBXF.4L5, abs_or_rel, order);


!D1.R5
if (print_errors==1){print, text="Errors for MBXF.4R5.*";};
select,flag=error,clear;select,flag=error,pattern="^MBXF\.4R5.*$";
exec new_magnetindividual(MBXAB,iap);exec errorgenerate_dip_inv(MBXAB);
exec Efcomp_Random_Multi(MBXAB, MBXF.4R5, abs_or_rel, order);


return;
119 changes: 31 additions & 88 deletions HL-LHC/Efcomp_MCBRD.madx
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
! F.F. Van der Veken
! Error generation for the new D2 correctors (MCBRD)
! T. Pugnat Sep 2022
! Change routine such that orientation is given by tables instead of hardcoded
!
! The layout for v1.4 is:
! B2 <- (=MCBRDV.L.B2 MCBRDH.L.B2= D2=) IP (=D2 =MCBRDH.R.B1 MCBRDV.R.B1=) -> B1
Expand All @@ -24,71 +26,43 @@ if (ver_hllhc_optics<>1.4 && ver_hllhc_optics<>1.5){
stop;
};


abs_or_rel:=1; order:=0;


! -----------------------------------------------------------------------
! *********************** Magnet type : MCBRDH ************************
! -----------------------------------------------------------------------
exec new_magnetfamily_MB(MCBRDH); ! systematic error
klRef_MCBRDH_abs = BRef_MCBRDH*l.MCBRDH*CLIGHT/(1E9*NRJ);

!MCBRDH.L1
iap=2;
if(mylhcbeam==1){
inv_MCBRD=0;
klRef_MCBRDH = sign_MCBRDH.4L1.B1*klRef_MCBRDH_abs;
};
if(mylhcbeam>1){
inv_MCBRD=1;
klRef_MCBRDH = sign_MCBRDH.4L1.B2*klRef_MCBRDH_abs;
};
if(mylhcbeam==1){ klRef_MCBRDH = sign_MCBRDH.4L1.B1*klRef_MCBRDH_abs; };
if(mylhcbeam >1){ klRef_MCBRDH = sign_MCBRDH.4L1.B2*klRef_MCBRDH_abs; };
if (print_errors==1){print, text="Errors for MCBRDH.4L1.*";};
select,flag=error,clear;select,flag=error,pattern="^MCBRDH\.4L1.*\.\.r$";
exec new_magnetindividual(MCBRDH,iap);
exec errorgenerate_abs(MCBRDH, inv_MCBRD, 0, klRef_MCBRDH);
exec Efcomp_Random_Multi(MCBRDH, MCBRDH.4L1, abs_or_rel, order);

!MCBRDH.R1
if (ver_hllhc_optics==1.4){ iap=1; }; if (ver_hllhc_optics==1.5){ iap=2; };
if(mylhcbeam==1){
if (ver_hllhc_optics==1.4){ inv_MCBRD=0; }; if (ver_hllhc_optics==1.5){ inv_MCBRD=1; };
klRef_MCBRDH = sign_MCBRDH.4R1.B1*klRef_MCBRDH_abs;
};
if(mylhcbeam>1){
if (ver_hllhc_optics==1.4){ inv_MCBRD=1; }; if (ver_hllhc_optics==1.5){ inv_MCBRD=0; };
klRef_MCBRDH = sign_MCBRDH.4R1.B2*klRef_MCBRDH_abs;
};
if(mylhcbeam==1){ klRef_MCBRDH = sign_MCBRDH.4R1.B1*klRef_MCBRDH_abs; };
if(mylhcbeam >1){ klRef_MCBRDH = sign_MCBRDH.4R1.B2*klRef_MCBRDH_abs; };
if (print_errors==1){print, text="Errors for MCBRDH.4R1.*";};
select,flag=error,clear;select,flag=error,pattern="^MCBRDH\.4R1.*\.\.r$";
exec new_magnetindividual(MCBRDH,iap);
exec errorgenerate_abs(MCBRDH, inv_MCBRD, 0, klRef_MCBRDH);
exec Efcomp_Random_Multi(MCBRDH, MCBRDH.4R1, abs_or_rel, order);

!MCBRDH.L5
iap=2;
if(mylhcbeam==1){
inv_MCBRD=0;
klRef_MCBRDH = sign_MCBRDH.4L5.B1*klRef_MCBRDH_abs;
};
if(mylhcbeam>1){
inv_MCBRD=1;
klRef_MCBRDH = sign_MCBRDH.4L5.B2*klRef_MCBRDH_abs;
};
if(mylhcbeam==1){ klRef_MCBRDH = sign_MCBRDH.4L5.B1*klRef_MCBRDH_abs; };
if(mylhcbeam >1){ klRef_MCBRDH = sign_MCBRDH.4L5.B2*klRef_MCBRDH_abs; };
if (print_errors==1){print, text="Errors for MCBRDH.4L5.*";};
select,flag=error,clear;select,flag=error,pattern="^MCBRDH\.4L5.*\.\.r$";
exec new_magnetindividual(MCBRDH,iap);
exec errorgenerate_abs(MCBRDH, inv_MCBRD, 0, klRef_MCBRDH);
exec Efcomp_Random_Multi(MCBRDH, MCBRDH.4L5, abs_or_rel, order);

!MCBRDH.R5
if (ver_hllhc_optics==1.4){ iap=1; }; if (ver_hllhc_optics==1.5){ iap=2; };
if(mylhcbeam==1){
if (ver_hllhc_optics==1.4){ inv_MCBRD=0; }; if (ver_hllhc_optics==1.5){ inv_MCBRD=1; };
klRef_MCBRDH = sign_MCBRDH.4R5.B1*klRef_MCBRDH_abs;
};
if(mylhcbeam>1){
if (ver_hllhc_optics==1.4){ inv_MCBRD=1; }; if (ver_hllhc_optics==1.5){ inv_MCBRD=0; };
klRef_MCBRDH = sign_MCBRDH.4R5.B2*klRef_MCBRDH_abs;
};
if(mylhcbeam==1){ klRef_MCBRDH = sign_MCBRDH.4R5.B1*klRef_MCBRDH_abs; };
if(mylhcbeam >1){ klRef_MCBRDH = sign_MCBRDH.4R5.B2*klRef_MCBRDH_abs; };
if (print_errors==1){print, text="Errors for MCBRDH.4R5.*";};
select,flag=error,clear;select,flag=error,pattern="^MCBRDH\.4R5.*\.\.r$";
exec new_magnetindividual(MCBRDH,iap);
exec errorgenerate_abs(MCBRDH, inv_MCBRD, 0, klRef_MCBRDH);
exec Efcomp_Random_Multi(MCBRDH, MCBRDH.4R5, abs_or_rel, order);



Expand All @@ -99,64 +73,33 @@ exec new_magnetfamily_MB(MCBRDV); ! systematic error
klRef_MCBRDV_abs = BRef_MCBRDV*l.MCBRDV*CLIGHT/(1E9*NRJ);

!MCBRDV.L1
iap=1;
if(mylhcbeam==1){
inv_MCBRD=1;
klRef_MCBRDV = sign_MCBRDV.4L1.B1*klRef_MCBRDV_abs;
};
if(mylhcbeam>1){
inv_MCBRD=0;
klRef_MCBRDV = sign_MCBRDV.4L1.B2*klRef_MCBRDV_abs;
};
if(mylhcbeam==1){ klRef_MCBRDV = sign_MCBRDV.4L1.B1*klRef_MCBRDV_abs; };
if(mylhcbeam >1){ klRef_MCBRDV = sign_MCBRDV.4L1.B2*klRef_MCBRDV_abs; };
if (print_errors==1){print, text="Errors for MCBRDV.4L1.*";};
select,flag=error,clear;select,flag=error,pattern="^MCBRDV\.4L1.*\.\.r$";
exec new_magnetindividual(MCBRDV,iap);
exec errorgenerate_abs(MCBRDV, inv_MCBRD, 0, klRef_MCBRDV);
exec Efcomp_Random_Multi(MCBRDV, MCBRDV.4L1, abs_or_rel, order);

!MCBRDV.R1
if (ver_hllhc_optics==1.4){ iap=2; }; if (ver_hllhc_optics==1.5){ iap=1; };
if(mylhcbeam==1){
if (ver_hllhc_optics==1.4){ inv_MCBRD=1; }; if (ver_hllhc_optics==1.5){ inv_MCBRD=0; };
klRef_MCBRDV = sign_MCBRDV.4R1.B1*klRef_MCBRDV_abs;
};
if(mylhcbeam>1){
if (ver_hllhc_optics==1.4){ inv_MCBRD=0; }; if (ver_hllhc_optics==1.5){ inv_MCBRD=1; };
klRef_MCBRDV = sign_MCBRDV.4R1.B2*klRef_MCBRDV_abs;
};
if(mylhcbeam==1){ klRef_MCBRDV = sign_MCBRDV.4R1.B1*klRef_MCBRDV_abs; };
if(mylhcbeam >1){ klRef_MCBRDV = sign_MCBRDV.4R1.B2*klRef_MCBRDV_abs; };
if (print_errors==1){print, text="Errors for MCBRDV.4R1.*";};
select,flag=error,clear;select,flag=error,pattern="^MCBRDV\.4R1.*\.\.r$";
exec new_magnetindividual(MCBRDV,iap);
exec errorgenerate_abs(MCBRDV, inv_MCBRD, 0, klRef_MCBRDV);
exec Efcomp_Random_Multi(MCBRDV, MCBRDV.4R1, abs_or_rel, order);

!MCBRDV.L5
iap=1;
if(mylhcbeam==1){
inv_MCBRD=1;
klRef_MCBRDV = sign_MCBRDV.4L5.B1*klRef_MCBRDV_abs;
};
if(mylhcbeam>1){
inv_MCBRD=0;
klRef_MCBRDV = sign_MCBRDV.4L5.B2*klRef_MCBRDV_abs;
};
if(mylhcbeam==1){ klRef_MCBRDV = sign_MCBRDV.4L5.B1*klRef_MCBRDV_abs; };
if(mylhcbeam >1){ klRef_MCBRDV = sign_MCBRDV.4L5.B2*klRef_MCBRDV_abs; };
if (print_errors==1){print, text="Errors for MCBRDV.4L5.*";};
select,flag=error,clear;select,flag=error,pattern="^MCBRDV\.4L5.*\.\.r$";
exec new_magnetindividual(MCBRDV,iap);
exec errorgenerate_abs(MCBRDV, inv_MCBRD, 0, klRef_MCBRDV);
exec Efcomp_Random_Multi(MCBRDV, MCBRDV.4L5, abs_or_rel, order);

!MCBRDV.R5
if (ver_hllhc_optics==1.4){ iap=2; }; if (ver_hllhc_optics==1.5){ iap=1; };
if(mylhcbeam==1){
if (ver_hllhc_optics==1.4){ inv_MCBRD=1; }; if (ver_hllhc_optics==1.5){ inv_MCBRD=0; };
klRef_MCBRDV = sign_MCBRDV.4R5.B1*klRef_MCBRDV_abs;
};
if(mylhcbeam>1){
if (ver_hllhc_optics==1.4){ inv_MCBRD=0; }; if (ver_hllhc_optics==1.5){ inv_MCBRD=1; };
klRef_MCBRDV = sign_MCBRDV.4R5.B2*klRef_MCBRDV_abs;
};
if(mylhcbeam==1){ klRef_MCBRDV = sign_MCBRDV.4R5.B1*klRef_MCBRDV_abs; };
if(mylhcbeam >1){ klRef_MCBRDV = sign_MCBRDV.4R5.B2*klRef_MCBRDV_abs; };
if (print_errors==1){print, text="Errors for MCBRDV.4R5.*";};
select,flag=error,clear;select,flag=error,pattern="^MCBRDV\.4R5.*\.\.r$";
exec new_magnetindividual(MCBRDV,iap);
exec errorgenerate_abs(MCBRDV, inv_MCBRD, 0, klRef_MCBRDV);
exec Efcomp_Random_Multi(MCBRDV, MCBRDV.4R5, abs_or_rel, order);



Expand Down
Loading