Version 33.1 by sndueste on 2024-03-14 15:13

Hide last authors
sndueste 9.1 1 {{toc/}}
2
sendels 1.1 3
4 == General Concept ==
5
sndueste 33.1 6
7 All Data which is important for the experiment is saved by the users **ON DEMAND **in the FLASH DAQ system. To record this type of data we have 3 User DAQs at FLASH1 (FLASH1_USER1,FLASH1_USER2 and FLASH1_USER3) and two at FLASH 2 (FLASH2_USER1, FLASH2_USER2)
sendels 1.1 8 How to save this experiment related "User-Data" will be explained briefly in this page:
9
sndueste 33.1 10 In addition, a large number of parameters is continuously saved (pulse energy, arrival time, Beamline settings ...) in the PHOTONDIAGNOSTIC FLASH DAQ system as backup.
sendels 1.1 11
sndueste 33.1 12
sendels 1.1 13 == Taking User data: Starting and stopping runs (Users) ==
14
15 In order to save the experiment related data from ADCs, Images, delayline detectors etc. the User DAQ has to be started to record the experiment data. The options which data can be saved, have to be discussed way before the beamtime. For regular beamtime operation the DAQ also was setup by experts before the beamtime. If things do not look like described here look in the troubleshooting section below.
16
17
18 === DAQ control panel ===
19
sndueste 28.1 20 To get to the User DAQ control one has to go to {{code language="none"}}Experiment control{{/code}} -> {{code language="none"}}User DAQ tab{{/code}} -> {{code language="none"}}FLxUSERy DAQ CTRL {{/code}}
sendels 24.1 21
sndueste 28.1 22 [[image:attach:jddd_DAQ-control-manual-how_to_get.png||width="500"]][[image:attach:image2022-9-8_10-50-53.png||width="450"]]
sendels 1.1 23 \\The following window opens. Here the User DAQ can be started and stopped as well as the incoming data can be visualized, information about data rates and saved properties is presented as well as the panel is automatically printed in to the logbook:
24
sndueste 28.1 25 [[image:attach:jddd_DAQ-control-manual2.png||width="800"]]
sndueste 33.1 26 \\
sendels 1.1 27
28
sndueste 28.1 29 * By pressing the start and stop button, besides sending the commands to the DAQ the button prints the panel to the respective beamline / experiments logbook. Here you can later on keep track of the runs. Links to the Beamline logbooks can be found [[here>>doc:FLASHUSER.Data Acquisition and controls.DAQ and controls overview.E-Logbooks.WebHome]].
30 * here a sample entry in the **logbook**. The run number, "run comment" and several other parameters are printed as (searchable) text in addition with the screenshot of the DAQ control to get all relevant data for this run in the logbook: [[image:attach:image2022-9-8_10-57-56.png||thumbnail="true" height="250"]]
31 * NOTE: After starting, the stop button appears only after saving abut 200 shots to prevent too early stopping which may disturb the DAQ.
32 * NOTE: Each run has a unique run number. This number is needed to retrieve the data later on. So it is important to keep track which number is associated to what experimental parameters. Note that the run numbers are used by all FLASH DAQs (currently about 10). It might thus well be, that two consecutive runs from you do have run numbers which are spaced by more than one if another DAQ has been started in-between ...
sendels 1.1 33
34
35 === Checklist for proper saving of the data ===
36
37 * Check that some 20 seconds after starting a run the DAQ control shows that the internal checks did not show errors -> the **DAQ traffic light is green** (... still there may be undetected problems !!!)
38 * The **number of shots** has to count up with 10 Hz
39 * The **data rate** has to be the same as for the other runs with the same settings (one may click on the number to open a window with the history of the data rate to compare)
40 * The **file size** of the file in which the data is written has to increase with the same speed as for the other runs with the same settings
41 * check the data shown in the **DAQ monitor**.
42 ** are all required channels shown ?
43 ** is the range set correctly ?
44 ** does the ADC trace, image ... look as expected ?
45 ** are the images, ADC traces ... **UPDATING** ? (depending on the setting typically the display update is about 1 Hz)
46 * Are the selected channels checked with the **offline monitor** (lower part of the DAQ control) saved with ~~ 100 % for fast - 10 Hz- properties (and about 10-20 % for slow values saved only ~~1 per second)
47 * Is the time shown in the offline monitor the actual time? (Otherwise it did not read the current files and shows old data !)
48 * **And finally the //ultimate// check is using the DAQ Data GUI to look at the saved data - this should be done once in a while to be sure that the data is saved correctly**
49
50 If not all points of the list are o.k. there may be some problem with the writing of the data. Look to the troubleshooting section and / or talk to beamline stuff.
51
52
53 === More infos on the tools to check the proper saving of the data ===
54
55
56 ==== DAQ monitor ====
57
58 The DAQ monitor shows a predefined selection of parameters as they are received in the DAQ //before// writing to a file. Here one can check if the desired data //arrives// in the DAQ and if the ranges are set correctly (e.g. sufficient acquisition time). The parameters to look at are defined before the beamtime with the local contact / DAQ group (details see below)
59
60
61 ==== Offline DAQ monitor ====
62
sndueste 26.1 63 This tool looks if a predefined selection of parameters is saved in the raw file. When a raw.-file reached its maximum size ( ~~ 1 GB) it is closed and a new file is opened. Once closed, the Offline DAQ monitor reads the file and checks if there are entries for the selected parameters. It shows the fraction of events containing data. For “fast” data (data written with 10 Hz and bunch ID synchronous like images, ADC traces) this should be close to 100%. For “slow” data (saved about every second e.g. pressures , temperatures...) this is about 10-20%. **However it is to note** that this program just check if there is **anything** saved. It does not check if it is the proper data.
sendels 1.1 64
65
66 ==== DAQ Data GUI ====
67
68 To ultimately check if the correct data is saved one can use the DAQ data GUI to look at the saved raw. files.
69
sendels 24.1 70 [[image:attach:daqgui3.png||height="250"]][[image:attach:DAQgui2.jpg||height="250"]][[image:attach:DAQgui1.jpg||height="250"]]
71
sendels 1.1 72
sndueste 33.1 73 The DAQ Data GUI is a general tool to select and visualize data that was saved in the DAQ . It has in addition simple analysis options like histogram, mean, min or max values as function of time etc. Also correlations between different parameters can be analyzed in the tool. More details can be found [[How to Use the FLASH DAQ Data GUI?~[~[image:url:http://hasfweb.desy.de/pub/TWiki/TWikiDocGraphics/external-link.gif~|~|height="12" width="13"~]~]>>url:https://ttfinfo.desy.de/FLASHWiki/Wiki.jsp?page=FLASHDAQdataGUI||shape="rect"]] and [[ here (DAQdataGUI link collection) >>doc:FLASH.How to get the data out of the DAQ]]
sendels 1.1 74
sndueste 33.1 75 The tool (separate Java program) can be started [[DAQdataGUI~[~[image:url:http://hasfweb.desy.de/pub/TWiki/TWikiDocGraphics/external-link.gif~|~|height="12" width="13"~]~]>>url:http://ttfinfo2.desy.de/common/applications/DAQdataGUI-experimental.jnlp||shape="rect"]] or in the DAQ control panel ( lower right) on your local user console (Linux or Windows) or log  onto the COntrol machines: {{code language="none"}}flashlxuser1,flashlxuser2{{/code}} or {{code language="none"}}flashlxuser3{{/code}} (there you also may start via  {{code language="none"}}DAQdataGUI{{/code}} from the command line).
sendels 1.1 76
77
78
sndueste 33.1 79 To access the desired data one has to:
80
sendels 1.1 81 * enter the {{code language="none"}}run number{{/code}} of the run you want to look at at //Run//
82 * select your DAQ in the //Experiment// drop down menu: {{code language="none"}}FLASHy_USERx{{/code}}
83 * press {{code language="none"}}get Channels/Files{{/code}}
84 * browse through the data tree and select your important parameters and drag them with the mouse in the {{code language="none"}}selected{{/code}} window. The list of important parameters should have been defined before the experiment with the FLASH stuff together. This list can also be found in the offline monitor (lower part of DAQ control) )
85 * press {{code language="none"}}Start Display{{/code}} to open a new window with your data. In case it was a long run and / or a large amount of data per shot one can limit the number of shown events to a fraction: {{code language="none"}}Events -> Reading Options -> Event Interval{{/code}} provides the option to show only every //n// th dataset.
86
87
88 === How to get the data out for analysis (short summary) ===
89
sendels 5.1 90 The (% class="twikiNewLink" %)DAQdataGui(%%) is a powerful tool to visualize the saved data and to do very preliminary analysis. however for more detailed analysis the data has to be read into analysis programs ( matlab, python, Origin ...) here are different options one can use (what option is the best and how to set it up has to be discussed before hand with the FLASH DAQ experts ...)
sendels 1.1 91
92 * The FLASH DAQ system records the data in binary " {{code language="none"}}.raw{{/code}} " files.
erlandm 27.1 93 ** (% class="confluence-link" %)reading the .raw files [[directly via Python>>url:https://ttfinfo.desy.de/DOOCSWiki/Wiki.jsp?page=PythonDAQClientInterface||shape="rect"]], or [[via Matlab >>doc:FLASHUSER.Data Acquisition and controls.Data Access at FLASH (DAQ, gpfs,\.\.\.).Offline data analysis (DAQ).For experts\: many ways to get Data from the DAQ.How to Access the DAQ Using Matlab.WebHome]](%%)(no longer recommended) works, yet not for all data types equally well, and needs precise knowledge of the desired Parameters (useful to have a quick look / preliminary analysis on few parameters).
sendels 1.1 94 ** Note that the raw data is only accessible from certain computers within the DESY network and thus not very handy for offline analysis later on ...
95
96
97 * To ease the data analysis we IN ADDITION provide //ON REQUEST// the data from the FLASH DAQ as HDF5 format
erlandm 27.1 98 ** ONLINE HDF5s: Intro to the [[HDF5 structure used at FLASH>>doc:FLASHUSER.Data Acquisition and controls.Data Access at FLASH (DAQ, gpfs,\.\.\.).Offline data analysis (DAQ).The FLASH HDF5 structure.WebHome]]. This contains also a list of the most used Parameters saved at FLASH for analysis - including the HDF5 names, DOOCS and DAQ names ...
99 ** [[Examples>>url:https://gitlab.desy.de/christopher.passow/flash-daq-hdf||shape="rect"]] and an [[API>>url:https://gitlab.desy.de/christopher.passow/fdh-builder||shape="rect"]] to make use of the online HDF5s
100 ** [[Short examples>>doc:FLASHUSER.Data Acquisition and controls.Data Access at FLASH (DAQ, gpfs,\.\.\.).Offline data analysis (DAQ).The FLASH HDF5 structure.WebHome]] and [[user provided examples>>doc:FLASH.OUTDATED - Collection of user codes]] on how to read HDF5 in Matlab (no longer recommended).
sendels 1.1 101
sndueste 33.1 102 The HDF5 files (online and summary) are saved in the [["gpfs" system ~[~[image:url:http://hasfweb.desy.de/pub/TWiki/TWikiDocGraphics/external-link.gif~|~|height="12" width="13"~]~]>>url:https://confluence.desy.de/display/ASAP3/Architecture||shape="rect"]]. it can be accessed from [[Windows and Linux computers at DESY~[~[image:url:http://hasfweb.desy.de/pub/TWiki/TWikiDocGraphics/external-link.gif~|~|height="12" width="13"~]~]>>url:https://confluence.desy.de/display/ASAP3/Mounting+the+storage+system+at+the+beamline||shape="rect"]] by the persons ( logins) which are registered for the beamtime in DOOR ( functional accounts
sendels 1.1 103
104 The path to your data is structured the following way:
105
106 * /asap3/flash/gpfs/ //beamline used// / //year// /data/ //Beamtime application number// /raw/hdf/ (the //Beamtime application number// can be fund in the pdf schedule sent around by Rolf ...)
107 * as example: {{code language="none"}}/asap3/flash/gpfs/bl2/2017/data/11003163/raw/hdf/{{/code}}
108
sndueste 14.1 109 More details and links can be found in the [[doc:FLASHUSER.Data Acquisition and controls.DAQ and controls overview.WebHome]].
sendels 1.1 110
111
112
113
114 == Setting up the DAQ - DAQ Run Control GUI (local contacts, FLASH stuff) ==
115
116 This section is intended for the local contacts / FLASH staff to set up the DAQ according to the needs of users before the beamtime. For troubleshooting this may also be helpful for users ...
117
118
119 === Configuring the DAQ ===
120
sendels 24.1 121 [[image:attach:RCGUI_2.jpg||height="400"]]
sndueste 33.1 122
sendels 1.1 123
124
sndueste 33.1 125 Using the jddd DAQ control panel one can start and stop runs but in order to configure the DAQ which data to save one has to use a a separate *DAQ run control * java application. Since it needs write access to DOOCS internal file systems, which can not be made available elsewhere one has to start the system on our linux user consoles at the beamline or on the  DOOCS control computers {{code language="none"}}flashlxuser1.desy.de, flashlxuser2.desy.de {{/code}} or {{code language="none"}}flashlxuser3.desy.de{{/code}}.
126 Log in with the beamline account (bl1user, bl2user, ..., fl24user...) either via fastX3 or {{code language="none"}}Remote desktop{{/code}} from windows or via ssh from Linux machines.
sndueste 28.1 127 Once logged in to {{code language="none"}}flashlxuser1,2,3{{/code}} the DAQ run control can be started in the "advanced"  Tab of the DAQ control :
128
sndueste 33.1 129 [[image:attach:image2022-9-8_11-14-7.png||border="true" height="250" width="343"]]
sndueste 28.1 130
131 Or in the command line:
132
sendels 2.1 133 (% class="wrapped" %)
sendels 1.1 134 |(((
135 Unix command
136 )))|(((
137 DAQ
138 )))
139 |(((
140 {{code language="none"}}
141 RCGUIFL1USER1
142 {{/code}}
143 )))|(((
144 FLASH1_USER1 DAQ
145 )))
146 |(((
147 {{code language="none"}}
148 RCGUIFL1USER2
149 {{/code}}
150 )))|(((
151 FLASH1_USER2 DAQ
152 )))
153 |(((
154 {{code language="none"}}
155 RCGUIFL1USER3
156 {{/code}}
157 )))|(((
158 FLASH1_USER3 DAQ
159 )))
160 |(((
161 {{code language="none"}}
162 RCGUIFL2USER1
163 {{/code}}
164 )))|(((
165 FLASH2_USER1 DAQ
166 )))
sndueste 28.1 167 |(% colspan="1" %)(((
168 {{code language="none"}}
169 RCGUIFL2USER2
170 {{/code}}
171 )))|(% colspan="1" %)(((
172 FLASH2_USER2 DAQ
173 )))
sendels 1.1 174
sndueste 28.1 175
sendels 1.1 176 Which DAQ to use is decided by the FLASH DAQ team according to the beamtime schedule.
177
sendels 24.1 178 [[image:attach:RCGUI_properties.jpg||height="400"]]
sendels 1.1 179
180
sndueste 30.1 181 Using the {{code language="none"}}Add{{/code}} and {{code language="none"}}Rem(ove){{/code}} buttons one can move the desired "subsystems" in the included side - meaning that they are saved. The "subsystems" contain typically several DOOCS parameters. E.g. {{code language="none"}}EXPERIMENT_MHZ_ADC_BL1{{/code}} contains all relevant DOOCS properties of the four  MHZ ADC channels available at BL1. To get a detailed information about the saved parameters one can have a look to the "Show Properties in Subsystems" button . In addition, a list of all possible subsystems and their description can be found [[here>>doc:FLASH.Configuring the user DAQs]].
sendels 1.1 182
183
184 === Configuring the DAQ monitor ===
185
sndueste 33.1 186 The DAQ monitor ( and the Offline monitor) can be configured using DAQdataGUI.
sndueste 20.1 187 Load a test run containing all relevant properties. Select all properties you want to monitor. Use {{code language="none"}}Tools -> Channels to DAQMonitor{{/code}} and choose your DAQ. This sends a list with the selected properties to the DAQ monitor of your system.
cpassow 22.1 188
189 [[image:attach:daq_monitor_config.png||height="400"]]
sendels 1.1 190
191 === Start and Stop a run ===
192
sendels 8.1 193 In order to "activate" and test your configuration you have to start a run with the new configuration. **NOTE: Whenever the configuration was changed with the RCGUI the new run HAS to be started with the RCGUI **(starting with the jddd DAQ panel would only start the last configuration that has been running before !!!
sendels 1.1 194
195
sndueste 30.1 196 **To START** a run - meaning starting to save the experiment related data - one has to press the "start" button in the Run Control GUI. This opens a confirmation window asking if you really want to start the run ("in default mode"). Press yes. Now it takes about 20 seconds for the system to start up and start recording data. Indication is the "Run Control: RUN" and "DAQ: RUN" greenish indicators on the upper left side of the run control.
sendels 1.1 197
sndueste 30.1 198 **To STOP** a run one has to press the "stop" button. This opens a window for comments. This contains already the actual Experiment name by default. Please leave this information in. Add a comment for your run. This comment will be printed into the logbook and can later on be used to identify individual runs ... note you are required to type in something otherwise the run will not stop.
sendels 1.1 199
200 The stopping also needs about 20 seconds.*_IT IS IMPORTANT_ not to start and stop the DAQ while it is still ramping up or down. So please wait before restarting the DAQ.*
201
202 After the run use the DAQ data GUI to check if the data intended is saved properly.
203
204
205 === Load/Save the configuration ===
206
sndueste 29.1 207 [[image:attach:whitelist.jpg||height="250"]]
sendels 1.1 208
sndueste 33.1 209 Once a list of subsystems is defined and tested this parameter combination should then be saved in a so-called //white list//. By loading this white list one can then easily configure the DAQ after changes / restarts ... to the initially defined settings to save the correct data.
210 The whitelist can be saved/loaded with the Run Control GUI by: {{code language="none"}}File -> Group White List -> Save/Load{{/code}}. Note, while the top left rectangle's background of time and date is yellow, don't try any further controls of the GUI, you might confuse the program. It is busy reading the configuration from the run control database. The background changes back to grey when it has finished.
211 \\The filename convention for the White Lists are arranged in the way:
sendels 1.1 212 //DAQ name// - //Date of creation// - //name of the PI / Experiment// - //optional comment on the type of data//
213
214 The whitelists are stored in separate folders for each beamline.
215
216
sndueste 11.1 217 === Choosing the file size ===
sendels 1.1 218
sndueste 11.1 219 The DAQ writes into a file (in .raw format) up to a configurable value. If the limit is reached the file will be closed and a new file will be started. Thus a run can contain tens to hundreds of files.
sendels 1.1 220
sndueste 11.1 221 The size can be configured to be 100 MB, 350 MB or 1000 MB (default)
sendels 1.1 222
sndueste 11.1 223 Few things to consider (in case of doubt talk to the expert (Erland ...)):
sendels 1.1 224
sndueste 11.1 225 * 1000 MB: This is the standard setting which is best for archiving (few large files are preferred). However mainly for images that are saved with less than 10 Hz the HDF5 converter has problems with the large files. And for low data rates it may take upto half an hour to fill one 1GB file. Then smaller ones are also preferable.
sndueste 12.1 226 * 350 MB: Often a good compromise ...
227 * 100 MB: It is not preferred to have many "small" files for storing the data. For very small data rates this is an option to not wait too long till the next file is created.
sendels 1.1 228
sndueste 26.1 229 To choose the desired file size one has to choose a run mode configuration in the RunControlGUI
sendels 1.1 230
sndueste 16.1 231 [[~[~[image:attach:image2020-1-17_13-39-38.png~|~|height="400"~]~]>>attach:image2020-1-17_13-39-38.png]]
sndueste 12.1 232
sndueste 16.1 233 This will however the clear the definition of selected subsystems and one has to reload the whitelist of the experiment again.
sndueste 12.1 234
235
sendels 1.1 236
sndueste 12.1 237
238
sndueste 11.1 239 === Assigning the DAQ to the beamline in jddd ===
240
241 To assign which DAQ is used at what beamline one has to use the dropdown menu in the {{code language="none"}}parameter monitor{{/code}}. In each Beamline overview tab (BL1,2,3) there is a button (upper right) that starts the {{code language="none"}}parameter monitor{{/code}} panel. In the upper middle is a DAQ field in which the appropriate DAQ can be assigned to the Beamline.
242
sndueste 30.1 243 [[image:attach:image2022-9-9_9-51-8.png||height="150"]]
244
sendels 1.1 245
246 === Setting the logbook to print in / putting the Whitelist name in jddd ===
247
sndueste 30.1 248 The jddd DAQ Control should be set up that it prints by default the relevant run information in the logbook associated to your beamline [[Logbooks>>doc:FLASHUSER.Data Acquisition and controls.DAQ and controls overview.E-Logbooks.WebHome]]
sendels 1.1 249
250 Define logbook / and whitelist for display in the jddd DAQ control (jddd otherwise does not "know" which White list was used ... this has to be put in by hand ...up to now)
251
sendels 24.1 252 [[image:attach:setting_parameters.jpg||height="400"]]
sendels 1.1 253
254
255
256 == In case something goes wrong: Troubleshooting ==
257
258 === No //START// or //STOP// buttons are visible in the DAQ control panel ===
259
sndueste 29.1 260 The jddd GUI only shows the Start and stop button if the DAQ is in the "Idle" state. Sometimes the DAQ "just" gets stuck in the stopping phase. Then stopping again or starting form the not "Idle" state can help. For this goto the "Advanced" tab of the jddd DAQ control . there the START and STOP buttons are always available ... independent of the state of the DAQ. If this does not help you may have to restart the DAQ ...
sendels 1.1 261
262
263 === The DAQ does not start a run ===
264
265
sndueste 30.1 266 * Mainly the DAQ works fine but one of the properties that should be saved is not available or somehow corrupted. There the {{code language="none"}}RC logfile{{/code}} helps (see below) to determine where to localize the problem. The pragmatic way is to exclude the subsystems which may contain the properties with problems. Thus exclude the "critical" subsystems. Start a run (starting with the RCGUI not with jddd DAQ control ). If this works, include one by one the excluded subsystems and start runs. That way one should find out which subsystem causes the problem. Now one can investigate this one in more detail. Is the property available in DOOCS? Does it update? maybe restart the server providing the property ...
sendels 1.1 267
sndueste 30.1 268 as example: [[image:url:https://ttfinfo.desy.de/FELPGMelog/data/2017/15/11.04/2017-04-11T02:56:05-00.PNG||height="250"]]
sendels 1.1 269
270
271 === Data seems not properly saved ===
272
sendels 24.1 273 [[image:attach:RC_logfile.jpg||height="250"]]
sendels 1.1 274
275
sendels 24.1 276 When checking the saved run with the (% class="twikiNewLink" %)DAQdataGUI(%%) it may happen that the property shows up in the data tree but no events are saved. Then (most likely) something is wrong with the sending of the data.
277
sendels 1.1 278 * A very helpful tool is the {{code language="none"}}RC logfile{{/code}}. in the RCGUI on the lower right side there is a button to start an editor with the log file. besides lots of standard entries there is usually also a hint on where to find the problem ...
279 * check if the device is working properly. Is it connected? Can you see data in jddd / DOOCS ? . If not you have to fix the DOOCS part ... DAQ can only save what is properly implemented in DOOCS.
280 * If camera images are not properly saved ( e.g. only "0"s in the image matrix or the DAQ sender can not be switched to "on") a **restart of the camera server** usually helps.
281 * Sometimes also a restart of the DAQ (see below) helps ... This however is more the case if the DAQ does not start at all or saves no data at all ...
282 * in several cases the reason is a configuration problem of the server. Then 2 servers are sending on the same "address". Then one property usually is saved without loss while the second one is only saved once in a while ( 1-5%). Here the server has to be fixed. As fast cure one can only exclude the less important subsystem and save the more important properly ...
283
284
285
286
287 === Restarting the DAQ ===
288
289
290 * If the RCGUI does not respond (and also the clock display does not count up) one has to restart the GUI. Usually the DAQ is not affected by the RCGUI hang up ...
291
292
sndueste 33.1 293 * Generally there** 3 ways to "restart" the DAQ**
sndueste 30.1 294 ** 1. The least interfering way is the "**all to INITIALIZE**" that tries to reset the DAQ processes ... helps for simple "hickups"
295 ** 2. The "**re-start DAQ**" really reboots the whole DAQ process. The settings still should be as before ... this is the "Usual" restart
296 ** 3. In very hard and severe cases there is the **ultimate restart button: "re-start DAQ (no RCSHM)"**
sendels 1.1 297
298
sndueste 33.1 299 //**Here in more detail:**//
sendels 1.1 300
301
302 * if the DAQ gets stuck in the starting or stopping procedure one can try to initialize the DAQ or in the worst case restart it.
sndueste 30.1 303 ** **to be able to restart the DAQ one has to run jddd on Linux in the DESY network, meaning wither on our User consoles in the Experimental halls (cons0...12)  or on  {{code language="none"}}flashlxuser1,flashlxuser2{{/code}} or {{code language="none"}}flashlxuser3{{/code}}. Log in at one of these machines with your beamline account (e.g. bl1user or fl24user). **(On the flashlxuser machines there are no desktop icons to start jddd. Here you can use  the  shell command: {{code language="none"}}flash ->{{/code}} Click on "Photons" -> "Photons main panel" )
304 ** To Restart the DAQs you need the **"expert" Tab** of the  User DAQ control panel.
sendels 1.1 305
sndueste 30.1 306 [[image:attach:image2022-9-9_10-57-31.png||height="400"]]
sndueste 33.1 307
sendels 1.1 308
sndueste 30.1 309 There is some description of the different ways to restart the DAQ in the panel:
sendels 1.1 310
sndueste 30.1 311 ==== **all to INITIALIZE** ====
sendels 1.1 312
313
sndueste 33.1 314 *
sndueste 30.1 315 ** First, one may try the "**all to INITIALIZE"** button. It starts a script window showing the progress of the initialization. The script sets all subcomponents to initialize. It is helpful if one subcomponent got stuck.
316 ** If there is no window coming up or closing right away there may be a problem with the rights. In this case you:
317 *** may try to login at the flashlxuser machines and try there again
318 *** or use the red "DAQ restart" Button one below. This button reacts technically different and can circumvent rights problems ... 
sendels 1.1 319
sndueste 30.1 320
321 Initialize script: [[image:attach:image2022-9-9_11-6-38.png||height="250"]] parts of the DAQ are in different "states":[[image:url:https://ttfinfo.desy.de/Flash_THzStreakingelog/data/2020/49/2020-12-02T13:53:01.jpg||height="250"]]
sendels 24.1 322
sendels 1.1 323
sndueste 30.1 324 ==== Restart the DAQ ====
sendels 1.1 325
326
sndueste 30.1 327 * If the "initialize"  does not help,  you have to "re-start DAQ". This completely restarts all processes and takes a while. A script window appears and shows what steps are actually done. At the end is sais: "Cleanup finished".
328 * There are **actually 2 buttons** to "restart" the DAQ. They start the same restarting script - however in different ways. Thus, if one for what ever reason does not work with your configuration you may use the second one ... 
sendels 1.1 329
sndueste 30.1 330 Script window:  [[image:attach:DAQ_restart_msg.jpg||height="400"]] Restart: [[image:attach:image2022-9-9_11-30-33.png||height="400"]]
sendels 1.1 331
sendels 24.1 332
sndueste 30.1 333 * For the "re-start DAQ" the DAQ should come up in the same state as before. Meaning that the subsystems (ADCs, cameras ..) are still loaded and displayed. If this is not the case you can try to load your white list and start a new run. If the data is saved correctly you are done.
sendels 1.1 334
sndueste 30.1 335 ==== "Ultimate" restart ====
sendels 1.1 336
sndueste 30.1 337 * **IF the DAQ still does not work properly** the final option is the: " "Ultimate" re-start DAQ (no RCSHM)". This button does the same as the "re-start DAQ" but the Run Controller shared memory is **not** re-stored. It means that after the DAQ is back no run configuration is selected.
338 ** in the jddd control the list of subsystems sais "empty" [[image:attach:image2022-9-9_11-36-1.png||thumbnail="true" height="250"]]
339 ** and you have to reload the parameters to be saved from the  Whitelist.
340 ** you can use the "Runcontrol"  button right below the  "Ultimate" re-start DAQ (no RCSHM)" to start the RunControl window
341 ** choose the files ize ( best default: 1GB)[[image:attach:image2022-9-9_11-39-3.png||thumbnail="true" height="250"]]
342 ** goto "Subsystems" tab and load your Whitelist
343 ** and start a run ...
344
sendels 1.1 345
346 * If there are still components not working after the "re-start DAQ (no RCSHM)" you have to call the photon coordinator (4455) and pray ...
347
348
349
350 ----
351
sndueste 20.1 352 == [[Some more details for experts ...>>doc:FLASH.Collection of Detailsof the DAQ from various times \.\.\. not for public use]] ==
sendels 1.1 353
sndueste 14.1 354 === Re-read the data base ===
355
356 If there are new Properties included by Vladimir et al one has to reread the data base.
357
358 This can be done easiest by going to the run modes and choose a different "stored setting" (changing e.g. from filesize 100 MB to 350 MB) and going back to subsystems. At this point the new database entries are read in. then one can do the same backwards to switch back to the initial file size. Doing this the configured list of subsystems is lost and one has to reload the whitelist and start a run to get the loaded whitelist in the configuration.
359
sendels 1.1 360
sndueste 14.1 361 OR one can do the hard way:
sendels 1.1 362
sndueste 26.1 363 On flashlxuser1,2 or 3 start RCGUIFL1USER1 or appropriate to the DAQ you want to reconfigure. Select the tab "Run Modes". To then reload or re-init the run control database you need the expert menu entry:
sendels 1.1 364
sndueste 33.1 365 {{code language="none"}}
366 Options -> "Show Expert Menu"
367 {{/code}}
sendels 1.1 368
369 Then you go to {{code language="none"}}"Expert" -> "Run Control Commands" -> "Remove SHM"{{/code}} (occasionally twice).
370
371 After you see a message in the RCGUI messages window that the SHM was removed you do:
372
sndueste 33.1 373 {{code language="none"}}
374 "expert" -> "Run Control Commands" -> "Re-init SHM"
375 {{/code}}
sendels 1.1 376
377 Now close the RCGUI and start it again. Switch to the tab "subsystems", wait for the subsystems to be reloaded and load the whitelist you want to use.
sndueste 20.1 378
379
sndueste 21.1 380 Tracking DAQ restarts
381
382 A system was implemented (March 2020) where each restart of a user DAQ is recorded in a log file
383
384 One can see all log files in :
385
386 /home/doocsadm/bm/rcdb/restartslog/
387
sndueste 20.1 388 === data base errors ===
389
390 The red flags next to the  different stream indicators tell something about data base errors
391
sendels 24.1 392
sndueste 25.1 393 [[image:attach:2021-02-10 15_23_20-How to save data in the User DAQ - FS-FLASH USER - DESY Confluence.png||width="600"]]
sndueste 20.1 394
395 upper flag:  There was a problem to read run catalogue
396
397 lower flag: There was a problem to read dccp catalogue.
398
399 In both cases there are counters of failures to read a catalogue. If this counter is not incrementing with every attempt to read a catalogue, then it's no problem. It can be monitored and reset in the panel that one gets by pressing on "green" area.
sndueste 31.1 400
401
sndueste 33.1 402 === raw writers ===
sndueste 31.1 403
sndueste 32.1 404 (all user DAQs are using stream 2) [[image:attach:image-2023-12-14_13-50-19.png||width="318"]]
sndueste 31.1 405
sndueste 32.1 406 what raw writers are used ? ... They are defined in {{code language="none"}}FLASH.DAQ/FLxUSERy.EVENTBUILDER/EVB.STREAM.2/EVB.ROOT.SRVRS {{/code}} as XML string
sndueste 31.1 407
sndueste 32.1 408 what is the current raw writer? ... {{code language="none"}}FLASH.DAQ/FLxUSERy.EVENTBUILDER/EVB.STREAM.2/CUR.RAW.WRITER{{/code}}
sndueste 31.1 409
sndueste 32.1 410 OR
411
412 one can have a look at the Offline monitor :[[image:attach:image-2023-12-14_13-51-33.png||width="406"]]
413
414 FLASH.DAQ/FL1USER1.DAQ.OFFL.MONITOR/MONITOR/LAST.FILE
415
416 FLASH.DAQ/FL1USER1.DAQ.OFFL.MONITOR/MONITOR/CUR.WRITER
417
418
sndueste 33.1 419