Versions Compared

Key

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

...

TaskApplication/areaPerson(s) ResponsibleStatusPriorityNotesGitHub/CATER/etc
  •  Lucretia Bmad model server conversion
    •  python PVA service
    •  matlab interface class GUI conversion?
GlobalCesar, Perez, BuschmannS2E group + Buschmann + moreWIP1

Lattice files for Brad already exist. Current high-level goals are:

  • Establish agreement with Lucretia (S2E et al)
  • Implement interface to live machine parameters (Buschmann)
  • Add Bmad model to python PVA server
  • (TBD) Convert GUIs
    • Depends on tao→matlab compatibility
    • alternative: PyTao would let us rejoin the LCLS shared application ecosystem in some areas (emittance GUI, wires)



  •  Lucretia model server conversion
    •  python PVA service
    •  matlab interface class
    •  GUI conversion
GlobalCesar, Perez, BuschmannWIP1
  • 1/12/24: demo PVA server works, writing live/design Rs and twiss params, but matlab pvaGet not working yet. next step: document lucretia dependencies across matlabTNG to determine what the matlab interface needs to do
  • 1/23/24: matlab PVA access works with a python workaround (good enough for now, likely need a better long-term solution) Cesar prepped draft interface design document. reviewed high-priority GUI model uses. 
  • 2/8/24: PVA server is running but not deployed to prod yet. Drafting implementation of matlab class F2_ModelReceiver - once the lucretia functions GetRmats, RmatAtoB and GetTwiss are replicated we can proceed to test GUIs. Need to check w/ controls deputes to get some watcher PVs set up
  • 3/12/24: draft version of receiver on GitHub, testing for correctness and use by GUI controllers
  • 4/9/24: F2_ModelReceiver 0.1 version is ready for deployment, unfortunately the python models service has some errors in it, but the mechanics of the interface are mostly stable
  • 4/18/24: live model is currently starting from the gun, which produces very
  • 1/12/24: demo PVA server works, writing live/design Rs and twiss params, but matlab pvaGet not working yet. next step: document lucretia dependencies across matlabTNG to determine what the matlab interface needs to do
  • 1/23/24: matlab PVA access works with a python workaround (good enough for now, likely need a better long-term solution) Cesar prepped draft interface design document. reviewed high-priority GUI model uses. 
  • 2/8/24: PVA server is running but not deployed to prod yet. Drafting implementation of matlab class F2_ModelReceiver - once the lucretia functions GetRmats, RmatAtoB and GetTwiss are replicated we can proceed to test GUIs. Need to check w/ controls deputes to get some watcher PVs set up
  • 3/12/24: draft version of receiver on GitHub, testing for correctness and use by GUI controllers
  • 4/9/24: F2_ModelReceiver 0.1 version is ready for deployment, unfortunately the python models service has some errors in it, but the mechanics of the interface are mostly stable
  • 4/18/24: live model is currently starting from the gun, which produces very unrealistic twiss parameters. Need to start sim downstream at some treaty point
    • live model GUI gets marginally more realistic outputs starting from L0BFBEG, one option...
    • more realistic: take the latest PR10571 emittance measurement, back propagate to initial twiss at L0AFBEG – there are some kind of hooks in place for this already. but I'm not 100% on if they ever worked...
https://github.com/slaclab/facet-matlabTNG/pull/3
  •  LEM server + watcher conversion
LEMBuschmann
2

Waiting on model server deployment

  • 3/13/24: current plan is to deploy a second PVA server that writes LEM EREF/EACT/BDES etc to an NTTTable, then the ModelReceiver can be updated in-kind to provide those quantities
    • python PVA will make it straightforward to build a LEM CUDa LEM CUD



  •  Add quad scan emittance measurement function (for L0)
Optics MatchingPerez
3last step needed to migrate off of the LCLS-side emittance application. seems to be already partially implemented, so the challenge here is partially archeological in nature.
  •  RTBSA for FACET-II
    •  python class for streaming BSA data
    •  python class for real-time BSA time series & correlation plots
    •  GUI
