[Halld-offline] JANA status bits

David Lawrence davidl at jlab.org
Fri Nov 20 14:51:38 EST 2015

From: David Lawrence <david.lawrence.nn at gmail.com>
Subject: JANA status bits
Date: November 20, 2015 at 2:50:05 PM EST
To: HallD Software Group <halld-offline at jlab.org>

Hi All,

	I’ve just submitted a pull request for a change that implements a feature in JANA
that we’ve not used up to now. This is a set of up to 64 flags that can be set for each
event. I have defined a few of these “status bits” which can be used for identifying
properties of the event. The main example is identifying whether it is a “physics”
event, “epics” event, “sync” event, etc.. To test whether the current event is a physics
event, use something like the following:

#include <DANA/DStatusBits.h>

bool isPhysics = loop->GetJEvent().GetStatusBit(kSTATUS_PHYSICS_EVENT);
   // Do something with the physics event

The currently available flags are:


To get a feel for which flags are being set for an event you can add
the following to your evnt() method (though you will only want to run
this for a couple of events).

cout << japp->StatusWordToString(loop->GetJEvent().GetStatus()) << endl;

The output for each event will look something like this:

status: 0x000000000000004c
   bin |00000000|00000000|00000000|00000000|00000000|00000000|00000000|01001100|
   hex    0x00     0x00     0x00     0x00     0x00     0x00     0x00     0x4c  
  0 - [ 0] HDDM file
  0 - [ 1] REST file
  1 - [ 2] EVIO
  1 - [ 3] Event read from file
  0 - [ 4] Event read from ET system
  0 - [ 5] Control event
  1 - [ 6] Physics event
  0 - [ 7] EPICS event
  0 - [ 8] SYNC event
  0 - [ 9] Beginning Of Run (BOR) event

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.jlab.org/pipermail/halld-offline/attachments/20151120/23c95e1a/attachment.html>

More information about the Halld-offline mailing list