Changes for page The FLASH HDF5 structure
Last modified by sndueste on 2025/09/10 11:43
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -111,22 +111,19 @@ 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 125 +==== Beamline info (FLASH1) ==== 122 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 -{{expand expanded="false" title="FLASH1 Naming scheme used until 2024"}} 128 -==== (% id="cke_bm_8853497S" style="display:none" %) (%%)Beamline info (FLASH1) ==== 129 - 130 130 {{code language="none"}}/FL1/Beamlines/Attenuator/pressure{{/code}} 131 131 //always saved (PBD)// 132 132 DOOCS prop : {{code language="none"}}FLASH.FEL/GAS_DOSING/FL1.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)// ... ... @@ -247,8 +247,8 @@ 247 247 248 248 {{code language="none"}}/FL1/Photon Diagnostic/GMD/Average energy/energy tunnel{{/code}} 249 249 //always saved (PBD)// 250 -(% style="color:#000000" %)DOOCS prop : 251 -(% style="color:#000000" %)DAQ channel: 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}} 252 252 253 253 desc : calibrated average SASE Energy/pulse measured in the TUNNEL upstream the gas attenuator 254 254 units : microJ ... ... @@ -257,8 +257,8 @@ 257 257 {{code language="none"}}/FL1/Photon Diagnostic/GMD/Pulse resolved energy/energy tunnel{{/code}} 258 258 //always saved (PBD)// 259 259 260 -(% style="color:#000000" %)DOOCS prop : (%%)261 - (% 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}} 262 262 263 263 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) 264 264 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]]** ... ... @@ -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 ... ... @@ -278,7 +278,8 @@ 278 278 The pulse energy and the error are plotted for the first bunch of the pulse trains saved in this 279 279 file 280 280 281 - [[image:image2021-2-9_10-51-6.png]] 284 + 285 +[[image:attach:image2021-2-9_10-51-6.png||height="250"]] 282 282 283 283 284 284 {{/info}} ... ... @@ -470,8 +470,8 @@ 470 470 471 471 //always saved (PBD)// 472 472 (% style="color:#172b4d" %)**FL1.SFELC**(%%) 473 -(% style="color:#000000" %)channel: FLASH.SDIAG/BAM/(% style="color:#172b4d" %)FL1.SFELC(% style="color:#000000" %)/ARRIVAL_TIME.ABSOLUTE.SA1.COMP (%%)474 - (% 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). 475 475 units: fs (bigger numbers (typically) indicate later arrival times of the electrons). 476 476 477 477 ... ... @@ -507,6 +507,7 @@ 507 507 DAQ channel: {{code language="none"}}PBD.BEAM.PROF.ML/DAQ.OUT.PROF.CCCED{{/code}} 508 508 desc: temporal profile of electron bunch, y axis in Ampers (FLASH1) 509 509 units: pixel 514 + 510 510 511 511 {{code language="none"}}/FL1/Electron Diagnostic/Electron bunch profile/Expert stuff/TDS calibration constant{{/code}} 512 512 //always saved (PBD) - IF LOLA is ON and ACTIVATED in the PBD DAQ (talk to expert)// ... ... @@ -514,6 +514,7 @@ 514 514 DAQ channel: = PBD.BEAM.PROF.ML/CCT= 515 515 desc: TDS calibration constant for the x-axis of the profiles: fs per pixel 516 516 units: fs per pixel 522 + 517 517 518 518 {{code language="none"}}/FL1/Electron Diagnostic/Electron bunch profile/TDS profile width rms{{/code}} 519 519 //always saved (PBD) - IF LOLA is ON and ACTIVATED in the PBD DAQ (talk to expert)// ... ... @@ -529,7 +529,8 @@ 529 529 DOOCS prop : {{code language="none"}}TTF2.DAQ/ENERGY.DOGLEG/E_INTRA_MEAN/VAL{{/code}} 530 530 DAQ channel: {{code language="none"}}PBD.ENERGY.DOGLEG/E_MEAN{{/code}} 531 531 desc: electron bunch energy (average over the bunch train) 532 -units: (% class="twikiNewLink" %)MeV 538 +units: (% class="twikiNewLink" %)MeV(%%) 539 + 533 533 534 534 {{code language="none"}}/FL1/Electron Diagnostic/Electron energy/pulse resolved energy{{/code}} 535 535 //always saved (PBD)// ... ... @@ -545,27 +545,26 @@ 545 545 DAQ channel: {{code language="none"}}PBD.ENERGY.DOGLEG/LAMBDA_MEAN{{/code}} 546 546 desc: Wavelength calculated by the electron bunch energy (average over the bunch train) (FLASH1) 547 547 units: nm 555 + 548 548 549 549 [[Contents>>doc:||anchor="Contents"]] 550 550 551 551 552 -==== ==== 553 - 554 - 555 555 ==== Timing information, rep rate etc. (FLASH1) ==== 556 556 557 557 ===== bunch repetition rate ===== 558 558 559 -{{code language="none"}}/Timing/repetition rate{{/code}} 564 +{{code language="none"}}/FL1/Timing/repetition rate{{/code}} 560 560 //always saved (PBD)// 561 561 DOOCS prop : {{code language="none"}}FLASH.DIAG/TIMER/FLASHCPUTIME1.0/REP_RATE_KHZ.1{{/code}} 562 -DAQ channel: {{code language="none"}}F LASH.DIAG/TIMER/FLASHCPUTIME1.0/REP_RATE_KHZ.1{{/code}}567 +DAQ channel: {{code language="none"}}TTF2.UTIL/LASER.CONTROL/GUN/PULSE_FREQ{{/code}} 563 563 desc: repetition rate of the bunches / pulses within the burst (FLASH1) 564 564 units: kHz 570 + 565 565 566 566 ===== set number of pulses ===== 567 567 568 -(% 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}}(%%) 569 569 //always saved (PBD)// 570 570 DOOCS prop : {{code language="none"}}FLASH.DIAG/TIMINGINFO/TIME1.BUNCH_FIRST_INDEX.1 [4th number]{{/code}} 571 571 DAQ channel: {{code language="none"}}FLASH.DIAG/TIMINGINFO/TIME1.BUNCH_FIRST_INDEX.1 [4th number]{{/code}} ... ... @@ -580,6 +580,7 @@ 580 580 DAQ channel: {{code language="none"}}TTF2.DIAG/PBD.TOROID.ML/12EXP{{/code}} 581 581 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) 582 582 units: 589 + 583 583 584 584 ===== actual pulse pattern recorded after the undulator ===== 585 585 ... ... @@ -589,6 +589,7 @@ 589 589 DAQ channel: {{code language="none"}}TTF2.DIAG/PBD.TOROID.ML/12EXP{{/code}} 590 590 desc: The bunch pattern as function of time in a burst recorded by toroid diagnostic BEHIND the undulator. (FLASH1) 591 591 units: 599 + 592 592 593 593 ===== Train ID ===== 594 594 ... ... @@ -598,34 +598,24 @@ 598 598 DAQ channel: {{code language="none"}}none{{/code}} 599 599 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 !) 600 600 units: 609 + 601 601 602 -===== (% style="color:#e67e22" %)Train time(%%)=====611 +===== Train time ===== 603 603 604 - (% style="color:#e67e22" %){{code language="none"}}/Timing/train time{{/code}}613 +{{code language="none"}}/Timing/train time{{/code}} 605 605 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 606 606 units: d h min s cs 616 + 607 607 608 - (% style="color:#e67e22" %){{code language="none"}}/Timing/time stamp{{/code}}618 +{{code language="none"}}/Timing/time stamp{{/code}} 609 609 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 610 610 second column: microseconds 611 611 third column: Train ID of FLASH 622 + 612 612 613 - currently it issaveds Unix time in : /zraw/FLASH.DIAG/TIMINGINFO/TIME1.BUNCH_FIRST_INDEX.1/dGroup/time624 +[[Contents>>doc:||anchor="Contents"]] 614 614 615 -{{expand expanded="false" title="Timestamp help for python"}} 616 - import time 617 617 618 -# epoch time is found in /zraw/FLASH.DIAG/TIMINGINFO/TIME1.BUNCH_FIRST_INDEX.1/dGroup/time #!!! a leading 1 has to be added !!! 619 -# 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 620 -epoch_time = 1709051499.17 # Replace with your epoch time 621 - 622 -formatted_time = time.strftime('%Y-%m-%d %H:%M:%S', time.gmtime(epoch_time)) 623 -print(formatted_time) 624 -{{/expand}} 625 - 626 - 627 - 628 - 629 629 ==== Pump Probe Laser (FLASH1) ==== 630 630 631 631 **PIGLET (PG laser)** ... ... @@ -741,9 +741,10 @@ 741 741 * {{code language="none"}}number of samples{{/code}}: total number of samples recorded for each 10 Hz trigger 742 742 743 743 [[Contents>>doc:||anchor="Contents"]] 744 -{{/expand}} 745 745 746 746 744 + 745 + 747 747 === FLASH2 === 748 748 749 749 There is analog to FLASH1 a permanently running "PhotonDagnostic DAQ FLASH2" (PBD2) and 2 User DAQs ... ... @@ -755,7 +755,8 @@ 755 755 (% style="color:#000000" %)DOOCS prop : {{code language="none"}}FLASH.FEL/ATT.GAS_DOSING/FL2.HALL/PRESSURE{{/code}} (%%) 756 756 (% style="color:#000000" %)DAQ channel: {{code language="none"}}FLASH.FEL/ATT.GAS_DOSING/FL2.HALL/PRESSURE{{/code}} (%%) 757 757 (% style="color:#000000" %)desc: set pressure in the gas attenuator (%%) 758 -(% style="color:#000000" %)units: mbar 757 +(% style="color:#000000" %)units: mbar(%%) 758 + 759 759 760 760 {{code language="none"}}/FL2/Beamlines/FL20/Shutter/open{{/code}} 761 761 //always saved (PBD2)// ... ... @@ -771,6 +771,7 @@ 771 771 DAQ channel: FLASH.FEL/FL20H.PH.MOTOR/MOTOR1.MOT3/FPOS 772 772 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]]** 773 773 units: degree 774 + 774 774 775 775 /FL2/Beamlines/Filter wheel/position wheel 2 776 776 always saved (PBD2) ... ... @@ -805,6 +805,7 @@ 805 805 806 806 {{info title="GMD pulse resolved data structure"}} 807 807 For every pulse in the pulse train the information is saved: 809 + 808 808 809 809 1. **Intensity per pulse** (a.u. (more or less µJ )) 810 810 1. Intensity per pulse (auxillary GMD) - not used ... ... @@ -1102,6 +1102,7 @@ 1102 1102 DAQ channel: {{code language="none"}}FLASH.DIAG/PBD2.TOROID.ML/3GUN/NUMBEROFBUNCHES.FLASH2{{/code}} 1103 1103 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) 1104 1104 units: 1107 + 1105 1105 1106 1106 ===== actual pulse pattern recorded after the undulator ===== 1107 1107 ... ... @@ -1111,6 +1111,7 @@ 1111 1111 DAQ channel: {{code language="none"}}FLASH.DIAG/PBD2.TOROID.ML/9FL2BURN.PULSEPATTERN{{/code}} 1112 1112 desc: The bunch pattern as function of time in a burst recorded by toroide diagnostic BEHIND the undulator. (FLASH2) 1113 1113 units: 1117 + 1114 1114 1115 1115 ===== Train ID ===== 1116 1116 ... ... @@ -1120,40 +1120,26 @@ 1120 1120 DAQ channel: {{code language="none"}}none{{/code}} 1121 1121 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 !) 1122 1122 units: 1127 + 1123 1123 1124 -===== (% style="color:#e67e22" %)Train time(%%)=====1129 +===== Train time ===== 1125 1125 1126 - (% style="color:#e67e22" %)//always saved (PBD2)//(%%)1127 - (% style="color:#e67e22" %){{code language="none"}}/Timing/train time{{/code}}1131 +//always saved (PBD2)// 1132 +{{code language="none"}}/Timing/train time{{/code}} 1128 1128 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 1129 1129 units: d h min s cs 1135 + 1130 1130 1131 1131 {{code language="none"}} 1132 1132 /Timing/time stamp 1133 1133 {{/code}} 1134 1134 1135 - (% style="color:#e67e22" %)//always saved (PBD2)//(%%)1136 - (% 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 1137 1137 second column: microseconds 1138 1138 third column: Train ID of FLASH 1145 + 1139 1139 1140 - 1141 -(% 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 1142 - 1143 -{{expand expanded="false" title="Timestamp help for python"}} 1144 - import time 1145 - 1146 -# epoch time is found in /zraw/FLASH.DIAG/TIMINGINFO/TIME1.BUNCH_FIRST_INDEX.1/dGroup/time #!!! a leading 1 has to be added !!! 1147 -# 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 1148 -epoch_time = 1709051499.17 # Replace with your epoch time 1149 - 1150 -formatted_time = time.strftime('%Y-%m-%d %H:%M:%S', time.gmtime(epoch_time)) 1151 -print(formatted_time) 1152 -{{/expand}} 1153 - 1154 - 1155 - 1156 - 1157 1157 [[Contents>>doc:||anchor="Contents"]] 1158 1158 1159 1159