Main DAQ Decoder - E1039-Collaboration/e1039-wiki GitHub Wiki

The Main-DAQ decoder is running on seaquestdaq01 to decode every run being taken now. If you find any problem or question, you would be asked to first contact the online software coordinator (Kenichi). No operation of the decoder process (i.e. execute, kill, etc.) is open to everyone at present, because the file/process permission is likely not handled properly for multiple users.

You could try the following procedures only if you and the coordinator already agreed to do so.

How to check whether a run is decoded

The decoding status is shown in the Run Info page. If a run is not shown there, the decoder hasn't started on the run. If the "Decoder End" column doesn't show "Yes" on a run, the decoder is running on the run or has aborted halfway.

When you like to know details, you can login to seaquestdaq01 and look into the process list, the decoder outputs, etc.

Type Location Note
DST /data2/e1039/dst
Log /dev/shm/decoder_maindaq Use "tail -f" to monitor a log file in real time.
OnlMon /data2/e1039/onlmon/plots

How to find & kill a decoding process

In order to do this on run 123, for example, you can login to seaquestdaq01 as e1039daq and execute one command as follows:

ssh -l e1039daq seaquestdaq01.fnal.gov
sudo /data2/e1039/script/kill-decoder.sh 123

It lists up all relevant processes and ask you whether each process should be killed. It's safe, since it kills nothing unless you answer 'yes'.

But for now no one is allowed to login as e1039daq, and Kenichi is using his account to manage all decoding processes. Note that the sudo command above has been already configured properly in /etc/sudoers.d/maindaq-decoder.

How to (re)decode a run

In order to decode run 123, for example, you can just login to seaquestdaq01 and execute one command as follows:

ssh seaquestdaq01.fnal.gov
/data2/e1039/exec-decoder.sh 123

But it is not certain for now whether the script can be successfully executed by all users because of the following issues. If you encounter any error, please let Kenichi know.

  • The permission of output files might not be proper.
  • A decoding process on the run that you try to redecode might be still running.

If you decode a run that is being taken, you give the 2nd argument "online" to make the decoder wait for new events;

/data2/e1039/exec-decoder.sh 123 online