Changes for page The FLASH HDF5 structure

Last modified by sndueste on 2026-01-19 14:35

From version 106.2
edited by sndueste
on 2026-01-09 15:30
Change comment: There is no comment for this version
To version 89.11
edited by sndueste
on 2025-04-23 14:55
Change comment: Update document after refactoring.

Summary

Details

Page properties
Content
... ... @@ -1,3 +1,6 @@
1 +{{layout}}
2 +{{layout-section ac:type="single"}}
3 +{{layout-cell}}
1 1  == Contents ==
2 2  
3 3  
... ... @@ -5,26 +5,10 @@
5 5  {{toc/}}
6 6  
7 7  
8 -== General information about HDF5 and how to look at it ==
11 +== General information about HDF5 ==
9 9  
10 10  HDF5 is a data format maintained by the HDF group. For detailed general information see [[here>>url:https://portal.hdfgroup.org/display/support||shape="rect"]]
11 11  
12 -The easiest way to look at the HDF5 files from your beamtime is to use the **Jupyter notebook** interface to Maxwell:  [[https:~~/~~/max-jhub.desy.de/>>https://max-jhub.desy.de/]]
13 -
14 - The file content can be browsed by double clicking on the file.
15 -
16 -Typically the Jupyter notebook starts at your home directory and you have to create a (soft) link to your beamtime folder: open a terminal window (File->New-> Terminal) and create the link via :
17 -
18 -{{code language="none"}}> ln -sn beamtime path linkname
19 -e.g.
20 -> ln -sn /asap3/flash/gpfs/fl23/2025/data/11024321/ ~/beamtime_11024321 {{/code}}
21 -Then a “beamtime_11024321” folder should appear in your home directory.
22 -
23 -[[image:https://mail.desy.de/service/home/~~/?auth=co&loc=de&id=400586&part=2||height="219" width="500"]]
24 -
25 -
26 -Alternativaly you can also use a conventional **HDF viewer:**
27 -
28 28  To download the HDF5 Viewer click [[here>>url:https://portal.hdfgroup.org/display/support/Download+HDFView||shape="rect"]]
29 29  
30 30  For use on the DESY Maxwell or PAL (max-fsc or pal) **hdfview** is available in the xray module :
... ... @@ -74,17 +74,25 @@
74 74  {{/expand}}
75 75  
76 76  === HDF examples: ===
64 +{{/layout-cell}}
65 +{{/layout-section}}
77 77  
67 +{{layout-section ac:type="three_equal"}}
68 +{{layout-cell}}
78 78  * ADC data as example for **fast** **data** (10 Hz):            
79 79  
80 80  [[image:attach:image2020-11-16_15-26-28.png||height="250"]]
72 +{{/layout-cell}}
81 81  
74 +{{layout-cell}}
82 82  * 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}})
83 83  
84 84   ( as example only every 10th train ID is listed in the HDF group "index")
85 85  
86 86  [[image:attach:image2020-11-16_15-31-45.png||height="250"]]
80 +{{/layout-cell}}
87 87  
82 +{{layout-cell}}
88 88  * (((
89 89  //zraw// group contains the **original DAQ (DOOCS) names**
90 90  )))
... ... @@ -93,7 +93,11 @@
93 93  
94 94  
95 95  [[image:attach:image2020-11-16_16-26-3.png||height="400"]]
91 +{{/layout-cell}}
92 +{{/layout-section}}
96 96  
94 +{{layout-section ac:type="single"}}
95 +{{layout-cell}}
97 97  {{info}}
98 98  === There are different options that help you to work with the FLASH HDF5 data in Python ===
99 99  
... ... @@ -100,30 +100,31 @@
100 100  * The currently developed option for large data sets: [[the FAB package>>url:https://hasfcpkg.desy.de/fab/fab.html||shape="rect"]] ... see below
101 101  * 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"]]
102 102  
103 -(% class="Object" %)See also the collection of Demo data and sample scripts : [[Collection of HDF5 sample data from different beamlines>>doc:FLASHUSER.Offline data analysis (DAQ).Collection of HDF5 sample data from different beamlines.WebHome]] and [[DEMO - Working with FLASH data>>doc:FLASHUSER.Offline data analysis (DAQ).DEMO - Working with FLASH data.WebHome]]
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]]
104 104  {{/info}}
104 +{{/layout-cell}}
105 +{{/layout-section}}
105 105  
107 +{{layout-section ac:type="single"}}
108 +{{layout-cell}}
109 +
106 106  
107 -
108 108  == Complete list of recordable parameters ==
109 109  
110 110  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 +
111 111  
112 -== Most popular FLASH parameters and their names in HDF5, DOOCS and (.raw) DAQ ==
116 +== Most popular FLASH parameters and their names in HDF5, DOOCS and (raw) DAQ ==
113 113  
114 114  {{id name="DOOCSparameters"/}}
115 115  
120 +Note, the HDF group and data set names apply to our HDF tree version since vers. 0.3.0.
116 116  
122 +
117 117  === FLASH1 ===
118 118  
125 +==== Beamline info (FLASH1) ====
119 119  
120 -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.
121 -
122 -The previously used naming scheme (2024 and before) can be found here:
123 -
124 -{{expand expanded="false" title="FLASH1 naming scheme used until 2024"}}
125 -==== (% id="cke_bm_8853497S" style="display:none" %) (%%)Beamline info (FLASH1) ====
126 -
127 127  {{code language="none"}}/FL1/Beamlines/Attenuator/pressure{{/code}}
128 128  //always saved (PBD)//
129 129  DOOCS prop : {{code language="none"}}FLASH.FEL/GAS_DOSING/FL1.ATTENUATOR/PRESSURE{{/code}}
... ... @@ -130,6 +130,7 @@
130 130  DAQ channel: {{code language="none"}}FLASH.FEL/GAS_DOSING/FL1.ATTENUATOR/PRESSURE{{/code}}
131 131  desc: set pressure in the gas attenuator
132 132  units: mbar
133 +
133 133  
134 134  {{code language="none"}}/FL1/Beamlines/BL/Fast shutter/open{{/code}}
135 135  //always saved (PBD)//
... ... @@ -151,6 +151,7 @@
151 151  DAQ channel: {{code language="none"}}TTF2.FEL/BLFILTERS1/FILTER1/FW.MOTOR.POS{{/code}}
152 152  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]]
153 153  units: degree
155 +
154 154  
155 155  {{code language="none"}}/FL1/Beamlines/BL/Filters/BL filter wheel/position filter 2{{/code}}
156 156  //always saved (PBD)//
... ... @@ -158,6 +158,7 @@
158 158  DAQ channel: {{code language="none"}}TTF2.FEL/BLFILTERS2/FILTER2/FW.MOTOR.POS{{/code}}
159 159  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]]
160 160  units: degree
163 +
161 161  
162 162  {{code language="none"}}/FL1/Beamlines/PG/Filters/position filter 1{{/code}}
163 163  //always saved (PBD)//
... ... @@ -165,6 +165,7 @@
165 165  DAQ channel: {{code language="none"}}TTF2.FEL/BDAF1/BDA.F1/FW.MOTOR.POS{{/code}}
166 166  desc: Position of the PG filter wheel 1
167 167  units: degree
171 +
168 168  
169 169  {{code language="none"}}/FL1/Beamlines/PG/Filters/position filter 2{{/code}}
170 170  //always saved (PBD)//
... ... @@ -172,6 +172,7 @@
172 172  DAQ channel: {{code language="none"}}TTF2.FEL/BDAF2/BDA.F2/FW.MOTOR.POS{{/code}}
173 173  desc: Position of the PG filter wheel 2
174 174  units: degree
179 +
175 175  
176 176  {{code language="none"}}/FL1/Beamlines/PG/Filters/position filter 3{{/code}}
177 177  //always saved (PBD)//
... ... @@ -244,8 +244,8 @@
244 244  
245 245  {{code language="none"}}/FL1/Photon Diagnostic/GMD/Average energy/energy tunnel{{/code}}
246 246  //always saved (PBD)//
247 -(% style="color:#000000" %)DOOCS prop : {{code language="none"}}FLASH.FEL/XGM.PHOTONFLUX/FL1.TUNNEL/PHOTONFLUX.UJ{{/code}} (%%)
248 -(% style="color:#000000" %)DAQ channel: {{code language="none"}}FLASH.FEL/XGM.PHOTONFLUX/FL1.TUNNEL/PHOTONFLUX.UJ{{/code}}
252 +(% style="color:#000000" %)DOOCS prop : {{code language="none"}}FLASH.FEL/XGM.PHOTONFLUX/FL1.TUNNEL/PHOTONFLUX.UJ{{/code}} (%%)
253 +(% style="color:#000000" %)DAQ channel: {{code language="none"}}FLASH.FEL/XGM.PHOTONFLUX/FL1.TUNNEL/PHOTONFLUX.UJ{{/code}}
249 249  
250 250  desc : calibrated average SASE Energy/pulse measured in the TUNNEL upstream the gas attenuator
251 251  units : microJ
... ... @@ -254,8 +254,8 @@
254 254  {{code language="none"}}/FL1/Photon Diagnostic/GMD/Pulse resolved energy/energy tunnel{{/code}}
255 255  //always saved (PBD)//
256 256  
257 -(% style="color:#000000" %)DOOCS prop : (%%)
258 -(% style="color:#000000" %){{code language="none"}}FLASH.FEL/XGM.INTENSITY/FL1.TUNNEL/INTENSITY.TD{{/code}}DAQ channel: {{code language="none"}}FLASH.FEL/XGM.INTENSITY/FL1.TUNNEL/INTENSITY.TD{{/code}}
262 +(% style="color:#000000" %)DOOCS prop : 
263 +{{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}}
259 259  
260 260  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)
261 261  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]]**
... ... @@ -262,6 +262,7 @@
262 262  
263 263  {{info title="GMD pulse resolved data structure"}}
264 264  For every pulse in the pulse train the information is saved:
270 +
265 265  
266 266  1. **Intensity per pulse** (a.u. (more or less µJ ))
267 267  1. Intensity per pulse (auxillary GMD) - not used
... ... @@ -275,7 +275,8 @@
275 275  The pulse energy and the error are plotted for the first bunch of the pulse trains saved in this 
276 276  file
277 277  
278 - [[image:image2021-2-9_10-51-6.png]]
284 +
285 +[[image:attach:image2021-2-9_10-51-6.png||height="250"]]
279 279  
280 280  
281 281  {{/info}}
... ... @@ -467,8 +467,8 @@
467 467  
468 468  //always saved (PBD)//
469 469  (% style="color:#172b4d" %)**FL1.SFELC**(%%)
470 -(% style="color:#000000" %)channel: FLASH.SDIAG/BAM/(% style="color:#172b4d" %)FL1.SFELC(% style="color:#000000" %)/ARRIVAL_TIME.ABSOLUTE.SA1.COMP(%%)
471 -(% style="color:#000000" %){{code language="none"}} DOOCS prop : FLASH.SDIAG/BAM//ARRIVAL_TIME.ABSOLUTE.SA1.COMPDAQ {{/code}}(% style="letter-spacing:0.0px" %)desc: Electron bunch arrival time measured  with the BAM  before the undulator (pulse resolved data). This one was newly installed in 2020.. The property contains only the arrival time of the bunches sent to FL1 (e.g. if there are 30 bunches in FL1 the first 30 values are the arrival time the remaining numbers still may have arbitrary numbers looking like a signal which they are not). These are the same values as the "raw" data below - just "cleaned". The values show a very good correlation to the arrival time  of the XUV pulses in the experiment (see help).
477 +(% style="color:#000000" %)channel: FLASH.SDIAG/BAM/(% style="color:#172b4d" %)FL1.SFELC(% style="color:#000000" %)/ARRIVAL_TIME.ABSOLUTE.SA1.COMP
478 +{{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).
472 472  units: fs (bigger numbers (typically) indicate later arrival times of the electrons).
473 473  
474 474  
... ... @@ -504,6 +504,7 @@
504 504  DAQ channel: {{code language="none"}}PBD.BEAM.PROF.ML/DAQ.OUT.PROF.CCCED{{/code}}
505 505  desc: temporal profile of electron bunch, y axis in Ampers (FLASH1)
506 506  units: pixel
514 +
507 507  
508 508  {{code language="none"}}/FL1/Electron Diagnostic/Electron bunch profile/Expert stuff/TDS calibration constant{{/code}}
509 509  //always saved (PBD) - IF LOLA is ON and ACTIVATED in the PBD DAQ (talk to expert)//
... ... @@ -511,6 +511,7 @@
511 511  DAQ channel: = PBD.BEAM.PROF.ML/CCT=
512 512  desc: TDS calibration constant for the x-axis of the profiles: fs per pixel
513 513  units: fs per pixel
522 +
514 514  
515 515  {{code language="none"}}/FL1/Electron Diagnostic/Electron bunch profile/TDS profile width rms{{/code}}
516 516  //always saved (PBD) - IF LOLA is ON and ACTIVATED in the PBD DAQ (talk to expert)//
... ... @@ -526,7 +526,8 @@
526 526  DOOCS prop : {{code language="none"}}TTF2.DAQ/ENERGY.DOGLEG/E_INTRA_MEAN/VAL{{/code}}
527 527  DAQ channel: {{code language="none"}}PBD.ENERGY.DOGLEG/E_MEAN{{/code}}
528 528  desc: electron bunch energy (average over the bunch train)
529 -units: (% class="twikiNewLink" %)MeV
538 +units: (% class="twikiNewLink" %)MeV(%%)
539 +
530 530  
531 531  {{code language="none"}}/FL1/Electron Diagnostic/Electron energy/pulse resolved energy{{/code}}
532 532  //always saved (PBD)//
... ... @@ -542,27 +542,26 @@
542 542  DAQ channel: {{code language="none"}}PBD.ENERGY.DOGLEG/LAMBDA_MEAN{{/code}}
543 543  desc: Wavelength calculated by the electron bunch energy (average over the bunch train) (FLASH1)
544 544  units: nm
555 +
545 545  
546 546  [[Contents>>doc:||anchor="Contents"]]
547 547  
548 548  
549 -==== ====
550 -
551 -
552 552  ==== Timing information, rep rate etc.  (FLASH1) ====
553 553  
554 554  ===== bunch repetition rate =====
555 555  
556 -{{code language="none"}}/Timing/repetition rate{{/code}}
564 +{{code language="none"}}/FL1/Timing/repetition rate{{/code}}
557 557  //always saved (PBD)//
558 558  DOOCS prop : {{code language="none"}}FLASH.DIAG/TIMER/FLASHCPUTIME1.0/REP_RATE_KHZ.1{{/code}}
559 -DAQ channel: {{code language="none"}}FLASH.DIAG/TIMER/FLASHCPUTIME1.0/REP_RATE_KHZ.1{{/code}}
567 +DAQ channel: {{code language="none"}}TTF2.UTIL/LASER.CONTROL/GUN/PULSE_FREQ{{/code}}
560 560  desc: repetition rate of the bunches / pulses within the burst (FLASH1)
561 561  units: kHz
570 +
562 562  
563 563  ===== set number of pulses =====
564 564  
565 -(% style="color:#ff6600" %)(HDF5 name not yet implemented - see zraw)(% style="color:#ff0000" %){{code language="none"}}/Timing/set number of bunches {{/code}}(%%)
574 +(% style="color:#ff6600" %)(HDF5 name not yet implemented - see zraw)(% style="color:#ff0000" %){{code language="none"}}/FL1/Timing/set number of bunches {{/code}}(%%)
566 566  //always saved (PBD)//
567 567  DOOCS prop : {{code language="none"}}FLASH.DIAG/TIMINGINFO/TIME1.BUNCH_FIRST_INDEX.1 [4th number]{{/code}}
568 568  DAQ channel: {{code language="none"}}FLASH.DIAG/TIMINGINFO/TIME1.BUNCH_FIRST_INDEX.1 [4th number]{{/code}}
... ... @@ -577,6 +577,7 @@
577 577  DAQ channel: {{code language="none"}}TTF2.DIAG/PBD.TOROID.ML/12EXP{{/code}}
578 578  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)
579 579  units:
589 +
580 580  
581 581  ===== actual pulse pattern recorded after the undulator =====
582 582  
... ... @@ -586,6 +586,7 @@
586 586  DAQ channel: {{code language="none"}}TTF2.DIAG/PBD.TOROID.ML/12EXP{{/code}}
587 587  desc: The bunch pattern as function of time in a burst recorded by toroid diagnostic BEHIND the undulator. (FLASH1)
588 588  units:
599 +
589 589  
590 590  ===== Train ID =====
591 591  
... ... @@ -595,34 +595,24 @@
595 595  DAQ channel: {{code language="none"}}none{{/code}}
596 596  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 !)
597 597  units:
609 +
598 598  
599 -===== (% style="color:#e67e22" %)Train time(%%) =====
611 +===== Train time =====
600 600  
601 -(% style="color:#e67e22" %){{code language="none"}}/Timing/train time{{/code}}
613 +{{code language="none"}}/Timing/train time{{/code}}
602 602  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
603 603  units: d h min s cs
616 +
604 604  
605 -(% style="color:#e67e22" %){{code language="none"}}/Timing/time stamp{{/code}}
618 +{{code language="none"}}/Timing/time stamp{{/code}}
606 606  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
607 607  second column: microseconds
608 608  third column: Train ID of FLASH
622 +
609 609  
610 -currently it is saved as Unix time in : /zraw/FLASH.DIAG/TIMINGINFO/TIME1.BUNCH_FIRST_INDEX.1/dGroup/time
624 +[[Contents>>doc:||anchor="Contents"]]
611 611  
612 -{{expand expanded="false" title="Timestamp help for python"}}
613 - import time
614 614  
615 -# epoch time is found in /zraw/FLASH.DIAG/TIMINGINFO/TIME1.BUNCH_FIRST_INDEX.1/dGroup/time #!!! a leading 1 has to be added !!!
616 -# 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
617 -epoch_time = 1709051499.17 # Replace with your epoch time
618 -
619 -formatted_time = time.strftime('%Y-%m-%d %H:%M:%S', time.gmtime(epoch_time))
620 -print(formatted_time)
621 -{{/expand}}
622 -
623 -
624 -
625 -
626 626  ==== Pump Probe Laser (FLASH1) ====
627 627  
628 628  **PIGLET (PG laser)**
... ... @@ -738,9 +738,10 @@
738 738  * {{code language="none"}}number of samples{{/code}}: total number of samples recorded for each 10 Hz trigger
739 739  
740 740  [[Contents>>doc:||anchor="Contents"]]
741 -{{/expand}}
742 742  
743 743  
744 +
745 +
744 744  === FLASH2 ===
745 745  
746 746  There is analog to FLASH1 a permanently running "PhotonDagnostic DAQ FLASH2" (PBD2) and 2 User DAQs
... ... @@ -748,12 +748,15 @@
748 748  ==== Beamline info (FLASH2) ====
749 749  
750 750  {{code language="none"}}/FL2/Beamlines/Attenuator/pressure  {{/code}}
753 +(% style="color:#000000" %)//always saved (PBD2)// (%%)
751 751  (% style="color:#000000" %)DOOCS prop : {{code language="none"}}FLASH.FEL/ATT.GAS_DOSING/FL2.HALL/PRESSURE{{/code}} (%%)
752 752  (% style="color:#000000" %)DAQ channel:  {{code language="none"}}FLASH.FEL/ATT.GAS_DOSING/FL2.HALL/PRESSURE{{/code}} (%%)
753 753  (% style="color:#000000" %)desc: set pressure in the gas attenuator (%%)
754 -(% style="color:#000000" %)units: mbar
757 +(% style="color:#000000" %)units: mbar(%%)
758 +
755 755  
756 756  {{code language="none"}}/FL2/Beamlines/FL20/Shutter/open{{/code}}
761 +//always saved (PBD2)//
757 757  DOOCS prop : {{code language="none"}}FLASH.FEL/ADC.SIS.FL2FS/FL20.SHUTTER/CH00.TD{{/code}}
758 758  DAQ channel: {{code language="none"}}FLASH.FEL/ADC.SIS.FL2FS/FL20.SHUTTER{{/code}}
759 759  desc: BL Beamline Fast shutter state: 1 is open, 0 is closed ( for technical reasons there are 100 vales of this state saved ...)
... ... @@ -761,12 +761,15 @@
761 761  
762 762  
763 763  {{code language="none"}}/FL2/Beamlines/Filter wheel/position wheel 1{{/code}}
769 +//always saved (PBD2)//
764 764  DOOCS prop : {{code language="none"}}FLASH.FEL/FL20H.PH.MOTOR/MOTOR1.MOT3/FPOS{{/code}}
765 765  DAQ channel: FLASH.FEL/FL20H.PH.MOTOR/MOTOR1.MOT3/FPOS
766 766  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]]**
767 767  units: degree
774 +
768 768  
769 769  /FL2/Beamlines/Filter wheel/position wheel 2
777 +always saved (PBD2)
770 770  DOOCS prop : {{code language="none"}}FLASH.FEL/FL20H.PH.MOTOR/MOTOR2.MOT3/FPOS{{/code}}
771 771  DAQ channel: {{code language="none"}}FLASH.FEL/FL20H.PH.MOTOR/MOTOR2.MOT3/FPOS{{/code}}
772 772  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]]
... ... @@ -782,6 +782,7 @@
782 782  ==== Photon Diagnostics SASE ([[XGMD>>url:http://photon-science.desy.de/facilities/flash/photon_diagnostics/gmd_intensity_and_position/index_eng.html||shape="rect"]] - FLASH2) ====
783 783  
784 784  {{code language="none"}}/FL2/Photon Diagnostic/GMD/Average energy/energy tunnel{{/code}}
793 +//always saved (PBD2)//
785 785  DOOCS prop : {{code language="none"}}FLASH.FEL/XGM.PHOTONFLUX/FL2.TUNNEL/PHOTONFLUX.UJ{{/code}}
786 786  DAQ channel:{{code language="none"}} FLASH.FEL/XGM.PHOTONFLUX/FL2.TUNNEL/PHOTONFLUX.UJ{{/code}}
787 787  desc : calibrated average ( ~~ 20 sec averaging time ) SASE Energy/pulse measured in the TUNNEL before the attenuator (ion current)
... ... @@ -789,6 +789,7 @@
789 789  
790 790  
791 791  {{code language="none"}}/FL2/Photon Diagnostic/GMD/Pulse resolved energy/energy tunnel{{/code}}
801 +//always saved (PBD2)//
792 792  DOOCS prop : {{code language="none"}}FLASH.FEL/XGM.INTENSITY/FL2.TUNNEL/INTENSITY.TD{{/code}}
793 793  DAQ channel: {{code language="none"}}FLASH.FEL/XGM.INTENSITY/FL2.TUNNEL/INTENSITY.TD{{/code}}
794 794  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)
... ... @@ -796,6 +796,7 @@
796 796  
797 797  {{info title="GMD pulse resolved data structure"}}
798 798  For every pulse in the pulse train the information is saved:
809 +
799 799  
800 800  1. **Intensity per pulse** (a.u. (more or less µJ ))
801 801  1. Intensity per pulse (auxillary GMD) - not used
... ... @@ -823,6 +823,7 @@
823 823  
824 824  
825 825  {{code language="none"}}/FL2/Photon Diagnostic/GMD/Average Beam position/position tunnel horizontal{{/code}}
837 +//always saved (PBD2)//
826 826  DOOCS prop : {{code language="none"}}FLASH.FEL/XGM.POSMON/FL2.TUNNEL/IX.POS{{/code}}
827 827  DAQ channel: {{code language="none"}}FLASH.FEL/XGM.POSMON/FL2.TUNNEL/IX.POS{{/code}}
828 828  desc : the Average ( ~~ 20 sec averaging time ) Beam position of the photon Beam determined by the GMD (tunnel, x=horizontal)
... ... @@ -830,6 +830,7 @@
830 830  
831 831  
832 832  {{code language="none"}}/FL2/Photon Diagnostic/GMD/Average Beam position/position tunnel vertical{{/code}}
845 +//always saved (PBD2)//
833 833  DOOCS prop : {{code language="none"}}FLASH.FEL/XGM.POSMON/FL2.TUNNEL/IY.POS{{/code}}
834 834  DAQ channel: {{code language="none"}}FLASH.FEL/XGM.POSMON/FL2.TUNNEL/IY.POS{{/code}}
835 835  desc : the Average ( ~~ 20 sec averaging time ) Beam position of the photon Beam determined by the GMD (tunnel, x=horizontal)
... ... @@ -837,6 +837,7 @@
837 837  
838 838  
839 839  /FL2/Photon Diagnostic/GMD/Pulse resolved beam position/position tunnel x
853 +always saved (PBD2)
840 840  DOOCS prop : FLASH.FEL/XGM.BPM/FL2.HALL/X.TD
841 841  DAQ channel: FLASH.FEL/XGM.BPM/FL2.HALL:2
842 842  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 ...)
... ... @@ -856,6 +856,7 @@
856 856  
857 857  
858 858  {{code language="none"}}/FL2/Photon Diagnostic/Wavelength/OPIS tunnel/Processed/mean photon energy{{/code}}
873 +// saved opon request (PBD2)//
859 859  DOOCS prop : {{code language="none"}}FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL042{{/code}}
860 860  DAQ channel:{{code language="none"}} FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL042{{/code}}
861 861  desc : mean photon energy ( ~~ 1 sec averaging time ) measured in the TUNNEL for a specific bunch out of the bunch train (via photoelectron spectroscopy)
... ... @@ -863,6 +863,7 @@
863 863  
864 864  
865 865  {{code language="none"}}/FL2/Photon Diagnostic/Wavelength/OPIS tunnel/Processed/mean wavelength{{/code}}
881 +// saved opon request (PBD2)//
866 866  DOOCS prop : {{code language="none"}}FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL040{{/code}}
867 867  DAQ channel:{{code language="none"}} FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL040{{/code}}
868 868  desc : mean wavelength ( ~~ 1 sec averaging time ) measured in the TUNNEL for a specific bunch out of the bunch train (via photoelectron spectroscopy)
... ... @@ -870,28 +870,12 @@
870 870  
871 871  
872 872  {{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}}
889 +// saved opon request (PBD2)//
873 873  DOOCS prop : {{code language="none"}}FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL060{{/code}}
874 874  DAQ channel:{{code language="none"}} FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL060{{/code}}
875 875  desc : The bunch number of the bunch used for the wavelength calculation
876 876  units :
877 877  
878 -{{expand expanded="false" title="More detailed info on OPIS properties"}}
879 -FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL370,'%','relative width of photoline in percent of the FEL photon energy ROI1, rising flank'
880 -FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL375,'%','relative width of photoline in percent of the FEL photon energy ROI1, tailing flank'
881 -FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL470,'%','relative width of photoline in percent of the FEL photon energy ROI1, mean'
882 -FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL371,'%','relative width of photoline in percent of the FEL photon energy ROI2, rising flank'
883 -FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL376,'%','relative width of photoline in percent of the FEL photon energy ROI2, tailing flank'
884 -FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL471,'%','relative width of photoline in percent of the FEL photon energy ROI2, mean'
885 -FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL372,'%','relative width of photoline in percent of the FEL photon energy ROI3, rising flank'
886 -FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL377,'%','relative width of photoline in percent of the FEL photon energy ROI3, tailing flank'
887 -FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL472,'%','relative width of photoline in percent of the FEL photon energy ROI3, mean'
888 -FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL373,'%','relative width of photoline in percent of the FEL photon energy ROI4, rising flank'
889 -FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL378,'%','relative width of photoline in percent of the FEL photon energy ROI4, tailing flank'
890 -FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL473,'%','relative width of photoline in percent of the FEL photon energy ROI4, mean'
891 -FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL374,'%','relative width of photoline in percent of the FEL photon energy ROI5, rising flank'
892 -FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL379,'%','relative width of photoline in percent of the FEL photon energy ROI5, tailing flank'
893 -FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL474,'%','relative width of photoline in percent of the FEL photon energy ROI5, mean'
894 -{{/expand}}
895 895  
896 896  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"]])
897 897  
... ... @@ -905,6 +905,7 @@
905 905  ===== bunch charge =====
906 906  
907 907  {{code language="none"}}/FL2/Electron Diagnostic/Bunch charge/after undulator{{/code}}
908 +//always saved (PBD2)//
908 908  DOOCS prop : {{code language="none"}}FLASH.DIAG/PBD2.TOROID.ML/9FL2BURN/CHARGE.FLASH2{{/code}}
909 909  DAQ channel: {{code language="none"}}FLASH.DIAG/PBD2.TOROID.ML/9FL2BURN/CHARGE.FLASH2{{/code}}
910 910  desc: electron bunch charge FLASH2 (average value for each bunchtrain).
... ... @@ -914,6 +914,7 @@
914 914  ===== electron bunch energy =====
915 915  
916 916  {{code language="none"}}/FL2/Electron Diagnostic/Electron energy/energy of first bunch/behind undulators{{/code}}
918 +//always saved (PBD2)//
917 917  DOOCS prop : {{code language="none"}}FLASH.DIAG/BEAM_ENERGY_MEASUREMENT/FL2XTDS/ENERGY.FLASH2{{/code}}
918 918  DAQ channel: (% style="color:#5e6c84" %)TTF2.DAQ/PBD2.BEAM.ENERGY.MEAS.ML.COPY/FL2XTDS.ENERGY.FLASH2{{code language="none"}}{{/code}}(%%)
919 919  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
... ... @@ -924,19 +924,21 @@
924 924  (% style="color: rgb(94, 108, 132); font-weight: 600; letter-spacing: 0px;" %)
925 925  ===== undulator settings =====
926 926  
927 -{{code language="none"}}/FL2/Electron Diagnostic/Undulator setting/set wavelength 1{{/code}}
928 -DOOCS prop : {{code language="none"}}FLASH.FEL/FL2.WAVELENGTHCONTROL/FLASH2.COLOR1/WAVELENGTH{{/code}}
929 -DAQ channel:  {{code language="none"}}FLASH.FEL/FL2.WAVELENGTHCONTROL/FLASH2.COLOR1/WAVELENGTH{{/code}}
930 -desc: Set value for the anticipated wavelength 1 . This parameter is used to set the undulator gap. It may however deviate from the actual wavelength by several % ... For 2 color operation there is also  the same parameter for COLOR 2
929 +{{code language="none"}}/FL2/Electron Diagnostic/Undulator setting/set wavelength{{/code}}
930 +//always saved (PBD2)//
931 +DOOCS prop : {{code language="none"}}TTF2.FEEDBACK/FL2.WAVELENGTHCONTROL/FLASH2/WAVELENGTH{{/code}}
932 +DAQ channel:  {{code language="none"}}TTF2.FEEDBACK/FL2.WAVELENGTHCONTROL/FLASH2/WAVELENGTH{{/code}}
933 +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 931  units: nm
932 932  
933 -{{code language="none"}}/FL2/Electron Diagnostic/Undulator setting/SASE13 gap{{/code}}
934 -DOOCS prop : {{code language="none"}}FLASH.UTIL/FL2.UND.MOTOR/FL2SASE13/GAP{{/code}}
935 -DAQ channel:  {{code language="none"}}FLASH.UTIL/FL2.UND.MOTOR/FL2SASE13/GAP{{/code}}
936 -desc: gap value of the undulators. This can be used to follow up how many undulators were closed and if there was a taper. 
936 +{{code language="none"}}/FL2/Electron Diagnostic/Undulator setting/SASE14 gap{{/code}}
937 +//always saved (PBD2)//
938 +DOOCS prop : {{code language="none"}}FLASH.UTIL/FL2.UND.MOTOR/FL2SASE14/GAP{{/code}}
939 +DAQ channel:  {{code language="none"}}FLASH.UTIL/FL2.UND.MOTOR/FL2SASE14/GAP{{/code}}
940 +desc: gap value of the undulators. This can be used to follow up how many undulators were closed and if there was a taper
937 937  units: mm
938 938  
939 -The gap values are saved for all 12 undulators (Nr 2 to 13). Undulator 13 is the one closest to the experimental hall.
943 +The gap values are saved for all 12 undulators (Nr 3 to 14). Undulator 14 is the one closest to the experimental hall.
940 940  
941 941  =====
942 942  arrival time (BAM) =====
... ... @@ -1100,6 +1100,7 @@
1100 1100  DAQ channel: {{code language="none"}}FLASH.DIAG/PBD2.TOROID.ML/3GUN/NUMBEROFBUNCHES.FLASH2{{/code}}
1101 1101  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)
1102 1102  units:
1107 +
1103 1103  
1104 1104  ===== actual pulse pattern recorded after the undulator =====
1105 1105  
... ... @@ -1109,6 +1109,7 @@
1109 1109  DAQ channel: {{code language="none"}}FLASH.DIAG/PBD2.TOROID.ML/9FL2BURN.PULSEPATTERN{{/code}}
1110 1110  desc: The bunch pattern as function of time in a burst recorded by toroide diagnostic BEHIND the undulator. (FLASH2)
1111 1111  units:
1117 +
1112 1112  
1113 1113  ===== Train ID =====
1114 1114  
... ... @@ -1118,40 +1118,26 @@
1118 1118  DAQ channel: {{code language="none"}}none{{/code}}
1119 1119  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 !)
1120 1120  units:
1127 +
1121 1121  
1122 -===== (% style="color:#e67e22" %)Train time(%%) =====
1129 +===== Train time =====
1123 1123  
1124 -(% style="color:#e67e22" %)//always saved (PBD2)//(%%)
1125 -(% style="color:#e67e22" %){{code language="none"}}/Timing/train time{{/code}}
1131 +//always saved (PBD2)//
1132 +{{code language="none"}}/Timing/train time{{/code}}
1126 1126  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
1127 1127  units: d h min s cs
1135 +
1128 1128  
1129 1129  {{code language="none"}}
1130 1130  /Timing/time stamp
1131 1131  {{/code}}
1132 1132  
1133 -(% style="color:#e67e22" %)//always saved (PBD2)//(%%)
1134 -(% 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
1141 +//always saved (PBD2)//
1142 +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
1135 1135  second column: microseconds
1136 1136  third column: Train ID of FLASH
1145 +
1137 1137  
1138 -
1139 -(% 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
1140 -
1141 -{{expand expanded="false" title="Timestamp help for python"}}
1142 - import time
1143 -
1144 -# epoch time is found in /zraw/FLASH.DIAG/TIMINGINFO/TIME1.BUNCH_FIRST_INDEX.1/dGroup/time #!!! a leading 1 has to be added !!!
1145 -# 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
1146 -epoch_time = 1709051499.17 # Replace with your epoch time
1147 -
1148 -formatted_time = time.strftime('%Y-%m-%d %H:%M:%S', time.gmtime(epoch_time))
1149 -print(formatted_time)
1150 -{{/expand}}
1151 -
1152 -
1153 -
1154 -
1155 1155  [[Contents>>doc:||anchor="Contents"]]
1156 1156  
1157 1157  
... ... @@ -1220,7 +1220,7 @@
1220 1220  
1221 1221  {{view-file att--filename="FSLADAQ-DAQParameterlistFL24-2.pdf"}}{{/view-file}}
1222 1222  
1223 -internal link to parameter list: [[FS-LA DAQ - XWiki>>url:https://xwiki.desy.de/xwiki/bin/view/FSLADAQ/]]
1215 +
1224 1224  {{/info}}
1225 1225  
1226 1226  {{expand title="Laser parameters used until 2023"}}
... ... @@ -1695,3 +1695,8 @@
1695 1695  )))
1696 1696  
1697 1697  [[Contents>>doc:||anchor="Contents"]]
1690 +
1691 +
1692 +{{/layout-cell}}
1693 +{{/layout-section}}
1694 +{{/layout}}
image.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.sndueste
Size
... ... @@ -1,1 +1,0 @@
1 -1.1 MB
Content