Search/Navigation:
Related:
SLAC/EPP/HPS Public
Jefferson Lab/Hall B/HPS Run Wiki
S30XL-LESA/LDMX
EVIO (Event IO) is the raw data format used by the DAQ event builder. The structure of an EVIO file is a tree of banks, each of which has a header and a data payload.
Each EVIO bank has a data type a tag and a num. The type corresponds to the contents of the bank.
data_type | Size | content | notes |
---|---|---|---|
0x0c,0x0d,0x0e,0x10,0x20,0x40 | N | container | this is a bank that contains other banks |
0x00, 0x01 | 4 | uint32_t | unsigned integers |
0x02 | 4 | float | |
0x0b | 4 | int | signed integers |
0x0f | N | compound type | FADC (or other!) compound format. |
0x03 | 1 | char | char |
0x06 | 1 | int8_t = char | char |
0x07 | 1 | uint8_t | unsigned char |
0x04 | 2 | int16_t | short |
0x05 | 2 | uint16_t | unsigned short |
0x08 | 8 | double | |
0x09 | 8 | int64_t | long |
0x0a | 8 | uint64_t | unsigned long |
Source: EVIO C++ code data parser.
Note: The 0x0f compound type data contains a string that tells you what the layout of the data is. See EVIO documentation.
On the CLON machines, in the directory pointed to by $CLON_PARMS, is the file "clonbanks.xml", which contains the "dictionary" for the EVIO contents of various bank tags used in the data.
The very top bank in an event tree is usually a container bank (0x10). The "tag" of this bank indicates the event type. The event types used for the 2015 data set of HPS are listed below. Note that this is set by the DAQ configuration and is thus subject to change. Currently 16 - 32 are special event types, all others are "Physics" events. For physics events, the number is a bit encoded state of the trigger, with the high bit, bit 7, set. Thus physics events start at 128 and go up. The bit 6 encodes a "sync" event, which will contain scalers.
Event type # | Name | Notes |
---|---|---|
17 | Pre Start | Indicates the "pre-start" transition in the DAQ |
18 | Go | Indicates the user pressed "Go" on DAQ |
19 | Pause | Indicates the user pressed "Pause" on DAQ |
20 | End | End of run marker event. |
31 | Epics | Epics event - Slow controls data that is injected into the data stream. |
Bit 7 | Physics | Physics events should have bit 7 set |
Bit 6 | Sync | Sync events (containing scalers and trigger config) should have bit 6 set. (Note: The 1st event in the run will be a sync event, but does not always have the sync bit set.) |
Bit 5 | Pulser | The pulser triggered the event. |
Bit 4 | LED/Cosmic | LED or Cosmic trigger. |
Bit 3 | Pairs 1 | Indicates a Pair1 trigger. |
Bit 2 | Pairs 0 | Indicates a Pair0 trigger. |
Bit 1 | Single 1 | Indicates a Single1 trigger. |
Bit 0 | Single 0 | Indicates a Single0 trigger. |
Below is a list of the banks and tags used in the 2015 Engineering Run for HPS. Note that the bank numbers and tags used are chosen by the DAQ configuration, and are thus subject to change.
tag | tag hex | Name | Notes |
---|---|---|---|
57621 | 0xe115 | Scalers | Scaler banks |
0xe101 | |||
index | HEAD bank | 0xe10F (57615) |
---|---|---|
0 | version number | |
1 | run number | |
2 | event number | |
3 | event unix_time | |
4 | event type | |
5 | roc pattern | |
6 | event classification | 17,18,20,etc |
7 | Trigger bits |