Update Spectral data

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

@ -1,30 +1,32 @@
## Channel list
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)
## Nomenclature
| Style | Meaning|
|----------|----------|
| SARFE10-PSSS059:**SPECTRUM***|Raw spectral data |
| SARFE10-PSSS059:**FIT*** | Results of Gaussian fit |
| SARFE10-PSSS059:**SPECT*** | Statistics from the raw (without fit) spectrum |
| SARFE10-PSSS059:**AVG*** | Data calculated from average (not single shot) spectra |
| Style | Meaning |
|-------|---------|
| SARFE10-PSSS059:**SPECTRUM**\* | Raw spectral data |
| SARFE10-PSSS059:**FIT**\* | Results of Gaussian fit |
| SARFE10-PSSS059:**SPECT**\* | Statistics from the raw (without fit) spectrum |
| SARFE10-PSSS059:**AVG**\* | Data calculated from average (not single shot) spectra |
## Concepts
**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
smoothed_spectrum = scipy.signal.savgol_filter(spectrum, 51, 3)
```
The standard deviation and center of mass for the spectra are calculated as:
```
```plaintext
smoothed_spectrum_normed = smoothed_spectrum / np.sum(smoothed_spectrum)
spectrum_com = np.sum(axis * 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**
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}`$
@ -42,12 +44,26 @@ $`\frac{2.355*RMS}{\text{Center of mass}}`$
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
<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
The PSSS has a dedicated server - sf-daqsync-11.psi.ch
The PSSS has a dedicated server - sf-daqsync-11.psi.ch
### Store pipeline
@ -56,7 +72,8 @@ The PSSS has a dedicated server - sf-daqsync-11.psi.ch
This pipeline sends the camera image directly to the image buffer
**Channels**
**Channels**
- SARFE10-PSSS059:FPICTURE
### PSSS pipeline
@ -64,9 +81,10 @@ This pipeline sends the camera image directly to the image buffer
- SARFE10-PSSS059_psss
- 13 clients
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-COM
- SARFE10-PSSS059:FIT-FWHM
@ -78,4 +96,4 @@ This pipeline extracts the spectra, fits and produces the statistics
- SARFE10-PSSS059:SPECTRUM_X
- SARFE10-PSSS059:SPECTRUM_Y
- SARFE10-PSSS059:SPECTRUM_Y_SUM
- SARFE10-PSSS059:processing_parameters
- SARFE10-PSSS059:processing_parameters