Changes for page The FLASH HDF5 structure

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

From version 89.13
edited by sndueste
on 2025/04/24 13:24
Change comment: There is no comment for this version
To version 97.1
edited by sndueste
on 2025/05/19 17:16
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -104,10 +104,10 @@
104 104  {{/layout-cell}}
105 105  {{/layout-section}}
106 106  
107 -{{layout-section ac:type="single"}}
108 -{{layout-cell}}
109 -
107 +{{/layout}}
110 110  
109 +
110 +
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"]].
... ... @@ -116,13 +116,17 @@
116 116  
117 117  {{id name="DOOCSparameters"/}}
118 118  
119 -Note, the HDF group and data set names apply to our HDF tree version since vers. 0.3.0.
120 120  
121 -
122 122  === FLASH1 ===
123 123  
124 -==== Beamline info (FLASH1) ====
125 125  
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 +
126 126  {{code language="none"}}/FL1/Beamlines/Attenuator/pressure{{/code}}
127 127  //always saved (PBD)//
128 128  DOOCS prop : {{code language="none"}}FLASH.FEL/GAS_DOSING/FL1.ATTENUATOR/PRESSURE{{/code}}
... ... @@ -243,8 +243,8 @@
243 243  
244 244  {{code language="none"}}/FL1/Photon Diagnostic/GMD/Average energy/energy tunnel{{/code}}
245 245  //always saved (PBD)//
246 -(% style="color:#000000" %)DOOCS prop : {{code language="none"}}FLASH.FEL/XGM.PHOTONFLUX/FL1.TUNNEL/PHOTONFLUX.UJ{{/code}} (%%)
247 -(% style="color:#000000" %)DAQ channel: {{code language="none"}}FLASH.FEL/XGM.PHOTONFLUX/FL1.TUNNEL/PHOTONFLUX.UJ{{/code}}
250 +(% style="color:#000000" %)DOOCS prop : {{code language="none"}}FLASH.FEL/XGM.PHOTONFLUX/FL1.TUNNEL/PHOTONFLUX.UJ{{/code}} (%%)
251 +(% style="color:#000000" %)DAQ channel: {{code language="none"}}FLASH.FEL/XGM.PHOTONFLUX/FL1.TUNNEL/PHOTONFLUX.UJ{{/code}}
248 248  
249 249  desc : calibrated average SASE Energy/pulse measured in the TUNNEL upstream the gas attenuator
250 250  units : microJ
... ... @@ -253,8 +253,8 @@
253 253  {{code language="none"}}/FL1/Photon Diagnostic/GMD/Pulse resolved energy/energy tunnel{{/code}}
254 254  //always saved (PBD)//
255 255  
256 -(% style="color:#000000" %)DOOCS prop : 
257 -{{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}}
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}}
258 258  
259 259  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)
260 260  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]]**
... ... @@ -274,8 +274,7 @@
274 274  The pulse energy and the error are plotted for the first bunch of the pulse trains saved in this 
275 275  file
276 276  
277 -
278 -[[image:attach:image2021-2-9_10-51-6.png||height="250"]]
281 + [[image:image2021-2-9_10-51-6.png]]
279 279  
280 280  
281 281  {{/info}}
... ... @@ -467,8 +467,8 @@
467 467  
468 468  //always saved (PBD)//
469 469  (% style="color:#172b4d" %)**FL1.SFELC**(%%)
470 -(% style="color:#000000" %)channel: FLASH.SDIAG/BAM/(% style="color:#172b4d" %)FL1.SFELC(% style="color:#000000" %)/ARRIVAL_TIME.ABSOLUTE.SA1.COMP
471 -{{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).
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).
472 472  units: fs (bigger numbers (typically) indicate later arrival times of the electrons).
473 473  
474 474  
... ... @@ -546,20 +546,23 @@
546 546  [[Contents>>doc:||anchor="Contents"]]
547 547  
548 548  
552 +==== ====
553 +
554 +
549 549  ==== Timing information, rep rate etc.  (FLASH1) ====
550 550  
551 551  ===== bunch repetition rate =====
552 552  
553 -{{code language="none"}}/FL1/Timing/repetition rate{{/code}}
559 +{{code language="none"}}/Timing/repetition rate{{/code}}
554 554  //always saved (PBD)//
555 555  DOOCS prop : {{code language="none"}}FLASH.DIAG/TIMER/FLASHCPUTIME1.0/REP_RATE_KHZ.1{{/code}}
556 -DAQ channel: {{code language="none"}}TTF2.UTIL/LASER.CONTROL/GUN/PULSE_FREQ{{/code}}
562 +DAQ channel: {{code language="none"}}FLASH.DIAG/TIMER/FLASHCPUTIME1.0/REP_RATE_KHZ.1{{/code}}
557 557  desc: repetition rate of the bunches / pulses within the burst (FLASH1)
558 558  units: kHz
559 559  
560 560  ===== set number of pulses =====
561 561  
562 -(% style="color:#ff6600" %)(HDF5 name not yet implemented - see zraw)(% style="color:#ff0000" %){{code language="none"}}/FL1/Timing/set number of bunches {{/code}}(%%)
568 +(% style="color:#ff6600" %)(HDF5 name not yet implemented - see zraw)(% style="color:#ff0000" %){{code language="none"}}/Timing/set number of bunches {{/code}}(%%)
563 563  //always saved (PBD)//
564 564  DOOCS prop : {{code language="none"}}FLASH.DIAG/TIMINGINFO/TIME1.BUNCH_FIRST_INDEX.1 [4th number]{{/code}}
565 565  DAQ channel: {{code language="none"}}FLASH.DIAG/TIMINGINFO/TIME1.BUNCH_FIRST_INDEX.1 [4th number]{{/code}}
... ... @@ -604,17 +604,22 @@
604 604  second column: microseconds
605 605  third column: Train ID of FLASH
606 606  
607 -currently it is saved as Unix time in
613 +currently it is saved as Unix time in : /zraw/FLASH.DIAG/TIMINGINFO/TIME1.BUNCH_FIRST_INDEX.1/dGroup/time
608 608  
609 -|(((
610 -/zraw/FLASH.DIAG/TIMINGINFO/TIME1.BUNCH_FIRST_INDEX.1/dGroup/time
615 +{{expand expanded="false" title="Timestamp help for python"}}
616 + import time
611 611  
612 -
613 -)))
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
614 614  
615 -[[Contents>>doc:||anchor="Contents"]]
622 +formatted_time = time.strftime('%Y-%m-%d %H:%M:%S', time.gmtime(epoch_time))
623 +print(formatted_time)
624 +{{/expand}}
616 616  
617 617  
627 +
628 +
618 618  ==== Pump Probe Laser (FLASH1) ====
619 619  
620 620  **PIGLET (PG laser)**
... ... @@ -730,10 +730,9 @@
730 730  * {{code language="none"}}number of samples{{/code}}: total number of samples recorded for each 10 Hz trigger
731 731  
732 732  [[Contents>>doc:||anchor="Contents"]]
744 +{{/expand}}
733 733  
734 734  
735 -
736 -
737 737  === FLASH2 ===
738 738  
739 739  There is analog to FLASH1 a permanently running "PhotonDagnostic DAQ FLASH2" (PBD2) and 2 User DAQs
... ... @@ -1111,10 +1111,10 @@
1111 1111  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 !)
1112 1112  units:
1113 1113  
1114 -===== Train time =====
1124 +===== (% style="color:#e67e22" %)Train time(%%) =====
1115 1115  
1116 -//always saved (PBD2)//
1117 -{{code language="none"}}/Timing/train time{{/code}}
1126 +(% style="color:#e67e22" %)//always saved (PBD2)//(%%)
1127 +(% style="color:#e67e22" %){{code language="none"}}/Timing/train time{{/code}}
1118 1118  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
1119 1119  units: d h min s cs
1120 1120  
... ... @@ -1122,11 +1122,28 @@
1122 1122  /Timing/time stamp
1123 1123  {{/code}}
1124 1124  
1125 -//always saved (PBD2)//
1126 -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
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 etc
1127 1127  second column: microseconds
1128 1128  third column: Train ID of FLASH
1129 1129  
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 +
1130 1130  [[Contents>>doc:||anchor="Contents"]]
1131 1131  
1132 1132  
... ... @@ -1671,7 +1671,4 @@
1671 1671  
1672 1672  [[Contents>>doc:||anchor="Contents"]]
1673 1673  
1674 -
1675 -{{/layout-cell}}
1676 -{{/layout-section}}
1677 -{{/layout}}
1701 +