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
on 2025/05/19 16:48
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
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
-
... ... @@ -99,7 +99,7 @@ 99 99 * The currently developed option for large data sets: [[the FAB package>>url:https://hasfcpkg.desy.de/fab/fab.html||shape="rect"]] ... see below 100 100 * and for smaller projects: (% class="Object" %)[[https:~~/~~/gitlab.desy.de/christopher.passow/flash-daq-hdf>>url:https://gitlab.desy.de/christopher.passow/flash-daq-hdf||shape="rect"]] 101 101 102 -(% class="Object" %)See also the collection of Demo data and sample scripts : [[doc:FS-FLASH USER tmp.Data Acquisition and controls 1.DAQ and controls overview.Offline data analysis (DAQ).Collection of HDF5 sample data from different beamlines.WebHome]] and [[doc:F S-FLASHtmp.Data Acquisition and controls1.DAQ and controls overview.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:FLASHUSER.Data Acquisition and controls.DAQ and controls overview.Offline data analysis (DAQ).DEMO - Working with FLASH data.WebHome]] 103 103 {{/info}} 104 104 {{/layout-cell}} 105 105 {{/layout-section}} ... ... @@ -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 ... ... @@ -407,7 +407,7 @@ 407 407 ** FL1: 1SFELC → FL1.SFELC 408 408 ** FL2: FL2XTDS → (% style="color:#172b4d" %)FL2.SEED5 409 409 * for more Info: [[LINK to detailed infos from MSK>>doc:SDiag.How-to articles.BAM Data Structure.WebHome||shape="rect"]] 410 -* [[Link a collection of papers related to the BAM and the analysis of pump-probe experiments>>doc:F S-FLASHtmp.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]] 411 411 * a recent [[talk about the working principle of the BAM>>attach:BAM-basics and outlook-2018_DESY-template_16-9Format.pdf]] 412 412 {{/info}} 413 413 ... ... @@ -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 ... ... @@ -950,7 +950,7 @@ 950 950 ** FL1: 1SFELC → FL1.SFELC 951 951 ** FL2: FL2XTDS → (% style="color:#172b4d" %)FL2.SEED5 952 952 * for more Info: [[LINK to detailed infos from MSK>>doc:SDiag.How-to articles.BAM Data Structure.WebHome||shape="rect"]] 953 -* [[Link a collection of papers related to the BAM and the analysis of pump-probe experiments>>doc:F S-FLASHtmp.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]] 954 954 * a recent [[talk about the working principle of the BAM>>attach:BAM-basics and outlook-2018_DESY-template_16-9Format.pdf]] 955 955 {{/info}} 956 956 ... ... @@ -975,7 +975,7 @@ 975 975 * The BAM 4DBC3 measures the arrivaltime of** FLASH 1 and FLASH2** in the same data set (thus also sorted in at /FL1/ !). 976 976 * 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 977 977 ** 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 978 -* [[Link a collection of papers related to the BAM and the analysis of pump-probe experiments >>doc:F S-FLASHtmp.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]] 979 979 * [[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"]] 980 980 * a recent [[talk about the working principle of the BAM>>attach:BAM-basics and outlook-2018_DESY-template_16-9Format.pdf]] 981 981 {{/info}} ... ... @@ -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 etc1141 +//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