Wiki source code of The FLASH HDF5 structure

Last modified by sndueste on 2025-11-19 14:51

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