BSABuschmannWIP2
  • 07/05/2024: Developed proof-of-concept GUI using lcls BSA PVs - works for us as well since our BSA encodes pulse IDs the same way. Corr plot with fitting, time series and FFT are all working.
    • still need to optimize syncing for network performance
    • likely can replace the current RTBSA GUI for lcls as well

  •  New Phase scan GUI
    •  L0 phase scan automation
Phase ScansBuschmannDONE2

rudimentary functionality, needs with-beam test

update 05/06/24: tested with beam L0, L1 and L2-3 are working, deployment soon...

https://github.com/slaclab/facet-matlabTNG/pull/4
  •  Add quad scan emittance measurement function (for L0)
Optics MatchingPerez3

.

https://github.com/slaclab/facet-matlabTNG/pull/4last step needed to migrate off of the LCLS-side emittance application. seems to be already partially implemented, so the challenge here is partially archeological in nature.







Maintenance & Technical Debt

IssueApplication/areaPerson(s) ResponsibleStatusPriorityNotesGitHub/CATER/etc
  •  BC20 energy feedback no-op
FeedbacksBuschmannWIP1MD plan for debugging is ready to go166749for debugging is ready to go166749
  •  Matlab server revival
GlobalBuschmannWIP2

managed to launch server, but haven't figured out how to launch GUIs yet

update 4/24: done. added a button to launch from the ops dashboard – only a few OPIs supported at the moment, but adding support from new machines isn't hard
  •  Save previous magnet settings after loading new emittance msmt
OpticsBuschmann
2
166714
  •  Add logbook button for LEM magnet settings
LEMBuschmann
2
166618
  •  Write waist position PV after trim, not after selection
S20 ConfigBuschmannDone3
  •  Sextupole GUI "fix offsets" button does nothing
SextupoleBuschmann3

ancient CATER - maybe not an issue anymore? needs discussion

update 06/2024: real issue, fixed now!

117540
  • Schottky GUI updates
Schottky ScanLoneyWIP3Option to use laser timing, fix plotting issues, various other bugs158479 (ish)
  •  Matlab server revival
GlobalBuschmannWIP2

managed to launch server, but haven't figured out how to launch GUIs yet

update 4/24: done. added a button to launch from the ops dashboard – only a few OPIs supported at the moment, but adding support from new machines isn't hard


  •  Write waist position PV after trim, not after selection
S20 Config
  •  Change default range of Schottky Scan GUI
Schottky ScanPerezDone3changed to  [ -50 10 ]
  •  Feedbacks GUI has a typo in DL10 PV
FeedbacksBuschmannDone3trivial fix157790
  •  fix FC01 toggle on Schottky GUI
Schottky ScanLoney3(should be) trivial fix, also change default range and add gun offset167704
  •  Schottky GUI updates
Schottky ScanLoneyWIP3Option to use laser timing, fix plotting issues, various other bugs158479 (ish)

Minor Upgrades & Projects



  •  Sextupole GUI "fix offsets" button does nothing
SextupoleBuschmann
3

ancient CATER - maybe not an issue anymore? needs discussion

update 06/2024: real issue, fixed now!

117540
  •  Change default range of Schottky Scan GUI
Schottky ScanPerezDone3changed to  [ -50 10 ]
  •  Feedbacks GUI has a typo in DL10 PV
FeedbacksBuschmannDone3trivial fix157790
  •  fix FC01 toggle on Schottky GUI
Schottky ScanLoney
3(should be) trivial fix, also change default range and add gun offset167704







Minor Upgrades & Projects

IssueApplication/areaPerson(s) ResponsibleStatusPriorityNotesGitHub/CATER/etc
  •  LAME GUI scan automation
LAMEParkerWIP3
IssueApplication/areaPerson(s) ResponsibleStatusPriorityNotesGitHub/CATER/etc
  •  Rebrand EPICS with fancy new orange
GlobalBuschmanndone3
  •  LAME GUI scan automation
LAMEParkerWIP3
  •  CUD reference image/orbits
CUDsBuschmann3update 2/28/24: infrastructure exists to set new references remotely and update CUDs remotely, but the callbacks for each type of reference data are not complete – i.e. need to save DTOTR2 to a PNG, so CUDs can display, or save BPM data to a .mat etc etc

  •  Full lists of PVs used in HLAs accessible from each help menu
