Excel spreadsheet for the FEL settings is here.

  • Prepare the hutch for the shift
    • no gate valve in the trajectory!!!
    • check that all devices in the beamline are in OUT position
    • insert yag3
    • make sure all GREEN from 'Machine Protection' list
    • check 'MR1L3' mirror OUT (-6000) position (after XCS)
  • 15 min before the shift begins, call ACR at x2151 to check:
    • photon energy : 9 keV
    • nominal pulse energy
    • nominal pulse duration
    • beam mode : SASE
    • multiplexing
    • e-loss scan needed?
  •  when you are beam owner (confirm with ACR), you can start the following:
    • insert YAG0 ([1] op.yag0.insert())
    • confirm FEL beam is on scale "0"
    • confirm the shape of the beam is round
    • insert YAG1 ([1] op.yag1.insert())
    • insert MR1L4 : check coating for photon energy
    • confirm on yag0 that the beam is properly deflected on the scale "8 cm"
    • remove YAG0
    • remove all Si attenuators ([1] op.SiT(1))
    • open the pulse picker ([1] op.pulse_picker("open"))
    • fine tune the pitch of MR1L4 to center the beam on YAG1
    • insert YAG3 ([1] op.yag3.insert())
    • remove YAG1
    • fine tune the pitch of MR1L4 to center the beam on YAG3
  • once they are done tunning
    • 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)
      • look at scope 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!

      • 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 scope channel 2 voltage/div to the maximum (1V/div) to be able to observe the shot on the diode and monitor the timing
      • set the event code for the TCC diode to 182 so it triggers on LPL shot (open the EVR SLAC USR 01, and look for the second line of EVR which says 'TCC diode trigger')
    • Laser
      • meclas.LPL.psmenu() to choose puse shape : 8ns80J, L3
      • meclas.LPL.SHG_opt() 
      • 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

1 Comment

  1. Issues to solve:

    • Lightpath does not open in LFE home
    • searching at the beginning of the shift might not be safely doable
      • push during the experiment feedback to implement single search capability with laser barrier
    • create a on shift roster for the instrument like ACR does, but in grafana, maybe linked to smartsheet
    • improve the laser grafan to display more info (like pulse shape)
    • add insert/remove reference laser in python and in the rollingstatus
    • transform op.rs() into a grafana page
    • create a unified refresh pulse shape commands including moving target