Project

General

Profile

Sending Trigger Messages

As we prepare to get messages sent with the entire NDOS DAQ system, we did a few tests on novatest01, so I am attempting to document them here for future reference.

Setup

DAQ

You will need the following packages in your online test release from the head:

addpkg -h DAQDataFormats
addpkg -h DAQMessages
addpkg -h NovaGlobalTrigger

and they need to be compiled as follows:

gmake DAQDataFormats.all
gmake DAQMessages.all
gmake NovaGlobalTrigger.{all,tbin}

DDT

You will only need one package in your DDT test release from the head:

addpkg_svn -h DDTDemo

and it needs to be compiled as follows:

gmake DDTDemo.all

Environment

You will need 4 terminals (3 DAQ, 1 DDT) and you need to set the same ospl XML file in all 4 terminals as follows:

export OSPL_URI=file:///home/mfrank/src/trigger/ospl.xml

In one of the DAQ terminals, start up OSPL as follows:

ospl start

You can use ospl list to make sure that it is running.

Configuration

You can configure the Global Trigger using NovaGlobalTrigger/config/GTConfig.xml. Specifically, make sure that the enableFlag for Calibration is set to false. This will disable regular calibration triggers that clutter the output.

Starting the DAQ

As previously mentioned, you will need 3 DAQ terminals, the following instructions explain what to do in each terminal:

Terminal DAQ1

Start up the Global Trigger:

NovaGlobalTrigger

Terminal DAQ2

Start up the Global Trigger Receiver:

GTReceiver

Terminal DAQ3

Configure and start the run (c.f. NovaGlobalTrigger/config/GTstatetest.sh):

sendRunControlMessage -t GlobalTrigger 0 loadrunconfig /home/mfrank/src/trigger/NovaGlobalTrigger/config/GTConfig.xml
sendRunControlMessage -t GlobalTrigger 0 configurerun
sendRunControlMessage -t GlobalTrigger 0 beginRun 123

Send the Message from DDT

Terminal DDT1

nova -c sendtriggersignaljob.fcl

You will now see received trigger messages in terminals DAQ1 and DAQ2!

Notes on Running Over Live Data

The nova executable runs over a file that is hard-coded in sendtriggersignaljob.fcl. If you want to run over live data on NDOS for example, you need to use the ddt-filter executable from the DDTproto package as follows:

ddt-filter -c NDOS-Trigger.fcl