Changes for page The FLASH HDF5 structure

Last modified by sndueste on 2025/09/10 11:43

From version 93.5
edited by sndueste
on 2025/05/19 16:48
Change comment: There is no comment for this version
To version 89.10
edited by sndueste
on 2025/04/23 14:51
Change comment: Renamed back-links.

Summary

Details

Page properties
Parent
... ... @@ -1,1 +1,1 @@
1 -FLASHUSER.Offline data analysis (DAQ).WebHome
1 +FS-FLASH USER tmp.Offline data analysis (DAQ).WebHome
Content
... ... @@ -111,18 +111,17 @@
111 111  == Complete list of recordable parameters ==
112 112  
113 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 +
114 114  
115 115  == Most popular FLASH parameters and their names in HDF5, DOOCS and (raw) DAQ ==
116 116  
117 117  {{id name="DOOCSparameters"/}}
118 118  
120 +Note, the HDF group and data set names apply to our HDF tree version since vers. 0.3.0.
119 119  
122 +
120 120  === FLASH1 ===
121 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 -
126 126  ==== Beamline info (FLASH1) ====
127 127  
128 128  {{code language="none"}}/FL1/Beamlines/Attenuator/pressure{{/code}}
... ... @@ -131,6 +131,7 @@
131 131  DAQ channel: {{code language="none"}}FLASH.FEL/GAS_DOSING/FL1.ATTENUATOR/PRESSURE{{/code}}
132 132  desc: set pressure in the gas attenuator
133 133  units: mbar
133 +
134 134  
135 135  {{code language="none"}}/FL1/Beamlines/BL/Fast shutter/open{{/code}}
136 136  //always saved (PBD)//
... ... @@ -152,6 +152,7 @@
152 152  DAQ channel: {{code language="none"}}TTF2.FEL/BLFILTERS1/FILTER1/FW.MOTOR.POS{{/code}}
153 153  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]]
154 154  units: degree
155 +
155 155  
156 156  {{code language="none"}}/FL1/Beamlines/BL/Filters/BL filter wheel/position filter 2{{/code}}
157 157  //always saved (PBD)//
... ... @@ -159,6 +159,7 @@
159 159  DAQ channel: {{code language="none"}}TTF2.FEL/BLFILTERS2/FILTER2/FW.MOTOR.POS{{/code}}
160 160  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]]
161 161  units: degree
163 +
162 162  
163 163  {{code language="none"}}/FL1/Beamlines/PG/Filters/position filter 1{{/code}}
164 164  //always saved (PBD)//
... ... @@ -166,6 +166,7 @@
166 166  DAQ channel: {{code language="none"}}TTF2.FEL/BDAF1/BDA.F1/FW.MOTOR.POS{{/code}}
167 167  desc: Position of the PG filter wheel 1
168 168  units: degree
171 +
169 169  
170 170  {{code language="none"}}/FL1/Beamlines/PG/Filters/position filter 2{{/code}}
171 171  //always saved (PBD)//
... ... @@ -173,6 +173,7 @@
173 173  DAQ channel: {{code language="none"}}TTF2.FEL/BDAF2/BDA.F2/FW.MOTOR.POS{{/code}}
174 174  desc: Position of the PG filter wheel 2
175 175  units: degree
179 +
176 176  
177 177  {{code language="none"}}/FL1/Beamlines/PG/Filters/position filter 3{{/code}}
178 178  //always saved (PBD)//
... ... @@ -263,6 +263,7 @@
263 263  
264 264  {{info title="GMD pulse resolved data structure"}}
265 265  For every pulse in the pulse train the information is saved:
270 +
266 266  
267 267  1. **Intensity per pulse** (a.u. (more or less µJ ))
268 268  1. Intensity per pulse (auxillary GMD) - not used
... ... @@ -506,6 +506,7 @@
506 506  DAQ channel: {{code language="none"}}PBD.BEAM.PROF.ML/DAQ.OUT.PROF.CCCED{{/code}}
507 507  desc: temporal profile of electron bunch, y axis in Ampers (FLASH1)
508 508  units: pixel
514 +
509 509  
510 510  {{code language="none"}}/FL1/Electron Diagnostic/Electron bunch profile/Expert stuff/TDS calibration constant{{/code}}
511 511  //always saved (PBD) - IF LOLA is ON and ACTIVATED in the PBD DAQ (talk to expert)//
... ... @@ -513,6 +513,7 @@
513 513  DAQ channel: = PBD.BEAM.PROF.ML/CCT=
514 514  desc: TDS calibration constant for the x-axis of the profiles: fs per pixel
515 515  units: fs per pixel
522 +
516 516  
517 517  {{code language="none"}}/FL1/Electron Diagnostic/Electron bunch profile/TDS profile width rms{{/code}}
518 518  //always saved (PBD) - IF LOLA is ON and ACTIVATED in the PBD DAQ (talk to expert)//
... ... @@ -528,7 +528,8 @@
528 528  DOOCS prop : {{code language="none"}}TTF2.DAQ/ENERGY.DOGLEG/E_INTRA_MEAN/VAL{{/code}}
529 529  DAQ channel: {{code language="none"}}PBD.ENERGY.DOGLEG/E_MEAN{{/code}}
530 530  desc: electron bunch energy (average over the bunch train)
531 -units: (% class="twikiNewLink" %)MeV
538 +units: (% class="twikiNewLink" %)MeV(%%)
539 +
532 532  
533 533  {{code language="none"}}/FL1/Electron Diagnostic/Electron energy/pulse resolved energy{{/code}}
534 534  //always saved (PBD)//
... ... @@ -544,6 +544,7 @@
544 544  DAQ channel: {{code language="none"}}PBD.ENERGY.DOGLEG/LAMBDA_MEAN{{/code}}
545 545  desc: Wavelength calculated by the electron bunch energy (average over the bunch train) (FLASH1)
546 546  units: nm
555 +
547 547  
548 548  [[Contents>>doc:||anchor="Contents"]]
549 549  
... ... @@ -558,6 +558,7 @@
558 558  DAQ channel: {{code language="none"}}TTF2.UTIL/LASER.CONTROL/GUN/PULSE_FREQ{{/code}}
559 559  desc: repetition rate of the bunches / pulses within the burst (FLASH1)
560 560  units: kHz
570 +
561 561  
562 562  ===== set number of pulses =====
563 563  
... ... @@ -576,6 +576,7 @@
576 576  DAQ channel: {{code language="none"}}TTF2.DIAG/PBD.TOROID.ML/12EXP{{/code}}
577 577  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)
578 578  units:
589 +
579 579  
580 580  ===== actual pulse pattern recorded after the undulator =====
581 581  
... ... @@ -585,6 +585,7 @@
585 585  DAQ channel: {{code language="none"}}TTF2.DIAG/PBD.TOROID.ML/12EXP{{/code}}
586 586  desc: The bunch pattern as function of time in a burst recorded by toroid diagnostic BEHIND the undulator. (FLASH1)
587 587  units:
599 +
588 588  
589 589  ===== Train ID =====
590 590  
... ... @@ -594,34 +594,24 @@
594 594  DAQ channel: {{code language="none"}}none{{/code}}
595 595  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 !)
596 596  units:
609 +
597 597  
598 -===== (% style="color:#e67e22" %)Train time(%%) =====
611 +===== Train time =====
599 599  
600 -(% style="color:#e67e22" %){{code language="none"}}/Timing/train time{{/code}}
613 +{{code language="none"}}/Timing/train time{{/code}}
601 601  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
602 602  units: d h min s cs
616 +
603 603  
604 -(% style="color:#e67e22" %){{code language="none"}}/Timing/time stamp{{/code}}
618 +{{code language="none"}}/Timing/time stamp{{/code}}
605 605  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
606 606  second column: microseconds
607 607  third column: Train ID of FLASH
622 +
608 608  
609 -currently it is saved as Unix time in : /zraw/FLASH.DIAG/TIMINGINFO/TIME1.BUNCH_FIRST_INDEX.1/dGroup/time
610 -
611 -{{expand expanded="false" title="Timestamp help for python"}}
612 - import time
613 -
614 -# epoch time is found in /zraw/FLASH.DIAG/TIMINGINFO/TIME1.BUNCH_FIRST_INDEX.1/dGroup/time #!!! a leading 1 has to be added !!!
615 -# 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
616 -epoch_time = 1709051499.17 # Replace with your epoch time
617 -
618 -formatted_time = time.strftime('%Y-%m-%d %H:%M:%S', time.gmtime(epoch_time))
619 -print(formatted_time)
620 -{{/expand}}
621 -
622 -
623 623  [[Contents>>doc:||anchor="Contents"]]
624 624  
626 +
625 625  ==== Pump Probe Laser (FLASH1) ====
626 626  
627 627  **PIGLET (PG laser)**
... ... @@ -752,7 +752,8 @@
752 752  (% style="color:#000000" %)DOOCS prop : {{code language="none"}}FLASH.FEL/ATT.GAS_DOSING/FL2.HALL/PRESSURE{{/code}} (%%)
753 753  (% style="color:#000000" %)DAQ channel:  {{code language="none"}}FLASH.FEL/ATT.GAS_DOSING/FL2.HALL/PRESSURE{{/code}} (%%)
754 754  (% style="color:#000000" %)desc: set pressure in the gas attenuator (%%)
755 -(% style="color:#000000" %)units: mbar
757 +(% style="color:#000000" %)units: mbar(%%)
758 +
756 756  
757 757  {{code language="none"}}/FL2/Beamlines/FL20/Shutter/open{{/code}}
758 758  //always saved (PBD2)//
... ... @@ -768,6 +768,7 @@
768 768  DAQ channel: FLASH.FEL/FL20H.PH.MOTOR/MOTOR1.MOT3/FPOS
769 769  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]]**
770 770  units: degree
774 +
771 771  
772 772  /FL2/Beamlines/Filter wheel/position wheel 2
773 773  always saved (PBD2)
... ... @@ -802,6 +802,7 @@
802 802  
803 803  {{info title="GMD pulse resolved data structure"}}
804 804  For every pulse in the pulse train the information is saved:
809 +
805 805  
806 806  1. **Intensity per pulse** (a.u. (more or less µJ ))
807 807  1. Intensity per pulse (auxillary GMD) - not used
... ... @@ -1099,6 +1099,7 @@
1099 1099  DAQ channel: {{code language="none"}}FLASH.DIAG/PBD2.TOROID.ML/3GUN/NUMBEROFBUNCHES.FLASH2{{/code}}
1100 1100  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)
1101 1101  units:
1107 +
1102 1102  
1103 1103  ===== actual pulse pattern recorded after the undulator =====
1104 1104  
... ... @@ -1108,6 +1108,7 @@
1108 1108  DAQ channel: {{code language="none"}}FLASH.DIAG/PBD2.TOROID.ML/9FL2BURN.PULSEPATTERN{{/code}}
1109 1109  desc: The bunch pattern as function of time in a burst recorded by toroide diagnostic BEHIND the undulator. (FLASH2)
1110 1110  units:
1117 +
1111 1111  
1112 1112  ===== Train ID =====
1113 1113  
... ... @@ -1117,40 +1117,26 @@
1117 1117  DAQ channel: {{code language="none"}}none{{/code}}
1118 1118  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 !)
1119 1119  units:
1127 +
1120 1120  
1121 -===== (% style="color:#e67e22" %)Train time(%%) =====
1129 +===== Train time =====
1122 1122  
1123 -(% style="color:#e67e22" %)//always saved (PBD2)//(%%)
1124 -(% style="color:#e67e22" %){{code language="none"}}/Timing/train time{{/code}}
1131 +//always saved (PBD2)//
1132 +{{code language="none"}}/Timing/train time{{/code}}
1125 1125  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
1126 1126  units: d h min s cs
1135 +
1127 1127  
1128 1128  {{code language="none"}}
1129 1129  /Timing/time stamp
1130 1130  {{/code}}
1131 1131  
1132 -(% style="color:#e67e22" %)//always saved (PBD2)//(%%)
1133 -(% 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
1134 1134  second column: microseconds
1135 1135  third column: Train ID of FLASH
1145 +
1136 1136  
1137 -
1138 -(% 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
1139 -
1140 -{{expand expanded="false" title="Timestamp help for python"}}
1141 - import time
1142 -
1143 -# epoch time is found in /zraw/FLASH.DIAG/TIMINGINFO/TIME1.BUNCH_FIRST_INDEX.1/dGroup/time #!!! a leading 1 has to be added !!!
1144 -# 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
1145 -epoch_time = 1709051499.17 # Replace with your epoch time
1146 -
1147 -formatted_time = time.strftime('%Y-%m-%d %H:%M:%S', time.gmtime(epoch_time))
1148 -print(formatted_time)
1149 -{{/expand}}
1150 -
1151 -
1152 -
1153 -
1154 1154  [[Contents>>doc:||anchor="Contents"]]
1155 1155  
1156 1156