Changes for page The FLASH HDF5 structure

Last modified by sndueste on 2025/02/06 10:55

From version 13.1
edited by sndueste
on 2019/09/17 16:58
Change comment: There is no comment for this version
To version 16.1
edited by sndueste
on 2019/09/18 09:29
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -36,7 +36,7 @@
36 36  
37 37  \\
38 38  
39 -== Most popular FLASH parameters and their names in HDF5 ==
39 +== Most popular FLASH parameters and their names in HDF5, DOOCS and (raw) DAQ ==
40 40  
41 41  The complete list for the relation between DOOCS names and HDF5 names for the recordable parameters can be found in [[DESY's Repository~[~[image:url:http://hasfweb.desy.de/pub/TWiki/TWikiDocGraphics/external-link.gif~|~|width="13" height="12"~]~]>>url:https://stash.desy.de/projects/CS/repos/pah/browse/src/camp/data/channel2HdfName.dat||shape="rect"]].
42 42  The most common and often used ones are summarized below:
... ... @@ -485,9 +485,10 @@
485 485  
486 486  in addition there are also additional parameters saved like:
487 487  
488 -* sample frequency (in MHz)
489 -* error (state)
490 -* offset
488 +* {{code language="none"}}sample frequency{{/code}}: it shows the sample frequency in MHz (number of samples per µs). NOTE: the clock of the ADC is NOT synchronized to the FLASH timing system. Thus the number of samples between bunches in the bunch train may be not integer numbers which will be show up for long bunch trains.
489 +* {{code language="none"}}number of samples{{/code}}: total number of samoles recorded for each 10 Hz trigger
490 +* {{code language="none"}}error (ADC):{{/code}} 0 indicates that there was no error
491 +* {{code language="none"}}offset{{/code}}: To use the full dynamic range of the ADC one can shift the base line . This offset is saved here.
491 491  
492 492  ~|
493 493  
... ... @@ -618,9 +618,7 @@
618 618  
619 619  \\
620 620  
621 -\\
622 622  
623 -
624 624  //always saved (PBD2)//
625 625  \\\\{{code language="none"}}/FL2/Photon Diagnostic/GMD/Pulse resolved beam position/position tunnel x DOOCS prop : FLASH.FEL/XGM.BPM/FL2.HALL/X.TDDAQ channel: FLASH.FEL/XGM.BPM/FL2.HALL:2 desc: {{/code}}Besides the well calibrated averaged beam position information there is also the option
626 626  {{code language="none"}}to measure the beam position on a single bunch level. HOWEVER this methide needs a perfectly adjusted signal level (talk to your local contact !!) and also then the signal to noise is rather small and one needs some averaging ... BUT with this option one can determine if there was a spatial slope on a burst (say forst bunches were lower than the last ones or so ...)units : mm    {{/code}}
... ... @@ -633,7 +633,7 @@
633 633  
634 634  \\
635 635  
636 -==== Photon Diagnostics OPIS[[ >>url:http://photon-science.desy.de/facilities/flash/photon_diagnostics/opis_spectrometer/index_eng.html||shape="rect"]](FLASH2) ====
635 +==== Photon Diagnostics OPIS[[ >>url:http://photon-science.desy.de/facilities/flash/photon_diagnostics/opis_spectrometer/index_eng.html||shape="rect"]](FLASH2) ====
637 637  
638 638  for more info see: [[ OPIS>>url:http://photon-science.desy.de/facilities/flash/photon_diagnostics/opis_spectrometer/index_eng.html||shape="rect"]]
639 639  
... ... @@ -672,117 +672,90 @@
672 672  
673 673  \\
674 674  
675 -In case OPIS was not operating there is still informaton about the set wavelength for the undulators (see below) which may differ by up to 5 % from the actual wavelength due to different settings in the FEL ...
674 +In case OPIS was not operating there is still informaton about the **set wavelength** for the undulators (see below) which may differ by up to 5 % from the actual wavelength due to different settings in the FEL ...
676 676  
677 677  \\
678 678  
679 679  \\
680 680  
681 -\\
682 -
683 683  ==== Electron Beam properties (FLASH2) ====
684 684  
685 685  ===== bunch charge =====
686 686  
687 687  {{code language="none"}}/FL2/Electron Diagnostic/Bunch charge/after undulator{{/code}}
688 -//always saved (PBD)//
685 +//always saved (PBD2)//
689 689  DOOCS prop : {{code language="none"}}FLASH.DIAG/PBD2.TOROID.ML/9FL2BURN/CHARGE.FLASH2{{/code}}
690 690  DAQ channel: {{code language="none"}}FLASH.DIAG/PBD2.TOROID.ML/9FL2BURN/CHARGE.FLASH2{{/code}}
691 -desc: electron bunch charge (FLASH2)
688 +desc: electron bunch charge FLASH2 (average value for each bunchtrain).
692 692  units: nC
693 693  
694 694  \\
695 695  
696 -\\
693 +===== undulator settings =====
697 697  
698 -(% class="wrapped" %)
699 -|(((
700 -FLASH.UTIL/FL2.UND.MOTOR/FL2SASE14/GAP
701 -)))|(((
702 -/FL2/Electron Diagnostic/Undulator setting/SASE14 gap
703 -)))
704 -|(((
705 -TTF2.FEEDBACK/FL2.WAVELENGTHCONTROL/FLASH2/WAVELENGTH
706 -)))|(((
707 -/FL2/Electron Diagnostic/Undulator setting/set wavelength
708 -)))
695 +{{code language="none"}}/FL2/Electron Diagnostic/Undulator setting/set wavelength{{/code}}
696 +//always saved (PBD2)//
697 +DOOCS prop : {{code language="none"}}TTF2.FEEDBACK/FL2.WAVELENGTHCONTROL/FLASH2/WAVELENGTH{{/code}}
698 +DAQ channel:  {{code language="none"}}TTF2.FEEDBACK/FL2.WAVELENGTHCONTROL/FLASH2/WAVELENGTH{{/code}}
699 +desc: Set value for the anticipated wavelength . This parameter is used to set the undulator gap. It may however deviate from the actual wavelength by several % ...
700 +units: nm
709 709  
702 +{{code language="none"}}/FL2/Electron Diagnostic/Undulator setting/SASE14 gap{{/code}}
703 +//always saved (PBD2)//
704 +DOOCS prop : {{code language="none"}}FLASH.UTIL/FL2.UND.MOTOR/FL2SASE14/GAP{{/code}}
705 +DAQ channel:  {{code language="none"}}FLASH.UTIL/FL2.UND.MOTOR/FL2SASE14/GAP{{/code}}
706 +desc: gap value of the undulators. This can be used to follow up how many undulators were closed and if there was a taper
707 +units: mm
708 +
709 +The gap values are saved for all 12 undulators (Nr 3 to 14). Undulator 14 is the one closest to the experimental hall.
710 +
710 710  =====
711 711  arrival time =====
712 712  
713 -{{code language="none"}}/FL1/Electron Diagnostic/BAM/4DBC3/electron bunch arrival time (low charge){{/code}}
714 -//always saved (PBD)//
714 +**FL1**{{code language="none"}}//Electron Diagnostic/BAM/4DBC3/electron bunch arrival time (low charge){{/code}}
715 +//always saved (PBD2)//
715 715  DOOCS prop : {{code language="none"}}FLASH.SDIAG/BAM/4DBC3/LOW_CHARGE_ARRIVAL_TIME{{/code}}
716 716  DAQ channel: {{code language="none"}}FLASH.SDIAG/BAM.DAQ/4DBC3.LOW_CHARGE_ARRIVAL_TIME{{/code}}
717 717  desc: Electron bunch arrival time measured with the BAM (more or less) before the undulator (pulse resolved data)
718 -units: ps (bigger numbers indicate later arrivaltime of the electrons)
719 -note: besides the arivaltime from FLASH1 there is also the FLASH2/3 electron arrival time saved. [[LINK to detailled infos from MSK (may only work inside DESY network~[~[image:url:http://hasfweb.desy.de/pub/TWiki/TWikiDocGraphics/external-link.gif~|~|width="13" height="12"~]~]>>url:http://www.desy.de/~~mbock/pages/BAM_daq_channel_descriptions.html||shape="rect"]] and to a recent  [[talk about the working principle of the BAM>>url:https://confluence.desy.de/download/attachments/134216957/BAM-basics_and_outlook-2018_DESY-template_16-9Format.pdf?version=1&modificationDate=1565162143328&api=v2||shape="rect"]]
719 +units: ps (bigger numbers indicate later arrivaltime of the electrons)
720 720  
721 -\\
721 +The BAM measures the arrivaltime of** FLASH 1 and FLASH2** in the same data set (thus also sorted in at /FL1/ !). The first values are for FLASH1 bunches.
722 +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) ...
722 722  
723 -\\
724 +Docu for BAM:  [[LINK to detailled infos from MSK (may only work inside DESY network~[~[image:url:http://hasfweb.desy.de/pub/TWiki/TWikiDocGraphics/external-link.gif~|~|width="13" height="12"~]~]>>url:http://www.desy.de/~~mbock/pages/BAM_daq_channel_descriptions.html||shape="rect"]] and to a recent  [[talk about the working principle of the BAM>>url:https://confluence.desy.de/download/attachments/134216957/BAM-basics_and_outlook-2018_DESY-template_16-9Format.pdf?version=1&modificationDate=1565162143328&api=v2||shape="rect"]]
724 724  
725 -\\
726 726  
727 -===== electron bunch energy =====
727 +[[Contents>>doc:||anchor="Contents"]]
728 728  
729 -{{code language="none"}}/FL1/Electron Diagnostic/Electron energy/average electron energy{{/code}}
730 -_always saved (PBD)
731 -DOOCS prop : {{code language="none"}}TTF2.DAQ/ENERGY.DOGLEG/E_INTRA_MEAN/VAL{{/code}}
732 -DAQ channel: {{code language="none"}}PBD.ENERGY.DOGLEG/E_MEAN{{/code}}
733 -desc: electron bunch energy (average over the bunch train)
734 -units: (% class="twikiNewLink" %)MeV(%%)
735 735  \\
736 736  
737 -{{code language="none"}}/FL1/Electron Diagnostic/Electron energy/pulse resolved energy{{/code}}
738 -_always saved (PBD)
739 -DOOCS prop : {{code language="none"}}TTF2.DAQ/ENERGY.DOGLEG/E_SPECT/VAL.TD{{/code}}
740 -DAQ channel: {{code language="none"}}PBD.ENERGY.DOGLEG/E_SPECT{{/code}}
741 -desc: electron bunch energy bunch resolved
742 -units: (% class="twikiNewLink" %)MeV
731 +==== Timing information, rep rate etc.  (FLASH2) ====
743 743  
744 -\\
733 +===== start time of FLASH2 =====
745 745  
746 -{{code language="none"}}/FL1/Electron Diagnostic/Electron energy/wavelength bunch train average{{/code}}
747 -_always saved (PBD)
748 -DOOCS prop : {{code language="none"}}TTF2.DAQ/ENERGY.DOGLEG/LAMBDA_MEAN/VAL{{/code}}
749 -DAQ channel: {{code language="none"}}PBD.ENERGY.DOGLEG/LAMBDA_MEAN{{/code}}
750 -desc: Wavelength calculated by the electron bunch energy (average over the bunch train) (FLASH1)
751 -units: nm
752 -\\
735 +{{code language="none"}}/FL2/Timing/start time flash2{{/code}}
736 +//always saved (PBD2)//
737 +DOOCS prop : {{code language="none"}}FLASH.DIAG/TIMER/FLASHCPUTIME1.0/BUNCH_POSITION.2{{/code}}
738 +DAQ channel: {{code language="none"}}FLASH.DIAG/TIMER/FLASHCPUTIME1.0/BUNCH_POSITION.2{{/code}}
739 +desc: The max 600 µs acceleration time of FLASH is devided between FLASH1 and FLASH2. FLASH1 is (up to now) first starting for historic reasons 700 µs. 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) ...
740 +units: µs
753 753  
754 -[[Contents>>doc:||anchor="Contents"]]
755 -
756 -\\
757 -
758 -==== Timing information, rep rate etc.  (FLASH1) ====
759 -
760 760  ===== bunch repetition rate =====
761 761  
762 -{{code language="none"}}/FL1/Timing/repetition rate{{/code}}
763 -//always saved (PBD)//
764 -DOOCS prop : {{code language="none"}}FLASH.DIAG/TIMER/FLASHCPUTIME1.0/REP_RATE_KHZ.1{{/code}}
765 -DAQ channel: {{code language="none"}}TTF2.UTIL/LASER.CONTROL/GUN/PULSE_FREQ{{/code}}
766 -desc: repetition rate of the bunches / pulses within the burst (FLASH1)
744 +{{code language="none"}}/FL2/Timing/repetition rate{{/code}}
745 +//always saved (PBD2)//
746 +DOOCS prop : {{code language="none"}}FLASH.DIAG/TIMER/FLASHCPUTIME1.0/REP_RATE_KHZ.2{{/code}}
747 +DAQ channel: {{code language="none"}}FLASH.DIAG/TIMER/FLASHCPUTIME1.0/REP_RATE_KHZ.2{{/code}}
748 +desc: repetition rate of the bunches / pulses within the burst (FLASH2)
767 767  units: kHz
768 -\\
769 769  
770 -===== set number of pulses =====
771 -
772 -{{code language="none"}}/FL1/Timing/set number of bunches{{/code}}
773 -//always saved (PBD)//
774 -DOOCS prop : {{code language="none"}}FLASH.DIAG/TOROID.ML/3GUN/NUMBEROFBUNCHES.FLASH1{{/code}}
775 -DAQ channel: {{code language="none"}}TTF2.UTIL/LASER.CONTROL/GUN/PULSE_NUM{{/code}}
776 -desc: Number of pulses set at the gun (FLASH1)
777 -units:
778 -
779 779  ===== actual number of pulses =====
780 780  
781 781  {{code language="none"}}/FL1/Timing/actual number of bunches{{/code}}
782 -//always saved (PBD)//
783 -DOOCS prop : {{code language="none"}}FLASH.DIAG/TOROID.ML/12EXP/NUMBEROFBUNCHES.FLASH1{{/code}}
784 -DAQ channel: {{code language="none"}}TTF2.DIAG/PBD.TOROID.ML/12EXP{{/code}}
785 -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)
754 +//always saved (PBD2)//
755 +DOOCS prop : {{code language="none"}}FLASH.DIAG/PBD2.TOROID.ML/3GUN/NUMBEROFBUNCHES.FLASH2{{/code}}
756 +DAQ channel: {{code language="none"}}FLASH.DIAG/PBD2.TOROID.ML/3GUN/NUMBEROFBUNCHES.FLASH2{{/code}}
757 +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)
786 786  units:
787 787  \\
788 788  
... ... @@ -789,10 +789,10 @@
789 789  ===== actual pulse pattern recorded after the undulator =====
790 790  
791 791  {{code language="none"}}/FL1/Timing/Bunch pattern/pattern after undulator{{/code}}
792 -//always saved (PBD)//
793 -DOOCS prop : {{code language="none"}}TTF2.DIAG/PBD.TOROID.ML/12EXP/CHARGE.TD{{/code}}
794 -DAQ channel: {{code language="none"}}TTF2.DIAG/PBD.TOROID.ML/12EXP{{/code}}
795 -desc: The bunch pattern as function of time in a burst recorded by toroide diagnostic BEHIND the undulator. (FLASH1)
764 +//always saved (PBD2)//
765 +DOOCS prop : {{code language="none"}}FLASH.DIAG/PBD2.TOROID.ML/9FL2BURN.PULSEPATTERN{{/code}}
766 +DAQ channel: {{code language="none"}}FLASH.DIAG/PBD2.TOROID.ML/9FL2BURN.PULSEPATTERN{{/code}}
767 +desc: The bunch pattern as function of time in a burst recorded by toroide diagnostic BEHIND the undulator. (FLASH2)
796 796  units:
797 797  \\
798 798  
... ... @@ -799,7 +799,7 @@
799 799  ===== Train ID =====
800 800  
801 801  {{code language="none"}}/Timing/train ID{{/code}}
802 -//always saved (PBD)//
774 +//always saved (PBD2)//
803 803  DOOCS prop : {{code language="none"}}none{{/code}}
804 804  DAQ channel: {{code language="none"}}none{{/code}}
805 805  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 !)
... ... @@ -808,13 +808,16 @@
808 808  
809 809  ===== Train time =====
810 810  
811 -{{code language="none"}}/Timing/train time{{/code}}
783 +//always saved (PBD2)
784 +//{{code language="none"}}/Timing/train time{{/code}}
812 812  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
813 813  units: d h min s cs
814 814  \\
815 815  
816 -{{code language="none"}}/Timing/time stamp{{/code}}
817 -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
789 +{{code language="none"}}/Timing/time stamp{{/code}}
790 +
791 +//always saved (PBD2)//
792 +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
818 818  second column: microseconds
819 819  third column: Train ID of FLASH
820 820  \\