From CASA Wiki
Jump to: navigation, search

This is a wiki page for references, information, and procedures about Feb 27-Mar 4 2015 work to transversely match CEBAF Twiss parameters at the injector (~0L07), 1E03, and xE01 locations.

example PDF link for Audrey


The philosophy was developed at a Feb 28 15:00 meeting in MCC, including Arne Freyberger, Mike Spata, Yves Roblin, Mike Tiefenback, Jay Benesch, Todd Satogata, and Operations:

  • use zigzag harp scans to identify quadrupole ranges for good optics/emittance measurements at each harp.
  • modify qsUtility configuration files in the golden area and acquire optics/emittance measurements with traditional qsUtility scans.
  • use qsUtility to analyze the scans and get measured horizontal/vertical Twiss parameters at the start of the respective scan quads.
  • back-propagate measured Twiss parameters to the start of the upstream xS04 quadrupole.
  • use the qsUtility betatron match module (which uses ced2elegant and elegant) to calculate the match, with match point at the harp, using xS04-xS10 quadrupoles for matching to distribute matching effort.
  • evaluate and install the match.
  • re-scan the harp and compare beam sizes to sqrt(emit_meas * beta_design)

Prerequisites at Each Measurement Location

  • 4-8 uA tune beam to first dumplette downstream of match point.
  • quad centering of BPM/quadrupole pairs for qsUtility scan quadrupoles.
  • clean steering in region of measurement and downstream to maximize aperture, minimize beam losses.
  • clean ORFP dispersion in region of measurement and correction. In particular, dispersion in both planes must be consistent with zero at scan quadrupoles and harp.


  • confirm harp is working and set harp parameters
  • perform zigzag measurements to establish scan quadrupoles and ranges
  • edit qsUtility configuration files if necessary
    • configuration files are in /a/opsdata/fiefdata/fileio/q/qsUtility/config/F3-0/GoldenTemplates
  • perform qsUtility scans
  • evaluate qsUtility data to get measured Twiss parameters and emittances
  • back-propagate measured Twiss parameters to start of upstream xS04 quadrupole with elegant
    • A script to do this is in ~satogata/backpropagate.pl
  • use qsUtility betatron match module to calculate xS04-xS10 match
    • configuration files are in /a/opsdata/fiefdata/fileio/q/qsUtility/match_config/F3-0
  • evaluate and install match
  • re-scan harp and evaluate match effectiveness
  • After match is installed, one has to set the recombiner quads back to design in order to proceed to the next arc.
  • perform confirmation fopt

Data and References

  • Spring 2015 Optics Spreadsheet (Google docs)
  • 0L injector match (E=107.2 MeV, BDL=536.365*K1 for L=0.15m magnets)
  • 1E03 match (E=1057.2 MeV, BDL=5289.659*K1 for L=0.15m magnets, be careful MQN1S04 is L=0.30m, others are L=0.15m):
    • 1E03 H: zigzags -> MQB1E02 horizontal scan centered near 3100G, range +/-700G (BDL 0.586+/-0.133)
    • 1E03 V: zigzags -> MQB1E01 vertical scan centered near -2900G, range +/-1200G (BDL -0.548+/-0.227)
    • Analysis and match calculation: e3322630
    • Installed and confirmed match with fopt: e3322693 e3322695
  • 2E01 match (E=2007.2 MeV, BDL=20085.89*K1 for L=0.30m magnets):
    • 2E01 H: zigzags zigzags-> MQC2S10 horizontal scan centered near 4600G, range +/-1000G (BDL 0.229+/-0.05)
    • 2E01 V: No zigzag solution found. Todd explored space with qsUtilityConfig and found reasonable scan of MQC2S08 K=-0.6 to 0.6 with MQC2S09 K=-0.1 m^-2 and MQC2S10 K=0.2 m^-2 (image)
    • In order to test that with the zigzag do the following (yves):
# caput MQC2S09.BDL -2009
# caput MQC2S10.BDL 4017
# scan_script.csh run IHA2E01 MQC2S08 Y 12051.000 -12051.000 9

then restore the 2S09 and 2S10 quads .

Useful Tools

backpropagate.pl: Todd has written a tool to backpropagate Twiss parameters from the front of a given quadrupole (where they were measured using harp scans) to the front of an earlier quadrupole (which is the start of the matching section, almost always the nS04 quadrupole here). There is no coupling, so you can do just a single plane by just using easy numbers (e.g. beta=1 and alpha=0) for the plane you are not interested in. Usage us

 # ~satogata/backpropagate/backpropagate.pl <measQuad> <backQuad> <betax> <alphax> <betay> <alphay>

It will generate a back-propagation elegant lattice and elegant file in your current directory, and will produce errors if you try to give it a quadrupole name that does not exist. An example of backpropagation command line and output for the 2E region is here.

setquadstomachine: During the backpropagation or the matching calculation, if one wants to take into account quadrupoles that are off design, one can use the script ~roblin/tools/setquadstomachine which together with a snap file of the region in question produces a sdds file suitable for inclusion in the ELEGANT command file via load_parameters. usage is

 # ~roblin/tools/setquadstomachine <commandfile> <snapfile>

and it will make QUADparams.sdds ready for load_parameters. Read the comments in the script for further details (or page Yves).

analyzeZigZagRange.pl: Todd has written a tool to help analyze zigzag scans for quad scan ranges. Usage is, for example,

# ~satogata/tools/analyzeZigZagRange.pl IHA1E03.SA.02282015_00:28:42

This tool prints out the quadrupole that is being scanned, the list of scans and corresponding BDL and K values for that quad, and uses gnuplot to plot the zigzag scan data. One can then count the peaks and look up the corresponding BDL and K values for use in qsUtility configuration files.

zigzag2qsUtility: Dennis has a tool that converts zigzag scans to input files for qsUtility, though at present the qsUtility file that is generated needs to have the quadrupole K values added manually. An example for IHA3E01 is

# zigzag2qsUtility -scan_file=IHA3E01.SA.03032015_10:48:30 -show_plots -exclusion_zone=0.15 -plane=X -lattice_name=test -momentum=2200 -start_element=MQA3S10 -pass=2