Update Spectral data

arrell_c 2024-02-21 10:57:23 +01:00
parent f3bd3cbee2
commit c180a69891

@ -1,30 +1,32 @@
## Channel list ## Channel list
All PSSS data channels are listed in the following sheet: All PSSS data channels are listed in the following sheet:
[Sheet of PSSS data channels](https://docs.google.com/spreadsheets/d/16Hz7MZR3E7-OmLHfakkT2K6yPMFUzp4eIFZxrzXWjFk/edit?usp=sharing) [Sheet of PSSS data channels](https://docs.google.com/spreadsheets/d/16Hz7MZR3E7-OmLHfakkT2K6yPMFUzp4eIFZxrzXWjFk/edit?usp=sharing)
## Nomenclature ## Nomenclature
| Style | Meaning| | Style | Meaning |
|----------|----------| |-------|---------|
| SARFE10-PSSS059:**SPECTRUM***|Raw spectral data | | SARFE10-PSSS059:**SPECTRUM**\* | Raw spectral data |
| SARFE10-PSSS059:**FIT*** | Results of Gaussian fit | | SARFE10-PSSS059:**FIT**\* | Results of Gaussian fit |
| SARFE10-PSSS059:**SPECT*** | Statistics from the raw (without fit) spectrum | | SARFE10-PSSS059:**SPECT**\* | Statistics from the raw (without fit) spectrum |
| SARFE10-PSSS059:**AVG*** | Data calculated from average (not single shot) spectra | | SARFE10-PSSS059:**AVG**\* | Data calculated from average (not single shot) spectra |
## Concepts ## Concepts
**Width and center** **Width and center**
Spectral width and central energy are calculated by both a Gaussian fit and directly from the spectra. Depending on the spectral intensity profile, the Gaussian may return a poor representation of the spectra, for example for a spectral with a long tail. Before both fitting and calculation the spiky single shot spectra are smoothed with a savgol filter: Spectral width and central energy are calculated by both a Gaussian fit and directly from the spectra. Depending on the spectral intensity profile, the Gaussian may return a poor representation of the spectra, for example for a spectral with a long tail. Before both fitting and calculation the spiky single shot spectra are smoothed with a savgol filter:
``` ```plaintext
# smooth the spectrum with savgol filter with 51 window size and 3rd order polynomial # smooth the spectrum with savgol filter with 51 window size and 3rd order polynomial
smoothed_spectrum = scipy.signal.savgol_filter(spectrum, 51, 3) smoothed_spectrum = scipy.signal.savgol_filter(spectrum, 51, 3)
``` ```
The standard deviation and center of mass for the spectra are calculated as: The standard deviation and center of mass for the spectra are calculated as:
``` ```plaintext
smoothed_spectrum_normed = smoothed_spectrum / np.sum(smoothed_spectrum) smoothed_spectrum_normed = smoothed_spectrum / np.sum(smoothed_spectrum)
spectrum_com = np.sum(axis * smoothed_spectrum_normed) spectrum_com = np.sum(axis * smoothed_spectrum_normed)
spectrum_std = np.sqrt(np.sum((axis - spectrum_com) ** 2 * smoothed_spectrum_normed)) spectrum_std = np.sqrt(np.sum((axis - spectrum_com) ** 2 * smoothed_spectrum_normed))
@ -32,7 +34,7 @@ spectrum_std = np.sqrt(np.sum((axis - spectrum_com) ** 2 * smoothed_spectrum_nor
**Relative energy spread** **Relative energy spread**
Channels ending in **RES** are a measure of the relative energy spread in units of ‰. For **FIT** data the relative energy spread is calculated as: Channels ending in **RES** are a measure of the relative energy spread in units of ‰. For **FIT** data the relative energy spread is calculated as:
$`\frac{2.355*\sigma}{\mu}`$ $`\frac{2.355*\sigma}{\mu}`$
@ -42,8 +44,22 @@ $`\frac{2.355*RMS}{\text{Center of mass}}`$
where the factor or 2.355 is included to allow these values to be comparable. where the factor or 2.355 is included to allow these values to be comparable.
**Spectral brightness**
To quantify an increase in the spectral intensity in a narrowing bandwidth the so called Spectral brightness is calculated:
$`\text{Spectral brightness} = \frac{\text{Single shot intensity [uJ]}}{\text{Single shot spectral FWHM [eV]}}`$
At Aramis the current channel used for the single shot pulse intensity is:
`SARFE10-PBPG050:FAST-PULSE-ENERGY`
and the spectral FWHM uses the single shot spectral width. The result channel name is:
`<SPECTROMETER:DEVICE>:FIT-BRT`
indicating the data uses a Gaussian fit. Beware this data is only meaningful if the spectral intensity distribution is near Gaussian.
## Data flow schematic ## Data flow schematic
<img src="https://docs.google.com/drawings/d/e/2PACX-1vRShOtDRMpQTAY1p5oZKvRcuyLToMvmgzTQHOS_JrdQArvqcul-RoMcIobmKFc8RPgJVjGzULKczS5-/pub?w=1440&amp;h=1080">
![](https://docs.google.com/drawings/d/e/2PACX-1vRShOtDRMpQTAY1p5oZKvRcuyLToMvmgzTQHOS_JrdQArvqcul-RoMcIobmKFc8RPgJVjGzULKczS5-/pub?w=1440&h=1080)
## CamServer setup ## CamServer setup
@ -57,6 +73,7 @@ The PSSS has a dedicated server - sf-daqsync-11.psi.ch
This pipeline sends the camera image directly to the image buffer This pipeline sends the camera image directly to the image buffer
**Channels** **Channels**
- SARFE10-PSSS059:FPICTURE - SARFE10-PSSS059:FPICTURE
### PSSS pipeline ### PSSS pipeline
@ -67,6 +84,7 @@ This pipeline sends the camera image directly to the image buffer
This pipeline extracts the spectra, fits and produces the statistics This pipeline extracts the spectra, fits and produces the statistics
**Channels** **Channels**
- SARFE10-PSSS059:FIT-BRT - SARFE10-PSSS059:FIT-BRT
- SARFE10-PSSS059:FIT-COM - SARFE10-PSSS059:FIT-COM
- SARFE10-PSSS059:FIT-FWHM - SARFE10-PSSS059:FIT-FWHM