Wiki source code of The FLASH HDF5 structure

Version 93.6 by sndueste on 2025/05/19 16:49

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