Is there an issue? Escalation Path
- Prepare the hutch for the shift (done 1h before the actual start time)
- open the grafana dashboards located here (requires UNIX login/pwd) to access beam owner, energies and coatings
- no gate valve in the trajectory
- check in the vacuum windows that no gate valves from the NEH to the MEC hutch are IN (red)
- it is ok that the DG2 STP 1 is IN
- it is ok that the GL window is IN in MEC
open the rolling status and confirm that no devices upstream the hutch obstructs the beam
op.rs()
insert yag3 to provide a photon terminator before TCC prior to send any beam in the hutch
op.yag3.insert()
- confirm that the chamber is loaded with targets and being pumped down to be ready at the start of the shift
- search the hutch but leave SH6 IN (you are not the beam owner yet)
- 15 min before the shift begins, call ACR at x2151 to check
- look at current ACR beam operator on shift here
- confirm photon energy
- confirm pulse energy
- confirm pulse duration
- confirm beam mode
- confirm multiplexing mode
- ask for an e-loss scan
- transition to beam ownership
- ACR calls you to confirm they are tweaking the beam for you
- confirm with ACR that MR1L0 and MR2L0 have the right coating following this page
- if moving the mirror yourself, then open MR1L0 and MR2L0 HOMS GUI located in the mechome > LCLS tab > HOMS overview button
- set the coatings to the appropriate material as a function fo the photon energy as per the page from above
- getting ready to accept the beam:
- close DG2 STP 1
- make sure the reference laser is out (check in the rolling status)
- confirm the target chamber is pumped down
- insert the Be window IN the beamline
- search H6 if not already searched
- remove SH6 OUT of the beamline
- beamline alignment
- ACR calls you to confirm beam is ready for alignment
force close the pulse picker to make sure it does not let the beam propagate to the hutch yet
op.pp.close()
- check MR1L3 mirror OUT (-6000) position (XCS mirror)
- check the XPP slits (slit1) are open (20mm, 20 mm) in the rolling status
- open the mirror settings located here
- confirm bending values for MR1L0 and MR2L0 (advanced)
insert YAG0
op.yag0.insert()
- confirm FEL beam is on the cross for the OUT position (undeflected beam)
- confirm the shape of the beam is round (advanced)
- set the MR1L4 coating as per this page
- insert MR1L4
- confirm FEL beam is on the cross for the IN position (deflected beam)
insert YAG1
op.yag1.insert()
remove YAG0
op.yag0.remove()
remove all Si attenuators (send full energy beam)
op.SiT(1)
open the pulse picker
op.pp.open()
- fine tune the pitch of MR1L4 to center the beam on YAG1
insert YAG3
op.yag3.insert()
- remove hutch Be CRL (Mechome > Beamline > Beamline CRL(hutch))
open slit 2
op.slit2.move(5)
remove YAG1
op.yag1.remove()
- fine tune the pitch of MR1L4 to center the beam on YAG3
- to adjust the height using the YAG3 red cross centered at (265, 282), call ACR, and for a 200 mic motion on the yag, ask them to move 200/4 mic up or down.
- you could set SiT(0.2) to not saturate the image
- you could set 10 images averaged to get a cleaner picture
- log the mirror settings in our table here
- confirm photon energy and lens stack to use and log the change of stack in the paper document for Be CRL log
- insert the Be lenses with these parameters
- set 1: 9 keV, 9 x 300 mic, f = 3.96 m, Y = 2.8816 mm
- set 2: 17 keV, 10 x 100 mic, f = 4.4243 m, Y = 29.52 mm
- set 3: 22 keV, 9 x 50 mic, f = 3.904 m, Y = ?
- once they are done tuning
- timing check
- turn off laser triggers
go to the titanium foil:
op.ti()
- move hutch CRL out
set slit4 to 400 mic:
op.slit4.move(0.4)
send full beam on titanium:
op.SiT(1)
set the EVR to 10 Hz settings:
op.lpl_check_timing(rate='10Hz')
- set vertical division to 10 mV/div on oscilloscope Lecroy 1
- once you see the signal of the X-rays, set 100 sweep to average the signal
- save it on memory 2
- set back sweeps to 1 on channel 2
- move target about 0.8-1 mm negative to target the Al frame
- turn on the LPL trigger on, event code 43 for 10Hz
- once you see the signal of the LPL, set 100 sweep to average the signal
move timing to overlap the LPL with the memory trace 2 using the python command
op.nstiming.mvr(2e-9)
to move the LPL 2 ns later than the FEL, but this is just an example! Move it (or not) by the necessary amount to overlap best the rising edges of the beams.
save the current value as our t0, using hte python command
op.nstiming.save_t0()
- once timed, set 100 sweep to average the signal and save the trace on memory 3
- take a screenshot and put it in the elog
- move back the hutch Be CRL
- set the slits back to data-taking move size
set the EVR to single shot settings:
op.lpl_check_timing(rate='single')
- set the scope Lecroy 1 channel 2 voltage/div to the maximum (1V/div) to be able to observe the shot on the diode and monitor the timing
- laser
select the laser pulse shape
meclas.LPL.psmenu() L3
to choose pulse shape : 8ns flat top, max 80J
start by optimizing the conversion efficiency
meclas.LPL.SHG_opt()
finish by optimizing the pulse shape
meclas.LPL.psefc10Hz(numIterQ=150)
- detector
- confirm LPL event code is either 182 or 43 (precaution)
in python, set event sequencer to 120 Hz:
op.x.start_seq(120)
- aadd the detectors you want a pedestal for, remove any VISAR or slow cameras and allocate the DAQ
in a random DAQ terminal, execute
takepeds
and follow instructions
after takepeds is done, execute
makepeds -r xxx -u yourusername -q milano
with xxx being the run number and yourusername being the user name of the person who extract the pedestal, then follow instructions
- shutdown the DAQ (don't need to 'restartdaq'), reallocate and confirm the pedestal has been applied
- alight Ge spectrometer
- check 4 Quads with calibrant sample (CeO2) for q range
- timing check
1 Comment
Eric M Galtier
For the JJ slits, we need to be able to 0 them, otherwise the width readback is not from the center but is an absolute value, which we don't need. At the moment, I have hardcoded in our script the 0 width, to provide an idea of the width, and display a monitor value on the rollingstatus.