Changes for page The FLASH HDF5 structure

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

From version 93.6
edited by sndueste
on 2025/05/19 16:49
Change comment: There is no comment for this version
To version 89.9
edited by sndueste
on 2025/04/23 14:41
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,20 +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 -The previously used naming scheme (2024 and before) can be found here:
126 -
127 -
128 128  ==== Beamline info (FLASH1) ====
129 129  
130 130  {{code language="none"}}/FL1/Beamlines/Attenuator/pressure{{/code}}
... ... @@ -133,6 +133,7 @@
133 133  DAQ channel: {{code language="none"}}FLASH.FEL/GAS_DOSING/FL1.ATTENUATOR/PRESSURE{{/code}}
134 134  desc: set pressure in the gas attenuator
135 135  units: mbar
133 +
136 136  
137 137  {{code language="none"}}/FL1/Beamlines/BL/Fast shutter/open{{/code}}
138 138  //always saved (PBD)//
... ... @@ -154,6 +154,7 @@
154 154  DAQ channel: {{code language="none"}}TTF2.FEL/BLFILTERS1/FILTER1/FW.MOTOR.POS{{/code}}
155 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 156  units: degree
155 +
157 157  
158 158  {{code language="none"}}/FL1/Beamlines/BL/Filters/BL filter wheel/position filter 2{{/code}}
159 159  //always saved (PBD)//
... ... @@ -161,6 +161,7 @@
161 161  DAQ channel: {{code language="none"}}TTF2.FEL/BLFILTERS2/FILTER2/FW.MOTOR.POS{{/code}}
162 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 163  units: degree
163 +
164 164  
165 165  {{code language="none"}}/FL1/Beamlines/PG/Filters/position filter 1{{/code}}
166 166  //always saved (PBD)//
... ... @@ -168,6 +168,7 @@
168 168  DAQ channel: {{code language="none"}}TTF2.FEL/BDAF1/BDA.F1/FW.MOTOR.POS{{/code}}
169 169  desc: Position of the PG filter wheel 1
170 170  units: degree
171 +
171 171  
172 172  {{code language="none"}}/FL1/Beamlines/PG/Filters/position filter 2{{/code}}
173 173  //always saved (PBD)//
... ... @@ -175,6 +175,7 @@
175 175  DAQ channel: {{code language="none"}}TTF2.FEL/BDAF2/BDA.F2/FW.MOTOR.POS{{/code}}
176 176  desc: Position of the PG filter wheel 2
177 177  units: degree
179 +
178 178  
179 179  {{code language="none"}}/FL1/Beamlines/PG/Filters/position filter 3{{/code}}
180 180  //always saved (PBD)//
... ... @@ -265,6 +265,7 @@
265 265  
266 266  {{info title="GMD pulse resolved data structure"}}
267 267  For every pulse in the pulse train the information is saved:
270 +
268 268  
269 269  1. **Intensity per pulse** (a.u. (more or less µJ ))
270 270  1. Intensity per pulse (auxillary GMD) - not used
... ... @@ -409,7 +409,7 @@
409 409  ** FL1: 1SFELC →  FL1.SFELC
410 410  ** FL2: FL2XTDS → (% style="color:#172b4d" %)FL2.SEED5
411 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]]
415 +* [[Link a collection of papers related to the BAM and the analysis of pump-probe experiments>>doc:FLASHUSER.Additional helpful things.FLASH beamlines and instruments references.WebHome]]
413 413  * a recent  [[talk about the working principle of the BAM>>attach:BAM-basics and outlook-2018_DESY-template_16-9Format.pdf]]
414 414  {{/info}}
415 415  
... ... @@ -508,6 +508,7 @@
508 508  DAQ channel: {{code language="none"}}PBD.BEAM.PROF.ML/DAQ.OUT.PROF.CCCED{{/code}}
509 509  desc: temporal profile of electron bunch, y axis in Ampers (FLASH1)
510 510  units: pixel
514 +
511 511  
512 512  {{code language="none"}}/FL1/Electron Diagnostic/Electron bunch profile/Expert stuff/TDS calibration constant{{/code}}
513 513  //always saved (PBD) - IF LOLA is ON and ACTIVATED in the PBD DAQ (talk to expert)//
... ... @@ -515,6 +515,7 @@
515 515  DAQ channel: = PBD.BEAM.PROF.ML/CCT=
516 516  desc: TDS calibration constant for the x-axis of the profiles: fs per pixel
517 517  units: fs per pixel
522 +
518 518  
519 519  {{code language="none"}}/FL1/Electron Diagnostic/Electron bunch profile/TDS profile width rms{{/code}}
520 520  //always saved (PBD) - IF LOLA is ON and ACTIVATED in the PBD DAQ (talk to expert)//
... ... @@ -530,7 +530,8 @@
530 530  DOOCS prop : {{code language="none"}}TTF2.DAQ/ENERGY.DOGLEG/E_INTRA_MEAN/VAL{{/code}}
531 531  DAQ channel: {{code language="none"}}PBD.ENERGY.DOGLEG/E_MEAN{{/code}}
532 532  desc: electron bunch energy (average over the bunch train)
533 -units: (% class="twikiNewLink" %)MeV
538 +units: (% class="twikiNewLink" %)MeV(%%)
539 +
534 534  
535 535  {{code language="none"}}/FL1/Electron Diagnostic/Electron energy/pulse resolved energy{{/code}}
536 536  //always saved (PBD)//
... ... @@ -546,6 +546,7 @@
546 546  DAQ channel: {{code language="none"}}PBD.ENERGY.DOGLEG/LAMBDA_MEAN{{/code}}
547 547  desc: Wavelength calculated by the electron bunch energy (average over the bunch train) (FLASH1)
548 548  units: nm
555 +
549 549  
550 550  [[Contents>>doc:||anchor="Contents"]]
551 551  
... ... @@ -560,6 +560,7 @@
560 560  DAQ channel: {{code language="none"}}TTF2.UTIL/LASER.CONTROL/GUN/PULSE_FREQ{{/code}}
561 561  desc: repetition rate of the bunches / pulses within the burst (FLASH1)
562 562  units: kHz
570 +
563 563  
564 564  ===== set number of pulses =====
565 565  
... ... @@ -578,6 +578,7 @@
578 578  DAQ channel: {{code language="none"}}TTF2.DIAG/PBD.TOROID.ML/12EXP{{/code}}
579 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 580  units:
589 +
581 581  
582 582  ===== actual pulse pattern recorded after the undulator =====
583 583  
... ... @@ -587,6 +587,7 @@
587 587  DAQ channel: {{code language="none"}}TTF2.DIAG/PBD.TOROID.ML/12EXP{{/code}}
588 588  desc: The bunch pattern as function of time in a burst recorded by toroid diagnostic BEHIND the undulator. (FLASH1)
589 589  units:
599 +
590 590  
591 591  ===== Train ID =====
592 592  
... ... @@ -596,34 +596,24 @@
596 596  DAQ channel: {{code language="none"}}none{{/code}}
597 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 598  units:
609 +
599 599  
600 -===== (% style="color:#e67e22" %)Train time(%%) =====
611 +===== Train time =====
601 601  
602 -(% style="color:#e67e22" %){{code language="none"}}/Timing/train time{{/code}}
613 +{{code language="none"}}/Timing/train time{{/code}}
603 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 604  units: d h min s cs
616 +
605 605  
606 -(% style="color:#e67e22" %){{code language="none"}}/Timing/time stamp{{/code}}
618 +{{code language="none"}}/Timing/time stamp{{/code}}
607 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 608  second column: microseconds
609 609  third column: Train ID of FLASH
622 +
610 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 625  [[Contents>>doc:||anchor="Contents"]]
626 626  
626 +
627 627  ==== Pump Probe Laser (FLASH1) ====
628 628  
629 629  **PIGLET (PG laser)**
... ... @@ -754,7 +754,8 @@
754 754  (% style="color:#000000" %)DOOCS prop : {{code language="none"}}FLASH.FEL/ATT.GAS_DOSING/FL2.HALL/PRESSURE{{/code}} (%%)
755 755  (% style="color:#000000" %)DAQ channel:  {{code language="none"}}FLASH.FEL/ATT.GAS_DOSING/FL2.HALL/PRESSURE{{/code}} (%%)
756 756  (% style="color:#000000" %)desc: set pressure in the gas attenuator (%%)
757 -(% style="color:#000000" %)units: mbar
757 +(% style="color:#000000" %)units: mbar(%%)
758 +
758 758  
759 759  {{code language="none"}}/FL2/Beamlines/FL20/Shutter/open{{/code}}
760 760  //always saved (PBD2)//
... ... @@ -770,6 +770,7 @@
770 770  DAQ channel: FLASH.FEL/FL20H.PH.MOTOR/MOTOR1.MOT3/FPOS
771 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 772  units: degree
774 +
773 773  
774 774  /FL2/Beamlines/Filter wheel/position wheel 2
775 775  always saved (PBD2)
... ... @@ -804,6 +804,7 @@
804 804  
805 805  {{info title="GMD pulse resolved data structure"}}
806 806  For every pulse in the pulse train the information is saved:
809 +
807 807  
808 808  1. **Intensity per pulse** (a.u. (more or less µJ ))
809 809  1. Intensity per pulse (auxillary GMD) - not used
... ... @@ -952,7 +952,7 @@
952 952  ** FL1: 1SFELC →  FL1.SFELC
953 953  ** FL2: FL2XTDS → (% style="color:#172b4d" %)FL2.SEED5
954 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]]
958 +* [[Link a collection of papers related to the BAM and the analysis of pump-probe experiments>>doc:FLASHUSER.Additional helpful things.FLASH beamlines and instruments references.WebHome]]
956 956  * a recent  [[talk about the working principle of the BAM>>attach:BAM-basics and outlook-2018_DESY-template_16-9Format.pdf]]
957 957  {{/info}}
958 958  
... ... @@ -977,7 +977,7 @@
977 977  * The BAM 4DBC3 measures the arrivaltime of** FLASH 1 and FLASH2** in the same data set (thus also sorted in at /FL1/ !).
978 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 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]]
983 +* [[Link a collection of papers related to the BAM and the analysis of pump-probe experiments >>doc:FLASHUSER.Additional helpful things.FLASH beamlines and instruments references.WebHome]]
981 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 982  * a recent  [[talk about the working principle of the BAM>>attach:BAM-basics and outlook-2018_DESY-template_16-9Format.pdf]]
983 983  {{/info}}
... ... @@ -1101,6 +1101,7 @@
1101 1101  DAQ channel: {{code language="none"}}FLASH.DIAG/PBD2.TOROID.ML/3GUN/NUMBEROFBUNCHES.FLASH2{{/code}}
1102 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 1103  units:
1107 +
1104 1104  
1105 1105  ===== actual pulse pattern recorded after the undulator =====
1106 1106  
... ... @@ -1110,6 +1110,7 @@
1110 1110  DAQ channel: {{code language="none"}}FLASH.DIAG/PBD2.TOROID.ML/9FL2BURN.PULSEPATTERN{{/code}}
1111 1111  desc: The bunch pattern as function of time in a burst recorded by toroide diagnostic BEHIND the undulator. (FLASH2)
1112 1112  units:
1117 +
1113 1113  
1114 1114  ===== Train ID =====
1115 1115  
... ... @@ -1119,40 +1119,26 @@
1119 1119  DAQ channel: {{code language="none"}}none{{/code}}
1120 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 1121  units:
1127 +
1122 1122  
1123 -===== (% style="color:#e67e22" %)Train time(%%) =====
1129 +===== Train time =====
1124 1124  
1125 -(% style="color:#e67e22" %)//always saved (PBD2)//(%%)
1126 -(% style="color:#e67e22" %){{code language="none"}}/Timing/train time{{/code}}
1131 +//always saved (PBD2)//
1132 +{{code language="none"}}/Timing/train time{{/code}}
1127 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 1128  units: d h min s cs
1135 +
1129 1129  
1130 1130  {{code language="none"}}
1131 1131  /Timing/time stamp
1132 1132  {{/code}}
1133 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
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
1136 1136  second column: microseconds
1137 1137  third column: Train ID of FLASH
1145 +
1138 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 1156  [[Contents>>doc:||anchor="Contents"]]
1157 1157  
1158 1158