Page History
...
- Giacomo is doing spatial, Ryan is spectral (roughly speaking)
- both are interferometric, so the background we had in LCLS1 is mostly gone, but still have some background from stray light, for example
- Formula that should work for both: (S-B)/(S(goose)-B). (note: division is similar to normalized subtraction: (S-G)/G = (S/G)-1
- B is different for S and S(goose) (background at time goose is taken)
- Giacomo thinks we won't need the Goose subtraction/division for 80% of the experiments
- Giacomo will ensure that we run in a regime where (S(goose)-B) is not close to zero
- sxrx34917 (being analyzed by Giacomo and Stefan Droste). this data is "zoomed out" in the time dimension, but will be more zoomed-in for LCLS-II.
- S(goose) comes from moving the laser out of the time window, and is done "offline" according to Giacomo every few hours
- Giacomo wants a fit to the minimum of dI/dt (derivative of I-B) to a parabola
- Giacomo thinks that the feedback will be slower (millisecond level). Contradicts what we learned before where Joe Frisch was going to do fpga stuff with the laser-locking system
- algorithm should be same for spatial/spectral
- Giacomo wants a way to look at S-Goose when the timing edge is out of the window. Tells them if it's on the "right" or the "left".
- Questions for Giacomo:
- the edge looks big in sxrx34917, do we definitely need to divide? Answer: no, as long as we can set an ROI. i.e. don't need
- does the goose contain background from stray light, for example? Answer: goose is the pump laser delayed off the end of the camera image
- is B just pedestal, or does B include laser-pump? If it's laser-pump, do we need to use IIR to compute B? Answer: B is remaining background (same as LCLS-I) not eliminated by interferometric approach.
- do we use the same B in the numerator/denominator? Answer: no
Conversation with Ben Reese (2/13/20)
feb fpga version on feb. 13 2020:
ClinkFebPgp2b_1ch built Tue 16 Jul 2019 10:39:15 AM PDT by ruckman on rdsrv222
_TimeToolKcu1500Root.py has register settings
https://github.com/slaclab/lcls2-timetool/blob/master/software/config/config_20200207_152212.yml
ConfigureXpmMiniSim
TimingRx->TimingPhyMonitor->UseMiniTpg (selects minitpg)
(check clock freq's under TimingPhyMonitor)
switching to real timing need an xpm txreset: see this as RxClkFreq not being the same at TxClkFreq
pipelinedepthfids=90
config_l0_select_ratesel=0x7
7 = 1Hz
5 or 4 is 100Hz
confg_l0_select_enabled=1 starts triggers
TriggerEventManager->TriggerEventBuffer[0]
- has l0 counts
- has xpmpause/xpmoverflow (too much data). xpmoverflow is a sign backpressure not working well enough: reduce pausethreshold. xpmoverflow is latched version of fifooverflow. permanently latch deadtime. needs a clearreadout to reset.
- missing clearreadout going to front end board
- pausethreshold sets when to send deadtime to XPM
XpmMessageCount increments @1MHz
clinkfeb[0]->->clinktop->trigcontrol[0] has a trigger rate
TriggerEventManager->TriggerEventBuffer[0]->masterenable enables triggers going to frontend
TriggerEventManager->TriggerEventBuffer[0]->eventbufferenable enables the fifo that receives the timing frames (and sends the\
m to the batcher eb)
mostly masterenable/eventbufferenable should go together?
eventbufferenable first, masterenable second
xpmmini is only partition(rog) 0.
to switch to realxpm:
- Kcu1500Hsio->TimingRx->ConfigLclsTimingV2
- toggle UseMiniTpg to false
watch kcu1500hsio->timingrx->timingframerx->RxDown (resets to 0 on ConfigLclsTimingV2, latches when link drops)
todo:
- clear readout (workaround TimeToolKcu1500->Application->AppLane[0]->EventBuilder->Blowoff)
- trigger 10us feedback
- edge calculation