SeaQuest Decoding

The SeaQuest Decoder is a program that has grown over the course of the experiment to be able to take the raw CODA output and parse its varied TDC formats into a useable output. It is written mostly in C and C++ and is capable of outputting to MySQL and ROOT.

There are two main operating modes that the decoder has been designed for -- online decoding and grid production-scale decoding. Please read below to learn about how to get, configure, and operate the software.

A Decoder's Cheatsheet

Decoder Cheatsheet: A summary of decoding commands and a checklist to make sure everything's running

Get and Set Up

Getting the Software: How to clone, configure, and compile the production decoder

Online Decoding

Most common tasks include starting the daemon and decoding individual runs. Until C++ MySQL Connector is installed on our gateway machines, you must clone the seaquest-decoding repository and perform the 'source' step from the section above. Once installed, it should be a matter of calling the installed binaries.

The MainDAQ Decoding Daemon: Configuring and starting the online decoding daemon
The MainDAQ Decode Script: Configuring and running the decode script on a particular run

Production Decoding

  • The production manager prepares a list of runs to process
  • The production daemon submits jobs to the Fermi Grid based on those lists
  • MySQL output is sent to one of the MySQL servers, ROOT output is sent to a /pnfs/e906/production/digit directory
  • Grid logs are scanned. Failed decoding jobs have their run numbers put back into the Todo lists

Week-Long Kerberization: Autonomous submission will require you to be Kerberized all the time
Additional Software Setup: Some other software may be required for various tasks
Production Daemon: Configuring and running the grid production daemon

Other Decoding Processes

The ScalerDAQ Decoder
The BeamDAQ Decoder