Wiki source code of The FLASH HDF5 structure

Last modified by sndueste on 2025-12-15 13:13

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 {{expand expanded="false" title="More detailed info on OPIS properties"}}
863 FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL370,'%','relative width of photoline in percent of the FEL photon energy ROI1, rising flank'
864 FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL375,'%','relative width of photoline in percent of the FEL photon energy ROI1, tailing flank'
865 FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL470,'%','relative width of photoline in percent of the FEL photon energy ROI1, mean'
866 FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL371,'%','relative width of photoline in percent of the FEL photon energy ROI2, rising flank'
867 FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL376,'%','relative width of photoline in percent of the FEL photon energy ROI2, tailing flank'
868 FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL471,'%','relative width of photoline in percent of the FEL photon energy ROI2, mean'
869 FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL372,'%','relative width of photoline in percent of the FEL photon energy ROI3, rising flank'
870 FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL377,'%','relative width of photoline in percent of the FEL photon energy ROI3, tailing flank'
871 FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL472,'%','relative width of photoline in percent of the FEL photon energy ROI3, mean'
872 FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL373,'%','relative width of photoline in percent of the FEL photon energy ROI4, rising flank'
873 FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL378,'%','relative width of photoline in percent of the FEL photon energy ROI4, tailing flank'
874 FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL473,'%','relative width of photoline in percent of the FEL photon energy ROI4, mean'
875 FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL374,'%','relative width of photoline in percent of the FEL photon energy ROI5, rising flank'
876 FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL379,'%','relative width of photoline in percent of the FEL photon energy ROI5, tailing flank'
877 FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL474,'%','relative width of photoline in percent of the FEL photon energy ROI5, mean'
878 {{/expand}}
879
880 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"]])
881
882
883 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 ...
884
885
886
887 ==== Electron Beam properties (FLASH2) ====
888
889 ===== bunch charge =====
890
891 {{code language="none"}}/FL2/Electron Diagnostic/Bunch charge/after undulator{{/code}}
892 DOOCS prop : {{code language="none"}}FLASH.DIAG/PBD2.TOROID.ML/9FL2BURN/CHARGE.FLASH2{{/code}}
893 DAQ channel: {{code language="none"}}FLASH.DIAG/PBD2.TOROID.ML/9FL2BURN/CHARGE.FLASH2{{/code}}
894 desc: electron bunch charge FLASH2 (average value for each bunchtrain).
895 units: nC
896
897
898 ===== electron bunch energy =====
899
900 {{code language="none"}}/FL2/Electron Diagnostic/Electron energy/energy of first bunch/behind undulators{{/code}}
901 DOOCS prop : {{code language="none"}}FLASH.DIAG/BEAM_ENERGY_MEASUREMENT/FL2XTDS/ENERGY.FLASH2{{/code}}
902 DAQ channel: (% style="color:#5e6c84" %)TTF2.DAQ/PBD2.BEAM.ENERGY.MEAS.ML.COPY/FL2XTDS.ENERGY.FLASH2{{code language="none"}}{{/code}}(%%)
903 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
904
905 (% style="letter-spacing:0.0px" %)units: (% class="twikiNewLink" %)MeV
906
907
908 (% style="color: rgb(94, 108, 132); font-weight: 600; letter-spacing: 0px;" %)
909 ===== undulator settings =====
910
911 {{code language="none"}}/FL2/Electron Diagnostic/Undulator setting/set wavelength 1{{/code}}
912 DOOCS prop : {{code language="none"}}FLASH.FEL/FL2.WAVELENGTHCONTROL/FLASH2.COLOR1/WAVELENGTH{{/code}}
913 DAQ channel:  {{code language="none"}}FLASH.FEL/FL2.WAVELENGTHCONTROL/FLASH2.COLOR1/WAVELENGTH{{/code}}
914 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
915 units: nm
916
917 {{code language="none"}}/FL2/Electron Diagnostic/Undulator setting/SASE13 gap{{/code}}
918 DOOCS prop : {{code language="none"}}FLASH.UTIL/FL2.UND.MOTOR/FL2SASE13/GAP{{/code}}
919 DAQ channel:  {{code language="none"}}FLASH.UTIL/FL2.UND.MOTOR/FL2SASE13/GAP{{/code}}
920 desc: gap value of the undulators. This can be used to follow up how many undulators were closed and if there was a taper. 
921 units: mm
922
923 The gap values are saved for all 12 undulators (Nr 2 to 13). Undulator 13 is the one closest to the experimental hall.
924
925 =====
926 arrival time (BAM) =====
927
928 {{info title="BAM information: updates 2022 (status 2025)"}}
929 * 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"]]
930 * The data format of the BAM has been completely altered in the 2022 shutdown
931 * 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 ...
932 * 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)
933 * There has been also a renaming  (and relocation) of the BAMs.
934 ** acc:  4DBC3 → FL0.DBC2
935 ** FL1: 1SFELC →  FL1.SFELC
936 ** FL2: FL2XTDS → (% style="color:#172b4d" %)FL2.SEED5
937 * for more Info: [[LINK to detailed infos from MSK>>doc:SDiag.How-to articles.BAM Data Structure.WebHome||shape="rect"]]
938 * [[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]]
939 * a recent  [[talk about the working principle of the BAM>>attach:BAM-basics and outlook-2018_DESY-template_16-9Format.pdf]]
940 {{/info}}
941
942 {{expand title="Discontinued BAM format (used until end 2021)"}}
943 (% style="color:#000000" %)**Discontinued BAM data recording **
944
945 {{code language="none"}}/FL2/Electron Diagnostic/BAM/8FL2XTDS/electron bunch arrival time (low charge){{/code}}
946 //always saved (PBD2)//
947 DOOCS prop : {{code language="none"}}FLASH.SDIAG/BAM/8FL2XTDS/LOW_CHARGE_ARRIVAL_TIME{{/code}}
948 DAQ channel: {{code language="none"}}FLASH.SDIAG/BAM.DAQ/8FL2XTDS.LOW_CHARGE_ARRIVAL_TIME{{/code}}
949 desc: Electron bunch arrival time measured with the BAM after the FLASH2 undulator (pulse resolved data)
950 units: ps (bigger numbers indicate later arrivaltime of the electrons)
951
952 **FL1**{{code language="none"}}//Electron Diagnostic/BAM/4DBC3/electron bunch arrival time (low charge){{/code}}
953 //always saved (PBD2)//
954 DOOCS prop : {{code language="none"}}FLASH.SDIAG/BAM/4DBC3/LOW_CHARGE_ARRIVAL_TIME{{/code}}
955 DAQ channel: {{code language="none"}}FLASH.SDIAG/BAM.DAQ/4DBC3.LOW_CHARGE_ARRIVAL_TIME{{/code}}
956 desc: Electron bunch arrival time measured with the BAM  in the accelerator  (pulse resolved data)
957 units: ps (bigger numbers indicate later arrivaltime of the electrons)
958
959 {{info title="BAM hints"}}
960 * The BAM 4DBC3 measures the arrivaltime of** FLASH 1 and FLASH2** in the same data set (thus also sorted in at /FL1/ !).
961 * 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 
962 ** 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
963 * [[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]]
964 * [[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"]]
965 * a recent  [[talk about the working principle of the BAM>>attach:BAM-basics and outlook-2018_DESY-template_16-9Format.pdf]]
966 {{/info}}
967 {{/expand}}
968
969
970 ====== **BAM FL0.DBC2**{{code language="none"}}{{/code}} ======
971
972 (% style="color:#ff6600" %)**DBC2**/electron bunch arrival time  (HDF5 name not yet implemented - see zraw){{code language="none"}}/FL2/Electron Diagnostic/BAM/{{/code}}
973
974 {{code language="none"}}
975 /zraw/FLASH.SDIAG/BAM.DAQ/FL0.DBC2.ARRIVAL_TIME.ABSOLUTE.SA2.COMP/dGroup/
976 {{/code}}
977
978 //always saved (PBD)//
979 **FL0.DBC2**
980 (% style="color:#000000" %)channel: FLASH.SDIAG/BAM/**FL0.DBC2**/ARRIVAL_TIME.ABSOLUTE.SA2.COMP
981 {{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).
982 units: fs (bigger numbers (typically) indicate later arrival times of the electrons).
983
984
985 (% style="color:#ff6600" %)DBC2/electron bunch arrival time (raw)  (HDF5 name not yet implemented - see zraw){{code language="none"}}/FL2/Electron Diagnostic/BAM/{{/code}}
986
987 {{code language="none"}}/zraw/FLASH.SDIAG/BAM.DAQ/FL0.DBC2.ARRIVAL_TIME.ABSOLUTE.SA2/dGroup/{{/code}}
988 //always saved (PBD)//
989 {{code language="none"}}DOOCS prop : FLASH.SDIAG/BAM/FL0.DBC2/ARRIVAL_TIME.ABSOLUTE{{/code}}
990 (% style="color:#000000" %)FLASH.SDIAG/BAM/FL0.DBC2/ARRIVAL_TIME.ABSOLUTE {{code language="none"}}DAQ channel: {{/code}}(%%)
991 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). 
992 units: fs (bigger numbers (typically) indicate later arrival times of the electrons).
993
994
995 DBC2/error (% style="color:#f39c12" %)(HDF5 name not yet implemented - see zraw)(%%)/FL2/Electron Diagnostic/BAM/
996 //always saved (PBD)//
997 DOOCS prop : FLASH.SDIAG/BAM/FL0.DBC2/ARRIVAL_TIME.bamError.2
998 DAQ channel: FLASH.SDIAG/BAM/FL0.DBC2/ARRIVAL_TIME.BAMERROR.2
999 desc: If the value is 0 , the BAM is working well. If it is non-zero there is a problem !!
1000
1001 DBC2/status  (% style="color:#e67e22" %)(HDF5 name not yet implemented - see zraw)(%%)/FL2/Electron Diagnostic/BAM/
1002 //always saved (PBD)//
1003 DOOCS prop : FLASH.SDIAG/BAM/FL0.DBC2/ARRIVAL_TIME.bamStatus.//2//
1004 DAQ channel: FLASH.SDIAG/BAM/FL0.DBC2/ARRIVAL_TIME.BAMSTATUS.2
1005 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
1006
1007
1008
1009 ====== **BAM FL2.SEED5**{{code language="none"}}{{/code}} ======
1010
1011 /FL2/Electron Diagnostic/BAM/**SEED5**(% style="color:#ff6600" %)/electron bunch arrival time  (HDF5 name not yet implemented - see zraw)
1012
1013 (% style="color:#000000" %){{code language="none"}}/zraw/FLASH.SDIAG/BAM.DAQ/FL0.SEED5.ARRIVAL_TIME.ABSOLUTE.SA2.COMP/dGroup/{{/code}}
1014
1015 //always saved (PBD)//
1016 (% style="color:#172b4d" %)**FL2.SEED5**(%%)
1017 (% style="color:#000000" %)channel: FLASH.SDIAG/BAM/(% style="color:#172b4d" %)**FL2.SEED5**(% style="color:#000000" %)/ARRIVAL_TIME.ABSOLUTE.SA1.COMP
1018 {{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).
1019 units: fs (bigger numbers (typically) indicate later arrival times of the electrons).
1020
1021
1022
1023 (% 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}}
1024
1025 (% style="color:#000000" %){{code language="none"}}/zraw/FLASH.SDIAG/BAM.DAQ/FL0.SEED5.ARRIVAL_TIME.ABSOLUTE.SA2/dGroup/{{/code}}(%%)
1026 //always saved (PBD)//
1027 (% style="color:#172b4d" %)**FL2.SEED5**{{code language="none"}}DOOCS prop : FLASH.SDIAG/BAM//ARRIVAL_TIME.ABSOLUTE{{/code}}(%%)
1028 **~ **(% style="color:#000000" %)FLASH.SDIAG/BAM/(% style="color:#172b4d" %)**FL2.SEED5**(% style="color:#000000" %)/ARRIVAL_TIME.ABSOLUTE {{code language="none"}}DAQ channel:{{/code}}(%%)
1029 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). 
1030 units: fs (bigger numbers (typically) indicate later arrival times of the electrons).
1031
1032
1033 FL2.SEED5/error (% style="color:#f39c12" %)(HDF5 name not yet implemented - see zraw)(%%)/FL2/Electron Diagnostic/BAM/
1034 //always saved (PBD)//
1035 DOOCS prop : FLASH.SDIAG/BAM/FL2.SEED5/ARRIVAL_TIME.bamError.2
1036 DAQ channel: FLASH.SDIAG/BAM/FL2.SEED5/ARRIVAL_TIME.BAMERROR.2
1037 desc: If the value is 0 , the BAM is working well. If it is non-zero there is a problem !!
1038
1039 FL2.SEED5/status  (% style="color:#e67e22" %)(HDF5 name not yet implemented - see zraw)(%%)/FL2/Electron Diagnostic/BAM/
1040 //always saved (PBD)//
1041 DOOCS prop : FLASH.SDIAG/BAM/FL2.SEED5/ARRIVAL_TIME.bamStatus.//2//
1042 DAQ channel: FLASH.SDIAG/BAM/FL2.SEED5/ARRIVAL_TIME.BAMSTATUS.2
1043 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
1044
1045
1046 [[Contents>>doc:||anchor="Contents"]]
1047
1048
1049 ==== Timing information, rep rate etc.  (FLASH2) ====
1050
1051 ===== start time of FLASH2 =====
1052
1053 {{code language="none"}}/FL2/Timing/start time flash2{{/code}}
1054 //always saved (PBD2)//
1055 DOOCS prop : {{code language="none"}}FLASH.DIAG/TIMER/FLASHCPUTIME1.0/BUNCH_POSITION.2{{/code}}
1056 DAQ channel: {{code language="none"}}FLASH.DIAG/TIMER/FLASHCPUTIME1.0/BUNCH_POSITION.2{{/code}}
1057 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 ...)
1058 units: µs
1059
1060 ===== bunch repetition rate =====
1061
1062 {{code language="none"}}/FL2/Timing/repetition rate{{/code}}
1063 //always saved (PBD2)//
1064 DOOCS prop : {{code language="none"}}FLASH.DIAG/TIMER/FLASHCPUTIME1.0/REP_RATE_KHZ.2{{/code}}
1065 DAQ channel: {{code language="none"}}FLASH.DIAG/TIMER/FLASHCPUTIME1.0/REP_RATE_KHZ.2{{/code}}
1066 desc: repetition rate of the bunches / pulses within the burst (FLASH2)
1067 units: kHz
1068
1069
1070 ===== set number of pulses =====
1071
1072 (% style="color:#ff6600" %)(HDF5 name not yet implemented - see zraw)(% style="color:#ff0000" %){{code language="none"}}/FL2/Timing/set number of bunches {{/code}}(%%)
1073 //always saved (PBD2)//
1074 DOOCS prop : {{code language="none"}}FLASH.DIAG/TIMINGINFO/TIME1.BUNCH_FIRST_INDEX.2 [4th number]{{/code}}
1075 DAQ channel: {{code language="none"}}FLASH.DIAG/TIMINGINFO/TIME1.BUNCH_FIRST_INDEX.2 [4th number]{{/code}}
1076 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 
1077 units:
1078
1079 ===== actual number of pulses =====
1080
1081 {{code language="none"}}/FL1/Timing/actual number of bunches{{/code}}
1082 //always saved (PBD2)//
1083 DOOCS prop : {{code language="none"}}FLASH.DIAG/PBD2.TOROID.ML/3GUN/NUMBEROFBUNCHES.FLASH2{{/code}}
1084 DAQ channel: {{code language="none"}}FLASH.DIAG/PBD2.TOROID.ML/3GUN/NUMBEROFBUNCHES.FLASH2{{/code}}
1085 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)
1086 units:
1087
1088 ===== actual pulse pattern recorded after the undulator =====
1089
1090 {{code language="none"}}/FL1/Timing/Bunch pattern/pattern after undulator{{/code}}
1091 //always saved (PBD2)//
1092 DOOCS prop : {{code language="none"}}FLASH.DIAG/PBD2.TOROID.ML/9FL2BURN.PULSEPATTERN{{/code}}
1093 DAQ channel: {{code language="none"}}FLASH.DIAG/PBD2.TOROID.ML/9FL2BURN.PULSEPATTERN{{/code}}
1094 desc: The bunch pattern as function of time in a burst recorded by toroide diagnostic BEHIND the undulator. (FLASH2)
1095 units:
1096
1097 ===== Train ID =====
1098
1099 {{code language="none"}}/Timing/train ID{{/code}}
1100 //always saved (PBD2)//
1101 DOOCS prop : {{code language="none"}}none{{/code}}
1102 DAQ channel: {{code language="none"}}none{{/code}}
1103 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 !)
1104 units:
1105
1106 ===== (% style="color:#e67e22" %)Train time(%%) =====
1107
1108 (% style="color:#e67e22" %)//always saved (PBD2)//(%%)
1109 (% style="color:#e67e22" %){{code language="none"}}/Timing/train time{{/code}}
1110 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
1111 units: d h min s cs
1112
1113 {{code language="none"}}
1114 /Timing/time stamp
1115 {{/code}}
1116
1117 (% style="color:#e67e22" %)//always saved (PBD2)//(%%)
1118 (% 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
1119 second column: microseconds
1120 third column: Train ID of FLASH
1121
1122
1123 (% 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
1124
1125 {{expand expanded="false" title="Timestamp help for python"}}
1126 import time
1127
1128 # epoch time is found in /zraw/FLASH.DIAG/TIMINGINFO/TIME1.BUNCH_FIRST_INDEX.1/dGroup/time #!!! a leading 1 has to be added !!!
1129 # 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
1130 epoch_time = 1709051499.17 # Replace with your epoch time
1131
1132 formatted_time = time.strftime('%Y-%m-%d %H:%M:%S', time.gmtime(epoch_time))
1133 print(formatted_time)
1134 {{/expand}}
1135
1136
1137
1138
1139 [[Contents>>doc:||anchor="Contents"]]
1140
1141
1142 ==== User Data (FLASH2) ====
1143
1144 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.
1145
1146 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
1147
1148 The most common and permanently installed device used by experiment are our ADCs:
1149
1150 ===== GHz ADCs =====
1151
1152 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]]**
1153 //saved on DEMAND in the user DAQ//
1154 \\Up to now there are 4 channels available at FL24
1155 \\\\{{code language="none"}}/FL2/Experiment/MTCA-EXP1/ADQ412 GHz ADC/CH00/TD{{/code}}
1156 {{code language="none"}}/FL2/Experiment/MTCA-EXP1/ADQ412 GHz ADC/CH01/TD{{/code}}
1157 \\{{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}}
1158
1159
1160 DOOCS prop : {{code language="none"}}FLASH.FEL/ADC.ADQ.FL2EXP1/FL2EXP1.CH00/CH00.TD  or CH00.DAQ.TD{{/code}}
1161 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.
1162 DAQ channel: {{code language="none"}}FLASH.FEL/ADC.ADQ.FL2EXP1/FL2EXP1.CH00{{/code}}
1163
1164 In addition there are also additional parameters saved like:
1165
1166 * {{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.
1167 * {{code language="none"}}number of samples{{/code}}: total number of samoles recorded for each 10 Hz trigger
1168 * {{code language="none"}}error (ADC):{{/code}}0 indicates that there was no error
1169 * {{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.
1170
1171 ===== MHz ADCs =====
1172
1173 similar to the GHz ADCs the MHz ADCs are saved with HDF5 names like:
1174 {{code language="none"}}/FL2/Experiment/MTCA-EXP1/SIS8300 100MHz ADC/CH2/TD{{/code}}
1175 DOOCS prop : FLASH.FEL/ADC.SIS.FL2EXP1/FL2EXP1.CH02/CH00.TD
1176 DAQ channel: : FLASH.FEL/ADC.SIS.FL2EXP1/FL2EXP1.CH02
1177
1178 In addition there are also additional parameters saved like:
1179
1180 * {{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.
1181 * {{code language="none"}}number of samples{{/code}}: total number of samoles recorded for each 10 Hz trigger
1182
1183 [[Contents>>doc:||anchor="Contents"]]
1184
1185
1186
1187 ==== Pump Probe Laser (FLASH2) ====
1188
1189 {{info width="30%"}}
1190 list of saved parameters status May 2024 (up to now the parameters can be found in /zraw/ ... )
1191
1192 [[attach:FSLADAQ-DAQParameterlistULGAN-2.pdf||target="_blank"]]
1193
1194 [[attach:FSLADAQ-DAQParameterlistFL23-2.pdf||target="_blank"]]
1195
1196 [[attach:FSLADAQ-DAQParameterlistFL24-2.pdf||target="_blank"]]
1197
1198
1199 {{view-file att--filename="FSLADAQ-DAQParameterlistFL23-2.pdf"}}{{/view-file}}
1200
1201
1202 {{view-file att--filename="FSLADAQ-DAQParameterlistFL23-2.pdf"}}{{/view-file}}
1203
1204
1205 {{view-file att--filename="FSLADAQ-DAQParameterlistFL24-2.pdf"}}{{/view-file}}
1206
1207 internal link to parameter list: [[FS-LA DAQ - XWiki>>url:https://xwiki.desy.de/xwiki/bin/view/FSLADAQ/]]
1208 {{/info}}
1209
1210 {{expand title="Laser parameters used until 2023"}}
1211 These are the parameters that can be saved in the FL2 User DAQ for the FL2 PP laser//** FOR BEAMLINE FL24**//
1212
1213 **User delay**
1214
1215 Delay (set value):
1216
1217 {{code language="none"}}
1218 FLASH.SYNC/LASER.LOCK.EXP/F2.PPL.OSC/FMC0.MD22.0.POSITION_SET.WR
1219 {{/code}}
1220
1221 Delay (readback):
1222
1223 {{code language="none"}}
1224 FLASH.SYNC/LASER.LOCK.EXP/F2.PPL.OSC/FMC0.MD22.0.POSITION.RD
1225 {{/code}}
1226
1227 (% style="letter-spacing:0.0px" %)Delay (encoder readback):
1228
1229 {{code language="none"}}
1230 FLASH.SYNC/LASER.LOCK.EXP/F2.PPL.OSC/FMC0.MD22.0.ENCODER_POSITION.RD
1231 {{/code}}
1232
1233 OXC. jitter:
1234
1235 {{code language="none"}}
1236 FLASH.SYNC/LASER.LOCK.EXP/F2.PPL.OSC/CURRENT_INPUT_JITTER.RD
1237 {{/code}}
1238
1239
1240
1241 **FL24 Pulse resolved energy:**
1242
1243 OPCPA output (photodiode signal raw ADC trace 16000 samples):
1244
1245 {{code language="none"}}
1246 /zraw/FLASH.LASER/FLASH2CPUULGAN1.ADCSCOPE/CH23.TD/dGroup
1247 {{/code}}
1248
1249 (% style="letter-spacing:0.0px" %)Upper breadboard Photodiode (THG) burst (photodiode signal raw ADC trace 16000 samples)::
1250
1251 {{code language="none"}}
1252 /zraw/FLASH.LASER/FLASH2CPUULGAN1.ADCSCOPE/CH26.TD/dGroup
1253 {{/code}}
1254
1255 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.)
1256
1257 {{code language="none"}}
1258 /zraw/FLASH.LASER/MOD24.PES/FL24_userPD/dGroup
1259 {{/code}}
1260
1261
1262 **FL24 LAM (Laser Arrivaltime Monitor)  pulse resolved data:**
1263
1264 Signal of Photodiode1  - for experts only... (analyzed signal. integration over pulses in the ADC trace. )
1265
1266 {{code language="none"}}
1267 /zraw/FLASH.LASER/MOD24.PES/LAM.PD1/dGroup
1268 {{/code}}
1269
1270 Signal of Photodiode2  - for experts only...  (analyzed signal. integration over pulses in the ADC trace.)
1271
1272 {{code language="none"}}
1273 /zraw/FLASH.LASER/MOD24.PES/LAM.PD2/dGroup
1274 {{/code}}
1275
1276 "Actual" LAM Signal - to be calibrated ......  (analyzed signal. integration over pulses in the ADC trace.)
1277
1278 {{code language="none"}}
1279 /zraw/FLASH.LASER/MOD24.PES/LAM.PDBAL/dGroup
1280 {{/code}}
1281
1282 The delay feedback(% style="letter-spacing:0.0px" %)
1283
1284 {{code language="none"}}
1285 FLASH.LASER/ULGAN1.DYNPROP/TCFIBER.DOUBLES/DOUBLE26 
1286 {{/code}}
1287
1288 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):
1289
1290 {{code language="none"}}
1291 FLASH.LASER/MOD24.PES/LAM.PDBAL/PULSEENERGY.MEAN
1292 {{/code}}
1293
1294 LAM Delay line act:
1295
1296 {{code language="none"}}FLASH.SYNC/LAM.EXP.ODL/F2.MOD.AMC12/FMC0.MD22.1.POSITION.RD{{/code}}
1297 LAM Delay line set:
1298
1299 {{code language="none"}}
1300 FLASH.SYNC/LAM.EXP.ODL/F2.MOD.AMC12/FMC0.MD22.1.POSITION_SET.WR
1301 {{/code}}
1302
1303 LAM Delay line encoder:
1304
1305 {{code language="none"}}
1306 FLASH.SYNC/LAM.EXP.ODL/F2.MOD.AMC12/FMC0.MD22.1.ENCODER_POSITION.RD
1307 {{/code}}
1308
1309 Temperature feedback:
1310
1311 {{code language="none"}}
1312 FLASH.LASER/ULGAN1.DYNPROP/TCFIBER.DOUBLES/DOUBLE24
1313 {{/code}}
1314
1315 **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):
1316
1317 {{code language="none"}}
1318 FLASH.LASER/ULGAN1.DYNPROP/TCFIBER.INTS/INTEGER30
1319 {{/code}}
1320
1321
1322 **FL24 Attenuator angle:**
1323
1324 {{code language="none"}}
1325 FLASH.FEL/FLAPP2BEAMLINES/MOTOR1.FL24/FPOS
1326 {{/code}}
1327
1328 **FL24 Polarization control:**
1329
1330 {{code language="none"}}
1331 FLASH.FEL/FLAPP2BEAMLINES/MOTOR14.FL24/FPOS
1332 {{/code}}
1333
1334 **SysDC delay error:**
1335
1336 {{code language="none"}}
1337 FLASH.LASER/ULGAN1.DYNPROP/TCFIBER.DOUBLES/DOUBLE26
1338 {{/code}}
1339
1340
1341 **Timing error: (these two need to be observed and both=0 means no error)**
1342
1343 {{code language="none"}}
1344 FLASH/CPUULGAN1.TIMING/ULGAN1/dT_alarm
1345 {{/code}}
1346
1347 {{code language="none"}}
1348 FLASH/CPUULGAN1.TIMING/ULGAN1/dMPN
1349 {{/code}}
1350
1351 **Laser error status:**
1352
1353
1354 **FL24 Virtual camera X and Y history, beam size: (use slow data)**
1355
1356 {{code language="none"}}
1357 FLASH.LASER/MOD24.BEAMPOS/UV.VF_BP/CENTER.X
1358 {{/code}}
1359
1360 {{code language="none"}}
1361 FLASH.LASER/MOD24.BEAMPOS/UV.VF_BP/CENTER.Y
1362 {{/code}}
1363
1364 {{code language="none"}}
1365 FLASH.LASER/MOD24.CAM/UV.14.VF/ROI_SPECTRUM.X.SIG
1366 {{/code}}
1367
1368 {{expand title="Parameters used until 2021"}}
1369 //{{code language="none"}}/FL2/Experiment/Pump probe laser/FL24/attenuator position{{/code}}always saved (PBD2)//
1370 DOOCS prop : {{code language="none"}}FLASH.FEL/FLAPP2BEAMLINES/MOTOR1.FL24/FPOS{{/code}}
1371 DAQ channel: {{code language="none"}}FLASH.FEL/FLAPP2BEAMLINES/MOTOR1.FL24/FPOS{{/code}}
1372 desc: attenuation of the PPLaser in the FL24 hutch (rotation of a waveplate)
1373 units : deg.
1374
1375
1376
1377 //{{code language="none"}}/FL2/Experiment/Pump probe laser/FL24/polarization position{{/code}}always saved (PBD2)//
1378 DOOCS prop : {{code language="none"}}FLASH.FEL/FLAPP2BEAMLINES/MOTOR2.FL24/FPOS{{/code}}
1379 DAQ channel: {{code language="none"}}FLASH.FEL/FLAPP2BEAMLINES/MOTOR2.FL24/FPOS{{/code}}
1380 desc: attenuation of the PPLaser in the FL24 hutch (rotation of a waveplate)
1381 units : deg.
1382
1383
1384 {{code language="none"}}/FL1/Experiment/Pump probe laser/laser delay readback{{/code}}
1385 //always saved (PBD2)//
1386 DOOCS prop : {{code language="none"}}FLASH.SYNC/LASER.LOCK.EXP/FLASH2.PPL1.OSC1/FMC0.MD22.0.POSITION.RD{{/code}}
1387 DAQ channel: {{code language="none"}}FLASH.SYNC/LASER.LOCK.EXP/FLASH2.PPL1.OSC1/FMC0.MD22.0.POSITION.RD{{/code}}
1388 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)
1389 units : ps )
1390
1391
1392 {{code language="none"}}/FL1/Experiment/Pump probe laser/Synchronization/timing jitter RMS{{/code}}
1393 //always saved (PBD)//
1394 DOOCS prop : {{code language="none"}}FLASH.SYNC/LASER.LOCK.EXP/FLASH2.PPL1.OSC1/CURRENT_INPUT_JITTER.RD{{/code}}
1395 DAQ channel: {{code language="none"}}FLASH.SYNC/LASER.LOCK.EXP/FLASH2.PPL1.OSC1/CURRENT_INPUT_JITTER.RD{{/code}}
1396 desc: rms jitter of the fs-Oscillator
1397 units: fs
1398 {{/expand}}
1399
1400
1401 ==== FL 26 Pump Probe Laser (FLASH2) ====
1402
1403 These are the parameters that can be saved in the FL2 User DAQ for the FL2 PP laser//** FOR BEAMLINE FL26**//
1404
1405
1406 **User delay**
1407
1408 Delay (set value):
1409
1410 {{code language="none"}}
1411 FLASH.SYNC/LASER.LOCK.EXP/F2.PPL.OSC/FMC0.MD22.0.POSITION_SET.WR
1412 {{/code}}
1413
1414 Delay (readback):
1415
1416 {{code language="none"}}
1417 FLASH.SYNC/LASER.LOCK.EXP/F2.PPL.OSC/FMC0.MD22.0.POSITION.RD
1418 {{/code}}
1419
1420 Delay (encoder readback):
1421
1422 {{code language="none"}}
1423 FLASH.SYNC/LASER.LOCK.EXP/F2.PPL.OSC/FMC0.MD22.0.ENCODER_POSITION.RD
1424 {{/code}}
1425
1426 OXC. jitter:
1427
1428 {{code language="none"}}
1429 FLASH.SYNC/LASER.LOCK.EXP/F2.PPL.OSC/CURRENT_INPUT_JITTER.RD
1430 {{/code}}
1431
1432
1433 **Parameters for FL26**
1434
1435 (% class="wrapped" %)
1436 |(((
1437 FL2PPL FL26 REMI Attenuation: HWP motor current position
1438 )))|(((
1439 FLASH.FEL/FLAPP2BEAMLINES/MOTOR11.FL26B/FPOS
1440 )))
1441 |(((
1442 FL2PPL FL26 REMI Polarization: linear polarization angle
1443 )))|(((
1444 FLASH.FEL/FLAPP2BEAMLINES/MOTOR12.FL26B/FPOS
1445 )))
1446 |(((
1447 FL2PPL FL26 REMI Diagnostics: NIR spectrum
1448 )))|(((
1449 FLASH.LASER/MOD26.SPECT/REMI/DAQ_CHANNEL
1450 )))
1451 |(((
1452 FL2PPL FL26 REMI Diagnostics: photo diode input MOD2.6 - pulse energy mean
1453 )))|(((
1454 FLASH.LASER/MOD26.PES/RE_OUT/PULSEENERGY.MEAN
1455 )))
1456 |(((
1457 FL2PPL FL26 REMI Diagnostics: photo diode input MOD2.6 - intra burst pulse energy
1458 )))|(((
1459 FLASH.LASER/MOD26.PES/RE_OUT/DAQ_CHANNEL
1460 )))
1461 |(((
1462 FL2PPL FL26 REMI Diagnostics: photo diode input MOD2.6 - raw adc
1463 )))|(((
1464 FLASH.LASER/TAMC532DMA/ULGAN1_S5/CH04.TD
1465 )))
1466 |(((
1467 FL2PPL FL26 REMI Diagnostics: photo diode input REMI - pulse energy mean
1468 )))|(((
1469 FLASH.LASER/MOD26.PES/INC_BOX/PULSEENERGY.MEAN
1470 )))
1471 |(((
1472 FL2PPL FL26 REMI Diagnostics: photo diode input REMI - intra burst pulse energy
1473 )))|(((
1474 FLASH.LASER/MOD26.PES/INC_BOX/DAQ_CHANNEL
1475 )))
1476 |(((
1477 FL2PPL FL26 REMI Diagnostics: photo diode input REMI - raw adc
1478 )))|(((
1479 FLASH.LASER/TAMC532DMA/ULGAN1_S5/CH05.TD
1480 )))
1481 |(((
1482 FL2PPL FL26 REMI In coupling: filter wheel 1 position
1483 )))|(((
1484 FLASH/MOD26.FW1/FLASH2MOD26/pos
1485 )))
1486 |(((
1487 FL2PPL FL26 REMI In coupling: filter wheel 2 position
1488 )))|(((
1489 FLASH/MOD26.FW2/FLASH2MOD26/pos
1490 )))
1491 |(((
1492 FL2PPL FL26 REMI: Energy meter REMI incoupling breadboard
1493 )))|(((
1494 FLASH.LASER/MOD26.OPHIRE/REINC.54/DAQ_CHANNEL
1495 )))
1496 |(((
1497 FL2PPL FL26 REMI Incoupling: focusing lens position
1498 )))|(((
1499 FLASH.FEL/FLAPP2BEAMLINES/MOTOR3.FL26B/FPOS
1500 )))
1501 |(((
1502 FL2PPL FL26 REMI Incoupling: nearfield
1503 )))|(((
1504 FLASH.LASER/MOD26.CAM/REINC.21.NF/DAQ_CHANNEL
1505 )))
1506 |(((
1507 FL2PPL FL26 REMI Incoupling: focus
1508 )))|(((
1509 FLASH.LASER/MOD26.CAM/REINC.22.FF/DAQ_CHANNEL
1510 )))
1511 |(((
1512 FL2PPL FL26 REMI Drift: relative arrival time intra burst LAM balanced - calb. in the PES
1513 )))|(((
1514 FLASH.LASER/MOD26.PES/LAM_DIFF/DAQ_CHANNEL
1515 )))
1516 |(((
1517 FL2PPL FL26 REMI Drift: forward signal (PD1)  raw
1518 )))|(((
1519 FLASH.LASER/TAMC532DMA/ULGAN1_S5/CH00.TD
1520 )))
1521 |(((
1522 FL2PPL FL26 REMI Drift: backward signal (PD2) raw
1523 )))|(((
1524 FLASH.LASER/TAMC532DMA/ULGAN1_S5/CH01.TD
1525 )))
1526 |(((
1527 FL2PPL FL26 REMI Drift: mean relative burst arrival time - avarage of the calib value
1528 )))|(((
1529 FLASH.LASER/MOD26.PES/LAM_DIFF/PULSEENERGY.MEAN
1530 )))
1531 |(((
1532 FL2PPL FL26 REMI Drift: delay line position (ODL of the LAM REMI)
1533 )))|(((
1534 FLASH.FEL/FLAPP2BEAMLINES/MOTOR14.FL26B/FPOS
1535 )))
1536 |(((
1537 FL2PPL FL26 Laser Hutch: delay line position (ODL of the osc. Sync / user delay)
1538 )))|(((
1539 FLASH.SYNC/LASER.LOCK.EXP/F2.PPL.OSC/FMC0.MD22.0.POSITION.RD
1540 )))
1541 |(((
1542 FL2PPL FL26 REMI Drift: delay line encoder position (ODL REMI raw value)
1543 )))|(((
1544 FLASH.SYNC/LAM.EXP.ODL/F2.MOD.AMC12/FMC0.MD22.0.ENCODER_POSITION.RD
1545 )))
1546 |(((
1547 Jiiter between oscillator and MLO (inloop jitter osc. Sync)
1548 )))|(((
1549 FLASH.SYNC/LASER.LOCK.EXP/F2.PPL.OSC/CURRENT_INPUT_JITTER.RD
1550 )))
1551 |(((
1552 Temperature controlled fiber (PWM signal to the temperature controlled fiber delay sysdc)
1553 )))|(((
1554 FLASH.LASER/ULGAN1.DYNPROP/TCFIBER.DOUBLES/DOUBLE23
1555 )))
1556 |(((
1557 Temperature controlled fiber (Temp of the fiber delay sysdc)
1558 )))|(((
1559 FLASH.LASER/ULGAN1.DYNPROP/TCFIBER.DOUBLES/DOUBLE24
1560 )))
1561 |(((
1562 Sydc feedback data if LAM is not activated (sysdc delay)
1563 )))|(((
1564 FLASH.LASER/ULGAN1.DYNPROP/TCFIBER.DOUBLES/DOUBLE26
1565 )))
1566 {{/expand}}
1567
1568
1569
1570 === "/uncategorized/" ===
1571
1572 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
1573
1574
1575 === HDF5 structure revisions ===
1576
1577 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:
1578
1579
1580 * All FLASH1 related HDF groups moved to group "/FL1", i.e. a new prefix "/FL1" is added to their HDF path.
1581 * 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".
1582 * A number of inconsistent names have been streamlined. The relevant changes are listed in the following table.
1583
1584 (% class="wrapped" %)
1585 |=(((
1586 earlier HDF path (vers. 0.2)
1587 )))|=(((
1588 is now (vers. 0.3)
1589 )))
1590 |(((
1591 /Photon Diagnostic/GMD/Beam position/position BDA x
1592 )))|(((
1593 /FL1/Photon Diagnostic/GMD/Beam position/position BDA horizontal
1594 )))
1595 |(((
1596 /Photon Diagnostic/GMD/Beam position/position BDA y
1597 )))|(((
1598 /FL1/Photon Diagnostic/GMD/Beam position/position BDA vertical
1599 )))
1600 |(((
1601 /Photon Diagnostic/GMD/Beam position/position tunnel x
1602 )))|(((
1603 /FL1/Photon Diagnostic/GMD/Beam position/position tunnel horizontal
1604 )))
1605 |(((
1606 /Photon Diagnostic/GMD/Beam position/position tunnel y
1607 )))|(((
1608 /FL1/Photon Diagnostic/GMD/Beam position/position tunnel vertical
1609 )))
1610 |(((
1611 /Experiment/Pump probe laser/BPM/position x
1612 )))|(((
1613 /FL1/Experiment/Pump probe laser/BPM/position horizontal
1614 )))
1615 |(((
1616 /Experiment/Pump probe laser/BPM/position y
1617 )))|(((
1618 /FL1/Experiment/Pump probe laser/BPM/position vertical
1619 )))
1620 |(((
1621 /FL2/Photon Diagnostic/GMD/Beam position/Average/position hall horizontal
1622 )))|(((
1623 /FL2/Photon Diagnostic/GMD/Average beam position/position hall horizontal
1624 )))
1625 |(((
1626 /FL2/Photon Diagnostic/GMD/Beam position/Average/position hall vertical
1627 )))|(((
1628 /FL2/Photon Diagnostic/GMD/Average beam position/position hall vertical
1629 )))
1630 |(((
1631 /FL2/Photon Diagnostic/GMD/Beam position/Average/position tunnel horizontal
1632 )))|(((
1633 /FL2/Photon Diagnostic/GMD/Average beam position/position tunnel horizontal
1634 )))
1635 |(((
1636 /FL2/Photon Diagnostic/GMD/Beam position/Average/position tunnel vertical
1637 )))|(((
1638 /FL2/Photon Diagnostic/GMD/Average beam position/position tunnel vertical
1639 )))
1640 |(((
1641 /FL2/Photon Diagnostic/GMD/Average energy/hall
1642 )))|(((
1643 /FL2/Photon Diagnostic/GMD/Average energy/energy hall
1644 )))
1645 |(((
1646 /FL2/Photon Diagnostic/GMD/Average energy/hall (raw)
1647 )))|(((
1648 /FL2/Photon Diagnostic/GMD/Average energy/energy hall (raw)
1649 )))
1650 |(((
1651 /FL2/Photon Diagnostic/GMD/Average energy/tunnel
1652 )))|(((
1653 /FL2/Photon Diagnostic/GMD/Average energy/energy tunnel
1654 )))
1655 |(((
1656 /FL2/Photon Diagnostic/GMD/Average energy/tunnel (raw)
1657 )))|(((
1658 /FL2/Photon Diagnostic/GMD/Average energy/energy tunnel (raw)
1659 )))
1660 |(((
1661 /FL2/Photon Diagnostic/GMD/Beam position/Pulse resolved/hall x
1662 )))|(((
1663 /FL2/Photon Diagnostic/GMD/Pulse resolved beam position/position hall horizontal
1664 )))
1665 |(((
1666 /FL2/Photon Diagnostic/GMD/Beam position/Pulse resolved/hall y
1667 )))|(((
1668 /FL2/Photon Diagnostic/GMD/Pulse resolved beam position/position hall vertical
1669 )))
1670 |(((
1671 /FL2/Photon Diagnostic/GMD/Beam position/Pulse resolved/tunnel x
1672 )))|(((
1673 /FL2/Photon Diagnostic/GMD/Pulse resolved beam position/position tunnel horizontal
1674 )))
1675 |(((
1676 /FL2/Photon Diagnostic/GMD/Beam position/Pulse resolved/tunnel y
1677 )))|(((
1678 /FL2/Photon Diagnostic/GMD/Pulse resolved beam position/position tunnel vertical
1679 )))
1680
1681 [[Contents>>doc:||anchor="Contents"]]