Table of Contents


Elevator Pitch

Hi, my name is Matteo Benedetti, and I’m going into my fourth year at Cal Poly majoring in physics. I absolutely love the subject and hope to take my education further by going to graduate school. I have about a little more than a year of researching experience, and a few years’ worth of coding experience. The skills and experiences I’ve received thus far have allowed me to not only contribute to research at my school, but also contribute to research here at SLAC where I will be an intern this summer. My project is to, essentially, “heat up” an electron pulse using a laser. We want to do this to disrupt any micro-bunching of electrons that may occur in the pulse which would cause it to become inhomogeneous. This inhomogeneity is detrimental to the FACET-II experiment since our diagnostics and measurements require very high precession. Currently, I am revising some code that will automatically align the laser with the path of the electron pulse so that they overlap in space and may interact optimally. This, as well as the other research projects I have been a part of, is the reason why I study physics; I love solving problems and answering the questions no one has the answers to. I would love to talk about this further if you are interested. Perhaps we could connect on LinkedIn if that’s preferred.

Summer Project

I spent this summer working on a GUI to remotely align the laser heater laser with the electron beam spatially, both manually and automatically. I did this by altering the code from the GreeNe_align_tools folder.

This is the current production release of the aligner. 


Things that I did:

  1. Cleaning up: The original GUI had a lot of vestigial structures that cluttered the interface, so I had those removed and the whole controls panel reorganized to be more user friendly and pleasant to look at. In addition, the code underneath also had a lot of unused functions which I went through and removed.
  2. Updated PVs: Since we wanted to use this aligner for the laser heater, we needed to switch out all of the references of PVs to the corresponding PVs for the laser heater.
  3. Added Safety Measures: Although the laser heater system is externally interlocked, we wanted to prevent users from being able to trip those interlocks from the GUI. So, what I did was implement a set of conditionals that would check the status of the OTR foils and attenuator and disable the necessary buttons such that it would be impossible to trip the interlocks. In addition, I also added an emergency "close shutter" button just in case (because it wouldn't really be a GUI project if there wasn't a big red button). 
  4. Convert Position to Pixels: The PV that determines the location of the electron beams on the monitors (the crosshairs) gives us a value in physical distance. For us to represent it properly on the monitor, we need to convert that distance to pixels. This was not a feature of the previous GreeNe_align_tools (for some reason) and caused a lot a problems not only with the display but also the auto-aligner. Luckily this was a (somewhat) easy fix, and now all of the crosshair locations match the physical locations for alignment.

Work Still to be Done

This is the current non-production iteration of the laser aligner GUI I am working on.


Future alterations:

  1.  Aligner Initialization Procedure: There is a certain set up you need for the auto-aligner to function properly. As of now, you have to set it by hand (and know how to set it up), but what I have added is a procedure that activates immediately after choosing an alignment option that initializes the set up so you don't have to.
  2. User Input Step Sizes: Currently, the maximum step size as well as the test step size for the auto-aligner are hardcoded, however we think that being able to massage these values might help to get the auto-aligner to its destination faster. What I have added is an input box that can take the users suggested values, compare them to the maximum allowed values (these values are hardcoded), and set the maximum or test step values to the user values iff they are less than the maximum allowed values.
  3. Fine Aligner Tool: The original aligner method (now dubbed the "coarse adjust" on the GUI) gets us pretty close to the crosshairs, but not quite close enough. What we want to add is a fine alignment tool that can make very small adjustments once the coarse adjustment has gotten us relatively close. Ideally this fine alignment tool will get us onto the crosshairs within an acceptable error margin.

End-of-Internship Presentation

Electron Beam Laser Heater for Plasma Wakefield Acceleration.pptx

FACET-II



  • No labels