Changes for page DAQ and data analysis
Last modified by sndueste on 2025/02/05 14:56
To version 2.1
edited by sendels
on 2019/05/15 09:16
on 2019/05/15 09:16
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -32,7 +32,7 @@ 32 32 33 33 == Overview == 34 34 35 -[[image: attach:overview_flash_control_and_daq.png]]35 +[[image:url:http://hasfweb.desy.de/pub/Setup/Index/overview_flash_control_and_daq.png||alt="overview_flash_control_and_daq.png" width="748" height="823"]] 36 36 37 37 The FLASH accelerator, beamlines and experiments are using the Distributed Object Oriented Control System ( [[DOOCS~[~[image:url:http://hasfweb.desy.de/pub/TWiki/TWikiDocGraphics/external-link.gif~|~|width="13" height="12"~]~]>>url:http://tesla.desy.de/doocs/doocs.html||shape="rect"]]). Beamline and experiment devices are mainly operated via graphical user interfaces created with the Java DOOCS Data Display ( [[jddd~[~[image:url:http://hasfweb.desy.de/pub/TWiki/TWikiDocGraphics/external-link.gif~|~|width="13" height="12"~]~]>>url:https://doocs-web.desy.de/access.html||shape="rect"]]) by the FLASH team or the users themself. Further it is provided a [[DOOCS client API~[~[image:url:http://hasfweb.desy.de/pub/TWiki/TWikiDocGraphics/external-link.gif~|~|width="13" height="12"~]~]>>url:https://ttfinfo.desy.de/DOOCSWiki/Wiki.jsp?page=DOOCS%20Wiki||shape="rect"]] in Java, Python, Matlab, C or C++ to the users to write own software for data access, online data or device control. User-provided devices can be run in parallel or can be implemented in DOOCS. For each beamline and accelerator is a dedicated [[electronic logbook~[~[image:url:http://hasfweb.desy.de/pub/TWiki/TWikiDocGraphics/external-link.gif~|~|width="13" height="12"~]~]>>url:http://tesla.desy.de/ttf_apps/showElogs.jsp||shape="rect"]] available in which jddd and other software can print directly. 38 38 ... ... @@ -40,7 +40,7 @@ 40 40 41 41 == Things to consider before the beamtime == 42 42 43 -In consultation with the user's local contact the user should check our [[beamtime preparation checklist>>doc:FLASHUSER.Data Acquisition and controls.DAQ and controls overview.Before beamtime Checklist.WebHome]] and fill in the [[beamtime preparation questionnaire>> attach:Before_beamtime_questionnaire.pdf]].43 +In consultation with the user's local contact the user should check our [[beamtime preparation checklist>>doc:FLASHUSER.Data Acquisition and controls.DAQ and controls overview.Before beamtime Checklist.WebHome]] and fill in the [[beamtime preparation questionnaire>>url:http://hasfweb.desy.de/pub/Setup/ITManuals/Before_beamtime_questionnaire.pdf||shape="rect"]]. 44 44 45 45 == Beamline control and photon diagnostics == 46 46 ... ... @@ -63,8 +63,8 @@ 63 63 64 64 [[image:url:http://hasfweb.desy.de/pub/Setup/Index/it-infrastructure2.png||alt="it-infrastructure2.png" width="800" height="393"]] 65 65 66 -The FLASH control & DAQ system supports [[several devices>> doc:FLASHUSER.Data Acquisitionandcontrols.Controls (DOOCS, jDDD,\.\.\.).DOOCS Device Support.WebHome]] and at each beamline are [[doc:FLASHUSER.DataAcquisitionandcontrols.Controls (DOOCS, jDDD,\.\.\.).MTCAADCs.WebHome]] available. With the MTCA technology it is possible to [[synchronize own devices in respect to the FEL>>doc:FLASHUSER.Data Acquisitionandcontrols.Controls (DOOCS, jDDD,\.\.\.).Trigger.WebHome]].67 -If the user is using his or her own DAQ system it is further possible to [[receive the trainId via network>> doc:FLASHUSER.TrainID]] for the purpose of synchronization.66 +The FLASH control & DAQ system supports [[several devices>>url:http://hasfweb.desy.de/bin/view/Setup/DOOCS_supported_devices||shape="rect" class="twikiLink"]] and at each beamline are [[MTCA ADCs>>url:http://hasfweb.desy.de/bin/view/Setup/MtcaAdc||shape="rect" class="twikiLink"]] available. With the MTCA technology it is possible to [[synchronize own devices in respect to the FEL>>url:http://hasfweb.desy.de/bin/view/Setup/TriggerHowto||shape="rect" class="twikiLink"]]. 67 +If the user is using his or her own DAQ system it is further possible to [[receive the trainId via network>>url:http://hasfweb.desy.de/bin/view/Setup/TrainID||shape="rect" class="twikiLink"]] for the purpose of synchronization. 68 68 69 69 \\ 70 70 ... ... @@ -98,7 +98,7 @@ 98 98 [[image:url:http://hasfweb.desy.de/pub/Setup/Index/timescale_dataAccess.png||alt="timescale_dataAccess.png" width="1000" height="539"]] 99 99 100 100 At the Free-electron Laser Hamburg ( [[FLASH~[~[image:url:http://hasfweb.desy.de/pub/TWiki/TWikiDocGraphics/external-link.gif~|~|width="13" height="12"~]~]>>url:https://flash.desy.de/||shape="rect"]]) we use the Distributed Object Oriented Control System ( [[DOOCS~[~[image:url:http://hasfweb.desy.de/pub/TWiki/TWikiDocGraphics/external-link.gif~|~|width="13" height="12"~]~]>>url:http://tesla.desy.de/doocs/doocs.html||shape="rect"]]). Devices are implemented via DOOCS server and via an API ( [[ONLINE>>url:http://hasfweb.desy.de/bin/view/Setup/OnlineAPIs||shape="rect" class="twikiLink"]]) it is possible to request data directly from the DOOCS server by knowing the DOOCS address. 101 -As correlations of different physical properties are often required all data at FLASH are indexed by the [[trainID>> doc:FLASHUSER.TrainID]], which identify each of FLASH's pulse trains. The during a beamtime recorded data are stored via a Data Acquisition System ( [[DAQ>>doc:FLASHUSER.Informationboutthe FLASH DAQsystem]]) which sort all events from the individual DOOCS server by trainID. When requested [[HDF files>>doc:FLASHUSER.Information abouttheFLASHHDF5tructure]] are created after the beamtime which includes the important data from [[the accelerator and its diagnostic>>doc:FLASHUSER.PBDDAQ]] as well as the data created by the [[users>>doc:FLASHUSER.Descriptionof the Properties intheFLASH1_USER1, 2and 3 for FLASH1 Users]]. This time scale we define as {{code language="none"}}offline{{/code}} as the HDF files are converted after the beamtime is over. For synchronous data during an experiment it is possible to create shorter HDF slices via a {{code language="none"}}nearOnline{{/code}} converter within a few minutes. For working with this partially incomplete HDF slices we provide an API called [[BeamtimeDaqAccess>>doc:FLASHUSER.BeamtimeQ Access]]. Reading synchronous data via an {{code language="none"}}online{{/code}} API is possible via a configurable DAQ middle layer server, the [[DAQmonitor>>doc:AIDA2020ESST.DAQMonitor]], which feeds the correlated data back in the control system while it provides a ring buffer with 32 events in size.101 +As correlations of different physical properties are often required all data at FLASH are indexed by the [[trainID>>url:http://hasfweb.desy.de/bin/view/Setup/TrainID||shape="rect" class="twikiLink"]], which identify each of FLASH's pulse trains. The during a beamtime recorded data are stored via a Data Acquisition System ( [[DAQ>>url:http://hasfweb.desy.de/bin/view/Setup/DAQmain||shape="rect" class="twikiLink"]]) which sort all events from the individual DOOCS server by trainID. When requested [[HDF files>>url:http://hasfweb.desy.de/bin/view/Setup/HDF5main||shape="rect" class="twikiLink"]] are created after the beamtime which includes the important data from [[the accelerator and its diagnostic>>url:http://hasfweb.desy.de/bin/view/Setup/DAQPbdDescription||shape="rect" class="twikiLink"]] as well as the data created by the [[users>>url:http://hasfweb.desy.de/bin/view/Setup/DAQExp2Description||shape="rect" class="twikiLink"]]. This time scale we define as {{code language="none"}}offline{{/code}} as the HDF files are converted after the beamtime is over. For synchronous data during an experiment it is possible to create shorter HDF slices via a {{code language="none"}}nearOnline{{/code}} converter within a few minutes. For working with this partially incomplete HDF slices we provide an API called [[BeamtimeDaqAccess>>url:http://hasfweb.desy.de/bin/view/Setup/BeamtimeDaqAccess||shape="rect" class="twikiLink"]]. Reading synchronous data via an {{code language="none"}}online{{/code}} API is possible via a configurable DAQ middle layer server, the [[DAQmonitor>>url:http://hasfweb.desy.de/bin/view/Setup/ConfigureDAQmonitor||shape="rect" class="twikiLink"]], which feeds the correlated data back in the control system while it provides a ring buffer with 32 events in size. 102 102 103 103 \\ 104 104 ... ... @@ -126,17 +126,17 @@ 126 126 127 127 == Online == 128 128 129 -To monitor individual parameters online, e.g. ADCs or cameras, the use of jddd is recommended. For more complex tasks the users can use the DOOCS client API for [[Matlab>> doc:FLASHUSER.Data Acquisitionand controls.Data Access at FLASH (DAQ, gpfs,\.\.\.).Onlinedata analysis.MatlabDOOCS.WebHome]], [[Python>>doc:FLASHUSER.Data Acquisitionand controls.Data Access at FLASH (DAQ, gpfs,\.\.\.).Onlinedata analysis.PythonDOOCS.WebHome]] and [[Labview>>doc:FLASHUSER.Howto readandwriteropertieswithLABVIEW]]. For accessing the control system [[DOOCS addresses>>doc:FLASHUSER.Information abouttheFLASHHDF5tructure]] are required.129 +To monitor individual parameters online, e.g. ADCs or cameras, the use of jddd is recommended. For more complex tasks the users can use the DOOCS client API for [[Matlab>>url:http://hasfweb.desy.de/bin/view/Setup/MatlabDOOCS||shape="rect" class="twikiLink"]], [[Python>>url:http://hasfweb.desy.de/bin/view/Setup/PythonDOOCS||shape="rect" class="twikiLink"]] and [[Labview>>url:http://hasfweb.desy.de/bin/view/Setup/LabviewDOOCS||shape="rect" class="twikiLink"]]. For accessing the control system [[DOOCS addresses>>url:http://hasfweb.desy.de/bin/view/Setup/HDF5main||shape="rect" class="twikiLink"]] are required. 130 130 131 -A collection (Matlab [ [[scan tool>> doc:FLASHUSER.Matlabtools]] , [[TOF & camera GUIs~[~[image:url:http://hasfweb.desy.de/pub/TWiki/TWikiDocGraphics/external-link.gif~|~|width="13" height="12"~]~]>>url:https://stash.desy.de/projects/FSFL/repos/matlab-guis/browse||shape="rect"]], [[others>>doc:FLASHUSER.Collectionof user codes]]] / [[Juypter notebooks~[~[image:url:http://hasfweb.desy.de/pub/TWiki/TWikiDocGraphics/external-link.gif~|~|width="13" height="12"~]~]>>url:https://stash.desy.de/projects/FSFL/repos/jupyter-notebook/browse||shape="rect"]]) for common use cases is available.131 +A collection (Matlab [ [[scan tool>>url:http://hasfweb.desy.de/bin/view/Setup/MatlabScanTools||shape="rect" class="twikiLink"]] , [[TOF & camera GUIs~[~[image:url:http://hasfweb.desy.de/pub/TWiki/TWikiDocGraphics/external-link.gif~|~|width="13" height="12"~]~]>>url:https://stash.desy.de/projects/FSFL/repos/matlab-guis/browse||shape="rect"]], [[others>>url:http://hasfweb.desy.de/bin/view/Setup/UserCodeCollection||shape="rect" class="twikiLink"]]] / [[Juypter notebooks~[~[image:url:http://hasfweb.desy.de/pub/TWiki/TWikiDocGraphics/external-link.gif~|~|width="13" height="12"~]~]>>url:https://stash.desy.de/projects/FSFL/repos/jupyter-notebook/browse||shape="rect"]]) for common use cases is available. 132 132 133 133 == Data acquisition == 134 134 135 -Relevant machine data, e.g. pulse energy or arrival time, are are saved in the FLASH Photon diagnostics DAQ (PBD) while experiment related parameter are saved on demand in the FLASH [[User DAQs>> doc:FLASHUSER.Data Acquisitionand controls.Data Access at FLASH (DAQ, gpfs,\.\.\.).Offlinedata analysis (DAQ).How tosavedatainthe User DAQ.WebHome]]. In addition it is disk space availabe for devices and paramter outside the FLASH DAQ, which can be [[doc:FLASHUSER.TrainID]]. The for the beamtime provided storage space, the [[spectrum scale~[~[image:url:http://hasfweb.desy.de/pub/TWiki/TWikiDocGraphics/external-link.gif~|~|width="13" height="12"~]~]>>url:https://confluence.desy.de/display/ASAP3/Architecture||shape="rect"]] formerly known as ASAP3/GPFS, is access regulated via [[DOOR~[~[image:url:http://hasfweb.desy.de/pub/TWiki/TWikiDocGraphics/external-link.gif~|~|width="13" height="12"~]~]>>url:https://door.desy.de/door/index.php||shape="rect"]] and only registered participants have access.135 +Relevant machine data, e.g. pulse energy or arrival time, are are saved in the FLASH Photon diagnostics DAQ (PBD) while experiment related parameter are saved on demand in the FLASH [[User DAQs>>url:http://hasfweb.desy.de/bin/view/Setup/DAQjddd||shape="rect" class="twikiLink"]]. In addition it is disk space availabe for devices and paramter outside the FLASH DAQ, which can be [[synchronized via Ethernet connection>>url:http://hasfweb.desy.de/bin/view/Setup/TrainID||shape="rect" class="twikiLink"]]. The for the beamtime provided storage space, the [[spectrum scale~[~[image:url:http://hasfweb.desy.de/pub/TWiki/TWikiDocGraphics/external-link.gif~|~|width="13" height="12"~]~]>>url:https://confluence.desy.de/display/ASAP3/Architecture||shape="rect"]] formerly known as ASAP3/GPFS, is access regulated via [[DOOR~[~[image:url:http://hasfweb.desy.de/pub/TWiki/TWikiDocGraphics/external-link.gif~|~|width="13" height="12"~]~]>>url:https://door.desy.de/door/index.php||shape="rect"]] and only registered participants have access. 136 136 137 137 The FLASH DAQ system records the data in binary .raw files. On request the data will also be available in the HDF5 format after a conversion during or after the beamtime. Incoming data is collected, sorted and saved into .raw files in chunks of 60 MB to 1 GB which corresponds to tens of seconds up to several minutes. The HDF5 files can be created nearOnline or Offline. In the nearOnline conversion every individual .raw files will be converted to a single HDF5 file to provide the fastest access possible. After the beamtime it is possible to get a HDF5 file per DAQ run which is very convenient as it contains the merged data of the User DAQ and the PBD DAQ. 138 138 139 -While the DOOCS addresses are rather cryptic the [[HDF5 file>> doc:FLASHUSER.Information abouttheFLASHHDF5tructure]] is structured based on the actual location and function of the devices. A complete list is available 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"]].139 +While the DOOCS addresses are rather cryptic the [[HDF5 file>>url:http://hasfweb.desy.de/bin/view/Setup/HDF5main||shape="rect" class="twikiLink"]] is structured based on the actual location and function of the devices. A complete list is available 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"]]. 140 140 141 141 \\ 142 142 ... ... @@ -144,15 +144,15 @@ 144 144 |=((( 145 145 [[DAQ introduction>>url:http://hasfweb.desy.de/pub/Setup/DAQmain/Operator_training_DAQ_May_2016.pdf||shape="rect"]] 146 146 )))|=((( 147 -[[FLASH1 PBD>> doc:FLASHUSER.PBDDAQ]]147 +[[FLASH1 PBD>>url:http://hasfweb.desy.de/bin/view/Setup/DAQPbdDescription||shape="rect" class="twikiLink"]] 148 148 )))|=((( 149 -[[FLASH2 PBD>> doc:FLASHUSER.FL2PhotDiagstream(statusFeb 2017)]]149 +[[FLASH2 PBD>>url:http://hasfweb.desy.de/bin/view/Setup/FL2PhotDiagDataStream||shape="rect" class="twikiLink"]] 150 150 )))|=((( 151 -[[User DAQs>> doc:FLASHUSER.Data Acquisitionand controls.Data Access at FLASH (DAQ, gpfs,\.\.\.).Offlinedata analysis (DAQ).How tosavedatainthe User DAQ.WebHome]]151 +[[User DAQs>>url:http://hasfweb.desy.de/bin/view/Setup/DAQjddd||shape="rect" class="twikiLink"]] 152 152 )))|=((( 153 -[[User DAQs subsytems>> doc:FLASHUSER.Descriptionof the Properties intheFLASH1_USER1, 2and 3 for FLASH1 Users]]153 +[[User DAQs subsytems>>url:http://hasfweb.desy.de/bin/view/Setup/DAQExp2Description||shape="rect" class="twikiLink"]] 154 154 )))|=((( 155 -[[HDF5 files>> doc:FLASHUSER.Information abouttheFLASHHDF5tructure]]155 +[[HDF5 files>>url:http://hasfweb.desy.de/bin/view/Setup/HDF5main||shape="rect" class="twikiLink"]] 156 156 ))) 157 157 158 158 == nearOnline == ... ... @@ -159,17 +159,17 @@ 159 159 160 160 ==== .raw files ==== 161 161 162 -The .raw files are only accessible from certain computers within the DESY network and in generell it is not recommended to use them directly. For checking the file content and doing simple analysis, e.g. histogram, line outs, we provide the [[DAQdataGUI>> doc:FLASHUSER.Howgetthedataout of theDAQ]]. If the user already have very precise knowledge of the desired parameters and it's types it is possible [[to read with Matlab from the files directly>>doc:FLASHUSER.Data Acquisitionandcontrols.Datat FLASH (DAQ, gpfs,\.\.\.).Offlinedata analysis(DAQ).For experts\: many ways to getData from the DAQ.How to Accesshe DAQ Using Matlab.WebHome]].162 +The .raw files are only accessible from certain computers within the DESY network and in generell it is not recommended to use them directly. For checking the file content and doing simple analysis, e.g. histogram, line outs, we provide the [[DAQdataGUI>>url:http://hasfweb.desy.de/bin/view/Setup/DAQRootGui#How_to_Use_the_FLASH_DAQ_Data_GU||shape="rect" class="twikiAnchorLink"]]. If the user already have very precise knowledge of the desired parameters and it's types it is possible [[to read with Matlab from the files directly>>url:http://hasfweb.desy.de/bin/view/Setup/DAQMatlabAccessExamples||shape="rect" class="twikiLink"]]. 163 163 164 164 FLASH's DAQ .raw files are saved locally and with a time delay of a few minutes backupped via tape ( [[dCache~[~[image:url:http://hasfweb.desy.de/pub/TWiki/TWikiDocGraphics/external-link.gif~|~|width="13" height="12"~]~]>>url:https://confluence.desy.de/display/ASAP3/Managing+data+taken+before+April+2015||shape="rect"]]) by the DESY central IT. 165 165 166 166 ==== HDF5 files ==== 167 167 168 -As the .raw files are highly optimized for writing speed there are some issues which have to be taken care of which are also present in the nearOnline HDF5 files (e.g. missing/doubled events). For this we provide with [[BeamtimeDaqAccess>> doc:FLASHUSER.BeamtimeQ Access]] an API which handles a lot of the occurring difficulties as knowing the file or DAQ instances. The [[BeamtimeDaqAccess>>doc:FLASHUSER.BeamtimeQ Access]] library is written in Python, but a Matlab wrapper is available.168 +As the .raw files are highly optimized for writing speed there are some issues which have to be taken care of which are also present in the nearOnline HDF5 files (e.g. missing/doubled events). For this we provide with [[BeamtimeDaqAccess>>url:http://hasfweb.desy.de/bin/view/Setup/BeamtimeDaqAccess||shape="rect" class="twikiLink"]] an API which handles a lot of the occurring difficulties as knowing the file or DAQ instances. The [[BeamtimeDaqAccess>>url:http://hasfweb.desy.de/bin/view/Setup/BeamtimeDaqAccess||shape="rect" class="twikiLink"]] library is written in Python, but a Matlab wrapper is available. 169 169 170 170 == Offline == 171 171 172 -The offline HDF5 files containing complete DAQ runs will be put after the beamtime on the spectrum scale file system. Access is granted from the within the DESY network for beamtime participants or from the outside via [[Gamma portal~[~[image:url:http://hasfweb.desy.de/pub/TWiki/TWikiDocGraphics/external-link.gif~|~|width="13" height="12"~]~]>>url:https://confluence.desy.de/display/ASAP3/The+Gamma+Portal||shape="rect"]]. HDF-by-run files can processed with common tools, e.g. with [[Matlab>> doc:FLASHUSER.InformationbouttheFLASHHDF5structure]] or [[Python>>doc:FLASHUSER.FLASHH5foreasier access ofFLASH'sDF5files]], as during the conversion a lot of discrepancies have been resolved. As .raw files are rarely used for analysis they are saved on the FLASH DAQ servers and will only be put on the spectrum scale file system on special request.172 +The offline HDF5 files containing complete DAQ runs will be put after the beamtime on the spectrum scale file system. Access is granted from the within the DESY network for beamtime participants or from the outside via [[Gamma portal~[~[image:url:http://hasfweb.desy.de/pub/TWiki/TWikiDocGraphics/external-link.gif~|~|width="13" height="12"~]~]>>url:https://confluence.desy.de/display/ASAP3/The+Gamma+Portal||shape="rect"]]. HDF-by-run files can processed with common tools, e.g. with [[Matlab>>url:http://hasfweb.desy.de/bin/view/Setup/HDF5main#Samples_how_to_read_HDF5_with_Ma||shape="rect" class="twikiAnchorLink"]] or [[Python>>url:http://hasfweb.desy.de/bin/view/Setup/FlashH5||shape="rect" class="twikiLink"]], as during the conversion a lot of discrepancies have been resolved. As .raw files are rarely used for analysis they are saved on the FLASH DAQ servers and will only be put on the spectrum scale file system on special request. 173 173 174 174 The spectrum scale file system contains the [[substructure~[~[image:url:http://hasfweb.desy.de/pub/TWiki/TWikiDocGraphics/external-link.gif~|~|width="13" height="12"~]~]>>url:https://confluence.desy.de/display/ASAP3/Directory+Structure||shape="rect"]]: {{code language="none"}}raw{{/code}}, {{code language="none"}}processed{{/code}}, {{code language="none"}}shared{{/code}} and {{code language="none"}}scratch{{/code}}. The (% class="WYSIWYG_TT" %)raw (%%)folder contains the data recorded by the experiment (user data and HDF5) and will be set read only shortly after the beamtime is over. {{code language="none"}}Processed{{/code}} is typically used to store processed data and analysis software. Both folder are backupped by the spectrum scale file system. 175 175