Wiki source code of The FLASH HDF5 structure

Version 27.1 by sndueste on 2019/10/21 17:34

Show last authors
1 == Contents ==
2
3
4
5 {{toc/}}
6
7 \\
8
9 == General information about HDF5 ==
10
11 HDF5 is a data format maintained by the HDF group. For detailed general information see [[here~[~[image:url:http://hasfweb.desy.de/pub/TWiki/TWikiDocGraphics/external-link.gif~|~|width="13" height="12"~]~]>>url:https://www.hdfgroup.org/HDF5/||shape="rect"]]
12
13 To download the HDF5 Viewer click [[here~[~[image:url:http://hasfweb.desy.de/pub/TWiki/TWikiDocGraphics/external-link.gif~|~|width="13" height="12"~]~]>>url:https://support.hdfgroup.org/products/java/hdfview/index.html||shape="rect"]]
14
15 For use on the DESY Maxwell or PAL (max-fsc or pal) **hdfview** is available in the xray module :
16 {{code language="none"}}> module load xray{{/code}}
17 {{code language="none"}}> hdfview{{/code}}
18
19 [[Contents>>doc:||anchor="Contents"]]
20
21 == FLASH HDF5 structure ==
22
23 The photon diagnostic, electron diagnostic and beamline information as well as the information about the pump-probe laser and the infrastructure offered for users (GHz/MHz ADCs) can be included in one HDF5 file which is organised according to train IDs. The general structure is:
24
25 * Electron Diagnostic
26 * Photon Diagnostics
27 * Beamlines
28 * Experiment
29 * Timing
30 [[~[~[image:url:http://hasfweb.desy.de/pub/Setup/HDF5main/HDF5_structure.jpg~|~|alt="HDF5_structure.jpg" width="700" height="500"~]~]>>attach:HDF5_structure.jpg]]
31
32 A detailled description of (most) channels can be found in the lower part of the hdf5 viewer:
33 [[~[~[image:url:http://hasfweb.desy.de/pub/Setup/HDF5main/HDF5_structure_desc.jpg~|~|alt="HDF5_structure_desc.jpg" width="341" height="413"~]~]>>attach:HDF5_structure_desc.jpg]]
34
35 [[Contents>>doc:||anchor="Contents"]]
36
37 \\
38
39 == HDF5 example files ==
40
41 Here we have a few HDF5 samples (User data combined with Photon diagnostics data) from a few beamtimes showing the different kind options.
42
43 Example 1:  Images saved at FLASH2
44
45 \\
46
47 [[image:attach:image2019-10-21_17-2-50.png||thumbnail="true" height="150"]]
48
49 [[download HDF5>>url:https://desycloud.desy.de/index.php/s/nyEgeCWJFC4gao2||shape="rect"]]
50
51 \\
52
53 \\
54
55 \\
56
57 [[Contents>>doc:||anchor="Contents"]]
58
59 \\
60
61 \\
62
63 == Most popular FLASH parameters and their names in HDF5, DOOCS and (raw) DAQ ==
64
65 The complete list for the relation between DOOCS names and HDF5 names for the recordable parameters can be found in [[DESY's Repository~[~[image:url:http://hasfweb.desy.de/pub/TWiki/TWikiDocGraphics/external-link.gif~|~|width="13" height="12"~]~]>>url:https://stash.desy.de/projects/CS/repos/pah/browse/src/camp/data/channel2HdfName.dat||shape="rect"]].
66 The most common and often used ones are summarized below:
67
68 Note, the HDF group and data set names apply to our HDF tree version since vers. 0.3.0.
69
70 \\
71
72 === FLASH1 ===
73
74 \\
75
76 ==== Beamline info (FLASH1) ====
77
78 {{code language="none"}}/FL1/Beamlines/Attenuator/pressure{{/code}}
79 //always saved (PBD)//
80 DOOCS prop : {{code language="none"}}FLASH.FEL/GAS_DOSING/FL1.ATTENUATOR/PRESSURE{{/code}}
81 DAQ channel: {{code language="none"}}FLASH.FEL/GAS_DOSING/FL1.ATTENUATOR/PRESSURE{{/code}}
82 desc: set pressure in the gas attenuator
83 units: mbar
84 \\
85
86 {{code language="none"}}/FL1/Beamlines/BL/Fast shutter/open{{/code}}
87 //always saved (PBD)//
88 DOOCS prop : {{code language="none"}}FLASH.FEL/ADC.SIS.FL1FS/BL.SHUTTER/CH00.TD{{/code}}
89 DAQ channel: {{code language="none"}}FLASH.FEL/ADC.SIS.FL1FS/BL.SHUTTER{{/code}}
90 desc: BL Beamline Fast shutter state
91 units: none
92 \\
93
94 {{code language="none"}}/FL1/Beamlines/PG/Fast shutter/open{{/code}}
95 //always saved (PBD)//
96 DOOCS prop : {{code language="none"}}FLASH.FEL/ADC.SIS.FL1FS/PG.SHUTTER/CH00.TD{{/code}}
97 DAQ channel: {{code language="none"}}FLASH.FEL/ADC.SIS.FL1FS/PG.SHUTTER{{/code}}
98 desc: PG Beamline Fast shutter state
99 units: none
100 \\
101
102 {{code language="none"}}/FL1/Beamlines/BL/Filters/BL filter wheel/position filter 1{{/code}}
103 //always saved (PBD)//
104 DOOCS prop : {{code language="none"}}TTF2.FEL/BLFILTERS1/FILTER1/FW.MOTOR.POS{{/code}}
105 DAQ channel: {{code language="none"}}TTF2.FEL/BLFILTERS1/FILTER1/FW.MOTOR.POS{{/code}}
106 desc: Position of the BL filter wheel 1 - to correlate with the filter material please look [[here>>doc:FLASHUSER.jddd-linked help pages.Filter-Units.Filter wheels in FLASH1 and FLASH2.WebHome]]
107 units: degree
108 \\
109
110 {{code language="none"}}/FL1/Beamlines/BL/Filters/BL filter wheel/position filter 2{{/code}}
111 //always saved (PBD)//
112 DOOCS prop : {{code language="none"}}TTF2.FEL/BLFILTERS2/FILTER2/FW.MOTOR.POS{{/code}}
113 DAQ channel: {{code language="none"}}TTF2.FEL/BLFILTERS2/FILTER2/FW.MOTOR.POS{{/code}}
114 desc: Position of the BL filter wheel 2 - to correlate with the filter material please look [[here>>doc:FLASHUSER.jddd-linked help pages.Filter-Units.Filter wheels in FLASH1 and FLASH2.WebHome]]
115 units: degree
116 \\
117
118 {{code language="none"}}/FL1/Beamlines/PG/Filters/position filter 1{{/code}}
119 //always saved (PBD)//
120 DOOCS prop : = TTF2.FEL/BDAF1/BDA.F1/FW.MOTOR.POS=
121 DAQ channel: {{code language="none"}}TTF2.FEL/BDAF1/BDA.F1/FW.MOTOR.POS{{/code}}
122 desc: Position of the PG filter wheel 1
123 units: degree
124 \\
125
126 {{code language="none"}}/FL1/Beamlines/PG/Filters/position filter 2{{/code}}
127 //always saved (PBD)//
128 DOOCS prop : {{code language="none"}}TTF2.FEL/BDAF2/BDA.F2/FW.MOTOR.POS{{/code}}
129 DAQ channel: {{code language="none"}}TTF2.FEL/BDAF2/BDA.F2/FW.MOTOR.POS{{/code}}
130 desc: Position of the PG filter wheel 2
131 units: degree
132 \\
133
134 {{code language="none"}}/FL1/Beamlines/PG/Filters/position filter 3{{/code}}
135 //always saved (PBD)//
136 DOOCS prop : {{code language="none"}}TTF2.FEL/PGFILTERS/PGFILTERS/FW.MOTOR.POS{{/code}}
137 DAQ channel: {{code language="none"}}TTF2.FEL/PGFILTERS/PGFILTERS/FW.MOTOR.POS{{/code}}
138 desc: Position of the PG filter wheel 3
139 units: degree
140
141 \\
142
143
144 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
145
146 [[Contents>>doc:||anchor="Contents"]]
147
148 \\
149
150 ==== Photon Diagnostics SASE ([[GMD>>url:http://photon-science.desy.de/facilities/flash/photon_diagnostics/gmd_intensity_and_position/index_eng.html||shape="rect"]]) / Spectrometer (FLASH1) ====
151
152 {{code language="none"}}/FL1/Photon Diagnostic/GMD/Average energy/energy tunnel{{/code}}
153 //always saved (PBD)//
154 DOOCS prop : {{code language="none"}}TTF2.DAQ/PHFLUX/OUT04/VAL{{/code}}
155 DAQ channel: {{code language="none"}}PBD.PHFLUX/TUNNEL.ENPULSEIC{{/code}}
156 desc : calibrated average SASE Energy/pulse measured in the TUNNEL before the attenuator (ion current)
157 units : microJ
158
159 {{code language="none"}}/FL1/Photon Diagnostic/GMD/Pulse resolved energy/energy tunnel{{/code}}
160 //always saved (PBD)//
161 DOOCS prop : {{code language="none"}}TTF2.DAQ/PHFLUX/OUT34/VAL{{/code}}
162 DAQ channel: {{code language="none"}}PBD.PHFLUX/TUNNEL.ENERGYPULSE.USER{{/code}}
163 desc :Energy per pulse Tunnel (from e-) - the values are set to "0" if there was no SASE beam in the FEL
164 units : a.u. (more or less µJ but need to be calibrated with the "Average energy" for good precision) **[[see here for help>>doc:FLASHUSER.jddd-linked help pages.Calibrating the pulse resolved (electron) data from GMD.WebHome]]**
165
166 {{code language="none"}}/FL1/Photon Diagnostic/GMD/Pulse resolved energy/energy tunnel (raw){{/code}}
167 //always saved (PBD)//
168 DOOCS prop : {{code language="none"}}TTF2.DAQ/PHFLUX/OUT14/VAL{{/code}}
169 DAQ channel: {{code language="none"}}PBD.PHFLUX/TUNNEL.ENERGYPULSE.FF{{/code}}
170 desc :Energy per pulse Tunnel (from e-) - uncorrected values. There are also values saved if there was no beam ... just background noise
171 units : a.u. (more or less µJ but need to be calibrated with the "Average energy" for good precision) **[[see here for help>>doc:FLASHUSER.jddd-linked help pages.Calibrating the pulse resolved (electron) data from GMD.WebHome]]**
172
173 {{code language="none"}}/FL1/Photon Diagnostic/GMD/Average energy/energy BDA{{/code}}
174 //always saved (PBD)//
175 DOOCS prop : {{code language="none"}}TTF2.DAQ/PHFLUX/OUT05/VAL{{/code}}
176 DAQ channel: {{code language="none"}}PBD.PHFLUX/BDA.ENPULSEIC{{/code}}
177 desc : calibrated average SASE Energy/pulse measured in the BDA (in the experimental hall) after the attenuator (ion current)
178 units : microJ
179
180 {{code language="none"}}/FL1/Photon Diagnostic/GMD/Pulse resolved energy/energy BDA{{/code}}
181 //always saved (PBD)//
182 DOOCS prop : {{code language="none"}}TTF2.DAQ/PHFLUX/OUT35/VAL{{/code}}
183 DAQ channel: {{code language="none"}}PBD.PHFLUX/BDA.ENERGYPULSE.USER{{/code}}
184 desc :Energy per pulse BDA (from e-) - the values are set to "0" if there was no SASE beam in the FEL
185 units : a.u. (more or less µJ but need to be calibrated with the "Average energy" for good precision) **[[see here for help>>doc:FLASHUSER.jddd-linked help pages.Calibrating the pulse resolved (electron) data from GMD.WebHome]]**
186
187 {{code language="none"}}/FL1/Photon Diagnostic/GMD/Pulse resolved energy/energy BDA (raw){{/code}}
188 //always saved (PBD)//
189 DOOCS prop : {{code language="none"}}TTF2.DAQ/PHFLUX/OUT15/VAL{{/code}}
190 DAQ channel: {{code language="none"}}PBD.PHFLUX/BDA.ENERGYPULSE.FF{{/code}}
191 desc :Energy per pulse BDA (from e-) - uncorrected values. There are also values saved if there was no beam ... just background noise
192 units : a.u. (more or less µJ but need to be calibrated with the "Average energy" for good precision)** [[see here for help>>doc:FLASHUSER.jddd-linked help pages.Calibrating the pulse resolved (electron) data from GMD.WebHome]]**
193
194 {{code language="none"}}/FL1/Photon Diagnostic/GMD/Beam position/position BDA horizontal{{/code}}
195 //always saved (PBD)//
196 DOOCS prop : {{code language="none"}}FLASH.FEL/XGM.POSMON/FL1.BDA/IX.POS{{/code}}
197 DAQ channel: {{code language="none"}}FLASH.FEL/XGM.POSMON/FL1.BDA/IX.POS{{/code}}
198 desc :Beam position of the photon Beam determined by the GMD (BDA, x=horizontal)
199 units : mm
200
201 {{code language="none"}}/FL1/Photon Diagnostic/GMD/Beam position/position BDA vertical{{/code}}
202 //always saved (PBD)//
203 DOOCS prop : {{code language="none"}}FLASH.FEL/XGM.POSMON/FL1.BDA/IY.POS{{/code}}
204 DAQ channel: {{code language="none"}}FLASH.FEL/XGM.POSMON/FL1.BDA/IY.POS{{/code}}
205 desc :Beam position of the photon Beam determined by the GMD (BDA, y=vertical)
206 units : mm
207
208 {{code language="none"}}/FL1/Photon Diagnostic/GMD/Beam position/position tunnel horizontal{{/code}}
209 //always saved (PBD)//
210 DOOCS prop : {{code language="none"}}FLASH.FEL/XGM.POSMON/FL1.TUNNEL/IX.POS{{/code}}
211 DAQ channel: {{code language="none"}}FLASH.FEL/XGM.POSMON/FL1.TUNNEL/IX.POS{{/code}}
212 desc :Beam position of the photon Beam determined by the GMD (TUNNEL, x=horizontal)
213 units : mm
214
215 {{code language="none"}}/FL1/Photon Diagnostic/GMD/Beam position/position tunnel vertical{{/code}}
216 //always saved (PBD)//
217 DOOCS prop : {{code language="none"}}FLASH.FEL/XGM.POSMON/FL1.TUNNEL/IY.POS{{/code}}
218 DAQ channel: {{code language="none"}}FLASH.FEL/XGM.POSMON/FL1.TUNNEL/IY.POS{{/code}}
219 desc :Beam position of the photon Beam determined by the GMD (TUNNEL, y=vertical)
220 units : mm
221
222 {{code language="none"}}/FL1/Photon Diagnostic/Wavelength/Tunnelspectrometer/wavelength{{/code}}
223 _always saved (when Spectrum is measured !!) (PBD) _
224 DOOCS prop : {{code language="none"}}TTF2.EXP/PHOTONWL.ML/WAVE_LENGTH/VAL.TD{{/code}}
225 DAQ channel: {{code language="none"}}PBD.PHOTONWL.ML/WAVE_LENGTH{{/code}}
226 desc : XUV Spectrum measured with the "tunnel spectrometer"
227 units :
228
229 {{code language="none"}}/FL1/Photon Diagnostic/Wavelength/Tunnelspectrometer/wavelength start value{{/code}}
230 _always saved (when Spectrum is measured !!) (PBD) _
231 DOOCS prop : {{code language="none"}}TTF2.EXP/PBD.PHOTONWL.ML/BSTART/VAL{{/code}}
232 DAQ channel: {{code language="none"}}TTF2.EXP/PBD.PHOTONWL.ML/BSTART/VAL{{/code}}
233 desc : start value (in nm) for the wavelength axis of the XUV Spectrum measured with the "tunnel spectrometer"
234 units : nm
235
236 {{code language="none"}}/FL1/Photon Diagnostic/Wavelength/Tunnelspectrometer/wavelength increment{{/code}}
237 _always saved (when Spectrum is measured !!) (PBD) _
238 DOOCS prop : ==
239 DAQ channel: ==
240 desc : increment value (in nm) for each pixel for the wavelength axis of the XUV Spectrum measured with the "tunnel spectrometer"
241 units : nm
242
243 {{code language="none"}}/FL1/Photon Diagnostic/Wavelength/PG2 spectrometer/photon energy{{/code}}
244 //saved on DEMAND (PBD spectrometer stream)//
245 DOOCS prop : ==
246 DAQ channel: {{code language="none"}}PBD.PHOTONEN.ML/PHOTON_ENERGY{{/code}}
247 desc : XUV Spectrum in eV measured with the "PG2 spectrometer"
248 units :
249
250 {{code language="none"}}/FL1/Photon Diagnostic/Wavelength/PG2 spectrometer/photon energy start value{{/code}}
251 //saved on DEMAND (PBD spectrometer stream)//
252 DOOCS prop : ==
253 DAQ channel: ==
254 desc : start value (in eV) for the wavelength axis of the XUV Spectrum measured with the "PG2 spectrometer"
255 units : eV
256
257 {{code language="none"}}/FL1/Photon Diagnostic/Wavelength/PG2 spectrometer/photon energy increment{{/code}}
258 //saved on DEMAND (PBD spectrometer stream)//
259 DOOCS prop : ==
260 DAQ channel: ==
261 desc : increment value (in eV) for each pixel for the wavelength axis of the XUV Spectrum measured with the "PG spectrometer"
262 units : eV
263
264 {{code language="none"}}/FL1/Photon Diagnostic/Wavelength/PG2 spectrometer/photon wavelength{{/code}}
265 //saved on DEMAND (PBD spectrometer stream)//
266 DOOCS prop : ==
267 DAQ channel: {{code language="none"}}PHOTONEN.ML/PHOTON_WAVE_LEN{{/code}}
268 desc : XUV Spectrum in nm measured with the "PG2 spectrometer"
269 units :
270
271 {{code language="none"}}/FL1/Photon Diagnostic/Wavelength/PG2 spectrometer/photon wavelength increment{{/code}}
272 //saved on DEMAND (PBD spectrometer stream)//
273 DOOCS prop : ==
274 DAQ channel: ==
275 desc : start value (in nm) for the wavelength axis of the XUV Spectrum measured with the "PG2 spectrometer"
276 units : nm
277
278 {{code language="none"}}/FL1/Photon Diagnostic/Wavelength/PG2 spectrometer/photon wavelength start value{{/code}}
279 //saved on DEMAND (PBD spectrometer stream)//
280 DOOCS prop : ==
281 DAQ channel: ==
282 desc : increment value (in nm) for each pixel for the wavelength axis of the XUV Spectrum measured with the "PG spectrometer"
283 units : nm
284
285 [[Contents>>doc:||anchor="Contents"]]
286
287 ==== Electron Beam properties (FLASH1) ====
288
289 ===== bunch charge =====
290
291 {{code language="none"}}/FL1/Electron Diagnostic/Bunch charge/after undulator{{/code}}
292 //always saved (PBD)//
293 DOOCS prop : {{code language="none"}}FLASH.DIAG/TOROID.ML/12EXP/CHARGE.FLASH1{{/code}}
294 DAQ channel: {{code language="none"}}FLASH.DIAG/TOROID/12EXP{{/code}}
295 desc: electron bunch charge (FLASH1)
296 units: nC
297
298 =====
299 arrival time =====
300
301 {{code language="none"}}/FL1/Electron Diagnostic/BAM/4DBC3/electron bunch arrival time (low charge){{/code}}
302 //always saved (PBD)//
303 DOOCS prop : {{code language="none"}}FLASH.SDIAG/BAM/4DBC3/LOW_CHARGE_ARRIVAL_TIME{{/code}}
304 DAQ channel: {{code language="none"}}FLASH.SDIAG/BAM.DAQ/4DBC3.LOW_CHARGE_ARRIVAL_TIME{{/code}}
305 desc: Electron bunch arrival time measured with the BAM (more or less) before the undulator (pulse resolved data)
306 units: ps (bigger numbers indicate later arrivaltime of the electrons)
307 note: besides the arivaltime from FLASH1 there is also the FLASH2/3 electron arrival time saved. [[LINK to detailled infos from MSK (may only work inside DESY network~[~[image:url:http://hasfweb.desy.de/pub/TWiki/TWikiDocGraphics/external-link.gif~|~|width="13" height="12"~]~]>>url:http://www.desy.de/~~mbock/pages/BAM_daq_channel_descriptions.html||shape="rect"]] and to a recent  [[talk about the working principle of the BAM>>attach:BAM-basics and outlook-2018_DESY-template_16-9Format.pdf]]
308
309 ===== electron beam profile =====
310
311 {{code language="none"}}/FL1/Electron Diagnostic/Electron bunch profile/TDS profile{{/code}}
312 //always saved (PBD) - IF LOLA is ON and ACTIVATED in the PBD DAQ (talk to expert)//
313 DOOCS prop : {{code language="none"}}TTF2.DAQ/BEAM.PROF.ML/BEAM.PROF/OUT.PROF.CCCED{{/code}}
314 DAQ channel: {{code language="none"}}PBD.BEAM.PROF.ML/DAQ.OUT.PROF.CCCED{{/code}}
315 desc: temporal profile of electron bunch, y axis in Ampers (FLASH1)
316 units: pixel
317 \\
318
319 {{code language="none"}}/FL1/Electron Diagnostic/Electron bunch profile/Expert stuff/TDS calibration constant{{/code}}
320 //always saved (PBD) - IF LOLA is ON and ACTIVATED in the PBD DAQ (talk to expert)//
321 DOOCS prop : {{code language="none"}}TTF2.DAQ/BEAM.PROF.ML/BEAM.PROF/CALIB.CONST.T{{/code}}
322 DAQ channel: = PBD.BEAM.PROF.ML/CCT=
323 desc: TDS calibration constant for the x-axis of the profiles: fs per pixel
324 units: fs per pixel
325 \\
326
327 {{code language="none"}}/FL1/Electron Diagnostic/Electron bunch profile/TDS profile width rms{{/code}}
328 //always saved (PBD) - IF LOLA is ON and ACTIVATED in the PBD DAQ (talk to expert)//
329 DOOCS prop : {{code language="none"}}TTF2.DAQ/BEAM.PROF.ML/BEAM.PROF/SOWS.W.CCTED{{/code}}
330 DAQ channel: {{code language="none"}}PBD.BEAM.PROF.ML/PROFWIDTHCCTED{{/code}}
331 desc: rms pulse width of the measures TDS electron bunch profile
332 units: fs
333
334 ===== electron bunch energy =====
335
336 {{code language="none"}}/FL1/Electron Diagnostic/Electron energy/average electron energy{{/code}}
337 _always saved (PBD)
338 DOOCS prop : {{code language="none"}}TTF2.DAQ/ENERGY.DOGLEG/E_INTRA_MEAN/VAL{{/code}}
339 DAQ channel: {{code language="none"}}PBD.ENERGY.DOGLEG/E_MEAN{{/code}}
340 desc: electron bunch energy (average over the bunch train)
341 units: (% class="twikiNewLink" %)MeV(%%)
342 \\
343
344 {{code language="none"}}/FL1/Electron Diagnostic/Electron energy/pulse resolved energy{{/code}}
345 _always saved (PBD)
346 DOOCS prop : {{code language="none"}}TTF2.DAQ/ENERGY.DOGLEG/E_SPECT/VAL.TD{{/code}}
347 DAQ channel: {{code language="none"}}PBD.ENERGY.DOGLEG/E_SPECT{{/code}}
348 desc: electron bunch energy bunch resolved
349 units: (% class="twikiNewLink" %)MeV
350
351 \\
352
353 {{code language="none"}}/FL1/Electron Diagnostic/Electron energy/wavelength bunch train average{{/code}}
354 _always saved (PBD)
355 DOOCS prop : {{code language="none"}}TTF2.DAQ/ENERGY.DOGLEG/LAMBDA_MEAN/VAL{{/code}}
356 DAQ channel: {{code language="none"}}PBD.ENERGY.DOGLEG/LAMBDA_MEAN{{/code}}
357 desc: Wavelength calculated by the electron bunch energy (average over the bunch train) (FLASH1)
358 units: nm
359 \\
360
361 [[Contents>>doc:||anchor="Contents"]]
362
363 \\
364
365 ==== Timing information, rep rate etc.  (FLASH1) ====
366
367 ===== bunch repetition rate =====
368
369 {{code language="none"}}/FL1/Timing/repetition rate{{/code}}
370 //always saved (PBD)//
371 DOOCS prop : {{code language="none"}}FLASH.DIAG/TIMER/FLASHCPUTIME1.0/REP_RATE_KHZ.1{{/code}}
372 DAQ channel: {{code language="none"}}TTF2.UTIL/LASER.CONTROL/GUN/PULSE_FREQ{{/code}}
373 desc: repetition rate of the bunches / pulses within the burst (FLASH1)
374 units: kHz
375 \\
376
377 ===== set number of pulses =====
378
379 {{code language="none"}}/FL1/Timing/set number of bunches{{/code}}
380 //always saved (PBD)//
381 DOOCS prop : {{code language="none"}}FLASH.DIAG/TOROID.ML/3GUN/NUMBEROFBUNCHES.FLASH1{{/code}}
382 DAQ channel: {{code language="none"}}TTF2.UTIL/LASER.CONTROL/GUN/PULSE_NUM{{/code}}
383 desc: Number of pulses set at the gun (FLASH1)
384 units:
385
386 ===== actual number of pulses =====
387
388 {{code language="none"}}/FL1/Timing/actual number of bunches{{/code}}
389 //always saved (PBD)//
390 DOOCS prop : {{code language="none"}}FLASH.DIAG/TOROID.ML/12EXP/NUMBEROFBUNCHES.FLASH1{{/code}}
391 DAQ channel: {{code language="none"}}TTF2.DIAG/PBD.TOROID.ML/12EXP{{/code}}
392 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)
393 units:
394 \\
395
396 ===== actual pulse pattern recorded after the undulator =====
397
398 {{code language="none"}}/FL1/Timing/Bunch pattern/pattern after undulator{{/code}}
399 //always saved (PBD)//
400 DOOCS prop : {{code language="none"}}TTF2.DIAG/PBD.TOROID.ML/12EXP/CHARGE.TD{{/code}}
401 DAQ channel: {{code language="none"}}TTF2.DIAG/PBD.TOROID.ML/12EXP{{/code}}
402 desc: The bunch pattern as function of time in a burst recorded by toroide diagnostic BEHIND the undulator. (FLASH1)
403 units:
404 \\
405
406 ===== Train ID =====
407
408 {{code language="none"}}/Timing/train ID{{/code}}
409 //always saved (PBD)//
410 DOOCS prop : {{code language="none"}}none{{/code}}
411 DAQ channel: {{code language="none"}}none{{/code}}
412 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 !)
413 units:
414 \\
415
416 ===== Train time =====
417
418 {{code language="none"}}/Timing/train time{{/code}}
419 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
420 units: d h min s cs
421 \\
422
423 {{code language="none"}}/Timing/time stamp{{/code}}
424 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
425 second column: microseconds
426 third column: Train ID of FLASH
427 \\
428
429 [[Contents>>doc:||anchor="Contents"]]
430
431 \\
432
433 ==== Pump Probe Laser (FLASH1) ====
434
435 {{code language="none"}}/FL1/Experiment/Pump probe laser/laser attenuation{{/code}}
436
437 //always saved (PBD)//
438 DOOCS prop : {{code language="none"}}TTF2.FEL/PPDELAYCAL/PPDELAYCAL/ROT2.CURRENT{{/code}}
439 DAQ channel: {{code language="none"}}TTF2.FEL/PPDELAYCAL/PPDELAYCAL/ROT2.CURRENT{{/code}}
440 desc: attenuation of the PPLaser (rotation of a waveplate)
441 units : 0 no transmission , 1: full transmission
442
443 \\
444
445 {{code language="none"}}/FL1/Experiment/Pump probe laser/laser delay{{/code}}
446 //always saved (PBD)//
447 DOOCS prop : {{code language="none"}}TTF2.FEL/PPDELAYCAL/PPDELAYCAL/DLY1.CURRENT{{/code}}
448 DAQ channel: {{code language="none"}}TTF2.FEL/PPDELAYCAL/PPDELAYCAL/DLY1.CURRENT{{/code}}
449 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
450 units : ps ( pos delay means IR comes later)
451
452 \\
453
454 {{code language="none"}}/FL1/Experiment/Pump probe laser/delay line IK220.0/ENC.DELAY{{/code}}
455 //always saved (PBD)//
456 DOOCS prop : {{code language="none"}}TTF2.FEL/DELLINE.ENC/IK220.0/ENC.DELAY{{/code}}
457 DAQ channel: {{code language="none"}}TTF2.FEL/DELLINE.ENC/IK220.0:ENC.DELAY{{/code}}
458 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
459 units : ps ( pos delay means IR comes later)
460
461 \\
462
463 {{code language="none"}}/FL1/Experiment/Pump probe laser/Synchronization/timing jitter RMS GECCO{{/code}}
464 //always saved (PBD)//
465 DOOCS prop : {{code language="none"}}FLASH.SYNC/F1PPL.LASER_LOCK/28C.F1PPL1.CONTROLLER/ADV_CTRL_MANAGER.0.PID_INPUT_JITTER.2.RD{{/code}}
466 DAQ channel: {{code language="none"}}FLASH.SYNC/F1PPL.LASER_LOCK/28C.F1PPL1.CONTROLLER/ADV_CTRL_MANAGER.0.PID_INPUT_JITTER.2.RD{{/code}}
467 desc: rms jitter of the GECCO (% class="twikiNewLink" %)TiSa(%%) Oscillator units: fs
468
469 \\
470
471 {{code language="none"}}/FL1/Experiment/Pump probe laser/streak camera delay time{{/code}}
472 //always saved (PBD)//
473 DOOCS prop : {{code language="none"}}TTF2.FEL/TDOLFEL/TDOLFEL/STREAK.CAM.TIME{{/code}}
474 DOOCS prop : {{code language="none"}}TTF2.FEL/TDOLFEL/TDOLFEL/STREAK.CAM.TIME{{/code}}
475 desc: delaytime between the optical laser and the FEL units: ps
476
477 \\
478
479 [[Contents>>doc:||anchor="Contents"]]
480
481 \\
482
483 ==== User Data (FLASH1) ====
484
485 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.
486
487 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
488
489 The most common and permanently installed device used by experiment are our ADCs:
490
491 ===== GHz ADCs =====
492
493 ADC traces of the (SPDevices 412) GHZ ADCs available for the users . More information about the ADCs can be found** [[here>>doc:FLASHUSER.Data Acquisition and controls.Controls (DOOCS, jDDD,\.\.\.).MTCA ADCs.WebHome]]**
494 //saved on DEMAND in the user DAQ//
495 \\The HDF5 names for the ADC traces are depending on the beamline :
496 \\PG Beamline:
497 {{code language="none"}}/FL1/Experiment/PG/ADQ412 GHz ADC/CH00/TD{{/code}}
498 {{code language="none"}}/FL1/Experiment/PG/ADQ412 GHz ADC/CH01/TD{{/code}}
499 {{code language="none"}}/FL1/Experiment/PG/ADQ412 GHz ADC/CH02/TD{{/code}}
500 {{code language="none"}}/FL1/Experiment/PG/ADQ412 GHz ADC/CH03/TD{{/code}}
501
502 BL Beamlines:
503 {{code language="none"}}/FL1/Experiment/BL1/ADQ412 GHz ADC/CH00/TD{{/code}}
504 {{code language="none"}}/FL1/Experiment/BL1/ADQ412 GHz ADC/CH01/TD{{/code}}
505 {{code language="none"}}/FL1/Experiment/BL1/ADQ412 GHz ADC/CH02/TD{{/code}}
506 {{code language="none"}}/FL1/Experiment/BL1/ADQ412 GHz ADC/CH03/TD{{/code}}
507 \\{{code language="none"}}/FL1/Experiment/BL2/ADQ412 GHz ADC/CH00/TD{{/code}}
508 {{code language="none"}}/FL1/Experiment/BL2/ADQ412 GHz ADC/CH01/TD{{/code}}
509 \\{{code language="none"}}/FL1/Experiment/BL3/ADQ412 GHz ADC/CH02/TD{{/code}}
510 {{code language="none"}}/FL1/Experiment/BL3/ADQ412 GHz ADC/CH03/TD{{/code}}
511
512 DOOCS prop : {{code language="none"}}FLASH.FEL/ADC.ADQ.PG/EXP1.CH00/CH00.TD  or CH00.DAQ.TD{{/code}}
513 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.
514 DAQ channel: {{code language="none"}}FLASH.FEL/ADC.ADQ.PG/EXP1.CH00{{/code}}
515
516 In addition there are also additional parameters saved like:
517
518 * {{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.
519 * {{code language="none"}}number of samples{{/code}}: total number of samoles recorded for each 10 Hz trigger
520 * {{code language="none"}}error (ADC):{{/code}} 0 indicates that there was no error
521
522 ===== MHz ADCs =====
523
524 similar to the GHz ADCs the MHz ADCs are saved with HDF5 names like:
525 {{code language="none"}}/FL1/Experiment/BL1/SIS8300 100MHz ADC/CH2/TD{{/code}}
526 DOOCS prop : FLASH.FEL/ADC.SIS.BL1/EXP1.CH02/CH00.TD
527 DAQ channel: : FLASH.FEL/ADC.SIS.BL1/EXP1.CH02
528
529 In addition there are also additional parameters saved like:
530
531 * {{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.
532 * {{code language="none"}}number of samples{{/code}}: total number of samoles recorded for each 10 Hz trigger
533
534 [[Contents>>doc:||anchor="Contents"]]
535
536 \\
537
538 \\
539
540 \\
541
542 === FLASH2 ===
543
544 There is analog to FLASH1 a permanently running "PhotonDagnostic DAQ FLASH2" (PBD2) and 2 User DAQs
545
546 ==== Beamline info (FLASH2) ====
547
548 (% style="color: rgb(255,153,0);" %)(not yet available){{code language="none"}}/FL2/Beamlines/Attenuator/pressure  {{/code}}(%%)
549 (% style="color: rgb(193,199,208);" %)//always saved (PBD2)// (%%)
550 (% style="color: rgb(193,199,208);" %)DOOCS prop : {{code language="none"}}FLASH.FEL/ATT.GAS_DOSING/FL2.HALL/PRESSURE{{/code}} (%%)
551 (% style="color: rgb(193,199,208);" %)DAQ channel:  {{code language="none"}}FLASH.FEL/ATT.GAS_DOSING/FL2.HALL/PRESSURE{{/code}} (%%)
552 (% style="color: rgb(193,199,208);" %)desc: set pressure in the gas attenuator (%%)
553 (% style="color: rgb(193,199,208);" %)units: mbar(%%)
554 \\
555
556 {{code language="none"}}/FL2/Beamlines/FL20/Shutter/open{{/code}}
557 //always saved (PBD2)//
558 DOOCS prop : {{code language="none"}}FLASH.FEL/ADC.SIS.FL2FS/FL20.SHUTTER/CH00.TD{{/code}}
559 DAQ channel: {{code language="none"}}FLASH.FEL/ADC.SIS.FL2FS/FL20.SHUTTER{{/code}}
560 desc: BL Beamline Fast shutter state: 1 is open, 0 is closed ( for technical reasons there are 100 vales of this state saved ...)
561 units: none
562
563
564 {{code language="none"}}/FL2/Beamlines/Filter wheel/position wheel 1{{/code}}
565 //always saved (PBD2)//
566 DOOCS prop : {{code language="none"}}FLASH.FEL/FL20H.PH.MOTOR/MOTOR1.MOT3/FPOS{{/code}}
567 DAQ channel: FLASH.FEL/FL20H.PH.MOTOR/MOTOR1.MOT3/FPOS
568 desc: Position of the BL filter wheel 1 - to correlate with the filter material please look **[[here>>doc:FLASHUSER.jddd-linked help pages.Filter-Units.Filter wheels in FLASH1 and FLASH2.WebHome]]**
569 units: degree
570 \\
571
572
573 //always saved (PBD2)//
574 \\\\**[[here>>doc:FLASHUSER.jddd-linked help pages.Filter-Units.Filter wheels in FLASH1 and FLASH2.WebHome]]**
575 {{code language="none"}}/FL2/Beamlines/Filter wheel/position wheel 2 DOOCS prop : FLASH.FEL/FL20H.PH.MOTOR/MOTOR2.MOT3/FPOS DAQ channel: FLASH.FEL/FL20H.PH.MOTOR/MOTOR2.MOT3/FPOS desc: Position of the BL filter wheel 2 - to correlate with the filter material please look units: degree{{/code}}
576
577 \\
578
579 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
580
581 [[Contents>>doc:||anchor="Contents"]]
582
583 \\
584
585 \\
586
587 ==== Photon Diagnostics SASE ([[XGMD>>url:http://photon-science.desy.de/facilities/flash/photon_diagnostics/gmd_intensity_and_position/index_eng.html||shape="rect"]] - FLASH2) ====
588
589 {{code language="none"}}/FL2/Photon Diagnostic/GMD/Average energy/energy tunnel{{/code}}
590 //always saved (PBD2)//
591 DOOCS prop : {{code language="none"}}FLASH.FEL/XGM.PHOTONFLUX/FL2.TUNNEL/PHOTONFLUX.UJ{{/code}}
592 DAQ channel:{{code language="none"}} FLASH.FEL/XGM.PHOTONFLUX/FL2.TUNNEL/PHOTONFLUX.UJ{{/code}}
593 desc : calibrated average ( ~~ 20 sec averaging time ) SASE Energy/pulse measured in the TUNNEL before the attenuator (ion current)
594 units : microJ
595
596 \\
597
598 (% style="color: rgb(255,204,0);" %)average Sigma    to be included in
599
600 (% style="color: rgb(193,199,208);" %){{code language="none"}}/FL2/Photon Diagnostic/GMD/Average energy/energy tunnel uncertainty{{/code}} (%%)
601 (% style="color: rgb(193,199,208);" %)//always saved (PBD2)// (%%)
602 (% style="color: rgb(193,199,208);" %)DOOCS prop : FLASH.FEL/XGM.PHOTONFLUX/FL2.TUNNEL/PHOTONFLUX.UJ.SIGMA (%%)
603 (% style="color: rgb(193,199,208);" %)DAQ channel: FLASH.FEL/XGM.PHOTONFLUX/FL2.TUNNEL/PHOTONFLUX.UJ.SIGMA (%%)
604 (% style="color: rgb(193,199,208);" %)desc :  This parameter gives an indication of the error of the measurement of the average 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)(%%)
605 (% style="color: rgb(193,199,208);" %)units : microJ
606
607 \\
608
609 \\
610
611 {{code language="none"}}/FL2/Photon Diagnostic/GMD/Pulse resolved energy/energy tunnel{{/code}}
612 //always saved (PBD2)//
613 DOOCS prop : {{code language="none"}}FLASH.FEL/XGM.INTENSITY/FL2.TUNNEL/INTENSITY.TD{{/code}}
614 DAQ channel: {{code language="none"}}FLASH.FEL/XGM.INTENSITY/FL2.TUNNEL/INTENSITY.TD{{/code}}
615 desc : Energy per pulse measured in the Tunnel  (in fromt of the gas attenuator and the apertures in the Hall)
616 units : a.u. (more or less µJ but need to be calibrated with the "Average energy" for good precision)** [[see here for help>>doc:FLASHUSER.jddd-linked help pages.Calibrating the pulse resolved (electron) data from GMD.WebHome]]**
617
618 \\
619
620 \\
621
622 {{code language="none"}}/FL2/Photon Diagnostic/GMD/Pulse resolved energy/energy tunnel uncertainty (sigma){{/code}}
623 //always saved (PBD2)//
624 DOOCS prop : {{code language="none"}}FLASH.FEL/XGM.INTENSITY/FL2.TUNNEL/INTENSITY.SIGMA.TD{{/code}}
625 DAQ channel: {{code language="none"}}FLASH.FEL/XGM.INTENSITY/FL2.TUNNEL:4{{/code}}
626 desc :(% style="color: rgb(0,0,0);" %)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)(%%)
627 units : a.u. (more or less µJ - related to the value of the pulse energy )
628
629
630 {{code language="none"}}{{/code}}
631
632 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 !
633
634 \\
635
636 Besides  pulse energy the GMD also provides information about the beam position
637
638 \\
639
640 {{code language="none"}}/FL2/Photon Diagnostic/GMD/Average Beam position/position tunnel horizontal{{/code}}
641 //always saved (PBD2)//
642 DOOCS prop : {{code language="none"}}FLASH.FEL/XGM.POSMON/FL2.TUNNEL/IX.POS{{/code}}
643 DAQ channel: {{code language="none"}}FLASH.FEL/XGM.POSMON/FL2.TUNNEL/IX.POS{{/code}}
644 desc : the Average ( ~~ 20 sec averaging time ) Beam position of the photon Beam determined by the GMD (tunnel, x=horizontal)
645 units : mm
646
647 \\
648
649 {{code language="none"}}/FL2/Photon Diagnostic/GMD/Average Beam position/position tunnel vertical{{/code}}
650 //always saved (PBD2)//
651 DOOCS prop : {{code language="none"}}FLASH.FEL/XGM.POSMON/FL2.TUNNEL/IY.POS{{/code}}
652 DAQ channel: {{code language="none"}}FLASH.FEL/XGM.POSMON/FL2.TUNNEL/IY.POS{{/code}}
653 desc : the Average ( ~~ 20 sec averaging time ) Beam position of the photon Beam determined by the GMD (tunnel, x=horizontal)
654 units : mm
655
656 \\
657
658
659 //always saved (PBD2)//
660 \\\\{{code language="none"}}/FL2/Photon Diagnostic/GMD/Pulse resolved beam position/position tunnel x DOOCS prop : FLASH.FEL/XGM.BPM/FL2.HALL/X.TDDAQ channel: FLASH.FEL/XGM.BPM/FL2.HALL:2 desc: {{/code}}Besides the well calibrated averaged beam position information there is also the option
661 {{code language="none"}}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 ...)units : mm    {{/code}}
662
663 {{code language="none"}}(x=horizontal, y = vertial){{/code}}
664
665 again the same parameter set is available for the **HALL GMD**
666
667 \\
668
669 \\
670
671 ==== Photon Diagnostics OPIS[[ >>url:http://photon-science.desy.de/facilities/flash/photon_diagnostics/opis_spectrometer/index_eng.html||shape="rect"]](FLASH2) ====
672
673 for more info see:** [[ OPIS>>url:http://photon-science.desy.de/facilities/flash/photon_diagnostics/opis_spectrometer/index_eng.html||shape="rect"]]**
674
675 (The OPIS hall is not installed yet ...)
676
677 \\
678
679 {{code language="none"}}/FL2/Photon Diagnostic/Wavelength/OPIS tunnel/Processed/mean photon energy{{/code}}
680 // saved opon request (PBD2)//
681 DOOCS prop : {{code language="none"}}FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL042{{/code}}
682 DAQ channel:{{code language="none"}} FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL042{{/code}}
683 desc : mean photon energy ( ~~ 1 sec averaging time ) measured in the TUNNEL for a specific bunch out of the bunch train (via photoelectron spectroscopy)
684 units : eV
685
686 \\
687
688 {{code language="none"}}/FL2/Photon Diagnostic/Wavelength/OPIS tunnel/Processed/mean wavelength{{/code}}
689 // saved opon request (PBD2)//
690 DOOCS prop : {{code language="none"}}FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL040{{/code}}
691 DAQ channel:{{code language="none"}} FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL040{{/code}}
692 desc : meanwavelength ( ~~ 1 sec averaging time ) measured in the TUNNEL for a specific bunch out of the bunch train (via photoelectron spectroscopy)
693 units : nm
694
695 \\
696
697 {{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}}
698 // saved opon request (PBD2)//
699 DOOCS prop : {{code language="none"}}FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL060{{/code}}
700 DAQ channel:{{code language="none"}} FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL060{{/code}}
701 desc : The bunch number of the bunch used for the wavelength calculation
702 units :
703
704 \\
705
706 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 savng the compleate 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"]] ( respobsible for [[OPIS>>url:http://photon-science.desy.de/facilities/flash/photon_diagnostics/opis_spectrometer/index_eng.html||shape="rect"]])
707
708 \\
709
710 In case OPIS was not operating there is still informaton 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 ...
711
712 \\
713
714 \\
715
716 ==== Electron Beam properties (FLASH2) ====
717
718 ===== bunch charge =====
719
720 {{code language="none"}}/FL2/Electron Diagnostic/Bunch charge/after undulator{{/code}}
721 //always saved (PBD2)//
722 DOOCS prop : {{code language="none"}}FLASH.DIAG/PBD2.TOROID.ML/9FL2BURN/CHARGE.FLASH2{{/code}}
723 DAQ channel: {{code language="none"}}FLASH.DIAG/PBD2.TOROID.ML/9FL2BURN/CHARGE.FLASH2{{/code}}
724 desc: electron bunch charge FLASH2 (average value for each bunchtrain).
725 units: nC
726
727 \\
728
729 ===== undulator settings =====
730
731 {{code language="none"}}/FL2/Electron Diagnostic/Undulator setting/set wavelength{{/code}}
732 //always saved (PBD2)//
733 DOOCS prop : {{code language="none"}}TTF2.FEEDBACK/FL2.WAVELENGTHCONTROL/FLASH2/WAVELENGTH{{/code}}
734 DAQ channel:  {{code language="none"}}TTF2.FEEDBACK/FL2.WAVELENGTHCONTROL/FLASH2/WAVELENGTH{{/code}}
735 desc: Set value for the anticipated wavelength . This parameter is used to set the undulator gap. It may however deviate from the actual wavelength by several % ...
736 units: nm
737
738 {{code language="none"}}/FL2/Electron Diagnostic/Undulator setting/SASE14 gap{{/code}}
739 //always saved (PBD2)//
740 DOOCS prop : {{code language="none"}}FLASH.UTIL/FL2.UND.MOTOR/FL2SASE14/GAP{{/code}}
741 DAQ channel:  {{code language="none"}}FLASH.UTIL/FL2.UND.MOTOR/FL2SASE14/GAP{{/code}}
742 desc: gap value of the undulators. This can be used to follow up how many undulators were closed and if there was a taper
743 units: mm
744
745 The gap values are saved for all 12 undulators (Nr 3 to 14). Undulator 14 is the one closest to the experimental hall.
746
747 =====
748 arrival time =====
749
750 **FL1**{{code language="none"}}//Electron Diagnostic/BAM/4DBC3/electron bunch arrival time (low charge){{/code}}
751 //always saved (PBD2)//
752 DOOCS prop : {{code language="none"}}FLASH.SDIAG/BAM/4DBC3/LOW_CHARGE_ARRIVAL_TIME{{/code}}
753 DAQ channel: {{code language="none"}}FLASH.SDIAG/BAM.DAQ/4DBC3.LOW_CHARGE_ARRIVAL_TIME{{/code}}
754 desc: Electron bunch arrival time measured with the BAM (more or less) before the undulator (pulse resolved data)
755 units: ps (bigger numbers indicate later arrivaltime of the electrons)
756
757 The BAM measures the arrivaltime of** FLASH 1 and FLASH2** in the same data set (thus also sorted in at /FL1/ !). The first values are for FLASH1 bunches.
758 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) ...
759
760 Docu for BAM:  [[LINK to detailled infos from MSK (may only work inside DESY network~[~[image:url:http://hasfweb.desy.de/pub/TWiki/TWikiDocGraphics/external-link.gif~|~|width="13" height="12"~]~]>>url:http://www.desy.de/~~mbock/pages/BAM_daq_channel_descriptions.html||shape="rect"]] and to a recent [[talk about the working principle of the BAM>>attach:BAM-basics and outlook-2018_DESY-template_16-9Format.pdf]]
761
762
763 [[Contents>>doc:||anchor="Contents"]]
764
765 \\
766
767 ==== Timing information, rep rate etc.  (FLASH2) ====
768
769 ===== start time of FLASH2 =====
770
771 {{code language="none"}}/FL2/Timing/start time flash2{{/code}}
772 //always saved (PBD2)//
773 DOOCS prop : {{code language="none"}}FLASH.DIAG/TIMER/FLASHCPUTIME1.0/BUNCH_POSITION.2{{/code}}
774 DAQ channel: {{code language="none"}}FLASH.DIAG/TIMER/FLASHCPUTIME1.0/BUNCH_POSITION.2{{/code}}
775 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 ...)
776 units: µs
777
778 ===== bunch repetition rate =====
779
780 {{code language="none"}}/FL2/Timing/repetition rate{{/code}}
781 //always saved (PBD2)//
782 DOOCS prop : {{code language="none"}}FLASH.DIAG/TIMER/FLASHCPUTIME1.0/REP_RATE_KHZ.2{{/code}}
783 DAQ channel: {{code language="none"}}FLASH.DIAG/TIMER/FLASHCPUTIME1.0/REP_RATE_KHZ.2{{/code}}
784 desc: repetition rate of the bunches / pulses within the burst (FLASH2)
785 units: kHz
786
787 ===== actual number of pulses =====
788
789 {{code language="none"}}/FL1/Timing/actual number of bunches{{/code}}
790 //always saved (PBD2)//
791 DOOCS prop : {{code language="none"}}FLASH.DIAG/PBD2.TOROID.ML/3GUN/NUMBEROFBUNCHES.FLASH2{{/code}}
792 DAQ channel: {{code language="none"}}FLASH.DIAG/PBD2.TOROID.ML/3GUN/NUMBEROFBUNCHES.FLASH2{{/code}}
793 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)
794 units:
795 \\
796
797 ===== actual pulse pattern recorded after the undulator =====
798
799 {{code language="none"}}/FL1/Timing/Bunch pattern/pattern after undulator{{/code}}
800 //always saved (PBD2)//
801 DOOCS prop : {{code language="none"}}FLASH.DIAG/PBD2.TOROID.ML/9FL2BURN.PULSEPATTERN{{/code}}
802 DAQ channel: {{code language="none"}}FLASH.DIAG/PBD2.TOROID.ML/9FL2BURN.PULSEPATTERN{{/code}}
803 desc: The bunch pattern as function of time in a burst recorded by toroide diagnostic BEHIND the undulator. (FLASH2)
804 units:
805 \\
806
807 ===== Train ID =====
808
809 {{code language="none"}}/Timing/train ID{{/code}}
810 //always saved (PBD2)//
811 DOOCS prop : {{code language="none"}}none{{/code}}
812 DAQ channel: {{code language="none"}}none{{/code}}
813 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 !)
814 units:
815 \\
816
817 ===== Train time =====
818
819 //always saved (PBD2)
820 //{{code language="none"}}/Timing/train time{{/code}}
821 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
822 units: d h min s cs
823 \\
824
825 {{code language="none"}}/Timing/time stamp{{/code}}
826
827 //always saved (PBD2)//
828 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
829 second column: microseconds
830 third column: Train ID of FLASH
831 \\
832
833 [[Contents>>doc:||anchor="Contents"]]
834
835 \\
836
837 ==== User Data (FLASH2) ====
838
839 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.
840
841 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
842
843 The most common and permanently installed device used by experiment are our ADCs:
844
845 ===== GHz ADCs =====
846
847 ADC traces of the (SPDevices 412) GHZ ADCs available for the users . More information about the ADCs can be found** [[here>>doc:FLASHUSER.Data Acquisition and controls.Controls (DOOCS, jDDD,\.\.\.).MTCA ADCs.WebHome]]**
848 //saved on DEMAND in the user DAQ//
849 \\Up to now there are 4 channels available at FL24
850 \\\\{{code language="none"}}/FL2/Experiment/MTCA-EXP1/ADQ412 GHz ADC/CH00/TD{{/code}}
851 {{code language="none"}}/FL2/Experiment/MTCA-EXP1/ADQ412 GHz ADC/CH01/TD{{/code}}
852 \\{{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}}
853
854 \\
855
856 DOOCS prop : {{code language="none"}}FLASH.FEL/ADC.ADQ.FL2EXP1/FL2EXP1.CH00/CH00.TD  or CH00.DAQ.TD{{/code}}
857 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.
858 DAQ channel: {{code language="none"}}FLASH.FEL/ADC.ADQ.FL2EXP1/FL2EXP1.CH00{{/code}}
859
860 In addition there are also additional parameters saved like:
861
862 * {{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.
863 * {{code language="none"}}number of samples{{/code}}: total number of samoles recorded for each 10 Hz trigger
864 * {{code language="none"}}error (ADC):{{/code}} 0 indicates that there was no error
865 * {{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.
866
867 ===== MHz ADCs =====
868
869 similar to the GHz ADCs the MHz ADCs are saved with HDF5 names like:
870 {{code language="none"}}/FL2/Experiment/MTCA-EXP1/SIS8300 100MHz ADC/CH2/TD{{/code}}
871 DOOCS prop : FLASH.FEL/ADC.SIS.FL2EXP1/FL2EXP1.CH02/CH00.TD
872 DAQ channel: : FLASH.FEL/ADC.SIS.FL2EXP1/FL2EXP1.CH02
873
874 In addition there are also additional parameters saved like:
875
876 * {{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.
877 * {{code language="none"}}number of samples{{/code}}: total number of samoles recorded for each 10 Hz trigger
878
879 [[Contents>>doc:||anchor="Contents"]]
880
881 \\
882
883 \\
884
885 ==== Pump Probe Laser (FLASH2) ====
886
887 There may be more information available from the "Laser DAQ". laese contact your Laser Local Contact.
888
889
890 {{code language="none"}}/FL2/Experiment/Pump probe laser/FL24/attenuator position{{/code}}//always saved (PBD2)//
891 DOOCS prop : {{code language="none"}}FLASH.FEL/FLAPP2BEAMLINES/MOTOR1.FL24/FPOS{{/code}}
892 DAQ channel: {{code language="none"}}FLASH.FEL/FLAPP2BEAMLINES/MOTOR1.FL24/FPOS{{/code}}
893 desc: attenuation of the PPLaser in the FL24 hutch (rotation of a waveplate)
894 units : deg.
895
896 \\
897
898
899 {{code language="none"}}/FL2/Experiment/Pump probe laser/FL24/polarization position{{/code}}//always saved (PBD2)//
900 DOOCS prop : {{code language="none"}}FLASH.FEL/FLAPP2BEAMLINES/MOTOR2.FL24/FPOS{{/code}}
901 DAQ channel: {{code language="none"}}FLASH.FEL/FLAPP2BEAMLINES/MOTOR2.FL24/FPOS{{/code}}
902 desc: attenuation of the PPLaser in the FL24 hutch (rotation of a waveplate)
903 units : deg.
904
905 \\
906
907 {{code language="none"}}/FL1/Experiment/Pump probe laser/laser delay readback{{/code}}
908 //always saved (PBD2)//
909 DOOCS prop : {{code language="none"}}FLASH.SYNC/LASER.LOCK.EXP/FLASH2.PPL1.OSC1/FMC0.MD22.0.POSITION.RD{{/code}}
910 DAQ channel: {{code language="none"}}FLASH.SYNC/LASER.LOCK.EXP/FLASH2.PPL1.OSC1/FMC0.MD22.0.POSITION.RD{{/code}}
911 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)
912 units : ps )
913
914 \\
915
916 {{code language="none"}}/FL1/Experiment/Pump probe laser/Synchronization/timing jitter RMS{{/code}}
917 //always saved (PBD)//
918 DOOCS prop : {{code language="none"}}FLASH.SYNC/LASER.LOCK.EXP/FLASH2.PPL1.OSC1/CURRENT_INPUT_JITTER.RD{{/code}}
919 DAQ channel: {{code language="none"}}FLASH.SYNC/LASER.LOCK.EXP/FLASH2.PPL1.OSC1/CURRENT_INPUT_JITTER.RD{{/code}}
920 desc: rms jitter of the fs-Oscillator
921 units: fs
922
923 [[Contents>>doc:||anchor="Contents"]]
924
925 \\
926
927 === "/uncategorized/" ===
928
929 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
930
931 \\
932
933 === HDF5 structure revisions ===
934
935 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:
936
937 \\
938
939 * All FLASH1 related HDF groups moved to group "/FL1", i.e. a new prefix "/FL1" is added to their HDF path.
940 * 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".
941 * A number of inconsistent names have been streamlined. The relevant changes are listed in the following table.
942
943 \\
944
945 (% class="wrapped" %)
946 |=(((
947 earlier HDF path (vers. 0.2)
948 )))|=(((
949 is now (vers. 0.3)
950 )))
951 |(((
952 /Photon Diagnostic/GMD/Beam position/position BDA x
953 )))|(((
954 /FL1/Photon Diagnostic/GMD/Beam position/position BDA horizontal
955 )))
956 |(((
957 /Photon Diagnostic/GMD/Beam position/position BDA y
958 )))|(((
959 /FL1/Photon Diagnostic/GMD/Beam position/position BDA vertical
960 )))
961 |(((
962 /Photon Diagnostic/GMD/Beam position/position tunnel x
963 )))|(((
964 /FL1/Photon Diagnostic/GMD/Beam position/position tunnel horizontal
965 )))
966 |(((
967 /Photon Diagnostic/GMD/Beam position/position tunnel y
968 )))|(((
969 /FL1/Photon Diagnostic/GMD/Beam position/position tunnel vertical
970 )))
971 |(((
972 /Experiment/Pump probe laser/BPM/position x
973 )))|(((
974 /FL1/Experiment/Pump probe laser/BPM/position horizontal
975 )))
976 |(((
977 /Experiment/Pump probe laser/BPM/position y
978 )))|(((
979 /FL1/Experiment/Pump probe laser/BPM/position vertical
980 )))
981 |(((
982 /FL2/Photon Diagnostic/GMD/Beam position/Average/position hall horizontal
983 )))|(((
984 /FL2/Photon Diagnostic/GMD/Average beam position/position hall horizontal
985 )))
986 |(((
987 /FL2/Photon Diagnostic/GMD/Beam position/Average/position hall vertical
988 )))|(((
989 /FL2/Photon Diagnostic/GMD/Average beam position/position hall vertical
990 )))
991 |(((
992 /FL2/Photon Diagnostic/GMD/Beam position/Average/position tunnel horizontal
993 )))|(((
994 /FL2/Photon Diagnostic/GMD/Average beam position/position tunnel horizontal
995 )))
996 |(((
997 /FL2/Photon Diagnostic/GMD/Beam position/Average/position tunnel vertical
998 )))|(((
999 /FL2/Photon Diagnostic/GMD/Average beam position/position tunnel vertical
1000 )))
1001 |(((
1002 /FL2/Photon Diagnostic/GMD/Average energy/hall
1003 )))|(((
1004 /FL2/Photon Diagnostic/GMD/Average energy/energy hall
1005 )))
1006 |(((
1007 /FL2/Photon Diagnostic/GMD/Average energy/hall (raw)
1008 )))|(((
1009 /FL2/Photon Diagnostic/GMD/Average energy/energy hall (raw)
1010 )))
1011 |(((
1012 /FL2/Photon Diagnostic/GMD/Average energy/tunnel
1013 )))|(((
1014 /FL2/Photon Diagnostic/GMD/Average energy/energy tunnel
1015 )))
1016 |(((
1017 /FL2/Photon Diagnostic/GMD/Average energy/tunnel (raw)
1018 )))|(((
1019 /FL2/Photon Diagnostic/GMD/Average energy/energy tunnel (raw)
1020 )))
1021 |(((
1022 /FL2/Photon Diagnostic/GMD/Beam position/Pulse resolved/hall x
1023 )))|(((
1024 /FL2/Photon Diagnostic/GMD/Pulse resolved beam position/position hall horizontal
1025 )))
1026 |(((
1027 /FL2/Photon Diagnostic/GMD/Beam position/Pulse resolved/hall y
1028 )))|(((
1029 /FL2/Photon Diagnostic/GMD/Pulse resolved beam position/position hall vertical
1030 )))
1031 |(((
1032 /FL2/Photon Diagnostic/GMD/Beam position/Pulse resolved/tunnel x
1033 )))|(((
1034 /FL2/Photon Diagnostic/GMD/Pulse resolved beam position/position tunnel horizontal
1035 )))
1036 |(((
1037 /FL2/Photon Diagnostic/GMD/Beam position/Pulse resolved/tunnel y
1038 )))|(((
1039 /FL2/Photon Diagnostic/GMD/Pulse resolved beam position/position tunnel vertical
1040 )))
1041
1042 \\
1043
1044 [[Contents>>doc:||anchor="Contents"]]
1045
1046 \\
1047
1048 == Example code showing how to access HDF5 files ==
1049
1050 \\
1051
1052 === Samples how to read HDF5 with Matlab ===
1053
1054 The examples apply to HDF files with HDF tree version before vers. 0.3.0.
1055
1056 (% style="color: rgb(0,128,0);" %)%% read in the needed data p=path; path(p,'D:\mess-daten\DAQ-data\hdf5\Gotthard') % add the actual folder to the path hdf5file='FLASH1_EXP-2016-03-16T1420.h5'; % data with Gotthard and VLS
1057
1058 (% style="color: rgb(0,128,0);" %)% h5disp(hdf5file,'/','min') % to get an idea what is in the file % h5info(hdf5file,'/Experiment/Gotthard1/BL.0') % get info about the individual channel
1059
1060 (% style="color: rgb(0,128,0);" %)% read a Number per 10 Hz pulse train:
1061
1062 (% class="code" %)
1063 (((
1064 FEL_Wavelength_energy_server=h5read(hdf5file,'/Photon Diagnostic/Wavelength/Calculated by energy/wavelength' );
1065 )))
1066
1067 (% style="color: rgb(0,128,0);" %)% read in a 1D array (spectrum) %GMD data GMD_Spectrum=h5read(hdf5file,'/Photon Diagnostic/GMD/Pulse resolved energy/energy BDA');
1068
1069 (% style="color: rgb(0,128,0);" %)% This reads in all the data . One can also limit the amount of data read to a subset of the data stored in the file. e.g. for image Data (Gotthard)
1070
1071 \\
1072
1073 (% class="code" %)
1074 (((
1075 Start_event= 500 ; % define the first 10 Hz event
1076 Number_of_events = 20; % how many 10 Hz events to load
1077 )))
1078
1079 (% style="color: rgb(0,128,0);" %)% read only part of the data:
1080
1081 (% class="code" %)
1082 (((
1083 Gotthard_data=h5read(hdf5file,'/Experiment/Gotthard1/BL.0',[2 650 Start_event],[50 85 Number_of_events]);
1084 )))
1085
1086 (% style="color: rgb(0,128,0);" %)% start stop increment "manual" for 2 D data : [start bunch number in Gotthard data start pixelin spectrum start sample in 10 Hz trains], % [number of bunches in the Gotthard data number of points in the spectrum number of spectra ]
1087
1088 (% class="code" %)
1089 (((
1090 VLS_Spectrum=h5read(hdf5file,'/Photon Diagnostic/Wavelength/VLS online spectrometer/PCO.ROI.X',[400 Start_event],[200 Number_of_events] );
1091
1092 )))
1093
1094 (% style="color: rgb(0,128,0);" %)% start stop increment "manual" for 1D data : [start sample in the spectrum start sample in 10 Hz trains],[number of points in the spectrum number of spectra ]
1095
1096 (% style="color: rgb(0,128,0);" %)%GMD data
1097
1098 (% class="code" %)
1099 (((
1100 GMD_Spectrum=h5read(hdf5file,'/Photon Diagnostic/GMD/Pulse resolved energy/energy BDA',[1 Start_event],[40 Number_of_events] );
1101 )))
1102
1103 [[Contents>>doc:||anchor="Contents"]]
1104
1105 === How to read HDF5 with Python via FLASHH5 ===
1106
1107 With [[FlashH5>>doc:FLASHUSER.FLASHH5 for easier access of FLASH's HDF5 files]] we provide h5py based examples to access and evaluate FLASH's HDF5 files.
1108
1109 \\
1110
1111 == HDF5 and DOOCS ==
1112
1113 Here is an outdated [[list with the available properties that are always saved (PBD) for FLASH1 as>>attach:FLASH1__DaqChannel2HdfNamePbd.xlsx]] HDF5 names and the corresponding DOOCS names
1114
1115 [[Contents>>doc:||anchor="Contents"]]