Changes for page The FLASH HDF5 structure

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

From version 105.3
edited by sndueste
on 2026-01-09 15:16
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,20 +5,10 @@
5 5  {{toc/}}
6 6  
7 7  
8 -== General information about HDF5 and how to look on 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 doubbelclicking 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) nad create the link via:
17 -
18 -{{code language="none"}}
19 -> silx view
20 -{{/code}}
21 -
22 22  To download the HDF5 Viewer click [[here>>url:https://portal.hdfgroup.org/display/support/Download+HDFView||shape="rect"]]
23 23  
24 24  For use on the DESY Maxwell or PAL (max-fsc or pal) **hdfview** is available in the xray module :
... ... @@ -68,17 +68,25 @@
68 68  {{/expand}}
69 69  
70 70  === HDF examples: ===
64 +{{/layout-cell}}
65 +{{/layout-section}}
71 71  
67 +{{layout-section ac:type="three_equal"}}
68 +{{layout-cell}}
72 72  * ADC data as example for **fast** **data** (10 Hz):            
73 73  
74 74  [[image:attach:image2020-11-16_15-26-28.png||height="250"]]
72 +{{/layout-cell}}
75 75  
74 +{{layout-cell}}
76 76  * 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}})
77 77  
78 78   ( as example only every 10th train ID is listed in the HDF group "index")
79 79  
80 80  [[image:attach:image2020-11-16_15-31-45.png||height="250"]]
80 +{{/layout-cell}}
81 81  
82 +{{layout-cell}}
82 82  * (((
83 83  //zraw// group contains the **original DAQ (DOOCS) names**
84 84  )))
... ... @@ -87,7 +87,11 @@
87 87  
88 88  
89 89  [[image:attach:image2020-11-16_16-26-3.png||height="400"]]
91 +{{/layout-cell}}
92 +{{/layout-section}}
90 90  
94 +{{layout-section ac:type="single"}}
95 +{{layout-cell}}
91 91  {{info}}
92 92  === There are different options that help you to work with the FLASH HDF5 data in Python ===
93 93  
... ... @@ -94,30 +94,31 @@
94 94  * The currently developed option for large data sets: [[the FAB package>>url:https://hasfcpkg.desy.de/fab/fab.html||shape="rect"]] ... see below
95 95  * 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"]]
96 96  
97 -(% 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]]
98 98  {{/info}}
104 +{{/layout-cell}}
105 +{{/layout-section}}
99 99  
107 +{{layout-section ac:type="single"}}
108 +{{layout-cell}}
109 +
100 100  
101 -
102 102  == Complete list of recordable parameters ==
103 103  
104 104  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 +
105 105  
106 -== 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 ==
107 107  
108 108  {{id name="DOOCSparameters"/}}
109 109  
120 +Note, the HDF group and data set names apply to our HDF tree version since vers. 0.3.0.
110 110  
122 +
111 111  === FLASH1 ===
112 112  
125 +==== Beamline info (FLASH1) ====
113 113  
114 -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.
115 -
116 -The previously used naming scheme (2024 and before) can be found here:
117 -
118 -{{expand expanded="false" title="FLASH1 naming scheme used until 2024"}}
119 -==== (% id="cke_bm_8853497S" style="display:none" %) (%%)Beamline info (FLASH1) ====
120 -
121 121  {{code language="none"}}/FL1/Beamlines/Attenuator/pressure{{/code}}
122 122  //always saved (PBD)//
123 123  DOOCS prop : {{code language="none"}}FLASH.FEL/GAS_DOSING/FL1.ATTENUATOR/PRESSURE{{/code}}
... ... @@ -124,6 +124,7 @@
124 124  DAQ channel: {{code language="none"}}FLASH.FEL/GAS_DOSING/FL1.ATTENUATOR/PRESSURE{{/code}}
125 125  desc: set pressure in the gas attenuator
126 126  units: mbar
133 +
127 127  
128 128  {{code language="none"}}/FL1/Beamlines/BL/Fast shutter/open{{/code}}
129 129  //always saved (PBD)//
... ... @@ -145,6 +145,7 @@
145 145  DAQ channel: {{code language="none"}}TTF2.FEL/BLFILTERS1/FILTER1/FW.MOTOR.POS{{/code}}
146 146  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]]
147 147  units: degree
155 +
148 148  
149 149  {{code language="none"}}/FL1/Beamlines/BL/Filters/BL filter wheel/position filter 2{{/code}}
150 150  //always saved (PBD)//
... ... @@ -152,6 +152,7 @@
152 152  DAQ channel: {{code language="none"}}TTF2.FEL/BLFILTERS2/FILTER2/FW.MOTOR.POS{{/code}}
153 153  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]]
154 154  units: degree
163 +
155 155  
156 156  {{code language="none"}}/FL1/Beamlines/PG/Filters/position filter 1{{/code}}
157 157  //always saved (PBD)//
... ... @@ -159,6 +159,7 @@
159 159  DAQ channel: {{code language="none"}}TTF2.FEL/BDAF1/BDA.F1/FW.MOTOR.POS{{/code}}
160 160  desc: Position of the PG filter wheel 1
161 161  units: degree
171 +
162 162  
163 163  {{code language="none"}}/FL1/Beamlines/PG/Filters/position filter 2{{/code}}
164 164  //always saved (PBD)//
... ... @@ -166,6 +166,7 @@
166 166  DAQ channel: {{code language="none"}}TTF2.FEL/BDAF2/BDA.F2/FW.MOTOR.POS{{/code}}
167 167  desc: Position of the PG filter wheel 2
168 168  units: degree
179 +
169 169  
170 170  {{code language="none"}}/FL1/Beamlines/PG/Filters/position filter 3{{/code}}
171 171  //always saved (PBD)//
... ... @@ -238,8 +238,8 @@
238 238  
239 239  {{code language="none"}}/FL1/Photon Diagnostic/GMD/Average energy/energy tunnel{{/code}}
240 240  //always saved (PBD)//
241 -(% style="color:#000000" %)DOOCS prop : {{code language="none"}}FLASH.FEL/XGM.PHOTONFLUX/FL1.TUNNEL/PHOTONFLUX.UJ{{/code}} (%%)
242 -(% 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}}
243 243  
244 244  desc : calibrated average SASE Energy/pulse measured in the TUNNEL upstream the gas attenuator
245 245  units : microJ
... ... @@ -248,8 +248,8 @@
248 248  {{code language="none"}}/FL1/Photon Diagnostic/GMD/Pulse resolved energy/energy tunnel{{/code}}
249 249  //always saved (PBD)//
250 250  
251 -(% style="color:#000000" %)DOOCS prop : (%%)
252 -(% 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}}
253 253  
254 254  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)
255 255  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]]**
... ... @@ -256,6 +256,7 @@
256 256  
257 257  {{info title="GMD pulse resolved data structure"}}
258 258  For every pulse in the pulse train the information is saved:
270 +
259 259  
260 260  1. **Intensity per pulse** (a.u. (more or less µJ ))
261 261  1. Intensity per pulse (auxillary GMD) - not used
... ... @@ -269,7 +269,8 @@
269 269  The pulse energy and the error are plotted for the first bunch of the pulse trains saved in this 
270 270  file
271 271  
272 - [[image:image2021-2-9_10-51-6.png]]
284 +
285 +[[image:attach:image2021-2-9_10-51-6.png||height="250"]]
273 273  
274 274  
275 275  {{/info}}
... ... @@ -461,8 +461,8 @@
461 461  
462 462  //always saved (PBD)//
463 463  (% style="color:#172b4d" %)**FL1.SFELC**(%%)
464 -(% style="color:#000000" %)channel: FLASH.SDIAG/BAM/(% style="color:#172b4d" %)FL1.SFELC(% style="color:#000000" %)/ARRIVAL_TIME.ABSOLUTE.SA1.COMP(%%)
465 -(% 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).
466 466  units: fs (bigger numbers (typically) indicate later arrival times of the electrons).
467 467  
468 468  
... ... @@ -498,6 +498,7 @@
498 498  DAQ channel: {{code language="none"}}PBD.BEAM.PROF.ML/DAQ.OUT.PROF.CCCED{{/code}}
499 499  desc: temporal profile of electron bunch, y axis in Ampers (FLASH1)
500 500  units: pixel
514 +
501 501  
502 502  {{code language="none"}}/FL1/Electron Diagnostic/Electron bunch profile/Expert stuff/TDS calibration constant{{/code}}
503 503  //always saved (PBD) - IF LOLA is ON and ACTIVATED in the PBD DAQ (talk to expert)//
... ... @@ -505,6 +505,7 @@
505 505  DAQ channel: = PBD.BEAM.PROF.ML/CCT=
506 506  desc: TDS calibration constant for the x-axis of the profiles: fs per pixel
507 507  units: fs per pixel
522 +
508 508  
509 509  {{code language="none"}}/FL1/Electron Diagnostic/Electron bunch profile/TDS profile width rms{{/code}}
510 510  //always saved (PBD) - IF LOLA is ON and ACTIVATED in the PBD DAQ (talk to expert)//
... ... @@ -520,7 +520,8 @@
520 520  DOOCS prop : {{code language="none"}}TTF2.DAQ/ENERGY.DOGLEG/E_INTRA_MEAN/VAL{{/code}}
521 521  DAQ channel: {{code language="none"}}PBD.ENERGY.DOGLEG/E_MEAN{{/code}}
522 522  desc: electron bunch energy (average over the bunch train)
523 -units: (% class="twikiNewLink" %)MeV
538 +units: (% class="twikiNewLink" %)MeV(%%)
539 +
524 524  
525 525  {{code language="none"}}/FL1/Electron Diagnostic/Electron energy/pulse resolved energy{{/code}}
526 526  //always saved (PBD)//
... ... @@ -536,27 +536,26 @@
536 536  DAQ channel: {{code language="none"}}PBD.ENERGY.DOGLEG/LAMBDA_MEAN{{/code}}
537 537  desc: Wavelength calculated by the electron bunch energy (average over the bunch train) (FLASH1)
538 538  units: nm
555 +
539 539  
540 540  [[Contents>>doc:||anchor="Contents"]]
541 541  
542 542  
543 -==== ====
544 -
545 -
546 546  ==== Timing information, rep rate etc.  (FLASH1) ====
547 547  
548 548  ===== bunch repetition rate =====
549 549  
550 -{{code language="none"}}/Timing/repetition rate{{/code}}
564 +{{code language="none"}}/FL1/Timing/repetition rate{{/code}}
551 551  //always saved (PBD)//
552 552  DOOCS prop : {{code language="none"}}FLASH.DIAG/TIMER/FLASHCPUTIME1.0/REP_RATE_KHZ.1{{/code}}
553 -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}}
554 554  desc: repetition rate of the bunches / pulses within the burst (FLASH1)
555 555  units: kHz
570 +
556 556  
557 557  ===== set number of pulses =====
558 558  
559 -(% 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}}(%%)
560 560  //always saved (PBD)//
561 561  DOOCS prop : {{code language="none"}}FLASH.DIAG/TIMINGINFO/TIME1.BUNCH_FIRST_INDEX.1 [4th number]{{/code}}
562 562  DAQ channel: {{code language="none"}}FLASH.DIAG/TIMINGINFO/TIME1.BUNCH_FIRST_INDEX.1 [4th number]{{/code}}
... ... @@ -571,6 +571,7 @@
571 571  DAQ channel: {{code language="none"}}TTF2.DIAG/PBD.TOROID.ML/12EXP{{/code}}
572 572  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)
573 573  units:
589 +
574 574  
575 575  ===== actual pulse pattern recorded after the undulator =====
576 576  
... ... @@ -580,6 +580,7 @@
580 580  DAQ channel: {{code language="none"}}TTF2.DIAG/PBD.TOROID.ML/12EXP{{/code}}
581 581  desc: The bunch pattern as function of time in a burst recorded by toroid diagnostic BEHIND the undulator. (FLASH1)
582 582  units:
599 +
583 583  
584 584  ===== Train ID =====
585 585  
... ... @@ -589,34 +589,24 @@
589 589  DAQ channel: {{code language="none"}}none{{/code}}
590 590  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 !)
591 591  units:
609 +
592 592  
593 -===== (% style="color:#e67e22" %)Train time(%%) =====
611 +===== Train time =====
594 594  
595 -(% style="color:#e67e22" %){{code language="none"}}/Timing/train time{{/code}}
613 +{{code language="none"}}/Timing/train time{{/code}}
596 596  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
597 597  units: d h min s cs
616 +
598 598  
599 -(% style="color:#e67e22" %){{code language="none"}}/Timing/time stamp{{/code}}
618 +{{code language="none"}}/Timing/time stamp{{/code}}
600 600  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
601 601  second column: microseconds
602 602  third column: Train ID of FLASH
622 +
603 603  
604 -currently it is saved as Unix time in : /zraw/FLASH.DIAG/TIMINGINFO/TIME1.BUNCH_FIRST_INDEX.1/dGroup/time
624 +[[Contents>>doc:||anchor="Contents"]]
605 605  
606 -{{expand expanded="false" title="Timestamp help for python"}}
607 - import time
608 608  
609 -# epoch time is found in /zraw/FLASH.DIAG/TIMINGINFO/TIME1.BUNCH_FIRST_INDEX.1/dGroup/time #!!! a leading 1 has to be added !!!
610 -# 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
611 -epoch_time = 1709051499.17 # Replace with your epoch time
612 -
613 -formatted_time = time.strftime('%Y-%m-%d %H:%M:%S', time.gmtime(epoch_time))
614 -print(formatted_time)
615 -{{/expand}}
616 -
617 -
618 -
619 -
620 620  ==== Pump Probe Laser (FLASH1) ====
621 621  
622 622  **PIGLET (PG laser)**
... ... @@ -732,9 +732,10 @@
732 732  * {{code language="none"}}number of samples{{/code}}: total number of samples recorded for each 10 Hz trigger
733 733  
734 734  [[Contents>>doc:||anchor="Contents"]]
735 -{{/expand}}
736 736  
737 737  
744 +
745 +
738 738  === FLASH2 ===
739 739  
740 740  There is analog to FLASH1 a permanently running "PhotonDagnostic DAQ FLASH2" (PBD2) and 2 User DAQs
... ... @@ -742,12 +742,15 @@
742 742  ==== Beamline info (FLASH2) ====
743 743  
744 744  {{code language="none"}}/FL2/Beamlines/Attenuator/pressure  {{/code}}
753 +(% style="color:#000000" %)//always saved (PBD2)// (%%)
745 745  (% style="color:#000000" %)DOOCS prop : {{code language="none"}}FLASH.FEL/ATT.GAS_DOSING/FL2.HALL/PRESSURE{{/code}} (%%)
746 746  (% style="color:#000000" %)DAQ channel:  {{code language="none"}}FLASH.FEL/ATT.GAS_DOSING/FL2.HALL/PRESSURE{{/code}} (%%)
747 747  (% style="color:#000000" %)desc: set pressure in the gas attenuator (%%)
748 -(% style="color:#000000" %)units: mbar
757 +(% style="color:#000000" %)units: mbar(%%)
758 +
749 749  
750 750  {{code language="none"}}/FL2/Beamlines/FL20/Shutter/open{{/code}}
761 +//always saved (PBD2)//
751 751  DOOCS prop : {{code language="none"}}FLASH.FEL/ADC.SIS.FL2FS/FL20.SHUTTER/CH00.TD{{/code}}
752 752  DAQ channel: {{code language="none"}}FLASH.FEL/ADC.SIS.FL2FS/FL20.SHUTTER{{/code}}
753 753  desc: BL Beamline Fast shutter state: 1 is open, 0 is closed ( for technical reasons there are 100 vales of this state saved ...)
... ... @@ -755,12 +755,15 @@
755 755  
756 756  
757 757  {{code language="none"}}/FL2/Beamlines/Filter wheel/position wheel 1{{/code}}
769 +//always saved (PBD2)//
758 758  DOOCS prop : {{code language="none"}}FLASH.FEL/FL20H.PH.MOTOR/MOTOR1.MOT3/FPOS{{/code}}
759 759  DAQ channel: FLASH.FEL/FL20H.PH.MOTOR/MOTOR1.MOT3/FPOS
760 760  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]]**
761 761  units: degree
774 +
762 762  
763 763  /FL2/Beamlines/Filter wheel/position wheel 2
777 +always saved (PBD2)
764 764  DOOCS prop : {{code language="none"}}FLASH.FEL/FL20H.PH.MOTOR/MOTOR2.MOT3/FPOS{{/code}}
765 765  DAQ channel: {{code language="none"}}FLASH.FEL/FL20H.PH.MOTOR/MOTOR2.MOT3/FPOS{{/code}}
766 766  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]]
... ... @@ -776,6 +776,7 @@
776 776  ==== Photon Diagnostics SASE ([[XGMD>>url:http://photon-science.desy.de/facilities/flash/photon_diagnostics/gmd_intensity_and_position/index_eng.html||shape="rect"]] - FLASH2) ====
777 777  
778 778  {{code language="none"}}/FL2/Photon Diagnostic/GMD/Average energy/energy tunnel{{/code}}
793 +//always saved (PBD2)//
779 779  DOOCS prop : {{code language="none"}}FLASH.FEL/XGM.PHOTONFLUX/FL2.TUNNEL/PHOTONFLUX.UJ{{/code}}
780 780  DAQ channel:{{code language="none"}} FLASH.FEL/XGM.PHOTONFLUX/FL2.TUNNEL/PHOTONFLUX.UJ{{/code}}
781 781  desc : calibrated average ( ~~ 20 sec averaging time ) SASE Energy/pulse measured in the TUNNEL before the attenuator (ion current)
... ... @@ -783,6 +783,7 @@
783 783  
784 784  
785 785  {{code language="none"}}/FL2/Photon Diagnostic/GMD/Pulse resolved energy/energy tunnel{{/code}}
801 +//always saved (PBD2)//
786 786  DOOCS prop : {{code language="none"}}FLASH.FEL/XGM.INTENSITY/FL2.TUNNEL/INTENSITY.TD{{/code}}
787 787  DAQ channel: {{code language="none"}}FLASH.FEL/XGM.INTENSITY/FL2.TUNNEL/INTENSITY.TD{{/code}}
788 788  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)
... ... @@ -790,6 +790,7 @@
790 790  
791 791  {{info title="GMD pulse resolved data structure"}}
792 792  For every pulse in the pulse train the information is saved:
809 +
793 793  
794 794  1. **Intensity per pulse** (a.u. (more or less µJ ))
795 795  1. Intensity per pulse (auxillary GMD) - not used
... ... @@ -817,6 +817,7 @@
817 817  
818 818  
819 819  {{code language="none"}}/FL2/Photon Diagnostic/GMD/Average Beam position/position tunnel horizontal{{/code}}
837 +//always saved (PBD2)//
820 820  DOOCS prop : {{code language="none"}}FLASH.FEL/XGM.POSMON/FL2.TUNNEL/IX.POS{{/code}}
821 821  DAQ channel: {{code language="none"}}FLASH.FEL/XGM.POSMON/FL2.TUNNEL/IX.POS{{/code}}
822 822  desc : the Average ( ~~ 20 sec averaging time ) Beam position of the photon Beam determined by the GMD (tunnel, x=horizontal)
... ... @@ -824,6 +824,7 @@
824 824  
825 825  
826 826  {{code language="none"}}/FL2/Photon Diagnostic/GMD/Average Beam position/position tunnel vertical{{/code}}
845 +//always saved (PBD2)//
827 827  DOOCS prop : {{code language="none"}}FLASH.FEL/XGM.POSMON/FL2.TUNNEL/IY.POS{{/code}}
828 828  DAQ channel: {{code language="none"}}FLASH.FEL/XGM.POSMON/FL2.TUNNEL/IY.POS{{/code}}
829 829  desc : the Average ( ~~ 20 sec averaging time ) Beam position of the photon Beam determined by the GMD (tunnel, x=horizontal)
... ... @@ -831,6 +831,7 @@
831 831  
832 832  
833 833  /FL2/Photon Diagnostic/GMD/Pulse resolved beam position/position tunnel x
853 +always saved (PBD2)
834 834  DOOCS prop : FLASH.FEL/XGM.BPM/FL2.HALL/X.TD
835 835  DAQ channel: FLASH.FEL/XGM.BPM/FL2.HALL:2
836 836  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 ...)
... ... @@ -850,6 +850,7 @@
850 850  
851 851  
852 852  {{code language="none"}}/FL2/Photon Diagnostic/Wavelength/OPIS tunnel/Processed/mean photon energy{{/code}}
873 +// saved opon request (PBD2)//
853 853  DOOCS prop : {{code language="none"}}FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL042{{/code}}
854 854  DAQ channel:{{code language="none"}} FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL042{{/code}}
855 855  desc : mean photon energy ( ~~ 1 sec averaging time ) measured in the TUNNEL for a specific bunch out of the bunch train (via photoelectron spectroscopy)
... ... @@ -857,6 +857,7 @@
857 857  
858 858  
859 859  {{code language="none"}}/FL2/Photon Diagnostic/Wavelength/OPIS tunnel/Processed/mean wavelength{{/code}}
881 +// saved opon request (PBD2)//
860 860  DOOCS prop : {{code language="none"}}FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL040{{/code}}
861 861  DAQ channel:{{code language="none"}} FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL040{{/code}}
862 862  desc : mean wavelength ( ~~ 1 sec averaging time ) measured in the TUNNEL for a specific bunch out of the bunch train (via photoelectron spectroscopy)
... ... @@ -864,28 +864,12 @@
864 864  
865 865  
866 866  {{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)//
867 867  DOOCS prop : {{code language="none"}}FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL060{{/code}}
868 868  DAQ channel:{{code language="none"}} FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL060{{/code}}
869 869  desc : The bunch number of the bunch used for the wavelength calculation
870 870  units :
871 871  
872 -{{expand expanded="false" title="More detailed info on OPIS properties"}}
873 -FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL370,'%','relative width of photoline in percent of the FEL photon energy ROI1, rising flank'
874 -FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL375,'%','relative width of photoline in percent of the FEL photon energy ROI1, tailing flank'
875 -FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL470,'%','relative width of photoline in percent of the FEL photon energy ROI1, mean'
876 -FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL371,'%','relative width of photoline in percent of the FEL photon energy ROI2, rising flank'
877 -FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL376,'%','relative width of photoline in percent of the FEL photon energy ROI2, tailing flank'
878 -FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL471,'%','relative width of photoline in percent of the FEL photon energy ROI2, mean'
879 -FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL372,'%','relative width of photoline in percent of the FEL photon energy ROI3, rising flank'
880 -FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL377,'%','relative width of photoline in percent of the FEL photon energy ROI3, tailing flank'
881 -FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL472,'%','relative width of photoline in percent of the FEL photon energy ROI3, mean'
882 -FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL373,'%','relative width of photoline in percent of the FEL photon energy ROI4, rising flank'
883 -FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL378,'%','relative width of photoline in percent of the FEL photon energy ROI4, tailing flank'
884 -FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL473,'%','relative width of photoline in percent of the FEL photon energy ROI4, mean'
885 -FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL374,'%','relative width of photoline in percent of the FEL photon energy ROI5, rising flank'
886 -FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL379,'%','relative width of photoline in percent of the FEL photon energy ROI5, tailing flank'
887 -FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL474,'%','relative width of photoline in percent of the FEL photon energy ROI5, mean'
888 -{{/expand}}
889 889  
890 890  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"]])
891 891  
... ... @@ -899,6 +899,7 @@
899 899  ===== bunch charge =====
900 900  
901 901  {{code language="none"}}/FL2/Electron Diagnostic/Bunch charge/after undulator{{/code}}
908 +//always saved (PBD2)//
902 902  DOOCS prop : {{code language="none"}}FLASH.DIAG/PBD2.TOROID.ML/9FL2BURN/CHARGE.FLASH2{{/code}}
903 903  DAQ channel: {{code language="none"}}FLASH.DIAG/PBD2.TOROID.ML/9FL2BURN/CHARGE.FLASH2{{/code}}
904 904  desc: electron bunch charge FLASH2 (average value for each bunchtrain).
... ... @@ -908,6 +908,7 @@
908 908  ===== electron bunch energy =====
909 909  
910 910  {{code language="none"}}/FL2/Electron Diagnostic/Electron energy/energy of first bunch/behind undulators{{/code}}
918 +//always saved (PBD2)//
911 911  DOOCS prop : {{code language="none"}}FLASH.DIAG/BEAM_ENERGY_MEASUREMENT/FL2XTDS/ENERGY.FLASH2{{/code}}
912 912  DAQ channel: (% style="color:#5e6c84" %)TTF2.DAQ/PBD2.BEAM.ENERGY.MEAS.ML.COPY/FL2XTDS.ENERGY.FLASH2{{code language="none"}}{{/code}}(%%)
913 913  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
... ... @@ -918,19 +918,21 @@
918 918  (% style="color: rgb(94, 108, 132); font-weight: 600; letter-spacing: 0px;" %)
919 919  ===== undulator settings =====
920 920  
921 -{{code language="none"}}/FL2/Electron Diagnostic/Undulator setting/set wavelength 1{{/code}}
922 -DOOCS prop : {{code language="none"}}FLASH.FEL/FL2.WAVELENGTHCONTROL/FLASH2.COLOR1/WAVELENGTH{{/code}}
923 -DAQ channel:  {{code language="none"}}FLASH.FEL/FL2.WAVELENGTHCONTROL/FLASH2.COLOR1/WAVELENGTH{{/code}}
924 -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 % ...
925 925  units: nm
926 926  
927 -{{code language="none"}}/FL2/Electron Diagnostic/Undulator setting/SASE13 gap{{/code}}
928 -DOOCS prop : {{code language="none"}}FLASH.UTIL/FL2.UND.MOTOR/FL2SASE13/GAP{{/code}}
929 -DAQ channel:  {{code language="none"}}FLASH.UTIL/FL2.UND.MOTOR/FL2SASE13/GAP{{/code}}
930 -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
931 931  units: mm
932 932  
933 -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.
934 934  
935 935  =====
936 936  arrival time (BAM) =====
... ... @@ -1094,6 +1094,7 @@
1094 1094  DAQ channel: {{code language="none"}}FLASH.DIAG/PBD2.TOROID.ML/3GUN/NUMBEROFBUNCHES.FLASH2{{/code}}
1095 1095  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)
1096 1096  units:
1107 +
1097 1097  
1098 1098  ===== actual pulse pattern recorded after the undulator =====
1099 1099  
... ... @@ -1103,6 +1103,7 @@
1103 1103  DAQ channel: {{code language="none"}}FLASH.DIAG/PBD2.TOROID.ML/9FL2BURN.PULSEPATTERN{{/code}}
1104 1104  desc: The bunch pattern as function of time in a burst recorded by toroide diagnostic BEHIND the undulator. (FLASH2)
1105 1105  units:
1117 +
1106 1106  
1107 1107  ===== Train ID =====
1108 1108  
... ... @@ -1112,40 +1112,26 @@
1112 1112  DAQ channel: {{code language="none"}}none{{/code}}
1113 1113  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 !)
1114 1114  units:
1127 +
1115 1115  
1116 -===== (% style="color:#e67e22" %)Train time(%%) =====
1129 +===== Train time =====
1117 1117  
1118 -(% style="color:#e67e22" %)//always saved (PBD2)//(%%)
1119 -(% style="color:#e67e22" %){{code language="none"}}/Timing/train time{{/code}}
1131 +//always saved (PBD2)//
1132 +{{code language="none"}}/Timing/train time{{/code}}
1120 1120  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
1121 1121  units: d h min s cs
1135 +
1122 1122  
1123 1123  {{code language="none"}}
1124 1124  /Timing/time stamp
1125 1125  {{/code}}
1126 1126  
1127 -(% style="color:#e67e22" %)//always saved (PBD2)//(%%)
1128 -(% 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
1129 1129  second column: microseconds
1130 1130  third column: Train ID of FLASH
1145 +
1131 1131  
1132 -
1133 -(% 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
1134 -
1135 -{{expand expanded="false" title="Timestamp help for python"}}
1136 - import time
1137 -
1138 -# epoch time is found in /zraw/FLASH.DIAG/TIMINGINFO/TIME1.BUNCH_FIRST_INDEX.1/dGroup/time #!!! a leading 1 has to be added !!!
1139 -# 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
1140 -epoch_time = 1709051499.17 # Replace with your epoch time
1141 -
1142 -formatted_time = time.strftime('%Y-%m-%d %H:%M:%S', time.gmtime(epoch_time))
1143 -print(formatted_time)
1144 -{{/expand}}
1145 -
1146 -
1147 -
1148 -
1149 1149  [[Contents>>doc:||anchor="Contents"]]
1150 1150  
1151 1151  
... ... @@ -1214,7 +1214,7 @@
1214 1214  
1215 1215  {{view-file att--filename="FSLADAQ-DAQParameterlistFL24-2.pdf"}}{{/view-file}}
1216 1216  
1217 -internal link to parameter list: [[FS-LA DAQ - XWiki>>url:https://xwiki.desy.de/xwiki/bin/view/FSLADAQ/]]
1215 +
1218 1218  {{/info}}
1219 1219  
1220 1220  {{expand title="Laser parameters used until 2023"}}
... ... @@ -1689,3 +1689,8 @@
1689 1689  )))
1690 1690  
1691 1691  [[Contents>>doc:||anchor="Contents"]]
1690 +
1691 +
1692 +{{/layout-cell}}
1693 +{{/layout-section}}
1694 +{{/layout}}