&ring_ma_init
   lattice_file = "CTF_LAT:bmad_2gevdr_102105.lat"
Name of lattice file
   comment = ""
Comment to be printed at the top of the output file
   write_orbits = .false.
If this is true, then orbit and Twiss info will be written for each seed and each pass. This can produce a lot of output, so it's best to use only with a few seeds at a time.
   key_value1 = 0.
   key_value2 = 0.
The key values have no effect, but are printed with the summary info at the end of the output file. They are used when making plots and you want to know what you were varying. They are usually identitical to some other number in the file, or are set to one of the TARGET flags for template input files.
   alignment_multiplier = 1.
All misalignments below, except for quad strengths, are multiplied by this factor.
   sigma_cutoff = 3.
Limit for normally-distributed random offsets.
! Keys:   sbend=2; quad=3; sextupole=5; wiggler=12
! Params: tilt=2; k1=4; roll=15; x_offset=25; y_offset=26;
!         x_pitch=19, y_pitch=20; s_offset=27; 

! Nominal misalignment...
! Quads
   ma(1)  = 3, "^Q", 25, 150.e-6
   ma(2)  = 3, "^Q", 26, 150.e-6
   ma(3)  = 3, "^Q", 2,  100.e-6
   ma(4)  = 3, "^Q", 4,    4.e-4
! Sextupoles
   ma(5)  = 5, "", 25, 300.e-6
   ma(6)  = 5, "", 26, 300.e-6
   ma(7)  = 5, "", 2,  100.e-6
! Bends
   ma(8)  = 2, "", 25, 150.e-6
   ma(9)  = 2, "", 26, 150.e-6
   ma(10) = 2, "", 15, 100.e-6
! Wigglers
   ma(11) = 12, "", 25, 150.e-6
   ma(12) = 12, "", 26, 150.e-6
   ma(13) = 12, "", 2,  100.e-6
Misalignment parameters are given in the ma array. Each element has four values: the Bmad element key, a regular expression filter, the index of the parameter to offset from the Bmad value array, and the amplitude of the offset.

To receive a given misalignment, and element must match both the key and the filter, unless the filter is "", which matches anything. So in the example, ma(1) matches only regular quads by requiring that they be an element with key 3, and that they start with the letter Q. This does not misalign skew quads which start with the letter S.

   det_abs_res   = 0.
   det_diff_res  = 0.
   det_rot_res   = 0.
Amplitudes of the absolute, differential, and rotation errors for BPMs.
   seed          = -1
Initial seed to use. If it's set to -1, then a random starting seed is used.
   n_iterations    = 200
Number of seeds.
   n_lm_iterations = 10
Number of iterations in the LM minimizer.
!    Detector keys: orbit_x=1, orbit_y=2, eta_x=3, eta_y=4
!                   phi_x=5, phi_y=6, cbar12=7
! Correcter params: k1=4, hkick=21, vkick=22, a1=(-1)
!    Detector spec: {mask}, {quantity to correct}, {weight}
!   Corrector spec: {mask}, {parameter to adjust}, {weight}

    correct(1)%det(1) = "^DET", 2, 1
    correct(1)%cor(1) = "^V(KICK|[0-9])", 22, 1.
    correct(2)%det(1) = "^DET", 7, 100
    correct(2)%cor(1) = "^SK",  4, 1

!   If we want to artifically ad skew quads to the
!   sextupoles:
!   correct(1)%cor(1) = "^SEX.*(E|W)",  -1, 1

/
Correction specification. Each pass is defined by its own element in the correct array. Each correct element can have one or more det elements (which define which detectors to use and what they measure), and one or more cor elements (which define which correctors to use and what they vary).

Each det and cor has three parts: a regular expression mask, a parameter (to measure or vary), and a weight. The example first corrects the vertical orbit with vertical kicks, then corrects the coupling with skew quads.

If you want to add a skew quad component to a different element, you can use the parameter -1.