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.
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)
- 0L07 H: zigzags -> MQD0L06 horizontal scan centered near 1800G, range +/-270G (BDL 3.35+/-0.5)
- 0L08 V: zigzags -> MQB0L07 vertical scan centered near -3600G, range +/-500G (BDL -6.71+/-1.0)
- Match calculation results and loading: e3322599 using C-laser, IHA0L07_2015-02-28_23:26 and IHA0L07_2015-03-01_00:01 datasets.
- 2015-03-10 C laser after injector work, before 750 MHz separator work: horizontal analysis, horizontal analysis 2, vertical analysis, NL-inj match, horizontal analysis after match, and vertical analysis after match.
- 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):
- 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 .
- 3E01 match (E=2957.2 MeV, BDL=29592.47*K1 for L=0.30m magnets):
- 3E01 H: broad scan IHA3E01_2015-02-23_22:27.sdds of MQA3S10 with MQB3E01=-0.7991 shows minimum near K1=1.1 m^-2, decent range K1=1.6 to 0.6. Put into IHA3E01-x-GOLD.xml.
- 3E01 V: broad scan IHA3E01_2015-02-23_22:27.sdds of MQA3S10 with MQB3E01=-0.7991 shows minimum near K1=1.35 m^-2, decent range K1=2.1 to 0.65. Put into IHA3E01-y-GOLD.xml.
- 3E01 horizontal zigzag analysis and vertical zigzag analysis and match calculation
- 3E01 fopt after 3E match and viewer walk, all looking good
- 4E01 match (E=3907.2 MeV, BDL=39099.05*K1 for L=0.30m magnets):
- The 02242015 4E01 scans indicate a need for vertical quad centering at MQA4S09. (done Mar 3 2015 13:30)
- 4E01 H: broad scan IHA4E01_2015-02-24_00:38.sdds of MQA4S09 with MQA4S10=0.2538 and MQB4E01=-0.5713 shows minimum near K1=0.0 m^-2, decent range K1=0.5 to -0.5. Profiles look ratty.
- 4E01 V: broad scan IHA4E01_2015-02-24_00:38.sdds of MQA4S09 with MQA4S10=0.2538 and MQB4E01=-0.5713 shows minimum near K1=-0.45 m^-2, decent range K1=0.9 to -1.8.
- 4E01 horizontal zigzag analysis and vertical zigzag analysis and corrected match calculation
- 4E01 fopt after 4E match and viewer walk, all looking good
- 5E01 match (E=4857.2 MeV, BDL=48605.63*K1 for L=0.30m magnets):
- 6E01 match (E=5807.2 MeV, BDL=58112.20*K1 for L=0.30m magnets):
- 6E01 horizontal zigzag analysis and vertical zigzag analysis and match download
- 6E01 fopt after 6E match and viewer walk.
- fopt was sufficiently problematic (particularly in vertical), and data quality was sufficiently concerning (particularly in horizontal), that Yves and Todd decided to re-do the 6E01 zigzag measurements and match. 6S04-10 quads were restored to design before additional measurements.
- 6E01 horizontal zigzag analysis and vertical zigzag analysis and match download (removing quads S07/8/9 from fit to improve convergence).
- 6E01 fopt after 6E match and restoring 6A15-19 quads to design.
- 7E01 has no harp (it was relocated to 1E03 several runs ago for dogleg edge focusing measurements)
- 8E01 match (E=7707.2 MeV, BDL=77125.36*K1 for L=0.30m magnets):
- 8E01 harp has encoder problem: e3323074 but it could be worked around with manual intervention.
- 8E01 horizontal zigzag analysis after manual intervention. Vertical data had a bad range, then we were down for a 1L18 vacuum valve problem.
- 8E01 horizontal zigzag analysis and vertical zigzag analysis and propagation and match download
- 8E01 fopt after 8E01 match, 8R restored to design
- 9E01 match (E=8657.2 MeV, BDL=86631.93*K1 for L=0.30m magnets):
- AE01 match (E=9607.2 MeV, BDL=96138.51*K1 for L=0.30m magnets):
- 5C00 match (E=10557.2 MeV, BDL=105645.09*K1 for L=0.30m magnets):
- 1C match (E=9607.2 MeV, fifth pass, BDL=96138.51*K1 for L=0.30m magnets):
- data taken and match performed horizontal and vertical data analysis. Ranges had to be adjusted. Ideal ranges seems to be
- 0.25 <K1<0.50 for MQNAT06 taking the X data.
- -0.7 <K1<-1.2 for MQK1C04 taking the Y data.
- 2C match (E=2007.2 MeV, first pass, BDL=20085.89*K1 for L=0.30m magnets):
- rayTrace data: 3322485 H 3322488 H 3322490 V
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