Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Practice Session Nov. 8, 2023

With rix scientists.  Executive Executive summary of starting plan:  we we will run continuous sequences for all running (free running and scans).  At the start all the andors will run at the same rate at either 1,10,100Hz in some appropriate combination of FVB,crop,full-frame mode.

...

  • rix specifies ~3 modes for both andors running at same rate (1,10,100100Hz) for  the 3 andor modes.  kristjan will send that matt.
  • how do we say all-laser-on or all laser off in rixgeneratory.py?
  • longer term: there will be an additional ~7 patterns for the two three andors running at two different rates
  • how do we detect that mps problemproblems? (will kill some shots).  But Matt thinks it doesn't break the machine's TPG sequencing pattern
  • need to fix pva gateway: see timeouts for seqprogram
  • how do we say all-laser-on or all laser off in rixgeneratory.py?
  • work on psplot_live robustness (e.g. not leaving dangling processes)

andors dir/norm will always be have the same rate/exposure
third vls andor is what may cause us to want 3 2 different rates

archon will be treated like an andor for rate/exposure

...

rixgeneratory assumes the first one is the slow camera.  times are in seconds.  bunch_period in buckets.  laser_onoff is counted in terms of the slow camera images (the first on in the list).  This shows generating one event code, but lists can be given to generating different andor trigger rates:

python ~rixopr/git/lcls2_102323/psdaq/psdaq/seq/rixgeneratory.py  --periods 0.1 --readout_time 0.005 --bunch_period 28 --laser_onoff 2 2

(ps-4.6.1) rix-daq:scripts> python ~rixopr/git/lcls2_102323/psdaq/psdaq/seq/rixgeneratory.py  --periods 0.1 --readout_time 0.005 --bunch_period 28 --laser_onoff 2 2
Generating one repeating bunch train for one camera
d {'period': 3250, 'readout': 163}
** Wrote beam.py **
factors of 3250 : [3250]
** Wrote laser.py **
# period 91000  args.period [91000]
** Wrote codes.py **
(ps-4.6.1) rix-daq:scripts> 

...

To view event code patterns in an interactive plot: seqplot --seq 1:beam.py 2:codes.py 3:laser.py --time 1.0took rixc00121 run 49 with 31kHz piranha/timing and 10Hz dir/norm andor.
run 50 is a scan with same 

Program the sequences like this.  Normally the laser.py eventcodes would be programmed in XPM:0 and the beam.py eventcodes would be programmed by ACR into their TPG (timing pattern generator):

seqprogram --seq 1:beam.py 2:codes.py 3:laser.py --pv DAQ:NEH:XPM:3 --start

took rixc00121 run 49 with 31kHz piranha/timing and 10Hz dir/norm andor.
run 50 is a scan with same 

To view status of the 4 sequence engines (4 eventcodes per engine) execute "xpmpva DAQ:NEH:XPM:3" and select the "Groups/Eventcodes" tab.  The "Master" column is important: it says which XPM controls which event code (in units of an "engine": 4 event codes).  The "Ena" and "Dis" buttons (for the appropriate XPM!) can be used to change which XPM controls a particular engine.

Image Added

Kristjan's tables of andor rates/readout times:

View file
nameAndor_burst_modes_8Nov23.pdf
height250

Practice Session April 3, 2024

Commands for 66Hz Andor running with 8kHz beam:

Code Block
8kHz beam + one camera (66Hz): rixgenerator --bunch_period 112 --periods 0.015385 --readout_time 0.005
8kHz beam + two cameras(1Hz + 66Hz): rixgenerator --bunch_period 112 --periods 1 0.015385