Wiki source code of The FLASH HDF5 structure

Version 105.2 by sndueste on 2026-01-09 15:09

Show last authors
1 == Contents ==
2
3
4
5 {{toc/}}
6
7
8 == General information about HDF5 and how to look on it ==
9
10 HDF5 is a data format maintained by the HDF group. For detailed general information see [[here>>url:https://portal.hdfgroup.org/display/support||shape="rect"]]
11
12 The easiest way to look at the HDF5 files from your beamtime is to use tje Jupy
13
14
15 To download the HDF5 Viewer click [[here>>url:https://portal.hdfgroup.org/display/support/Download+HDFView||shape="rect"]]
16
17 For use on the DESY Maxwell or PAL (max-fsc or pal) **hdfview** is available in the xray module :
18 {{code language="none"}}> module load xray{{/code}}
19 {{code language="none"}}> hdfview{{/code}}
20
21 or you can use
22
23 {{code language="none"}}
24 > silx view
25 {{/code}}
26
27
28 [[Contents>>doc:||anchor="Contents"]]
29
30 == The FLASH HDF5 format ==
31
32 FLASH provides a conversion of its data acquisition (DAQ) to the commonly used [[HDF5>>url:https://www.hdfgroup.org/solutions/hdf5/||shape="rect"]] format. Correlated  data are mapped by a primary index called **train ID**. Every data set has an individual index of train IDs to identify the data even when data are missing or deviate in update rate. If the data set of choice contains gaps,  users have to decide how to treat missing values. DAQ channels are spread across various files with one file name pattern for each DAQ. This means users have to assemble data from different files if necessary.
33
34 The hierarchy is realized using a human readable named HDF tree with each DAQ channel containing the data sets "//value//" and "//index//". Additionally, the HDF group //zraw// contains a tree of the original DAQ channel names.
35
36 Reference implementation, which follows the concept of Python libraries like Pandas, Xarray, or Dask, is given below.
37
38 {{expand title="Discontinued HDF formats"}}
39 === Comparison to FLASH's deprecated HDF formats ===
40
41 Before 2021, FLASH provided two different HDF formats formally known as //near-online// and //offline// HDF files.
42
43 All data sets were aligned by the same global index by filling in missing data. Fast DAQ channels  (pulse synchronous data - update 10 Hz) are filled in by NaN or 0, slow channels (not pulse synchronous data - update e.g. 1 Hz ) are interpolated by the DAQs libraries, by keeping the value constant up to the next change.
44
45 While the near-online HDF files were converted live during the beamtime, the offline HDF files were manually compiled weeks/months later. Near-online HDF files were used by a provided API [[BeamtimeDaqAccess>>url:https://confluence.desy.de/display/FLASHUSER/Near-Online+data+analysis#Near-Onlinedataanalysis-BriefUserGuidetoBeamtimeDAQAccess||shape="rect"]], which also searches for DAQ channels in files. With assembled files "by run", all DAQ channels were existing in the same HDF file. While shorter runs usually fitted into one file, longer runs still had to be aggregated over several files. The creation of the assembled type of files still involves the use of fairly unstable DAQ Mex-functions As the environment required for using the Mex-functions is already deprecated, its continued existence is uncertain.
46
47 The HDF hierarchy is almost identical in all formats. While in the the recent format each DAQ channel contains the data sets "value" and "index", the deprecated format had one data set for each DAQ channel. The deprecated formats supplies no time axis parameters for spectra data types.
48
49
50 **HDF5 example files (old format)**
51
52 Here we have a few HDF5 samples (User data combined with Photon diagnostics data) from a few beamtimes showing the different kind options.
53
54 [[image:attach:image2019-10-21_17-2-50.png||thumbnail="true" width="300"]] [[download HDF5 (Images @ FL2)>>url:https://desycloud.desy.de/index.php/s/nyEgeCWJFC4gao2||shape="rect"]]
55
56
57 [[~[~[image:attach:image2019-10-22_10-52-27.png~|~|thumbnail="true" width="300"~]~]download HDF5 (GHz ADC and OPIS @ FL2)>>url:https://desycloud.desy.de/index.php/s/AeA2kPNNnZgX95A||shape="rect"]]
58
59
60
61 {{/expand}}
62
63 === HDF examples: ===
64
65 * ADC data as example for **fast** **data** (10 Hz):            
66
67 [[image:attach:image2020-11-16_15-26-28.png||height="250"]]
68
69 * The //average// FEL pulse energy as example for the **slow** **data**. Here the data is not saved with 10 Hz  - thus not for every FEL pulse train.  The data is typically saved with 1 Hz if the values are changing (like the FEL energy) and every about 20 sec if there is no change for longer time ( e.g. motor set values). Thus to use the data together with the "fast" one, one has to interpolate the data as explained in the examples in the repos below show (e.g. {{code language="none"}}df['GMD_T_average'] = df['GMD_T_average'].interpolate(method='linear'){{/code}})
70
71 ( as example only every 10th train ID is listed in the HDF group "index")
72
73 [[image:attach:image2020-11-16_15-31-45.png||height="250"]]
74
75 * (((
76 //zraw// group contains the **original DAQ (DOOCS) names**
77 )))
78
79 of the properties saved in the DESY internal raw format. (For experts)
80
81
82 [[image:attach:image2020-11-16_16-26-3.png||height="400"]]
83
84 {{info}}
85 === There are different options that help you to work with the FLASH HDF5 data in Python ===
86
87 * The currently developed option for large data sets: [[the FAB package>>url:https://hasfcpkg.desy.de/fab/fab.html||shape="rect"]] ... see below
88 * and for smaller projects:  (% class="Object" %)[[https:~~/~~/gitlab.desy.de/christopher.passow/flash-daq-hdf>>url:https://gitlab.desy.de/christopher.passow/flash-daq-hdf||shape="rect"]]
89
90 (% class="Object" %)See also the collection of Demo data and sample scripts : [[Collection of HDF5 sample data from different beamlines>>doc:FLASHUSER.Offline data analysis (DAQ).Collection of HDF5 sample data from different beamlines.WebHome]] and [[DEMO - Working with FLASH data>>doc:FLASHUSER.Offline data analysis (DAQ).DEMO - Working with FLASH data.WebHome]]
91 {{/info}}
92
93
94
95 == Complete list of recordable parameters ==
96
97 The complete list for the relation between DOOCS names and HDF5 names for the recordable parameters can be found in [[DESY's Repository>>url:https://stash.desy.de/projects/CS/repos/pah/browse/src/camp/data/channel2HdfName.dat||shape="rect"]].
98
99 == Most popular FLASH parameters and their names in HDF5, DOOCS and (.raw) DAQ ==
100
101 {{id name="DOOCSparameters"/}}
102
103
104 === FLASH1 ===
105
106
107 In the Shutdown 2024 / 2025  the complete photon diagnostic and experiment control was renewed and thus the Doocs names and also some HDF5 names had to be changed. The new naming will be documented here as soon as the systems are online again.
108
109 The previously used naming scheme (2024 and before) can be found here:
110
111 {{expand expanded="false" title="FLASH1 naming scheme used until 2024"}}
112 ==== (% id="cke_bm_8853497S" style="display:none" %) (%%)Beamline info (FLASH1) ====
113
114 {{code language="none"}}/FL1/Beamlines/Attenuator/pressure{{/code}}
115 //always saved (PBD)//
116 DOOCS prop : {{code language="none"}}FLASH.FEL/GAS_DOSING/FL1.ATTENUATOR/PRESSURE{{/code}}
117 DAQ channel: {{code language="none"}}FLASH.FEL/GAS_DOSING/FL1.ATTENUATOR/PRESSURE{{/code}}
118 desc: set pressure in the gas attenuator
119 units: mbar
120
121 {{code language="none"}}/FL1/Beamlines/BL/Fast shutter/open{{/code}}
122 //always saved (PBD)//
123 DOOCS prop : {{code language="none"}}FLASH.FEL/ADC.SIS.FL1FS/BL.SHUTTER/CH00.TD{{/code}}
124 DAQ channel: {{code language="none"}}FLASH.FEL/ADC.SIS.FL1FS/BL.SHUTTER{{/code}}
125 desc: BL Beamline Fast shutter state: 1 is open, 0 is closed ( for technical reasons there are 100 vales of this state saved ...)
126 units: none
127
128 {{code language="none"}}/FL1/Beamlines/PG/Fast shutter/open{{/code}}
129 //always saved (PBD)//
130 DOOCS prop : {{code language="none"}}FLASH.FEL/ADC.SIS.FL1FS/PG.SHUTTER/CH00.TD{{/code}}
131 DAQ channel: {{code language="none"}}FLASH.FEL/ADC.SIS.FL1FS/PG.SHUTTER{{/code}}
132 desc: PG Beamline Fast shutter state: 1 is open, 0 is closed ( for technical reasons there are 100 vales of this state saved ...)
133 units: none
134
135 {{code language="none"}}/FL1/Beamlines/BL/Filters/BL filter wheel/position filter 1{{/code}}
136 //always saved (PBD)//
137 DOOCS prop : {{code language="none"}}TTF2.FEL/BLFILTERS1/FILTER1/FW.MOTOR.POS{{/code}}
138 DAQ channel: {{code language="none"}}TTF2.FEL/BLFILTERS1/FILTER1/FW.MOTOR.POS{{/code}}
139 desc: Position of the BL filter wheel 1 - to correlate with the filter material please look [[here>>doc:FS-FLASH USER tmp.jddd-linked help pages.Filter-Units.Filter wheels in FLASH1 and FLASH2.WebHome]]
140 units: degree
141
142 {{code language="none"}}/FL1/Beamlines/BL/Filters/BL filter wheel/position filter 2{{/code}}
143 //always saved (PBD)//
144 DOOCS prop : {{code language="none"}}TTF2.FEL/BLFILTERS2/FILTER2/FW.MOTOR.POS{{/code}}
145 DAQ channel: {{code language="none"}}TTF2.FEL/BLFILTERS2/FILTER2/FW.MOTOR.POS{{/code}}
146 desc: Position of the BL filter wheel 2 - to correlate with the filter material please look [[here>>doc:FS-FLASH USER tmp.jddd-linked help pages.Filter-Units.Filter wheels in FLASH1 and FLASH2.WebHome]]
147 units: degree
148
149 {{code language="none"}}/FL1/Beamlines/PG/Filters/position filter 1{{/code}}
150 //always saved (PBD)//
151 DOOCS prop : = TTF2.FEL/BDAF1/BDA.F1/FW.MOTOR.POS=
152 DAQ channel: {{code language="none"}}TTF2.FEL/BDAF1/BDA.F1/FW.MOTOR.POS{{/code}}
153 desc: Position of the PG filter wheel 1
154 units: degree
155
156 {{code language="none"}}/FL1/Beamlines/PG/Filters/position filter 2{{/code}}
157 //always saved (PBD)//
158 DOOCS prop : {{code language="none"}}TTF2.FEL/BDAF2/BDA.F2/FW.MOTOR.POS{{/code}}
159 DAQ channel: {{code language="none"}}TTF2.FEL/BDAF2/BDA.F2/FW.MOTOR.POS{{/code}}
160 desc: Position of the PG filter wheel 2
161 units: degree
162
163 {{code language="none"}}/FL1/Beamlines/PG/Filters/position filter 3{{/code}}
164 //always saved (PBD)//
165 DOOCS prop : {{code language="none"}}TTF2.FEL/PGFILTERS/PGFILTERS/FW.MOTOR.POS{{/code}}
166 DAQ channel: {{code language="none"}}TTF2.FEL/PGFILTERS/PGFILTERS/FW.MOTOR.POS{{/code}}
167 desc: Position of the PG filter wheel 3
168 units: degree
169
170
171
172 NOTE: Aperture positions in the beamline as well as the positions of the beam steering mirrors are also saved. For more Info contact your local contact
173
174 [[Contents>>doc:||anchor="Contents"]]
175
176
177 ==== Photon Diagnostics SASE ([[GMD>>url:http://photon-science.desy.de/facilities/flash/photon_diagnostics/gmd_intensity_and_position/index_eng.html||shape="rect"]]) ====
178
179 {{expand title="Discontinued GMD format (used until 2021)"}}
180 (% style="color:#000000" %)**Discontinued GMD data recording / evaluation  (VME + PhotonFlux ML server)**
181
182 {{code language="none"}}/FL1/Photon Diagnostic/GMD/Average energy/energy tunnel{{/code}}
183 //always saved (PBD)//
184
185 (% style="color:#000000" %)DOOCS prop : {{code language="none"}}TTF2.DAQ/PHFLUX/OUT04/VAL{{/code}} (%%)
186 (% style="color:#000000" %)DAQ channel: {{code language="none"}}PBD.PHFLUX/TUNNEL.ENPULSEIC{{/code}}(%%)
187 desc : calibrated average SASE Energy/pulse measured in the TUNNEL upstream the gas attenuator (ion current)
188 units : microJ
189
190 {{code language="none"}}/FL1/Photon Diagnostic/GMD/Pulse resolved energy/energy tunnel{{/code}}
191 //always saved (PBD)//
192
193 DOOCS prop : {{code language="none"}}TTF2.DAQ/PHFLUX/OUT34/VAL{{/code}}
194 DAQ channel: {{code language="none"}}PBD.PHFLUX/TUNNEL.ENERGYPULSE.USER{{/code}}
195 desc :Energy per pulse Tunnel (from e-) - the values are set to "0" if there was no SASE beam in the FEL
196 units : a.u. (more or less µJ but need to be calibrated with the "Average energy" for good precision) **[[see here for help>>doc:FS-FLASH USER tmp.jddd-linked help pages.Calibrating the pulse resolved (electron) data from GMD.WebHome]]**
197
198 {{code language="none"}}/FL1/Photon Diagnostic/GMD/Pulse resolved energy/energy tunnel (raw){{/code}}
199 //always saved (PBD)//
200 DOOCS prop : {{code language="none"}}TTF2.DAQ/PHFLUX/OUT14/VAL{{/code}}
201 DAQ channel: {{code language="none"}}PBD.PHFLUX/TUNNEL.ENERGYPULSE.FF{{/code}}
202 desc :Energy per pulse Tunnel (from e-) - uncorrected values. There are also values saved if there was no beam ... just background noise
203 units : a.u. (more or less µJ but need to be calibrated with the "Average energy" for good precision) **[[see here for help>>doc:FS-FLASH USER tmp.jddd-linked help pages.Calibrating the pulse resolved (electron) data from GMD.WebHome]]**
204
205 {{code language="none"}}/FL1/Photon Diagnostic/GMD/Average energy/energy BDA{{/code}}
206 //always saved (PBD)//
207
208 DOOCS prop : {{code language="none"}}TTF2.DAQ/PHFLUX/OUT05/VAL{{/code}}
209 DAQ channel: {{code language="none"}}PBD.PHFLUX/BDA.ENPULSEIC{{/code}}
210 desc : calibrated average SASE Energy/pulse measured in the BDA (in the experimental hall) after the attenuator (ion current)
211 units : microJ
212
213 {{code language="none"}}/FL1/Photon Diagnostic/GMD/Pulse resolved energy/energy BDA{{/code}}
214 //always saved (PBD)//
215
216 DOOCS prop : {{code language="none"}}TTF2.DAQ/PHFLUX/OUT35/VAL{{/code}}
217 DAQ channel: {{code language="none"}}PBD.PHFLUX/BDA.ENERGYPULSE.USER{{/code}}
218 desc :Energy per pulse BDA (from e-) - the values are set to "0" if there was no SASE beam in the FEL
219 units : a.u. (more or less µJ but need to be calibrated with the "Average energy" for good precision) **[[see here for help>>doc:FS-FLASH USER tmp.jddd-linked help pages.Calibrating the pulse resolved (electron) data from GMD.WebHome]]**
220
221 {{code language="none"}}/FL1/Photon Diagnostic/GMD/Pulse resolved energy/energy BDA (raw){{/code}}
222 //always saved (PBD)//
223 DOOCS prop : {{code language="none"}}TTF2.DAQ/PHFLUX/OUT15/VAL{{/code}}
224 DAQ channel: {{code language="none"}}PBD.PHFLUX/BDA.ENERGYPULSE.FF{{/code}}
225 desc :Energy per pulse BDA (from e-) - uncorrected values. There are also values saved if there was no beam ... just background noise
226 units : a.u. (more or less µJ but need to be calibrated with the "Average energy" for good precision)** [[see here for help>>doc:FS-FLASH USER tmp.jddd-linked help pages.Calibrating the pulse resolved (electron) data from GMD.WebHome]]**
227 {{/expand}}
228
229
230 (% style="color:#000000; letter-spacing:0px" %)**NEW (since 2021) GMD data recording / evaluation  (same format as FLASH2 and XFEL)**
231
232 {{code language="none"}}/FL1/Photon Diagnostic/GMD/Average energy/energy tunnel{{/code}}
233 //always saved (PBD)//
234 (% style="color:#000000" %)DOOCS prop : {{code language="none"}}FLASH.FEL/XGM.PHOTONFLUX/FL1.TUNNEL/PHOTONFLUX.UJ{{/code}} (%%)
235 (% style="color:#000000" %)DAQ channel: {{code language="none"}}FLASH.FEL/XGM.PHOTONFLUX/FL1.TUNNEL/PHOTONFLUX.UJ{{/code}}
236
237 desc : calibrated average SASE Energy/pulse measured in the TUNNEL upstream the gas attenuator
238 units : microJ
239
240
241 {{code language="none"}}/FL1/Photon Diagnostic/GMD/Pulse resolved energy/energy tunnel{{/code}}
242 //always saved (PBD)//
243
244 (% style="color:#000000" %)DOOCS prop : (%%)
245 (% style="color:#000000" %){{code language="none"}}FLASH.FEL/XGM.INTENSITY/FL1.TUNNEL/INTENSITY.TD{{/code}}DAQ channel: {{code language="none"}}FLASH.FEL/XGM.INTENSITY/FL1.TUNNEL/INTENSITY.TD{{/code}}
246
247 desc : Energy per pulse measured in the Tunnel.  In addition measurement errors and beam position are included for EACH pulse in the pulse train  !! (see below)
248 units : a.u. (more or less µJ but need to be calibrated with the "Average energy" for good precision)** [[see here for help>>doc:FS-FLASH USER tmp.jddd-linked help pages.Calibrating the pulse resolved (electron) data from GMD.WebHome]]**
249
250 {{info title="GMD pulse resolved data structure"}}
251 For every pulse in the pulse train the information is saved:
252
253 1. **Intensity per pulse** (a.u. (more or less µJ ))
254 1. Intensity per pulse (auxillary GMD) - not used
255 1. Position horizontal (mm, for a single pulse the position information may be very noisy  - talk to your local contact)
256 1. Position vertical (mm, for a single pulse the position information may be very noisy  - talk to your local contact)
257 1. **Intensity per pulse sigma** (a.u. (more or less µJ ), (% style="color:#000000" %)This parameter gives an indication of the error of the measurement of the pulse energy. This takes signal to noise,  detector resolution, uncertainties in crossection etc into account. (it is NOT the measurement of the statistical fluctuation of the SASE pulses)(%%))
258 1. Position horizontal sigma  (mm, indicates the error (RMS, sigma) of the measurement according to known uncertainties and signal to noise)
259 1. Position vertical sigma  (mm, indicates the error (RMS, sigma) of the measurement according to known uncertainties and signal to noise)
260 1. Combined warning and error flags
261
262 The pulse energy and the error are plotted for the first bunch of the pulse trains saved in this 
263 file
264
265 [[image:image2021-2-9_10-51-6.png]]
266
267
268 {{/info}}
269
270 All values for the GMD are also available for the** BDA GMD **which is located in the experimental hall down stream the gas attenuator. If the attenuator is on the ratio between BDA and Tunnel signal shows the attenuation. **BUT NOTE** that the filter units  are downstream the GMD. So if filters  are used this influence is NOT measured by the GMD BDA !
271
272
273 Besides  pulse energy the GMD also provides information about the beam position
274
275 {{code language="none"}}/FL1/Photon Diagnostic/GMD/Beam position/position BDA horizontal{{/code}}
276 //always saved (PBD)//
277 DOOCS prop : {{code language="none"}}FLASH.FEL/XGM.POSMON/FL1.BDA/IX.POS{{/code}}
278 DAQ channel: {{code language="none"}}FLASH.FEL/XGM.POSMON/FL1.BDA/IX.POS{{/code}}
279 desc :Beam position of the photon Beam determined by the GMD (BDA, x=horizontal)
280 units : mm
281
282 {{code language="none"}}/FL1/Photon Diagnostic/GMD/Beam position/position BDA vertical{{/code}}
283 //always saved (PBD)//
284 DOOCS prop : {{code language="none"}}FLASH.FEL/XGM.POSMON/FL1.BDA/IY.POS{{/code}}
285 DAQ channel: {{code language="none"}}FLASH.FEL/XGM.POSMON/FL1.BDA/IY.POS{{/code}}
286 desc :Beam position of the photon Beam determined by the GMD (BDA, y=vertical)
287 units : mm
288
289 {{code language="none"}}/FL1/Photon Diagnostic/GMD/Beam position/position tunnel horizontal{{/code}}
290 //always saved (PBD)//
291 DOOCS prop : {{code language="none"}}FLASH.FEL/XGM.POSMON/FL1.TUNNEL/IX.POS{{/code}}
292 DAQ channel: {{code language="none"}}FLASH.FEL/XGM.POSMON/FL1.TUNNEL/IX.POS{{/code}}
293 desc :Beam position of the photon Beam determined by the GMD (TUNNEL, x=horizontal)
294 units : mm
295
296 {{code language="none"}}/FL1/Photon Diagnostic/GMD/Beam position/position tunnel vertical{{/code}}
297 //always saved (PBD)//
298 DOOCS prop : {{code language="none"}}FLASH.FEL/XGM.POSMON/FL1.TUNNEL/IY.POS{{/code}}
299 DAQ channel: {{code language="none"}}FLASH.FEL/XGM.POSMON/FL1.TUNNEL/IY.POS{{/code}}
300 desc :Beam position of the photon Beam determined by the GMD (TUNNEL, y=vertical)
301 units : mm
302
303
304 ==== Spectrometer (FLASH1) ====
305
306 {{code language="none"}}/FL1/Photon Diagnostic/Wavelength/Tunnelspectrometer/wavelength{{/code}}
307 _always saved (when Spectrum is measured !!) (PBD) _
308 DOOCS prop : {{code language="none"}}TTF2.EXP/PHOTONWL.ML/WAVE_LENGTH/VAL.TD{{/code}}
309 DAQ channel: {{code language="none"}}PBD.PHOTONWL.ML/WAVE_LENGTH{{/code}}
310 desc : XUV Spectrum measured with the "tunnel spectrometer"
311 units :
312
313 {{code language="none"}}/FL1/Photon Diagnostic/Wavelength/Tunnelspectrometer/wavelength start value{{/code}}
314 _always saved (when Spectrum is measured !!) (PBD) _
315 DOOCS prop : {{code language="none"}}TTF2.EXP/PBD.PHOTONWL.ML/BSTART/VAL{{/code}}
316 DAQ channel: {{code language="none"}}TTF2.EXP/PBD.PHOTONWL.ML/BSTART/VAL{{/code}}
317 desc : start value (in nm) for the wavelength axis of the XUV Spectrum measured with the "tunnel spectrometer"
318 units : nm
319
320 {{code language="none"}}/FL1/Photon Diagnostic/Wavelength/Tunnelspectrometer/wavelength increment{{/code}}
321 _always saved (when Spectrum is measured !!) (PBD) _
322 DOOCS prop : ==
323 DAQ channel: ==
324 desc : increment value (in nm) for each pixel for the wavelength axis of the XUV Spectrum measured with the "tunnel spectrometer"
325 units : nm
326
327 {{code language="none"}}/FL1/Photon Diagnostic/Wavelength/PG2 spectrometer/photon energy{{/code}}
328 //saved on DEMAND (PBD spectrometer stream)//
329 DOOCS prop : ==
330 DAQ channel: {{code language="none"}}PBD.PHOTONEN.ML/PHOTON_ENERGY{{/code}}
331 desc : XUV Spectrum in eV measured with the "PG2 spectrometer"
332 units :
333
334 {{code language="none"}}/FL1/Photon Diagnostic/Wavelength/PG2 spectrometer/photon energy start value{{/code}}
335 //saved on DEMAND (PBD spectrometer stream)//
336 DOOCS prop : ==
337 DAQ channel: ==
338 desc : start value (in eV) for the wavelength axis of the XUV Spectrum measured with the "PG2 spectrometer"
339 units : eV
340
341 {{code language="none"}}/FL1/Photon Diagnostic/Wavelength/PG2 spectrometer/photon energy increment{{/code}}
342 //saved on DEMAND (PBD spectrometer stream)//
343 DOOCS prop : ==
344 DAQ channel: ==
345 desc : increment value (in eV) for each pixel for the wavelength axis of the XUV Spectrum measured with the "PG spectrometer"
346 units : eV
347
348 {{code language="none"}}/FL1/Photon Diagnostic/Wavelength/PG2 spectrometer/photon wavelength{{/code}}
349 //saved on DEMAND (PBD spectrometer stream)//
350 DOOCS prop : ==
351 DAQ channel: {{code language="none"}}PHOTONEN.ML/PHOTON_WAVE_LEN{{/code}}
352 desc : XUV Spectrum in nm measured with the "PG2 spectrometer"
353 units :
354
355 {{code language="none"}}/FL1/Photon Diagnostic/Wavelength/PG2 spectrometer/photon wavelength increment{{/code}}
356 //saved on DEMAND (PBD spectrometer stream)//
357 DOOCS prop : ==
358 DAQ channel: ==
359 desc : start value (in nm) for the wavelength axis of the XUV Spectrum measured with the "PG2 spectrometer"
360 units : nm
361
362 {{code language="none"}}/FL1/Photon Diagnostic/Wavelength/PG2 spectrometer/photon wavelength start value{{/code}}
363 //saved on DEMAND (PBD spectrometer stream)//
364 DOOCS prop : ==
365 DAQ channel: ==
366 desc : increment value (in nm) for each pixel for the wavelength axis of the XUV Spectrum measured with the "PG spectrometer"
367 units : nm
368
369 [[Contents>>doc:||anchor="Contents"]]
370
371 ==== Electron Beam properties (FLASH1) ====
372
373 ===== bunch charge =====
374
375 {{code language="none"}}/FL1/Electron Diagnostic/Bunch charge/after undulator{{/code}}
376 //always saved (PBD)//
377 DOOCS prop : {{code language="none"}}FLASH.DIAG/TOROID.ML/12EXP/CHARGE.FLASH1{{/code}}
378 DAQ channel: {{code language="none"}}FLASH.DIAG/TOROID/12EXP{{/code}}
379 desc: electron bunch charge (FLASH1)
380 units: nC
381
382 =====
383 arrival time (BAM) =====
384
385 {{info title="BAM information: updates 2022 (status 2025)"}}
386 * see: [[Info collection about the BAMs and how to use the BAM data>>doc:FS-FLASH USER tmp.jddd-linked help pages.Info collection for the BAM.WebHome||shape="rect"]]
387 * The data format of the BAM has been completely altered in the 2022 shutdown
388 * before 2022 BAMs were always saving the arrival time information for each 1µs bucked regardless if there were electrons in the accelerator or not. IN addition the arrival times for  FL1 and FL2 were saved in the same parameter ...
389 * THIS is now different. There are new parameters saving only the arrival times for pulses that go to FL1 and to FL2 (in detail: first time slot of the accelerator and second)
390 * There has been also a renaming  (and relocation) of the BAMs.
391 ** acc:  4DBC3 → FL0.DBC2
392 ** FL1: 1SFELC →  FL1.SFELC
393 ** FL2: FL2XTDS → (% style="color:#172b4d" %)FL2.SEED5
394 * for more Info: [[LINK to detailed infos from MSK>>doc:SDiag.How-to articles.BAM Data Structure.WebHome||shape="rect"]]
395 * [[Link a collection of papers related to the BAM and the analysis of pump-probe experiments>>doc:FS-FLASH USER tmp.Additional helpful things1.FLASH beamlines and instruments references.WebHome]]
396 * a recent  [[talk about the working principle of the BAM>>attach:BAM-basics and outlook-2018_DESY-template_16-9Format.pdf]]
397 {{/info}}
398
399 {{expand title="Discontinued BAM format (used until end 2021)"}}
400 (% style="color:#000000" %)**Discontinued BAM data recording **
401
402 {{code language="none"}}/FL1/Electron Diagnostic/BAM/4DBC3/electron bunch arrival time (low charge){{/code}}
403 //always saved (PBD)//
404 DOOCS prop : {{code language="none"}}FLASH.SDIAG/BAM/4DBC3/LOW_CHARGE_ARRIVAL_TIME{{/code}}
405 DAQ channel: {{code language="none"}}FLASH.SDIAG/BAM.DAQ/4DBC3.LOW_CHARGE_ARRIVAL_TIME{{/code}}
406 desc: Electron bunch arrival time measured with the BAM inside the accelerator - however shows a very good correlation to the arrivaltime  of the XUV pulses in the experiment (pulse resolved data).
407 units: ps (bigger numbers indicate later arrivaltime of the electrons)
408
409
410 {{code language="none"}}/FL1/Electron Diagnostic/BAM/1SFELC/electron bunch arrival time (low charge){{/code}}
411 //always saved (PBD)//
412 DOOCS prop : {{code language="none"}}FLASH.SDIAG/BAM/1SFELC/LOW_CHARGE_ARRIVAL_TIME{{/code}}
413 DAQ channel: {{code language="none"}}FLASH.SDIAG/BAM.DAQ/1SFELC.LOW_CHARGE_ARRIVAL_TIME{{/code}}
414 desc: Electron bunch arrival time measured with the BAM  before the undulator (pulse resolved data). This one was newly installed in 2020.
415 units: ps (bigger numbers indicate later arrival time of the electrons)
416 {{/expand}}
417
418 ====== **BAM FL0.DBC2**{{code language="none"}}{{/code}} ======
419
420 (% style="color:#ff6600" %)**DBC2**/electron bunch arrival time  (HDF5 name not yet implemented - see zraw)(%%)
421 //always saved (PBD)//
422 {{code language="none"}}/FL1/Electron Diagnostic/BAM/ {{/code}}DOOCS prop : FLASH.SDIAG/BAM/**FL0.DBC2**/ARRIVAL_TIME.ABSOLUTE.SA1.COMP
423 DAQ (% style="color:#000000" %)channel: FLASH.SDIAG/BAM/**FL0.DBC2**/ARRIVAL_TIME.ABSOLUTE.SA1.COMP (%%)
424 desc: Electron bunch arrival time measured with the BAM inside the accelerator (after bunch compressor 2). The property contains only the arrival time of the bunches sent to FL1 (e.g. if there are 30 bunches in FL1 the first 30 values are the arrival time the remaining numbers  still may have arbitrary numbers looking like a signal which they are not ). These are the same values as the "raw" data below - just "cleaned". The values show a very good correlation to the arrival time  of the XUV pulses in the experiment (see help).
425
426 units: fs (bigger numbers (typically) indicate later arrival times of the electrons).
427
428
429 (% style="color:#ff6600" %)DBC2/electron bunch arrival time (raw)  (HDF5 name not yet implemented - see zraw){{code language="none"}}/FL1/Electron Diagnostic/BAM/{{/code}}(%%)
430 //always saved (PBD)//
431 DOOCS prop : FLASH.SDIAG/BAM/FL0.DBC2/ARRIVAL_TIME.ABSOLUTE
432 DAQ channel: (% style="color:#000000" %)FLASH.SDIAG/BAM/FL0.DBC2/ARRIVAL_TIME.ABSOLUTE (%%)
433 desc: Electron bunch arrival time measured with the BAM inside the accelerator (after bunch compressor 2). Here the complete bunch train from the FEL is recorded (FLASH1 and FLASH2 pulses). Thus there are values from FLASH 1 in the first part. they may be separated by several "0" values if the reprate is different from 1 MHz ...  - It shows a very good correlation to the arrival time  of the XUV pulses in the experiment (see help). 
434 units: fs (bigger numbers (typically) indicate later arrival times of the electrons).
435
436
437 (% style="color:#ff6600" %)DBC2/error (HDF5 name not yet implemented - see zraw){{code language="none"}}/FL1/Electron Diagnostic/BAM/{{/code}}(%%)
438 //always saved (PBD)//
439 DOOCS prop : FLASH.SDIAG/BAM/FL0.DBC2/ARRIVAL_TIM(% style="color:#000000" %)E.bamError.1(%%)
440 DAQ channel: (% style="color:#000000" %)FLASH.SDIAG/BAM/FL0.DBC2/ARRIVAL_TIME.BAMERROR.1(%%)
441 desc:(% style="letter-spacing:0.0px" %) status bit: 0 - data is valid; 1 - beam present; 2 - calibration ongoing; 3 - feedback enabled; 4 - feedback acting;  mostly check for bit 0 == 1 is sufficient
442
443
444 (% style="color:#ff6600" %)DBC2/status  (HDF5 name not yet implemented - see zraw){{code language="none"}}/FL1/Electron Diagnostic/BAM/{{/code}}(%%)
445 //always saved (PBD)//
446 DOOCS prop : FLASH.SDIAG/BAM/FL0.DBC2/ARRIVAL_TIM(% style="color:#000000" %)E..bamStatus.//1//(%%)
447 DAQ channel(% style="color:#000000" %): FLASH.SDIAG/BAM/FL0.DBC2/ARRIVAL_TIME.BAMSTATUS.1(%%)
448 desc: (% style="letter-spacing:0.0px" %) status bit: 0 - data is valid; 1 - beam present; 2 - calibration ongoing; 3 - feedback enabled; 4 - feedback acting;  mostly check for bit 0 == 1 is sufficient
449
450
451 ====== **BAM FL1.SFELC**{{code language="none"}}{{/code}} ======
452
453 (% style="font-family:SFMono-Medium,~"SF Mono~",~"Segoe UI Mono~",~"Roboto Mono~",~"Ubuntu Mono~",Menlo,Courier,monospace; letter-spacing:0.0px" %)/FL1/Electron Diagnostic/BAM/**SFELC**(% style="color:#ff6600" %)/electron bunch arrival time  (HDF5 name not yet implemented - see zraw)
454
455 //always saved (PBD)//
456 (% style="color:#172b4d" %)**FL1.SFELC**(%%)
457 (% style="color:#000000" %)channel: FLASH.SDIAG/BAM/(% style="color:#172b4d" %)FL1.SFELC(% style="color:#000000" %)/ARRIVAL_TIME.ABSOLUTE.SA1.COMP(%%)
458 (% style="color:#000000" %){{code language="none"}} DOOCS prop : FLASH.SDIAG/BAM//ARRIVAL_TIME.ABSOLUTE.SA1.COMPDAQ {{/code}}(% style="letter-spacing:0.0px" %)desc: Electron bunch arrival time measured  with the BAM  before the undulator (pulse resolved data). This one was newly installed in 2020.. The property contains only the arrival time of the bunches sent to FL1 (e.g. if there are 30 bunches in FL1 the first 30 values are the arrival time the remaining numbers still may have arbitrary numbers looking like a signal which they are not). These are the same values as the "raw" data below - just "cleaned". The values show a very good correlation to the arrival time  of the XUV pulses in the experiment (see help).
459 units: fs (bigger numbers (typically) indicate later arrival times of the electrons).
460
461
462
463 (% style="color:#172b4d" %)SFELC(% style="color:#ff6600" %)/electron bunch arrival time (raw) (HDF5 name not yet implemented - see zraw){{code language="none"}}/FL1/Electron Diagnostic/BAM/{{/code}}(%%)
464 //always saved (PBD)//
465 DOOCS prop : FLASH.SDIAG/BAM/(% style="color:#172b4d" %)FL1.SFELC(%%)/ARRIVAL_TIME.ABSOLUTE
466 DAQ channel:** **(% style="color:#000000" %)FLASH.SDIAG/BAM/FL1.SFELC/ARRIVAL_TIME.ABSOLUTE (%%)
467 desc: Electron bunch arrival time measured  with the BAM  before the undulator (pulse resolved data). This one was newly installed in 2020. Here the complete bunch train from the FEL is recorded (FLASH1 and FLASH2 pulses). Thus there are values from FLASH 1 in the first part. they may be separated by several "0" values if the reprate is different from 1 MHz ...  - It shows a very good correlation to the arrival time  of the XUV pulses in the experiment (see help). 
468 units: fs (bigger numbers (typically) indicate later arrival times of the electrons).
469
470
471 (% style="color:#172b4d" %)SFELC(% style="color:#ff6600" %)/error (HDF5 name not yet implemented - see zraw){{code language="none"}}/FL1/Electron Diagnostic/BAM/{{/code}}(%%)
472 //always saved (PBD)//
473 DOOCS prop : FLASH.SDIAG/BAM/(% style="color:#172b4d" %)FL1.SFELC(%%)/ARRIVAL_TIM(% style="color:#000000" %)E.bamError(%%)
474 DAQ channel(% style="color:#000000" %): FLASH.SDIAG/BAM/FL1.SFELC/ARRIVAL_TIME.BAMERROR(%%)
475 desc: If the value is 0 , the BAM is working well. If it is non-zero there is a problem !!
476
477
478 (% style="color:#172b4d" %)SFELC(% style="color:#ff6600" %)/status  (HDF5 name not yet implemented - see zraw){{code language="none"}}/FL1/Electron Diagnostic/BAM/{{/code}}(%%)
479 //always saved (PBD)//
480 DOOCS prop : FLASH.SDIAG/BAM/(% style="color:#172b4d" %)FL1.SFELC(%%)/ARRIVAL_TIM(% style="color:#000000" %)E..bamStatus.//1//(%%)
481 DAQ chann(% style="color:#000000" %)el: FLASH.SDIAG/BAM/FL1.SFELC/ARRIVAL_TIME.BAMSTATUS.1(%%)
482 desc: status bit: 0 - data is valid; 1 - beam present; 2 - calibration ongoing; 3 - feedback enabled; 4 - feedback acting;  mostly check for bit 0 == 1 is sufficient
483
484
485
486 ===== electron beam profile =====
487
488 {{code language="none"}}/FL1/Electron Diagnostic/Electron bunch profile/TDS profile{{/code}}
489 //always saved (PBD) - IF LOLA is ON and ACTIVATED in the PBD DAQ (talk to expert)//
490 DOOCS prop : {{code language="none"}}TTF2.DAQ/BEAM.PROF.ML/BEAM.PROF/OUT.PROF.CCCED{{/code}}
491 DAQ channel: {{code language="none"}}PBD.BEAM.PROF.ML/DAQ.OUT.PROF.CCCED{{/code}}
492 desc: temporal profile of electron bunch, y axis in Ampers (FLASH1)
493 units: pixel
494
495 {{code language="none"}}/FL1/Electron Diagnostic/Electron bunch profile/Expert stuff/TDS calibration constant{{/code}}
496 //always saved (PBD) - IF LOLA is ON and ACTIVATED in the PBD DAQ (talk to expert)//
497 DOOCS prop : {{code language="none"}}TTF2.DAQ/BEAM.PROF.ML/BEAM.PROF/CALIB.CONST.T{{/code}}
498 DAQ channel: = PBD.BEAM.PROF.ML/CCT=
499 desc: TDS calibration constant for the x-axis of the profiles: fs per pixel
500 units: fs per pixel
501
502 {{code language="none"}}/FL1/Electron Diagnostic/Electron bunch profile/TDS profile width rms{{/code}}
503 //always saved (PBD) - IF LOLA is ON and ACTIVATED in the PBD DAQ (talk to expert)//
504 DOOCS prop : {{code language="none"}}TTF2.DAQ/BEAM.PROF.ML/BEAM.PROF/SOWS.W.CCTED{{/code}}
505 DAQ channel: {{code language="none"}}PBD.BEAM.PROF.ML/PROFWIDTHCCTED{{/code}}
506 desc: rms pulse width of the measures TDS electron bunch profile
507 units: fs
508
509 ===== electron bunch energy =====
510
511 {{code language="none"}}/FL1/Electron Diagnostic/Electron energy/average electron energy{{/code}}
512 //always saved (PBD)//
513 DOOCS prop : {{code language="none"}}TTF2.DAQ/ENERGY.DOGLEG/E_INTRA_MEAN/VAL{{/code}}
514 DAQ channel: {{code language="none"}}PBD.ENERGY.DOGLEG/E_MEAN{{/code}}
515 desc: electron bunch energy (average over the bunch train)
516 units: (% class="twikiNewLink" %)MeV
517
518 {{code language="none"}}/FL1/Electron Diagnostic/Electron energy/pulse resolved energy{{/code}}
519 //always saved (PBD)//
520 DOOCS prop : {{code language="none"}}TTF2.DAQ/ENERGY.DOGLEG/E_SPECT/VAL.TD{{/code}}
521 DAQ channel: {{code language="none"}}PBD.ENERGY.DOGLEG/E_SPECT{{/code}}
522 desc: electron bunch energy bunch resolved
523 units: (% class="twikiNewLink" %)MeV
524
525
526 {{code language="none"}}/FL1/Electron Diagnostic/Electron energy/wavelength bunch train average{{/code}}
527 //always saved (PBD)//
528 DOOCS prop : {{code language="none"}}TTF2.DAQ/ENERGY.DOGLEG/LAMBDA_MEAN/VAL{{/code}}
529 DAQ channel: {{code language="none"}}PBD.ENERGY.DOGLEG/LAMBDA_MEAN{{/code}}
530 desc: Wavelength calculated by the electron bunch energy (average over the bunch train) (FLASH1)
531 units: nm
532
533 [[Contents>>doc:||anchor="Contents"]]
534
535
536 ==== ====
537
538
539 ==== Timing information, rep rate etc.  (FLASH1) ====
540
541 ===== bunch repetition rate =====
542
543 {{code language="none"}}/Timing/repetition rate{{/code}}
544 //always saved (PBD)//
545 DOOCS prop : {{code language="none"}}FLASH.DIAG/TIMER/FLASHCPUTIME1.0/REP_RATE_KHZ.1{{/code}}
546 DAQ channel: {{code language="none"}}FLASH.DIAG/TIMER/FLASHCPUTIME1.0/REP_RATE_KHZ.1{{/code}}
547 desc: repetition rate of the bunches / pulses within the burst (FLASH1)
548 units: kHz
549
550 ===== set number of pulses =====
551
552 (% style="color:#ff6600" %)(HDF5 name not yet implemented - see zraw)(% style="color:#ff0000" %){{code language="none"}}/Timing/set number of bunches {{/code}}(%%)
553 //always saved (PBD)//
554 DOOCS prop : {{code language="none"}}FLASH.DIAG/TIMINGINFO/TIME1.BUNCH_FIRST_INDEX.1 [4th number]{{/code}}
555 DAQ channel: {{code language="none"}}FLASH.DIAG/TIMINGINFO/TIME1.BUNCH_FIRST_INDEX.1 [4th number]{{/code}}
556 desc: Number of bunches set in the control (timing) system.  The property contains 4 numbers. the last one is the number of pulses (see also [[doc:FLASH.Timing properties]] (internal link)).  If pulses are used for diagnostic of the protection system of the accelerator limits the number of bunches to be accelerated and thus the actual number of pulses may be smaller than the set one 
557 units:
558
559 ===== actual number of pulses =====
560
561 {{code language="none"}}/FL1/Timing/actual number of bunches{{/code}}
562 //always saved (PBD)//
563 DOOCS prop : {{code language="none"}}FLASH.DIAG/TOROID.ML/12EXP/NUMBEROFBUNCHES.FLASH1{{/code}}
564 DAQ channel: {{code language="none"}}TTF2.DIAG/PBD.TOROID.ML/12EXP{{/code}}
565 desc: Number of bunches measured BEHIND the undulator. If pulses are used for diagnostic of the protection system of the accelerator limits the number of bunches to be accelerated this is the actual number that created XUV radiation.The number is calculated by the DAQ middle layer server, (FLASH1)
566 units:
567
568 ===== actual pulse pattern recorded after the undulator =====
569
570 {{code language="none"}}/FL1/Timing/Bunch pattern/pattern after undulator{{/code}}
571 //always saved (PBD)//
572 DOOCS prop : {{code language="none"}}TTF2.DIAG/PBD.TOROID.ML/12EXP/CHARGE.TD{{/code}}
573 DAQ channel: {{code language="none"}}TTF2.DIAG/PBD.TOROID.ML/12EXP{{/code}}
574 desc: The bunch pattern as function of time in a burst recorded by toroid diagnostic BEHIND the undulator. (FLASH1)
575 units:
576
577 ===== Train ID =====
578
579 {{code language="none"}}/Timing/train ID{{/code}}
580 //always saved (PBD)//
581 DOOCS prop : {{code language="none"}}none{{/code}}
582 DAQ channel: {{code language="none"}}none{{/code}}
583 desc: Each 10 Hz burst has its unique train ID. For the HDF5 data set the ID is the same for all parameters with the same index (note camera images may be shifted by 1 ID - talk to the experts !)
584 units:
585
586 ===== (% style="color:#e67e22" %)Train time(%%) =====
587
588 (% style="color:#e67e22" %){{code language="none"}}/Timing/train time{{/code}}
589 desc:Local time as array of day, hour, minute, second, and centisecond. This data set is meant for visualization purposes only. For correlations use the train ID or the Unix time of the time stamp
590 units: d h min s cs
591
592 (% style="color:#e67e22" %){{code language="none"}}/Timing/time stamp{{/code}}
593 desc:first column: Local time in unix time. To get day, hour, minute, second you can use unix: e.g. date ~-~-date='@1553617729' or matlab, python etc
594 second column: microseconds
595 third column: Train ID of FLASH
596
597 currently it is saved as Unix time in : /zraw/FLASH.DIAG/TIMINGINFO/TIME1.BUNCH_FIRST_INDEX.1/dGroup/time
598
599 {{expand expanded="false" title="Timestamp help for python"}}
600 import time
601
602 # epoch time is found in /zraw/FLASH.DIAG/TIMINGINFO/TIME1.BUNCH_FIRST_INDEX.1/dGroup/time #!!! a leading 1 has to be added !!!
603 # The time and date of the start of the data taking in the HDF file is encoded in the filename - to roughly check the time
604 epoch_time = 1709051499.17 # Replace with your epoch time
605
606 formatted_time = time.strftime('%Y-%m-%d %H:%M:%S', time.gmtime(epoch_time))
607 print(formatted_time)
608 {{/expand}}
609
610
611
612
613 ==== Pump Probe Laser (FLASH1) ====
614
615 **PIGLET (PG laser)**
616
617 **{{code language="none"}}/FL1/Experiment/Pump probe laser{{/code}}**
618
619 {{info width="30%"}}
620 list of saved parameters status May 2024 (up to now the parameters can be found in /zraw/ ... )
621
622 Download the PDF:
623
624 {{view-file att--filename="FSLADAQ-DAQParameterlistPiGLET.pdf"}}{{/view-file}}
625
626
627
628 {{/info}}
629
630 {{expand title="Parameters used until 2021"}}
631 {{code language="none"}}
632 /FL1/Experiment/Pump probe laser/laser attenuation
633 {{/code}}
634
635 //always saved (PBD)//
636 DOOCS prop : {{code language="none"}}TTF2.FEL/PPDELAYCAL/PPDELAYCAL/ROT2.CURRENT{{/code}}
637 DAQ channel: {{code language="none"}}TTF2.FEL/PPDELAYCAL/PPDELAYCAL/ROT2.CURRENT{{/code}}
638 desc: attenuation of the PPLaser (rotation of a waveplate)
639 units : 0 no transmission , 1: full transmission
640
641
642 {{code language="none"}}/FL1/Experiment/Pump probe laser/laser delay{{/code}}
643 //always saved (PBD)//
644 DOOCS prop : {{code language="none"}}TTF2.FEL/PPDELAYCAL/PPDELAYCAL/DLY1.CURRENT{{/code}}
645 DAQ channel: {{code language="none"}}TTF2.FEL/PPDELAYCAL/PPDELAYCAL/DLY1.CURRENT{{/code}}
646 desc: delay of the Pump probe laser - measured by the read back position of the motor. only read out every secound ... better use the encoder
647 units : ps ( pos delay means IR comes later)
648
649
650 {{code language="none"}}/FL1/Experiment/Pump probe laser/delay line IK220.0/ENC.DELAY{{/code}}
651 //always saved (PBD)//
652 DOOCS prop : {{code language="none"}}TTF2.FEL/DELLINE.ENC/IK220.0/ENC.DELAY{{/code}}
653 DAQ channel: {{code language="none"}}TTF2.FEL/DELLINE.ENC/IK220.0:ENC.DELAY{{/code}}
654 subsystem: {{code language="none"}}DELLINE.ENC{{/code}} desc : delay of the Pump probe laser - measured by an encoder. The position is read out with 10Hz train synchronized and should be used to determine the actual laser delay (the motor position is only read out about every second
655 units : ps ( pos delay means IR comes later)
656
657
658 {{code language="none"}}/FL1/Experiment/Pump probe laser/Synchronization/timing jitter RMS GECCO{{/code}}
659 //always saved (PBD)//
660 DOOCS prop : {{code language="none"}}FLASH.SYNC/F1PPL.LASER_LOCK/28C.F1PPL1.CONTROLLER/ADV_CTRL_MANAGER.0.PID_INPUT_JITTER.2.RD{{/code}}
661 DAQ channel: {{code language="none"}}FLASH.SYNC/F1PPL.LASER_LOCK/28C.F1PPL1.CONTROLLER/ADV_CTRL_MANAGER.0.PID_INPUT_JITTER.2.RD{{/code}}
662 desc: rms jitter of the GECCO (% class="twikiNewLink" %)TiSa(%%) Oscillator units: fs
663
664
665 {{code language="none"}}/FL1/Experiment/Pump probe laser/streak camera delay time{{/code}}
666 //always saved (PBD)//
667 DOOCS prop : {{code language="none"}}TTF2.FEL/TDOLFEL/TDOLFEL/STREAK.CAM.TIME{{/code}}
668 DOOCS prop : {{code language="none"}}TTF2.FEL/TDOLFEL/TDOLFEL/STREAK.CAM.TIME{{/code}}
669 desc: delay time between the optical laser and the FEL units: ps
670 {{/expand}}
671
672
673 [[Contents>>doc:||anchor="Contents"]]
674
675
676 ==== User Data (FLASH1) ====
677
678 The data saved specifically for detectors at an experiment will show up in /Experiment/ there is a large number of options for cameras or monitoring of slow properties (motor positions etc) for user experiments. For details please ask your local contact.
679
680 NOTE: If parameters for an experiment are included on short notice the correct naming in the HDF5 may not be in time and the data will show up in /uncategorized/ with the DOOCS names
681
682 The most common and permanently installed device used by experiment are our ADCs:
683
684 ===== GHz ADCs =====
685
686 ADC traces of the (SPDevices 412) GHZ ADCs available for the users . More information about the ADCs can be found** [[here>>doc:FS-FLASH USER tmp.Data Acquisition and controls 1.Controls (DOOCS, jDDD,\.\.\.).MTCA ADCs.WebHome]]**
687 //saved on DEMAND in the user DAQ//
688 \\The HDF5 names for the ADC traces are depending on the beamline :
689 \\PG Beamline:
690 {{code language="none"}}/FL1/Experiment/PG/ADQ412 GHz ADC/CH00/TD{{/code}}
691 {{code language="none"}}/FL1/Experiment/PG/ADQ412 GHz ADC/CH01/TD{{/code}}
692 {{code language="none"}}/FL1/Experiment/PG/ADQ412 GHz ADC/CH02/TD{{/code}}
693 {{code language="none"}}/FL1/Experiment/PG/ADQ412 GHz ADC/CH03/TD{{/code}}
694
695 BL Beamlines:
696 {{code language="none"}}/FL1/Experiment/BL1/ADQ412 GHz ADC/CH00/TD{{/code}}
697 {{code language="none"}}/FL1/Experiment/BL1/ADQ412 GHz ADC/CH01/TD{{/code}}
698 {{code language="none"}}/FL1/Experiment/BL1/ADQ412 GHz ADC/CH02/TD{{/code}}
699 {{code language="none"}}/FL1/Experiment/BL1/ADQ412 GHz ADC/CH03/TD{{/code}}
700 \\{{code language="none"}}/FL1/Experiment/BL2/ADQ412 GHz ADC/CH00/TD{{/code}}
701 {{code language="none"}}/FL1/Experiment/BL2/ADQ412 GHz ADC/CH01/TD{{/code}}
702 \\{{code language="none"}}/FL1/Experiment/BL3/ADQ412 GHz ADC/CH02/TD{{/code}}
703 {{code language="none"}}/FL1/Experiment/BL3/ADQ412 GHz ADC/CH03/TD{{/code}}
704
705 DOOCS prop : {{code language="none"}}FLASH.FEL/ADC.ADQ.PG/EXP1.CH00/CH00.TD  or CH00.DAQ.TD{{/code}}
706 here the {{code language="none"}}CH00.TD{{/code}} is the full ADC trace as it is sampled ( typically several 100.000 samples per pulse train) while the {{code language="none"}}CH00.DAQ.TD{{/code}} trace only has the number of samples which are sent to the DAQ OR if //grouping// is activated the {{code language="none"}}CH00.DAQ.TD{{/code}} contains only the grouped spectra. To read the ADC trace with an online analysis program the {{code language="none"}}CH00.DAQ.TD{{/code}} is used preferably.
707 DAQ channel: {{code language="none"}}FLASH.FEL/ADC.ADQ.PG/EXP1.CH00{{/code}}
708
709 In addition there are also additional parameters saved like:
710
711 * {{code language="none"}}sample frequency{{/code}}: it shows the sample frequency in MHz (number of samples per µs). NOTE: the clock of the ADC is NOT synchronized to the FLASH timing system. Thus the number of samples between bunches in the bunch train may be not integer numbers which will be show up for long bunch trains.
712 * {{code language="none"}}number of samples{{/code}}: total number of samples recorded for each 10 Hz trigger
713 * {{code language="none"}}error (ADC):{{/code}}0 indicates that there was no error
714
715 ===== MHz ADCs =====
716
717 similar to the GHz ADCs the MHz ADCs are saved with HDF5 names like:
718 {{code language="none"}}/FL1/Experiment/BL1/SIS8300 100MHz ADC/CH2/TD{{/code}}
719 DOOCS prop : FLASH.FEL/ADC.SIS.BL1/EXP1.CH02/CH00.TD
720 DAQ channel: : FLASH.FEL/ADC.SIS.BL1/EXP1.CH02
721
722 In addition there are also additional parameters saved like:
723
724 * {{code language="none"}}sample frequency{{/code}}: it shows the sample frequency in MHz (number of samples per µs). NOTE: the clock of the ADC is NOT synchronized to the FLASH timing system. Thus the number of samples between bunches in the bunch train may be not integer numbers which will be show up for long bunch trains.
725 * {{code language="none"}}number of samples{{/code}}: total number of samples recorded for each 10 Hz trigger
726
727 [[Contents>>doc:||anchor="Contents"]]
728 {{/expand}}
729
730
731 === FLASH2 ===
732
733 There is analog to FLASH1 a permanently running "PhotonDagnostic DAQ FLASH2" (PBD2) and 2 User DAQs
734
735 ==== Beamline info (FLASH2) ====
736
737 {{code language="none"}}/FL2/Beamlines/Attenuator/pressure  {{/code}}
738 (% style="color:#000000" %)DOOCS prop : {{code language="none"}}FLASH.FEL/ATT.GAS_DOSING/FL2.HALL/PRESSURE{{/code}} (%%)
739 (% style="color:#000000" %)DAQ channel:  {{code language="none"}}FLASH.FEL/ATT.GAS_DOSING/FL2.HALL/PRESSURE{{/code}} (%%)
740 (% style="color:#000000" %)desc: set pressure in the gas attenuator (%%)
741 (% style="color:#000000" %)units: mbar
742
743 {{code language="none"}}/FL2/Beamlines/FL20/Shutter/open{{/code}}
744 DOOCS prop : {{code language="none"}}FLASH.FEL/ADC.SIS.FL2FS/FL20.SHUTTER/CH00.TD{{/code}}
745 DAQ channel: {{code language="none"}}FLASH.FEL/ADC.SIS.FL2FS/FL20.SHUTTER{{/code}}
746 desc: BL Beamline Fast shutter state: 1 is open, 0 is closed ( for technical reasons there are 100 vales of this state saved ...)
747 units: none
748
749
750 {{code language="none"}}/FL2/Beamlines/Filter wheel/position wheel 1{{/code}}
751 DOOCS prop : {{code language="none"}}FLASH.FEL/FL20H.PH.MOTOR/MOTOR1.MOT3/FPOS{{/code}}
752 DAQ channel: FLASH.FEL/FL20H.PH.MOTOR/MOTOR1.MOT3/FPOS
753 desc: Position of the BL filter wheel 1 - to correlate with the filter material please look **[[here>>doc:FS-FLASH USER tmp.jddd-linked help pages.Filter-Units.Filter wheels in FLASH1 and FLASH2.WebHome]]**
754 units: degree
755
756 /FL2/Beamlines/Filter wheel/position wheel 2
757 DOOCS prop : {{code language="none"}}FLASH.FEL/FL20H.PH.MOTOR/MOTOR2.MOT3/FPOS{{/code}}
758 DAQ channel: {{code language="none"}}FLASH.FEL/FL20H.PH.MOTOR/MOTOR2.MOT3/FPOS{{/code}}
759 desc: Position of the BL filter wheel 2 - to correlate with the filter material please look [[here>>doc:FS-FLASH USER tmp.jddd-linked help pages.Filter-Units.Filter wheels in FLASH1 and FLASH2.WebHome]]
760 units: degree
761
762
763 NOTE: Aperture positions in the beamline as well as the positions of the beam steering mirrors are also saved. for more Info contact your local contact
764
765 [[Contents>>doc:||anchor="Contents"]]
766
767
768
769 ==== Photon Diagnostics SASE ([[XGMD>>url:http://photon-science.desy.de/facilities/flash/photon_diagnostics/gmd_intensity_and_position/index_eng.html||shape="rect"]] - FLASH2) ====
770
771 {{code language="none"}}/FL2/Photon Diagnostic/GMD/Average energy/energy tunnel{{/code}}
772 DOOCS prop : {{code language="none"}}FLASH.FEL/XGM.PHOTONFLUX/FL2.TUNNEL/PHOTONFLUX.UJ{{/code}}
773 DAQ channel:{{code language="none"}} FLASH.FEL/XGM.PHOTONFLUX/FL2.TUNNEL/PHOTONFLUX.UJ{{/code}}
774 desc : calibrated average ( ~~ 20 sec averaging time ) SASE Energy/pulse measured in the TUNNEL before the attenuator (ion current)
775 units : microJ
776
777
778 {{code language="none"}}/FL2/Photon Diagnostic/GMD/Pulse resolved energy/energy tunnel{{/code}}
779 DOOCS prop : {{code language="none"}}FLASH.FEL/XGM.INTENSITY/FL2.TUNNEL/INTENSITY.TD{{/code}}
780 DAQ channel: {{code language="none"}}FLASH.FEL/XGM.INTENSITY/FL2.TUNNEL/INTENSITY.TD{{/code}}
781 desc : Energy per pulse measured in the Tunnel  (in front of the gas attenuator and the apertures in the Hall) In addition measurement errors and beam position are included for EACH pulse in the pulse train  !! (see below)
782 units : a.u. (more or less µJ but need to be calibrated with the "Average energy" for good precision)** [[see here for help>>doc:FS-FLASH USER tmp.jddd-linked help pages.Calibrating the pulse resolved (electron) data from GMD.WebHome]]**
783
784 {{info title="GMD pulse resolved data structure"}}
785 For every pulse in the pulse train the information is saved:
786
787 1. **Intensity per pulse** (a.u. (more or less µJ ))
788 1. Intensity per pulse (auxillary GMD) - not used
789 1. Position horizontal (mm, for a single pulse the position information may be very noisy  - talk to your local contact)
790 1. Position vertical (mm, for a single pulse the position information may be very noisy  - talk to your local contact)
791 1. **Intensity per pulse sigma** (a.u. (more or less µJ ), (% style="color:#000000" %)This parameter gives an indication of the error of the measurement of the pulse energy. This takes signal to noise,  detector resolution, uncertainties in crossection etc into account. (it is NOT the measurement of the statistical fluctuation of the SASE pulses)(%%))
792 1. Position horizontal sigma  (mm, indicates the error (RMS, sigma) of the measurement according to known uncertainties and signal to noise)
793 1. Position vertical sigma  (mm, indicates the error (RMS, sigma) of the measurement according to known uncertainties and signal to noise)
794 1. Combined warning and error flags
795
796 The pulse energy and the error are plotted for the first bunch of the pulse trains saved in this 
797 file
798
799
800 [[image:attach:image2021-2-9_10-51-6.png||height="250"]]
801
802
803 {{/info}}
804
805
806 All values for the GMD are also available for the** HALL GMD **which is located in the experimental hall down stream the gas attenuator. If the attenuator is on the ratio between Hall and Tunnel signal shows the attenuation. **BUT NOTE** that the filter unit and the Aperture 4 are downstream the GMD. So if filters and aperture are used this influence is NOT measured by the GMD hall !
807
808
809 Besides  pulse energy the GMD also provides information about the beam position
810
811
812 {{code language="none"}}/FL2/Photon Diagnostic/GMD/Average Beam position/position tunnel horizontal{{/code}}
813 DOOCS prop : {{code language="none"}}FLASH.FEL/XGM.POSMON/FL2.TUNNEL/IX.POS{{/code}}
814 DAQ channel: {{code language="none"}}FLASH.FEL/XGM.POSMON/FL2.TUNNEL/IX.POS{{/code}}
815 desc : the Average ( ~~ 20 sec averaging time ) Beam position of the photon Beam determined by the GMD (tunnel, x=horizontal)
816 units : mm
817
818
819 {{code language="none"}}/FL2/Photon Diagnostic/GMD/Average Beam position/position tunnel vertical{{/code}}
820 DOOCS prop : {{code language="none"}}FLASH.FEL/XGM.POSMON/FL2.TUNNEL/IY.POS{{/code}}
821 DAQ channel: {{code language="none"}}FLASH.FEL/XGM.POSMON/FL2.TUNNEL/IY.POS{{/code}}
822 desc : the Average ( ~~ 20 sec averaging time ) Beam position of the photon Beam determined by the GMD (tunnel, x=horizontal)
823 units : mm
824
825
826 /FL2/Photon Diagnostic/GMD/Pulse resolved beam position/position tunnel x
827 DOOCS prop : FLASH.FEL/XGM.BPM/FL2.HALL/X.TD
828 DAQ channel: FLASH.FEL/XGM.BPM/FL2.HALL:2
829 desc: Besides the well calibrated averaged beam position information there is also the option to measure the beam position on a single bunch level. HOWEVER this methide needs a perfectly adjusted signal level (talk to your local contact !!) and also then the signal to noise is rather small and one needs some averaging ... BUT with this option one can determine if there was a spatial slope on a burst (say forst bunches were lower than the last ones or so ...)
830 units : mm   
831
832 (x=horizontal, y = vertial)
833
834 again the same parameter set is available for the **HALL GMD**
835
836
837
838 ==== Photon Diagnostics OPIS[[ >>url:http://photon-science.desy.de/facilities/flash/photon_diagnostics/opis_spectrometer/index_eng.html||shape="rect"]](FLASH2) ====
839
840 for more info see:** [[ OPIS>>url:http://photon-science.desy.de/facilities/flash/photon_diagnostics/opis_spectrometer/index_eng.html||shape="rect"]]**
841
842 (The OPIS hall is not installed yet ...)
843
844
845 {{code language="none"}}/FL2/Photon Diagnostic/Wavelength/OPIS tunnel/Processed/mean photon energy{{/code}}
846 DOOCS prop : {{code language="none"}}FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL042{{/code}}
847 DAQ channel:{{code language="none"}} FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL042{{/code}}
848 desc : mean photon energy ( ~~ 1 sec averaging time ) measured in the TUNNEL for a specific bunch out of the bunch train (via photoelectron spectroscopy)
849 units : eV
850
851
852 {{code language="none"}}/FL2/Photon Diagnostic/Wavelength/OPIS tunnel/Processed/mean wavelength{{/code}}
853 DOOCS prop : {{code language="none"}}FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL040{{/code}}
854 DAQ channel:{{code language="none"}} FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL040{{/code}}
855 desc : mean wavelength ( ~~ 1 sec averaging time ) measured in the TUNNEL for a specific bunch out of the bunch train (via photoelectron spectroscopy)
856 units : nm
857
858
859 {{code language="none"}}/FL2/Photon Diagnostic/Wavelength/OPIS tunnel/Processed/number of analyzed bunch        (in older version this can be found in OPIS tunnel/Expert stuff/General operation parameters/){{/code}}
860 DOOCS prop : {{code language="none"}}FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL060{{/code}}
861 DAQ channel:{{code language="none"}} FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL060{{/code}}
862 desc : The bunch number of the bunch used for the wavelength calculation
863 units :
864
865 {{expand expanded="false" title="More detailed info on OPIS properties"}}
866 FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL370,'%','relative width of photoline in percent of the FEL photon energy ROI1, rising flank'
867 FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL375,'%','relative width of photoline in percent of the FEL photon energy ROI1, tailing flank'
868 FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL470,'%','relative width of photoline in percent of the FEL photon energy ROI1, mean'
869 FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL371,'%','relative width of photoline in percent of the FEL photon energy ROI2, rising flank'
870 FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL376,'%','relative width of photoline in percent of the FEL photon energy ROI2, tailing flank'
871 FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL471,'%','relative width of photoline in percent of the FEL photon energy ROI2, mean'
872 FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL372,'%','relative width of photoline in percent of the FEL photon energy ROI3, rising flank'
873 FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL377,'%','relative width of photoline in percent of the FEL photon energy ROI3, tailing flank'
874 FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL472,'%','relative width of photoline in percent of the FEL photon energy ROI3, mean'
875 FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL373,'%','relative width of photoline in percent of the FEL photon energy ROI4, rising flank'
876 FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL378,'%','relative width of photoline in percent of the FEL photon energy ROI4, tailing flank'
877 FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL473,'%','relative width of photoline in percent of the FEL photon energy ROI4, mean'
878 FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL374,'%','relative width of photoline in percent of the FEL photon energy ROI5, rising flank'
879 FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL379,'%','relative width of photoline in percent of the FEL photon energy ROI5, tailing flank'
880 FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL474,'%','relative width of photoline in percent of the FEL photon energy ROI5, mean'
881 {{/expand}}
882
883 If Opis is running typically on the the averaged data is saved. For several experiments it may make sense to save the information for each single bunch. This is up to now done by saving the complete ADC trace of the TOF setup. This is a huge amount of data and needs processing. This has to be performed after the beamtime in close contact to [[Markus Braune>>mailto:markus.braune@desy.de||shape="rect"]] ( responsible for [[OPIS>>url:http://photon-science.desy.de/facilities/flash/photon_diagnostics/opis_spectrometer/index_eng.html||shape="rect"]])
884
885
886 In case OPIS was not operating there is still information about the **set wavelength** for the undulators (see below) which may differ by up to 5 % from the actual wavelength due to different settings in the FEL ...
887
888
889
890 ==== Electron Beam properties (FLASH2) ====
891
892 ===== bunch charge =====
893
894 {{code language="none"}}/FL2/Electron Diagnostic/Bunch charge/after undulator{{/code}}
895 DOOCS prop : {{code language="none"}}FLASH.DIAG/PBD2.TOROID.ML/9FL2BURN/CHARGE.FLASH2{{/code}}
896 DAQ channel: {{code language="none"}}FLASH.DIAG/PBD2.TOROID.ML/9FL2BURN/CHARGE.FLASH2{{/code}}
897 desc: electron bunch charge FLASH2 (average value for each bunchtrain).
898 units: nC
899
900
901 ===== electron bunch energy =====
902
903 {{code language="none"}}/FL2/Electron Diagnostic/Electron energy/energy of first bunch/behind undulators{{/code}}
904 DOOCS prop : {{code language="none"}}FLASH.DIAG/BEAM_ENERGY_MEASUREMENT/FL2XTDS/ENERGY.FLASH2{{/code}}
905 DAQ channel: (% style="color:#5e6c84" %)TTF2.DAQ/PBD2.BEAM.ENERGY.MEAS.ML.COPY/FL2XTDS.ENERGY.FLASH2{{code language="none"}}{{/code}}(%%)
906 desc: electron bunch energy measured behind the undulator. Data is saved with 10 Hz - BUT (for computation reasons) only the energy of the FIRST bunch is recorded. The data is also available for (% style="color:#5e6c84" %)extraction and septum  in the beginning of FLASH2
907
908 (% style="letter-spacing:0.0px" %)units: (% class="twikiNewLink" %)MeV
909
910
911 (% style="color: rgb(94, 108, 132); font-weight: 600; letter-spacing: 0px;" %)
912 ===== undulator settings =====
913
914 {{code language="none"}}/FL2/Electron Diagnostic/Undulator setting/set wavelength 1{{/code}}
915 DOOCS prop : {{code language="none"}}FLASH.FEL/FL2.WAVELENGTHCONTROL/FLASH2.COLOR1/WAVELENGTH{{/code}}
916 DAQ channel:  {{code language="none"}}FLASH.FEL/FL2.WAVELENGTHCONTROL/FLASH2.COLOR1/WAVELENGTH{{/code}}
917 desc: Set value for the anticipated wavelength 1 . This parameter is used to set the undulator gap. It may however deviate from the actual wavelength by several % ... For 2 color operation there is also  the same parameter for COLOR 2
918 units: nm
919
920 {{code language="none"}}/FL2/Electron Diagnostic/Undulator setting/SASE13 gap{{/code}}
921 DOOCS prop : {{code language="none"}}FLASH.UTIL/FL2.UND.MOTOR/FL2SASE13/GAP{{/code}}
922 DAQ channel:  {{code language="none"}}FLASH.UTIL/FL2.UND.MOTOR/FL2SASE13/GAP{{/code}}
923 desc: gap value of the undulators. This can be used to follow up how many undulators were closed and if there was a taper. 
924 units: mm
925
926 The gap values are saved for all 12 undulators (Nr 2 to 13). Undulator 13 is the one closest to the experimental hall.
927
928 =====
929 arrival time (BAM) =====
930
931 {{info title="BAM information: updates 2022 (status 2025)"}}
932 * see: [[Info collection about the BAMs and how to use the BAM data>>doc:FS-FLASH USER tmp.jddd-linked help pages.Info collection for the BAM.WebHome||shape="rect"]]
933 * The data format of the BAM has been completely altered in the 2022 shutdown
934 * before 2022 BAMs were always saving the arrival time information for each 1µs bucked regardless if there were electrons in the accelerator or not. IN addition the arrival times for  FL1 and FL2 were saved in the same parameter ...
935 * THIS is now different. There are new parameters saving only the arrival times for pulses that go to FL1 and to FL2 (in detail: first time slot of the accelerator and second)
936 * There has been also a renaming  (and relocation) of the BAMs.
937 ** acc:  4DBC3 → FL0.DBC2
938 ** FL1: 1SFELC →  FL1.SFELC
939 ** FL2: FL2XTDS → (% style="color:#172b4d" %)FL2.SEED5
940 * for more Info: [[LINK to detailed infos from MSK>>doc:SDiag.How-to articles.BAM Data Structure.WebHome||shape="rect"]]
941 * [[Link a collection of papers related to the BAM and the analysis of pump-probe experiments>>doc:FS-FLASH USER tmp.Additional helpful things1.FLASH beamlines and instruments references.WebHome]]
942 * a recent  [[talk about the working principle of the BAM>>attach:BAM-basics and outlook-2018_DESY-template_16-9Format.pdf]]
943 {{/info}}
944
945 {{expand title="Discontinued BAM format (used until end 2021)"}}
946 (% style="color:#000000" %)**Discontinued BAM data recording **
947
948 {{code language="none"}}/FL2/Electron Diagnostic/BAM/8FL2XTDS/electron bunch arrival time (low charge){{/code}}
949 //always saved (PBD2)//
950 DOOCS prop : {{code language="none"}}FLASH.SDIAG/BAM/8FL2XTDS/LOW_CHARGE_ARRIVAL_TIME{{/code}}
951 DAQ channel: {{code language="none"}}FLASH.SDIAG/BAM.DAQ/8FL2XTDS.LOW_CHARGE_ARRIVAL_TIME{{/code}}
952 desc: Electron bunch arrival time measured with the BAM after the FLASH2 undulator (pulse resolved data)
953 units: ps (bigger numbers indicate later arrivaltime of the electrons)
954
955 **FL1**{{code language="none"}}//Electron Diagnostic/BAM/4DBC3/electron bunch arrival time (low charge){{/code}}
956 //always saved (PBD2)//
957 DOOCS prop : {{code language="none"}}FLASH.SDIAG/BAM/4DBC3/LOW_CHARGE_ARRIVAL_TIME{{/code}}
958 DAQ channel: {{code language="none"}}FLASH.SDIAG/BAM.DAQ/4DBC3.LOW_CHARGE_ARRIVAL_TIME{{/code}}
959 desc: Electron bunch arrival time measured with the BAM  in the accelerator  (pulse resolved data)
960 units: ps (bigger numbers indicate later arrivaltime of the electrons)
961
962 {{info title="BAM hints"}}
963 * The BAM 4DBC3 measures the arrivaltime of** FLASH 1 and FLASH2** in the same data set (thus also sorted in at /FL1/ !).
964 * The BAM 8FL2XTDS measures only for FLASH2 BUT has the same data structure as the other BAMS ... thus there are also (random) values in in the  FLASH1 time slot 
965 ** Structure: The first values are for FLASH1 bunches. After a gap of about 70 micros ( 70 colums)  with  as entry for the switching between FLASH 1 and 2 the values for the electrons used in FLASH2 start.  The start time of FLASH2 is also recorded in the DAQ. FLASH1 start time is for historic reasons 700. thus if e.g. the start time of FLASH2 ( property name see below) is 1200 it means that FLASH starts at column 500 (1200-700) ... .In case of doubt ask your local contact
966 * [[Link a collection of papers related to the BAM and the analysis of pump-probe experiments >>doc:FS-FLASH USER tmp.Additional helpful things1.FLASH beamlines and instruments references.WebHome]]
967 * [[LINK to detailed infos from MSK (may only work inside DESY network~[~[image:url:http://hasfweb.desy.de/pub/TWiki/TWikiDocGraphics/external-link.gif~|~|height="12" width="13"~]~]>>url:http://www.desy.de/~~mbock/pages/BAM_daq_channel_descriptions.html||shape="rect"]]
968 * a recent  [[talk about the working principle of the BAM>>attach:BAM-basics and outlook-2018_DESY-template_16-9Format.pdf]]
969 {{/info}}
970 {{/expand}}
971
972
973 ====== **BAM FL0.DBC2**{{code language="none"}}{{/code}} ======
974
975 (% style="color:#ff6600" %)**DBC2**/electron bunch arrival time  (HDF5 name not yet implemented - see zraw){{code language="none"}}/FL2/Electron Diagnostic/BAM/{{/code}}
976
977 {{code language="none"}}
978 /zraw/FLASH.SDIAG/BAM.DAQ/FL0.DBC2.ARRIVAL_TIME.ABSOLUTE.SA2.COMP/dGroup/
979 {{/code}}
980
981 //always saved (PBD)//
982 **FL0.DBC2**
983 (% style="color:#000000" %)channel: FLASH.SDIAG/BAM/**FL0.DBC2**/ARRIVAL_TIME.ABSOLUTE.SA2.COMP
984 {{code language="none"}} DOOCS prop : FLASH.SDIAG/BAM//ARRIVAL_TIME.ABSOLUTE.SA2.COMPDAQ {{/code}}(% style="letter-spacing:0.0px" %)desc: Electron bunch arrival time measured with the BAM inside the accelerator (after bunch compressor 2). The property contains only the arrival time of the bunches sent to FL2 (e.g. if there are 30 bunches in FL2 the first 30 values are the arrival time the remaining numbers still may have arbitrary numbers looking like a signal which they are not0). These are the same values as the "raw" data below - just "cleaned". The values show a very good correlation to the arrival time  of the XUV pulses in the experiment (see help).
985 units: fs (bigger numbers (typically) indicate later arrival times of the electrons).
986
987
988 (% style="color:#ff6600" %)DBC2/electron bunch arrival time (raw)  (HDF5 name not yet implemented - see zraw){{code language="none"}}/FL2/Electron Diagnostic/BAM/{{/code}}
989
990 {{code language="none"}}/zraw/FLASH.SDIAG/BAM.DAQ/FL0.DBC2.ARRIVAL_TIME.ABSOLUTE.SA2/dGroup/{{/code}}
991 //always saved (PBD)//
992 {{code language="none"}}DOOCS prop : FLASH.SDIAG/BAM/FL0.DBC2/ARRIVAL_TIME.ABSOLUTE{{/code}}
993 (% style="color:#000000" %)FLASH.SDIAG/BAM/FL0.DBC2/ARRIVAL_TIME.ABSOLUTE {{code language="none"}}DAQ channel: {{/code}}(%%)
994 desc: Electron bunch arrival time measured with the BAM inside the accelerator (after bunch compressor 2). Here the complete bunch train from the FEL is recorded (FLASH1 and FLASH2 pulses). Thus there are values from FLASH 2 in the second part. they may be separated by several "0" values if the reprate is different from 1 MHz ...  - It shows a very good correlation to the arrival time  of the XUV pulses in the experiment (see help). 
995 units: fs (bigger numbers (typically) indicate later arrival times of the electrons).
996
997
998 DBC2/error (% style="color:#f39c12" %)(HDF5 name not yet implemented - see zraw)(%%)/FL2/Electron Diagnostic/BAM/
999 //always saved (PBD)//
1000 DOOCS prop : FLASH.SDIAG/BAM/FL0.DBC2/ARRIVAL_TIME.bamError.2
1001 DAQ channel: FLASH.SDIAG/BAM/FL0.DBC2/ARRIVAL_TIME.BAMERROR.2
1002 desc: If the value is 0 , the BAM is working well. If it is non-zero there is a problem !!
1003
1004 DBC2/status  (% style="color:#e67e22" %)(HDF5 name not yet implemented - see zraw)(%%)/FL2/Electron Diagnostic/BAM/
1005 //always saved (PBD)//
1006 DOOCS prop : FLASH.SDIAG/BAM/FL0.DBC2/ARRIVAL_TIME.bamStatus.//2//
1007 DAQ channel: FLASH.SDIAG/BAM/FL0.DBC2/ARRIVAL_TIME.BAMSTATUS.2
1008 desc:  status bit: 0 - data is valid; 1 - beam present; 2 - calibration ongoing; 3 - feedback enabled; 4 - feedback acting;  mostly check for bit 0 == 1 is sufficient
1009
1010
1011
1012 ====== **BAM FL2.SEED5**{{code language="none"}}{{/code}} ======
1013
1014 /FL2/Electron Diagnostic/BAM/**SEED5**(% style="color:#ff6600" %)/electron bunch arrival time  (HDF5 name not yet implemented - see zraw)
1015
1016 (% style="color:#000000" %){{code language="none"}}/zraw/FLASH.SDIAG/BAM.DAQ/FL0.SEED5.ARRIVAL_TIME.ABSOLUTE.SA2.COMP/dGroup/{{/code}}
1017
1018 //always saved (PBD)//
1019 (% style="color:#172b4d" %)**FL2.SEED5**(%%)
1020 (% style="color:#000000" %)channel: FLASH.SDIAG/BAM/(% style="color:#172b4d" %)**FL2.SEED5**(% style="color:#000000" %)/ARRIVAL_TIME.ABSOLUTE.SA1.COMP
1021 {{code language="none"}} DOOCS prop : FLASH.SDIAG/BAM//ARRIVAL_TIME.ABSOLUTE.SA1.COMPDAQ {{/code}}(%%)desc: Electron bunch arrival time measured  with the BAM  before the undulator (pulse resolved data). This one was newly installed in 2020.. The property contains only the arrival time of the bunches sent to FL2 (e.g. if there are 30 bunches in FL2 the first 30 values are the arrival time the remaining numbers still may have arbitrary numbers looking like a signal which they are not). These are the same values as the "raw" data below - just "cleaned". The values show a very good correlation to the arrival time  of the XUV pulses in the experiment (see help).
1022 units: fs (bigger numbers (typically) indicate later arrival times of the electrons).
1023
1024
1025
1026 (% style="color:#172b4d" %)SEED5(% style="color:#ff6600" %)/electron bunch arrival time (raw) (HDF5 name not yet implemented - see zraw){{code language="none"}}/FL2/Electron Diagnostic/BAM/{{/code}}
1027
1028 (% style="color:#000000" %){{code language="none"}}/zraw/FLASH.SDIAG/BAM.DAQ/FL0.SEED5.ARRIVAL_TIME.ABSOLUTE.SA2/dGroup/{{/code}}(%%)
1029 //always saved (PBD)//
1030 (% style="color:#172b4d" %)**FL2.SEED5**{{code language="none"}}DOOCS prop : FLASH.SDIAG/BAM//ARRIVAL_TIME.ABSOLUTE{{/code}}(%%)
1031 **~ **(% style="color:#000000" %)FLASH.SDIAG/BAM/(% style="color:#172b4d" %)**FL2.SEED5**(% style="color:#000000" %)/ARRIVAL_TIME.ABSOLUTE {{code language="none"}}DAQ channel:{{/code}}(%%)
1032 desc: Electron bunch arrival time measured  with the BAM  before the undulator (pulse resolved data). This one was newly installed in 2020. Here the complete bunch train from the FEL is recorded (FLASH1 and FLASH2 pulses). Thus there are values from FLASH 2 in the second part. they may be separated by several "0" values if the reprate is different from 1 MHz ...  - It shows a very good correlation to the arrival time  of the XUV pulses in the experiment (see help). 
1033 units: fs (bigger numbers (typically) indicate later arrival times of the electrons).
1034
1035
1036 FL2.SEED5/error (% style="color:#f39c12" %)(HDF5 name not yet implemented - see zraw)(%%)/FL2/Electron Diagnostic/BAM/
1037 //always saved (PBD)//
1038 DOOCS prop : FLASH.SDIAG/BAM/FL2.SEED5/ARRIVAL_TIME.bamError.2
1039 DAQ channel: FLASH.SDIAG/BAM/FL2.SEED5/ARRIVAL_TIME.BAMERROR.2
1040 desc: If the value is 0 , the BAM is working well. If it is non-zero there is a problem !!
1041
1042 FL2.SEED5/status  (% style="color:#e67e22" %)(HDF5 name not yet implemented - see zraw)(%%)/FL2/Electron Diagnostic/BAM/
1043 //always saved (PBD)//
1044 DOOCS prop : FLASH.SDIAG/BAM/FL2.SEED5/ARRIVAL_TIME.bamStatus.//2//
1045 DAQ channel: FLASH.SDIAG/BAM/FL2.SEED5/ARRIVAL_TIME.BAMSTATUS.2
1046 desc:  status bit: 0 - data is valid; 1 - beam present; 2 - calibration ongoing; 3 - feedback enabled; 4 - feedback acting;  mostly check for bit 0 == 1 is sufficient
1047
1048
1049 [[Contents>>doc:||anchor="Contents"]]
1050
1051
1052 ==== Timing information, rep rate etc.  (FLASH2) ====
1053
1054 ===== start time of FLASH2 =====
1055
1056 {{code language="none"}}/FL2/Timing/start time flash2{{/code}}
1057 //always saved (PBD2)//
1058 DOOCS prop : {{code language="none"}}FLASH.DIAG/TIMER/FLASHCPUTIME1.0/BUNCH_POSITION.2{{/code}}
1059 DAQ channel: {{code language="none"}}FLASH.DIAG/TIMER/FLASHCPUTIME1.0/BUNCH_POSITION.2{{/code}}
1060 desc: The max 600 µs acceleration time of FLASH is devided between FLASH1 and FLASH2. This 600 µs window starts with FLASH1 (up to now)  at a time"label" of 700 µs (for historic reasons). Thus the first bunch of FLASH 1 comes at "700" and the last possibel bunch comes at 1300 (700+600). After FLASH1 train is over ther is a about 70µs switching time with no bunches. Then comes the first FLASH2 bunch.  Thus if e.g. the start time of FLASH2 is 1200 it means that FLASH2 starts at column 500 (1200-700)  in the HDF5 files. (However for yet unknown reasons this may change by 2-3 colums ...)
1061 units: µs
1062
1063 ===== bunch repetition rate =====
1064
1065 {{code language="none"}}/FL2/Timing/repetition rate{{/code}}
1066 //always saved (PBD2)//
1067 DOOCS prop : {{code language="none"}}FLASH.DIAG/TIMER/FLASHCPUTIME1.0/REP_RATE_KHZ.2{{/code}}
1068 DAQ channel: {{code language="none"}}FLASH.DIAG/TIMER/FLASHCPUTIME1.0/REP_RATE_KHZ.2{{/code}}
1069 desc: repetition rate of the bunches / pulses within the burst (FLASH2)
1070 units: kHz
1071
1072
1073 ===== set number of pulses =====
1074
1075 (% style="color:#ff6600" %)(HDF5 name not yet implemented - see zraw)(% style="color:#ff0000" %){{code language="none"}}/FL2/Timing/set number of bunches {{/code}}(%%)
1076 //always saved (PBD2)//
1077 DOOCS prop : {{code language="none"}}FLASH.DIAG/TIMINGINFO/TIME1.BUNCH_FIRST_INDEX.2 [4th number]{{/code}}
1078 DAQ channel: {{code language="none"}}FLASH.DIAG/TIMINGINFO/TIME1.BUNCH_FIRST_INDEX.2 [4th number]{{/code}}
1079 desc: Number of bunches set in the control (timing) system.  The property contains 4 numbers. the last one is the number of pulses (see also [[doc:FLASH.Timing properties]] (internal link)).  If pulses are used for diagnostic of the protection system of the accelerator limits the number of bunches to be accelerated and thus the actual number of pulses may be smaller than the set one 
1080 units:
1081
1082 ===== actual number of pulses =====
1083
1084 {{code language="none"}}/FL1/Timing/actual number of bunches{{/code}}
1085 //always saved (PBD2)//
1086 DOOCS prop : {{code language="none"}}FLASH.DIAG/PBD2.TOROID.ML/3GUN/NUMBEROFBUNCHES.FLASH2{{/code}}
1087 DAQ channel: {{code language="none"}}FLASH.DIAG/PBD2.TOROID.ML/3GUN/NUMBEROFBUNCHES.FLASH2{{/code}}
1088 desc: Number of bunches measured BEHIND the undulator. If pulses are used for diagnostic of the protection system of the accelerator limits the number of bunches to be accelerated this is the actual number that created XUV radiation.The number is calculated by the DAQ middle layer server, (FLASH2)
1089 units:
1090
1091 ===== actual pulse pattern recorded after the undulator =====
1092
1093 {{code language="none"}}/FL1/Timing/Bunch pattern/pattern after undulator{{/code}}
1094 //always saved (PBD2)//
1095 DOOCS prop : {{code language="none"}}FLASH.DIAG/PBD2.TOROID.ML/9FL2BURN.PULSEPATTERN{{/code}}
1096 DAQ channel: {{code language="none"}}FLASH.DIAG/PBD2.TOROID.ML/9FL2BURN.PULSEPATTERN{{/code}}
1097 desc: The bunch pattern as function of time in a burst recorded by toroide diagnostic BEHIND the undulator. (FLASH2)
1098 units:
1099
1100 ===== Train ID =====
1101
1102 {{code language="none"}}/Timing/train ID{{/code}}
1103 //always saved (PBD2)//
1104 DOOCS prop : {{code language="none"}}none{{/code}}
1105 DAQ channel: {{code language="none"}}none{{/code}}
1106 desc: Each 10 Hz burst has its unique train ID. For the HDF5 dataset the ID is the same for all parameters with the same index (note camera images may be shifted by 1 ID - talk to the experts !)
1107 units:
1108
1109 ===== (% style="color:#e67e22" %)Train time(%%) =====
1110
1111 (% style="color:#e67e22" %)//always saved (PBD2)//(%%)
1112 (% style="color:#e67e22" %){{code language="none"}}/Timing/train time{{/code}}
1113 desc:Local time as array of day, hour, minute, second, and centisecond. This dataset is meant for visualisation purposes only. For correlations use the train ID or the Unix time of the time stamp
1114 units: d h min s cs
1115
1116 {{code language="none"}}
1117 /Timing/time stamp
1118 {{/code}}
1119
1120 (% style="color:#e67e22" %)//always saved (PBD2)//(%%)
1121 (% style="color:#e67e22" %)desc: first column: Local time in unix time. To get day, hour, minute, second you can use unix: e.g. date ~-~-date='@1553617729' or matlab, python etc
1122 second column: microseconds
1123 third column: Train ID of FLASH
1124
1125
1126 (% id="cke_bm_2455529S" style="display:none" %) (%%)currently it is saved as Unix time in : /zraw/FLASH.DIAG/TIMINGINFO/TIME1.BUNCH_FIRST_INDEX.1/dGroup/time
1127
1128 {{expand expanded="false" title="Timestamp help for python"}}
1129 import time
1130
1131 # epoch time is found in /zraw/FLASH.DIAG/TIMINGINFO/TIME1.BUNCH_FIRST_INDEX.1/dGroup/time #!!! a leading 1 has to be added !!!
1132 # The time and date of the start of the data taking in the HDF file is encoded in the filename - to roughly check the time
1133 epoch_time = 1709051499.17 # Replace with your epoch time
1134
1135 formatted_time = time.strftime('%Y-%m-%d %H:%M:%S', time.gmtime(epoch_time))
1136 print(formatted_time)
1137 {{/expand}}
1138
1139
1140
1141
1142 [[Contents>>doc:||anchor="Contents"]]
1143
1144
1145 ==== User Data (FLASH2) ====
1146
1147 The data saved specifically for detectors at an experiment will show up in /Experiment/ there is a large number of options for cameras or monitoring pslow properties (motor positons etc) for user experiments. For details please ask your local contact.
1148
1149 NOTE: If parameters for an experiment are included on short notice the correct naming in the HDF5 may not be in time and the data will show up in /uncategorized/ with the DOOCS names
1150
1151 The most common and permanently installed device used by experiment are our ADCs:
1152
1153 ===== GHz ADCs =====
1154
1155 ADC traces of the (SPDevices 412) GHZ ADCs available for the users . More information about the ADCs can be found** [[here>>doc:FS-FLASH USER tmp.Data Acquisition and controls 1.Controls (DOOCS, jDDD,\.\.\.).MTCA ADCs.WebHome]]**
1156 //saved on DEMAND in the user DAQ//
1157 \\Up to now there are 4 channels available at FL24
1158 \\\\{{code language="none"}}/FL2/Experiment/MTCA-EXP1/ADQ412 GHz ADC/CH00/TD{{/code}}
1159 {{code language="none"}}/FL2/Experiment/MTCA-EXP1/ADQ412 GHz ADC/CH01/TD{{/code}}
1160 \\{{code language="none"}}/FL2/Experiment/MTCA-EXP1/ADQ412 GHz ADC/CH02/TD{{/code}}{{code language="none"}}/FL2/Experiment/MTCA-EXP1/ADQ412 GHz ADC/CH03/TD{{/code}}
1161
1162
1163 DOOCS prop : {{code language="none"}}FLASH.FEL/ADC.ADQ.FL2EXP1/FL2EXP1.CH00/CH00.TD  or CH00.DAQ.TD{{/code}}
1164 here the {{code language="none"}}CH00.TD{{/code}} is the full ADC trace as it is sampled ( typically several 100.000 samples per pulse train) while the {{code language="none"}}CH00.DAQ.TD{{/code}} trace only has the number of samples which are sent to the DAQ OR if //grouping// is activated the {{code language="none"}}CH00.DAQ.TD{{/code}} conatins only the grouped spectra. To read the ADC trace with an online analysis program the {{code language="none"}}CH00.DAQ.TD{{/code}} is used preferablly.
1165 DAQ channel: {{code language="none"}}FLASH.FEL/ADC.ADQ.FL2EXP1/FL2EXP1.CH00{{/code}}
1166
1167 In addition there are also additional parameters saved like:
1168
1169 * {{code language="none"}}sample frequency{{/code}}: it shows the sample frequency in MHz (number of samples per µs). NOTE: the clock of the ADC is NOT synchronized to the FLASH timing system. Thus the number of samples between bunches in the bunch train may be not integer numbers which will be show up for long bunch trains.
1170 * {{code language="none"}}number of samples{{/code}}: total number of samoles recorded for each 10 Hz trigger
1171 * {{code language="none"}}error (ADC):{{/code}}0 indicates that there was no error
1172 * {{code language="none"}}/CH0-CH3/offset{{/code}}: To use the full dynamic range of the ADC one can shift the base line . This offset is saved here.
1173
1174 ===== MHz ADCs =====
1175
1176 similar to the GHz ADCs the MHz ADCs are saved with HDF5 names like:
1177 {{code language="none"}}/FL2/Experiment/MTCA-EXP1/SIS8300 100MHz ADC/CH2/TD{{/code}}
1178 DOOCS prop : FLASH.FEL/ADC.SIS.FL2EXP1/FL2EXP1.CH02/CH00.TD
1179 DAQ channel: : FLASH.FEL/ADC.SIS.FL2EXP1/FL2EXP1.CH02
1180
1181 In addition there are also additional parameters saved like:
1182
1183 * {{code language="none"}}sample frequency{{/code}}: it shows the sample frequency in MHz (number of samples per µs). NOTE: the clock of the ADC is NOT synchronized to the FLASH timing system. Thus the number of samples between bunches in the bunch train may be not integer numbers which will be show up for long bunch trains.
1184 * {{code language="none"}}number of samples{{/code}}: total number of samoles recorded for each 10 Hz trigger
1185
1186 [[Contents>>doc:||anchor="Contents"]]
1187
1188
1189
1190 ==== Pump Probe Laser (FLASH2) ====
1191
1192 {{info width="30%"}}
1193 list of saved parameters status May 2024 (up to now the parameters can be found in /zraw/ ... )
1194
1195 [[attach:FSLADAQ-DAQParameterlistULGAN-2.pdf||target="_blank"]]
1196
1197 [[attach:FSLADAQ-DAQParameterlistFL23-2.pdf||target="_blank"]]
1198
1199 [[attach:FSLADAQ-DAQParameterlistFL24-2.pdf||target="_blank"]]
1200
1201
1202 {{view-file att--filename="FSLADAQ-DAQParameterlistFL23-2.pdf"}}{{/view-file}}
1203
1204
1205 {{view-file att--filename="FSLADAQ-DAQParameterlistFL23-2.pdf"}}{{/view-file}}
1206
1207
1208 {{view-file att--filename="FSLADAQ-DAQParameterlistFL24-2.pdf"}}{{/view-file}}
1209
1210 internal link to parameter list: [[FS-LA DAQ - XWiki>>url:https://xwiki.desy.de/xwiki/bin/view/FSLADAQ/]]
1211 {{/info}}
1212
1213 {{expand title="Laser parameters used until 2023"}}
1214 These are the parameters that can be saved in the FL2 User DAQ for the FL2 PP laser//** FOR BEAMLINE FL24**//
1215
1216 **User delay**
1217
1218 Delay (set value):
1219
1220 {{code language="none"}}
1221 FLASH.SYNC/LASER.LOCK.EXP/F2.PPL.OSC/FMC0.MD22.0.POSITION_SET.WR
1222 {{/code}}
1223
1224 Delay (readback):
1225
1226 {{code language="none"}}
1227 FLASH.SYNC/LASER.LOCK.EXP/F2.PPL.OSC/FMC0.MD22.0.POSITION.RD
1228 {{/code}}
1229
1230 (% style="letter-spacing:0.0px" %)Delay (encoder readback):
1231
1232 {{code language="none"}}
1233 FLASH.SYNC/LASER.LOCK.EXP/F2.PPL.OSC/FMC0.MD22.0.ENCODER_POSITION.RD
1234 {{/code}}
1235
1236 OXC. jitter:
1237
1238 {{code language="none"}}
1239 FLASH.SYNC/LASER.LOCK.EXP/F2.PPL.OSC/CURRENT_INPUT_JITTER.RD
1240 {{/code}}
1241
1242
1243
1244 **FL24 Pulse resolved energy:**
1245
1246 OPCPA output (photodiode signal raw ADC trace 16000 samples):
1247
1248 {{code language="none"}}
1249 /zraw/FLASH.LASER/FLASH2CPUULGAN1.ADCSCOPE/CH23.TD/dGroup
1250 {{/code}}
1251
1252 (% style="letter-spacing:0.0px" %)Upper breadboard Photodiode (THG) burst (photodiode signal raw ADC trace 16000 samples)::
1253
1254 {{code language="none"}}
1255 /zraw/FLASH.LASER/FLASH2CPUULGAN1.ADCSCOPE/CH26.TD/dGroup
1256 {{/code}}
1257
1258 Upper breadboard Photodiode (THG) energy (analyzed signal. integration over pulses in the ADC trace. contains for each laser pulse the pulse energy in a.u.)
1259
1260 {{code language="none"}}
1261 /zraw/FLASH.LASER/MOD24.PES/FL24_userPD/dGroup
1262 {{/code}}
1263
1264
1265 **FL24 LAM (Laser Arrivaltime Monitor)  pulse resolved data:**
1266
1267 Signal of Photodiode1  - for experts only... (analyzed signal. integration over pulses in the ADC trace. )
1268
1269 {{code language="none"}}
1270 /zraw/FLASH.LASER/MOD24.PES/LAM.PD1/dGroup
1271 {{/code}}
1272
1273 Signal of Photodiode2  - for experts only...  (analyzed signal. integration over pulses in the ADC trace.)
1274
1275 {{code language="none"}}
1276 /zraw/FLASH.LASER/MOD24.PES/LAM.PD2/dGroup
1277 {{/code}}
1278
1279 "Actual" LAM Signal - to be calibrated ......  (analyzed signal. integration over pulses in the ADC trace.)
1280
1281 {{code language="none"}}
1282 /zraw/FLASH.LASER/MOD24.PES/LAM.PDBAL/dGroup
1283 {{/code}}
1284
1285 The delay feedback(% style="letter-spacing:0.0px" %)
1286
1287 {{code language="none"}}
1288 FLASH.LASER/ULGAN1.DYNPROP/TCFIBER.DOUBLES/DOUBLE26 
1289 {{/code}}
1290
1291 The LAM delay feedback(% style="letter-spacing:0.0px" %) (the pulse energy signal, which is saved in the above but maybe it’s good to have this also as slow, in the case these two numbers are not the same the sysdc was active instead of the LAM):
1292
1293 {{code language="none"}}
1294 FLASH.LASER/MOD24.PES/LAM.PDBAL/PULSEENERGY.MEAN
1295 {{/code}}
1296
1297 LAM Delay line act:
1298
1299 {{code language="none"}}FLASH.SYNC/LAM.EXP.ODL/F2.MOD.AMC12/FMC0.MD22.1.POSITION.RD{{/code}}
1300 LAM Delay line set:
1301
1302 {{code language="none"}}
1303 FLASH.SYNC/LAM.EXP.ODL/F2.MOD.AMC12/FMC0.MD22.1.POSITION_SET.WR
1304 {{/code}}
1305
1306 LAM Delay line encoder:
1307
1308 {{code language="none"}}
1309 FLASH.SYNC/LAM.EXP.ODL/F2.MOD.AMC12/FMC0.MD22.1.ENCODER_POSITION.RD
1310 {{/code}}
1311
1312 Temperature feedback:
1313
1314 {{code language="none"}}
1315 FLASH.LASER/ULGAN1.DYNPROP/TCFIBER.DOUBLES/DOUBLE24
1316 {{/code}}
1317
1318 **Feedback mode** (if this is not =1 the delay FB is not active, then it’s either temp feedback controlled or failsave, maybe it’s good to have):
1319
1320 {{code language="none"}}
1321 FLASH.LASER/ULGAN1.DYNPROP/TCFIBER.INTS/INTEGER30
1322 {{/code}}
1323
1324
1325 **FL24 Attenuator angle:**
1326
1327 {{code language="none"}}
1328 FLASH.FEL/FLAPP2BEAMLINES/MOTOR1.FL24/FPOS
1329 {{/code}}
1330
1331 **FL24 Polarization control:**
1332
1333 {{code language="none"}}
1334 FLASH.FEL/FLAPP2BEAMLINES/MOTOR14.FL24/FPOS
1335 {{/code}}
1336
1337 **SysDC delay error:**
1338
1339 {{code language="none"}}
1340 FLASH.LASER/ULGAN1.DYNPROP/TCFIBER.DOUBLES/DOUBLE26
1341 {{/code}}
1342
1343
1344 **Timing error: (these two need to be observed and both=0 means no error)**
1345
1346 {{code language="none"}}
1347 FLASH/CPUULGAN1.TIMING/ULGAN1/dT_alarm
1348 {{/code}}
1349
1350 {{code language="none"}}
1351 FLASH/CPUULGAN1.TIMING/ULGAN1/dMPN
1352 {{/code}}
1353
1354 **Laser error status:**
1355
1356
1357 **FL24 Virtual camera X and Y history, beam size: (use slow data)**
1358
1359 {{code language="none"}}
1360 FLASH.LASER/MOD24.BEAMPOS/UV.VF_BP/CENTER.X
1361 {{/code}}
1362
1363 {{code language="none"}}
1364 FLASH.LASER/MOD24.BEAMPOS/UV.VF_BP/CENTER.Y
1365 {{/code}}
1366
1367 {{code language="none"}}
1368 FLASH.LASER/MOD24.CAM/UV.14.VF/ROI_SPECTRUM.X.SIG
1369 {{/code}}
1370
1371 {{expand title="Parameters used until 2021"}}
1372 //{{code language="none"}}/FL2/Experiment/Pump probe laser/FL24/attenuator position{{/code}}always saved (PBD2)//
1373 DOOCS prop : {{code language="none"}}FLASH.FEL/FLAPP2BEAMLINES/MOTOR1.FL24/FPOS{{/code}}
1374 DAQ channel: {{code language="none"}}FLASH.FEL/FLAPP2BEAMLINES/MOTOR1.FL24/FPOS{{/code}}
1375 desc: attenuation of the PPLaser in the FL24 hutch (rotation of a waveplate)
1376 units : deg.
1377
1378
1379
1380 //{{code language="none"}}/FL2/Experiment/Pump probe laser/FL24/polarization position{{/code}}always saved (PBD2)//
1381 DOOCS prop : {{code language="none"}}FLASH.FEL/FLAPP2BEAMLINES/MOTOR2.FL24/FPOS{{/code}}
1382 DAQ channel: {{code language="none"}}FLASH.FEL/FLAPP2BEAMLINES/MOTOR2.FL24/FPOS{{/code}}
1383 desc: attenuation of the PPLaser in the FL24 hutch (rotation of a waveplate)
1384 units : deg.
1385
1386
1387 {{code language="none"}}/FL1/Experiment/Pump probe laser/laser delay readback{{/code}}
1388 //always saved (PBD2)//
1389 DOOCS prop : {{code language="none"}}FLASH.SYNC/LASER.LOCK.EXP/FLASH2.PPL1.OSC1/FMC0.MD22.0.POSITION.RD{{/code}}
1390 DAQ channel: {{code language="none"}}FLASH.SYNC/LASER.LOCK.EXP/FLASH2.PPL1.OSC1/FMC0.MD22.0.POSITION.RD{{/code}}
1391 desc: delay of the Pump probe laser - measured by the read back position of the motor. There is also the set value available ( upto now these values are only updating every 1-2 seconds. There is no fast encoder property as on FLASH1 available)
1392 units : ps )
1393
1394
1395 {{code language="none"}}/FL1/Experiment/Pump probe laser/Synchronization/timing jitter RMS{{/code}}
1396 //always saved (PBD)//
1397 DOOCS prop : {{code language="none"}}FLASH.SYNC/LASER.LOCK.EXP/FLASH2.PPL1.OSC1/CURRENT_INPUT_JITTER.RD{{/code}}
1398 DAQ channel: {{code language="none"}}FLASH.SYNC/LASER.LOCK.EXP/FLASH2.PPL1.OSC1/CURRENT_INPUT_JITTER.RD{{/code}}
1399 desc: rms jitter of the fs-Oscillator
1400 units: fs
1401 {{/expand}}
1402
1403
1404 ==== FL 26 Pump Probe Laser (FLASH2) ====
1405
1406 These are the parameters that can be saved in the FL2 User DAQ for the FL2 PP laser//** FOR BEAMLINE FL26**//
1407
1408
1409 **User delay**
1410
1411 Delay (set value):
1412
1413 {{code language="none"}}
1414 FLASH.SYNC/LASER.LOCK.EXP/F2.PPL.OSC/FMC0.MD22.0.POSITION_SET.WR
1415 {{/code}}
1416
1417 Delay (readback):
1418
1419 {{code language="none"}}
1420 FLASH.SYNC/LASER.LOCK.EXP/F2.PPL.OSC/FMC0.MD22.0.POSITION.RD
1421 {{/code}}
1422
1423 Delay (encoder readback):
1424
1425 {{code language="none"}}
1426 FLASH.SYNC/LASER.LOCK.EXP/F2.PPL.OSC/FMC0.MD22.0.ENCODER_POSITION.RD
1427 {{/code}}
1428
1429 OXC. jitter:
1430
1431 {{code language="none"}}
1432 FLASH.SYNC/LASER.LOCK.EXP/F2.PPL.OSC/CURRENT_INPUT_JITTER.RD
1433 {{/code}}
1434
1435
1436 **Parameters for FL26**
1437
1438 (% class="wrapped" %)
1439 |(((
1440 FL2PPL FL26 REMI Attenuation: HWP motor current position
1441 )))|(((
1442 FLASH.FEL/FLAPP2BEAMLINES/MOTOR11.FL26B/FPOS
1443 )))
1444 |(((
1445 FL2PPL FL26 REMI Polarization: linear polarization angle
1446 )))|(((
1447 FLASH.FEL/FLAPP2BEAMLINES/MOTOR12.FL26B/FPOS
1448 )))
1449 |(((
1450 FL2PPL FL26 REMI Diagnostics: NIR spectrum
1451 )))|(((
1452 FLASH.LASER/MOD26.SPECT/REMI/DAQ_CHANNEL
1453 )))
1454 |(((
1455 FL2PPL FL26 REMI Diagnostics: photo diode input MOD2.6 - pulse energy mean
1456 )))|(((
1457 FLASH.LASER/MOD26.PES/RE_OUT/PULSEENERGY.MEAN
1458 )))
1459 |(((
1460 FL2PPL FL26 REMI Diagnostics: photo diode input MOD2.6 - intra burst pulse energy
1461 )))|(((
1462 FLASH.LASER/MOD26.PES/RE_OUT/DAQ_CHANNEL
1463 )))
1464 |(((
1465 FL2PPL FL26 REMI Diagnostics: photo diode input MOD2.6 - raw adc
1466 )))|(((
1467 FLASH.LASER/TAMC532DMA/ULGAN1_S5/CH04.TD
1468 )))
1469 |(((
1470 FL2PPL FL26 REMI Diagnostics: photo diode input REMI - pulse energy mean
1471 )))|(((
1472 FLASH.LASER/MOD26.PES/INC_BOX/PULSEENERGY.MEAN
1473 )))
1474 |(((
1475 FL2PPL FL26 REMI Diagnostics: photo diode input REMI - intra burst pulse energy
1476 )))|(((
1477 FLASH.LASER/MOD26.PES/INC_BOX/DAQ_CHANNEL
1478 )))
1479 |(((
1480 FL2PPL FL26 REMI Diagnostics: photo diode input REMI - raw adc
1481 )))|(((
1482 FLASH.LASER/TAMC532DMA/ULGAN1_S5/CH05.TD
1483 )))
1484 |(((
1485 FL2PPL FL26 REMI In coupling: filter wheel 1 position
1486 )))|(((
1487 FLASH/MOD26.FW1/FLASH2MOD26/pos
1488 )))
1489 |(((
1490 FL2PPL FL26 REMI In coupling: filter wheel 2 position
1491 )))|(((
1492 FLASH/MOD26.FW2/FLASH2MOD26/pos
1493 )))
1494 |(((
1495 FL2PPL FL26 REMI: Energy meter REMI incoupling breadboard
1496 )))|(((
1497 FLASH.LASER/MOD26.OPHIRE/REINC.54/DAQ_CHANNEL
1498 )))
1499 |(((
1500 FL2PPL FL26 REMI Incoupling: focusing lens position
1501 )))|(((
1502 FLASH.FEL/FLAPP2BEAMLINES/MOTOR3.FL26B/FPOS
1503 )))
1504 |(((
1505 FL2PPL FL26 REMI Incoupling: nearfield
1506 )))|(((
1507 FLASH.LASER/MOD26.CAM/REINC.21.NF/DAQ_CHANNEL
1508 )))
1509 |(((
1510 FL2PPL FL26 REMI Incoupling: focus
1511 )))|(((
1512 FLASH.LASER/MOD26.CAM/REINC.22.FF/DAQ_CHANNEL
1513 )))
1514 |(((
1515 FL2PPL FL26 REMI Drift: relative arrival time intra burst LAM balanced - calb. in the PES
1516 )))|(((
1517 FLASH.LASER/MOD26.PES/LAM_DIFF/DAQ_CHANNEL
1518 )))
1519 |(((
1520 FL2PPL FL26 REMI Drift: forward signal (PD1)  raw
1521 )))|(((
1522 FLASH.LASER/TAMC532DMA/ULGAN1_S5/CH00.TD
1523 )))
1524 |(((
1525 FL2PPL FL26 REMI Drift: backward signal (PD2) raw
1526 )))|(((
1527 FLASH.LASER/TAMC532DMA/ULGAN1_S5/CH01.TD
1528 )))
1529 |(((
1530 FL2PPL FL26 REMI Drift: mean relative burst arrival time - avarage of the calib value
1531 )))|(((
1532 FLASH.LASER/MOD26.PES/LAM_DIFF/PULSEENERGY.MEAN
1533 )))
1534 |(((
1535 FL2PPL FL26 REMI Drift: delay line position (ODL of the LAM REMI)
1536 )))|(((
1537 FLASH.FEL/FLAPP2BEAMLINES/MOTOR14.FL26B/FPOS
1538 )))
1539 |(((
1540 FL2PPL FL26 Laser Hutch: delay line position (ODL of the osc. Sync / user delay)
1541 )))|(((
1542 FLASH.SYNC/LASER.LOCK.EXP/F2.PPL.OSC/FMC0.MD22.0.POSITION.RD
1543 )))
1544 |(((
1545 FL2PPL FL26 REMI Drift: delay line encoder position (ODL REMI raw value)
1546 )))|(((
1547 FLASH.SYNC/LAM.EXP.ODL/F2.MOD.AMC12/FMC0.MD22.0.ENCODER_POSITION.RD
1548 )))
1549 |(((
1550 Jiiter between oscillator and MLO (inloop jitter osc. Sync)
1551 )))|(((
1552 FLASH.SYNC/LASER.LOCK.EXP/F2.PPL.OSC/CURRENT_INPUT_JITTER.RD
1553 )))
1554 |(((
1555 Temperature controlled fiber (PWM signal to the temperature controlled fiber delay sysdc)
1556 )))|(((
1557 FLASH.LASER/ULGAN1.DYNPROP/TCFIBER.DOUBLES/DOUBLE23
1558 )))
1559 |(((
1560 Temperature controlled fiber (Temp of the fiber delay sysdc)
1561 )))|(((
1562 FLASH.LASER/ULGAN1.DYNPROP/TCFIBER.DOUBLES/DOUBLE24
1563 )))
1564 |(((
1565 Sydc feedback data if LAM is not activated (sysdc delay)
1566 )))|(((
1567 FLASH.LASER/ULGAN1.DYNPROP/TCFIBER.DOUBLES/DOUBLE26
1568 )))
1569 {{/expand}}
1570
1571
1572
1573 === "/uncategorized/" ===
1574
1575 If parameters for an experiment are included on short notice the correct naming in the HDF5 may not be in time and the data will show up in /uncategorized/ with their DOOCS names
1576
1577
1578 === HDF5 structure revisions ===
1579
1580 Starting with Beamblock 4, August 2018, the hierarchy of the HDF group names have been adapted to reflect the new situation at FLASH. FLASH2 is operating for users quite some time now. Therefore, both accelerators appear equally in their respective HDF groups, namely "/FL1" and "/FL2". The root group of proper, by run organised HDF files have an attribute called "version". This version attribute has changed from "0.2.x" to "0.3.x". The changes in detail:
1581
1582
1583 * All FLASH1 related HDF groups moved to group "/FL1", i.e. a new prefix "/FL1" is added to their HDF path.
1584 * The ambigious term "pulse" has been replaced by "train" to refer to "pulse train". Most notably, the dataset "/Timing/pulse ID" has changed to "/Timing/train ID".
1585 * A number of inconsistent names have been streamlined. The relevant changes are listed in the following table.
1586
1587 (% class="wrapped" %)
1588 |=(((
1589 earlier HDF path (vers. 0.2)
1590 )))|=(((
1591 is now (vers. 0.3)
1592 )))
1593 |(((
1594 /Photon Diagnostic/GMD/Beam position/position BDA x
1595 )))|(((
1596 /FL1/Photon Diagnostic/GMD/Beam position/position BDA horizontal
1597 )))
1598 |(((
1599 /Photon Diagnostic/GMD/Beam position/position BDA y
1600 )))|(((
1601 /FL1/Photon Diagnostic/GMD/Beam position/position BDA vertical
1602 )))
1603 |(((
1604 /Photon Diagnostic/GMD/Beam position/position tunnel x
1605 )))|(((
1606 /FL1/Photon Diagnostic/GMD/Beam position/position tunnel horizontal
1607 )))
1608 |(((
1609 /Photon Diagnostic/GMD/Beam position/position tunnel y
1610 )))|(((
1611 /FL1/Photon Diagnostic/GMD/Beam position/position tunnel vertical
1612 )))
1613 |(((
1614 /Experiment/Pump probe laser/BPM/position x
1615 )))|(((
1616 /FL1/Experiment/Pump probe laser/BPM/position horizontal
1617 )))
1618 |(((
1619 /Experiment/Pump probe laser/BPM/position y
1620 )))|(((
1621 /FL1/Experiment/Pump probe laser/BPM/position vertical
1622 )))
1623 |(((
1624 /FL2/Photon Diagnostic/GMD/Beam position/Average/position hall horizontal
1625 )))|(((
1626 /FL2/Photon Diagnostic/GMD/Average beam position/position hall horizontal
1627 )))
1628 |(((
1629 /FL2/Photon Diagnostic/GMD/Beam position/Average/position hall vertical
1630 )))|(((
1631 /FL2/Photon Diagnostic/GMD/Average beam position/position hall vertical
1632 )))
1633 |(((
1634 /FL2/Photon Diagnostic/GMD/Beam position/Average/position tunnel horizontal
1635 )))|(((
1636 /FL2/Photon Diagnostic/GMD/Average beam position/position tunnel horizontal
1637 )))
1638 |(((
1639 /FL2/Photon Diagnostic/GMD/Beam position/Average/position tunnel vertical
1640 )))|(((
1641 /FL2/Photon Diagnostic/GMD/Average beam position/position tunnel vertical
1642 )))
1643 |(((
1644 /FL2/Photon Diagnostic/GMD/Average energy/hall
1645 )))|(((
1646 /FL2/Photon Diagnostic/GMD/Average energy/energy hall
1647 )))
1648 |(((
1649 /FL2/Photon Diagnostic/GMD/Average energy/hall (raw)
1650 )))|(((
1651 /FL2/Photon Diagnostic/GMD/Average energy/energy hall (raw)
1652 )))
1653 |(((
1654 /FL2/Photon Diagnostic/GMD/Average energy/tunnel
1655 )))|(((
1656 /FL2/Photon Diagnostic/GMD/Average energy/energy tunnel
1657 )))
1658 |(((
1659 /FL2/Photon Diagnostic/GMD/Average energy/tunnel (raw)
1660 )))|(((
1661 /FL2/Photon Diagnostic/GMD/Average energy/energy tunnel (raw)
1662 )))
1663 |(((
1664 /FL2/Photon Diagnostic/GMD/Beam position/Pulse resolved/hall x
1665 )))|(((
1666 /FL2/Photon Diagnostic/GMD/Pulse resolved beam position/position hall horizontal
1667 )))
1668 |(((
1669 /FL2/Photon Diagnostic/GMD/Beam position/Pulse resolved/hall y
1670 )))|(((
1671 /FL2/Photon Diagnostic/GMD/Pulse resolved beam position/position hall vertical
1672 )))
1673 |(((
1674 /FL2/Photon Diagnostic/GMD/Beam position/Pulse resolved/tunnel x
1675 )))|(((
1676 /FL2/Photon Diagnostic/GMD/Pulse resolved beam position/position tunnel horizontal
1677 )))
1678 |(((
1679 /FL2/Photon Diagnostic/GMD/Beam position/Pulse resolved/tunnel y
1680 )))|(((
1681 /FL2/Photon Diagnostic/GMD/Pulse resolved beam position/position tunnel vertical
1682 )))
1683
1684 [[Contents>>doc:||anchor="Contents"]]