uBooNE DAQ Wiki


Quickstart: Take data with the production code and scripts
Quickstart: Setup Development page for Readout
Quickstart: Setup Development page for DAQ Datatypes
Quickstart: Swizzling: setting up to use LArSoft to swizzle with uboonedaq_datatypes
Quickstart: Setup Development page for Run Control
Quickstart: Instruction of the run configuration database tools
Quickstart: Running MRT-style calibration runs
Quickstart: CRT DAQ
Online Monitor internals reference
Supernova Assembly


There are a variety of features available in these redmine project sites to highlight and track the current state of development and ongoing activities, if we decide to utilize them. Stay tuned.

  • Here's a Task List page for commissioning the DAQ by end of Sep, 2014. * Here's a Task List page for Run Control tasks.

We also use the MicroBooNE eLog to record current installation/development activities and milestones.

Notes on Slow monitoring and Controls

Follow the guidelines here when assigning IP addresses to devices at LArTF: IPStandards at LArTF
Follow this link for Slow monitoring To-Do list: Task List

Instructions for Run Control

Readout Problems

Getting Started, Access to Hardware, and Instructions

Local code development for the overall DAQ and Monitoring system is usually performed on the uboonedaq-evb machine, located now at the DAQ Test Stand in the DAB Hurricane Annex.
See the Instructions page for links to using specialized drivers or other software interfaces and the associated hardware.
See the Setup Development page for creating your own code development area on that node.

DAQ & Monitoring Components

  • see the Glossary for a list of the basic parts and definitions * see the Requirements for fuller descriptions of the functionality of the components and their interaction with each other * various diagrams are also available * A first stab at a list of the installed Components * alpha dB variables list * daq libraries imported from Nova's CVS repository. Just a list: ImportedNovaPackages * Documentation and Instructions for Message Passing and Run Control

Test stands exist both on and off site; see the Instructions page for details.

Code management is performed within Git; see the git page in this wiki for more information.

Official Versions

Below is a list of the versions of the DAQ code, with some description of what they were for, when they were made, and how they differ from previous versions. There are also instructions for releasing new version of the code.

Readout Code
  • v5_01_00 (12:50 CST, 12/21/2014 echurch):
    • Per the tag annotation: Note it's only the tag that is v05_01_00; the release is in fact v5_01_00 (no extra 0).
    • A lot of SlowMonCon additions!
    • backplane status readout monitor thread.
    • cpp2py package to expose some assembler-binary header-parsing classes to python for the sake of PUBs
    • Huffman encoding now properly reading out
    • beamdaq fixes, refactoring
    • many new ganglia monitoring metrics
    • configPulser allows many more parameters to configure remotely an arbitrary pulse and pulser-mode
    • Still using datatypes v5_00_00.
  • v4_02_00 (4/4/14, wketchum):
    • Gennadiy has removed art and artdaq as a dependency.
    • Now using datatypes v1_01_00.
  • v4_01_01 (3/24/14, wketchum):
    Tagged in repository.
    • Fix issue in FakeTpc mode where drainPipelines not properly implemented. Now includes a circularbuffer and form which can be properly guided through the state machine.
  • v4_01_00 (3/15/14, echurch):
    Taken from master branch.
    • All the online/dispatcher stuff built. New fhicl directories added to search path.
  • v4_00_02 (2/10/14, wketchum):
    Taken from master branch.
    • Setup v1_00_02 of datatypes.
  • v4_00_01 (2/5/14, wketchum):
    Taken from master branch.
    • Fix for linking correct libraries.
  • v4_00_00 (2/4/14):
    Taken from master branch.
    • Fixed error in data size being sent over network.
    • Removed datatypes from repository, and placed it in uboonedaq-datatypes repository.
  • v3_01_02 (12/11/13):
    Updates for running as uboonedaq without needing repository checkout. Taken from master branch
    • Configuration fcl with trigger info added needed to run now.
    • Have as option /uboone/uboonedaq/v3_01_02/config/sebs for fhicl file path.
  • v3_01_01 (12/11/13):
    Updates for running as uboonedaq without needing repository checkout. Taken from master branch
    • Configuration fcl files will now be located in a 'config' directory in /uboone/uboonedaq/vXX_XX_XX
    • Scripts for executing run schemes will now be located in a 'scripts' directory in /uboone/uboonedaq/vXX_XX_XX
  • v3_01_00 (12/10/13):
    Updates to PMT readout, taken from master branch.
    • Namely n_card=12 -> 1 and a smaller initialization of fragment(). Together, this leads to a data rate increase capability on PMT crate from 6 to ~120 Hz.
    • Also redesign for rawFragmentDMAPMT to inherit from rawFragmentDMA. Only rawFragmentDMAPMTmethod readFragment() is over-ridden.
      • Bottleneck remains in rawFragmentDMA/PMT::readFragment(): this must be on top of to-do list. The circularBuffer is not cleared to assembler as fast as it's filled for TPCs , e.g., for 3199 tick windows and 5 cards at more than ~2 Hz. This non-equilibrium state leads inevitably to a full circularBuffer and garbled headers read in fillCircularBuffer() and thus an end to traffic going to assembler, and we're dead at that point.
    • Fix the ganglia data_rate metrics, which had been 3-10x too large
  • v3_00_00 (11/15/13):
    DAQ data type version number 3. From master branch. Major release with inclusion of PMT readout.
    • Include PMT data types and eventRecord that holds seb map for pmt data.
    • Include fragment producers for PMT readout.
  • v2_01_00 (10/23/13):
    Used for MRT, DAQ data type version number 1.
    • ProcessAndShip will now clear eventStore queue after it issues a pause to the entire system.
    • Minor changes to receptionTest_decoder and pulse_viewer.
    • Some of the PMT information in hwutils is included, but this is NOT to be used for PMT readout, as it has not been tested for it yet.
  • v2_00_01:
    9/25/13, used for MRT, DAQ data type version number 1. Incorporates minor changes to get calibration_external triggering up and running.
  • v2_00_00:
    First version used for MRT. DAQ data type version number was 1. Was frozen Sep16 from a repository version of the MRT branch.
  • v1_00_00:
    Not an officially stored version, but was used prior to development of working version of DAQ used for MRT.


  • v1_01_00 (4/3/14, wketchum):
    Two changes:
    • Gennadiy has removed dependency on art, artdaq, windriver, ROOT, etc. Only major dependency is now boost. This will make life much easier, including porting this into the swizzling function.
    • A new "datatypes_utilities" folder has been added, and populated with a simple function to compare the checksum from the crate. This area should be further used to house common utilities that extract useful information from the datatypes.
  • v1_00_02 (2/9/14, tagg):
    Taken from master branch.
    • Remove un-needed dependencies. Fix for error in datatypes, where unpacking crates would throw runtime errors ("bad header") incorrectly.
  • v1_00_01 (2/5/14, wketchum):
    Taken from master branch.
    • Fix for getting the right libraries linked.
  • v1_00_00 (2/4/14):
    Taken from master branch.
    • Initial implementation of a uboonedaq_datatypes product. This is boost serialization version=3

Configuration parameters

Here is a link to a Google Doc that contains (or will contain...) a list of all the fhicl parameters:

ubdaq-prod-near1 special configuration