GlobalPerezWIP3F2_Feedbacks does this already with a hardcoded list, something similar could be done in other GUIs than have a lot of anonymous matlab PVs – ideally this could be automated by parsing the GUIs internal list of PVs
  •  Add Logbook feature to BSA GUI
BSAPerezDone2
  •  Add wire scan timestamps + skew + kurtosis to plot/logbook
Wire/Multi-WireBuschmann (+intrepid sidekick?)Done1

Both wire GUIs use the F2_WirescanApp object – save fit data/timestamps etc there, then GUIs can log & display that info as needed

  • update 3/5/2024: got the skew/kurt calculation implemented and have GUI frontends updated in-kind. still need to do some correctness checks and add timestamps
of PVs
  •  Implement real-time rms energy spread PV with SYAG stats

Buschmann/ParkerWIP2Camera is serving stats. Just need a way to measure a conversion factor of MeV/pixel, then write both the calibration and the sigmaE to matlab PVC
  •  update 2/28/24: need to better understand what AD plugin stats actually calculate, the quantity I thought was the Xrms is not
  • simpler solution: measure the MeV/mm calibration and make an MeV axis so the sigE can be eyeballed

  •  Create tool to display corrector strength relative to beam energy vs Z.

KalsiWIP1

  •  python machine state summary script

Buschmann
3I'm imagining a script that gets 10571 + 10711 + SYAG + DTOTR2 images, and logbooks the most recent set of emittance/S20 measurements
  •  Linac bump maker

LoneyWIP1
  • simple version: matlab script that takes a BPM and an offset/angle as arguments
  • fancier version: GUI where one can select a BPM, preview corrector settings and undo

  •  convert wirescan plot Y axis to counts instead of charge
wirescansBuschmann
3

  •  IPWS1 Auto wire finder

LoneyWIP3

  •  Change default screen to 711 for injector TCAV measurements 
TCAV GUI




  •  Rebrand EPICS with fancy new orange
GlobalBuschmanndone3nice
  •  CUD reference image/orbits
CUDsBuschmann
3update 2/28/24: infrastructure exists to set new references remotely and update CUDs remotely, but the callbacks for each type of reference data are not complete – i.e. need to save DTOTR2 to a PNG, so CUDs can display, or save BPM data to a .mat etc etc
  •  Add Logbook feature to BSA GUI
BSAPerezDone2

  •  Add wire scan timestamps + skew + kurtosis to plot/logbook
Wire/Multi-WireBuschmann (+intrepid sidekick?)Done1

Both wire GUIs use the F2_WirescanApp object – save fit data/timestamps etc there, then GUIs can log & display that info as needed

  • update 3/5/2024: got the skew/kurt calculation implemented and have GUI frontends updated in-kind. still need to do some correctness checks and add timestamps

  •  FB CUD running flag (fix or remove)
F2 CUDsBuschmann
3

update 4/9/24: working on updates to this display

5/24: done, v2 released

  •  Implement real-time rms energy spread PV with SYAG stats
Buschmann/ParkerWIP2Camera is serving stats. Just need a way to measure a conversion factor of MeV/pixel, then write both the calibration and the sigmaE to matlab PVC
  •  update 2/28/24: need to better understand what AD plugin stats actually calculate, the quantity I thought was the Xrms is not
  • simpler solution: measure the MeV/mm calibration and make an MeV axis so the sigE can be eyeballed
  •  Create tool to display corrector strength relative to beam energy vs Z.
KalsiWIP1
  •  FB CUD running flag (fix or remove)
F2 CUDsBuschmann3

update 4/9/24: working on updates to this display

5/24: done, v2 released

  •  python machine state summary script
Buschmann3I'm imagining a script that gets 10571 + 10711 + SYAG + DTOTR2 images, and logbooks the most recent set of emittance/S20 measurements
  •  Linac bump maker
LoneyWIP1
  • simple version: matlab script that takes a BPM and an offset/angle as arguments
  • fancier version: GUI where one can select a BPM, preview corrector settings and undo
  •  convert wirescan plot Y axis to counts instead of charge
wirescansBuschmann3
  •  IPWS1 Auto wire finder
LoneyWIP3
  •  Change default screen to 711 for injector TCAV measurements 
TCAV GUI









Standby Tasks / Wishlist / Brainstorm

...