User Tools

Site Tools


event_filter

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
event_filter [2016/03/16 15:53]
pereira [Time-of-flight packet]
event_filter [2018/05/11 15:10] (current)
pereira [OBJECT PIN packet]
Line 1: Line 1:
 ====== S800 data format from Event Filter (S800 Filter) ====== ====== S800 data format from Event Filter (S800 Filter) ======
-This page describes the data format assembled ​by the S800 filter. The data is written in a series of 16-bit unsigned integers, subsequently referred to as ''​words''​. ​This format is suitable for the output ​of most of the modules ​presently used in the S800and in the case where 32 bit integers are needed, the proper unpacking procedures will be given.+The purpose of the S800 filter is to parse data from the S800 Event Builder, and reformat them in separated data packets, with an [[#General packet structure|specific structure]]. 
 + 
 + 
 +Data from the S800 filter are encapsulated as Ring Items (RI) and, as such, will include a [[http://​docs.nscl.msu.edu/​daq/​newsite/​nscldaq-11.2/​c185.html|Ring-Item Header]], a [[http://​docs.nscl.msu.edu/​daq/​newsite/​nscldaq-11.2/​x214.html|Body Header]], and a Body, where the real parsed data are included. Ring Items emitted from the S800 filter are pushed into a [[http://​docs.nscl.msu.edu/​daq/​newsite/​nscldaq-11.2/​c43.html|Ring-Buffer]] called **s800filter**. 
 + 
 + 
 +This page describes the data format assembled ​in the __Body__ of the S800 Filter RI. The data is written in a series of 16-bit unsigned integers, subsequently referred to as ''​words''​. ​Regardless ​of what modules ​are being read, the Body of the S800 Filter RI will always include four 16-bit wordsfollowed by a series of [[#General packet structure|data packets]]. The structure of the whole Body is described in the diagram below: 
 + 
 + 
 + 
 +^ Body Length 1 ^ Body Length 2 ^ S800 Data Tag ^ S800 Data Version ^ Data Packet 1 ^ Data Packet 2 ^ ... | 
 + 
 +  * **Body Length 1**: Number of words in body (self inclusive) 
 +  * **Body Length 2**: Number of words in body - 1 (self-inclusive) 
 +  * **S800 Data Tag**: 0x5800 
 +  * **S800 Data Version**: 0x0005 
 + 
  
 ===== General packet structure ===== ===== General packet structure =====
Line 26: Line 42:
   * **Packet Length** (self-inclusive)   * **Packet Length** (self-inclusive)
  
-^    ​   ​^^^^^^^^^^^^^^^|+^    ​   ​^^^^^^^^^^^^^^^|
 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 |
 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Line 74: Line 90:
   * **Packet Length** (self-inclusive)   * **Packet Length** (self-inclusive)
  
-^    ​   ​^^^^^^^^^^^^^^^|+^    ​   ​^^^^^^^^^^^^^^^|
 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Line 171: Line 187:
  
 ^    A number from 2 to 10    ^^^^^^^^^^^^^^^| ^    A number from 2 to 10    ^^^^^^^^^^^^^^^|
-| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | X | X | X |+| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | X | X | X |
 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  
Line 207: Line 223:
  
  
-==== Scintillator packet ====+===== Scintillator packet ​=====
 The scintillator packet includes the energy (encoded in the [[S800 USB DAQ data format#Tag 0x4300: FERA module for plastic scintillator energies|FERA LeCroy module]]) and time (encoded in the [[S800 USB DAQ data format#Tag 0x7186: Phillips 7186 TDC module for time-of-flights|Phillips TDC]]) of the [[Detectors#​Plastic scintillators|S800 FP scintillator]] signals. In the original configuration,​ there were 3 scintillators (E1, E2, and E3) which were later reduced to just one (E1) after the installation of the Hodoscope. ​ The scintillator packet includes the energy (encoded in the [[S800 USB DAQ data format#Tag 0x4300: FERA module for plastic scintillator energies|FERA LeCroy module]]) and time (encoded in the [[S800 USB DAQ data format#Tag 0x7186: Phillips 7186 TDC module for time-of-flights|Phillips TDC]]) of the [[Detectors#​Plastic scintillators|S800 FP scintillator]] signals. In the original configuration,​ there were 3 scintillators (E1, E2, and E3) which were later reduced to just one (E1) after the installation of the Hodoscope. ​
  
Line 252: Line 268:
  
  
-==== Ion-Chamber packet ====+===== Ion-Chamber packet ​=====
 The Ion-chamber packet includes the energies of the [[Detectors#​Ionization chamber|16 ion-chamber segments]] encoded in one of the [[S800 USB DAQ data format#Tag 0x7164: Phillips 7164 ADC module for ion chamber energies|Phillips 7164H ADC]]. The Ion-chamber packet includes the energies of the [[Detectors#​Ionization chamber|16 ion-chamber segments]] encoded in one of the [[S800 USB DAQ data format#Tag 0x7164: Phillips 7164 ADC module for ion chamber energies|Phillips 7164H ADC]].
  
Line 258: Line 274:
   * **Packet Length** (self-inclusive)   * **Packet Length** (self-inclusive)
  
-^    A number from 4 to 18    ​^^^^^^^^^^^^^^^|+^    A number from 4 to 20    ​^^^^^^^^^^^^^^^|
 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | X | X | X | X | X | | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | X | X | X | X | X |
 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Line 271: Line 287:
  
  
-  * **Sub-packet "​Energy" ​Tag**+  * **Sub-packet "​Energy" ​Length** (self-inclusive)
  
-   ​0x5821 ​   ​^^^^^^^^^^^^^^^| +  A number from 2 to 18    ​^^^^^^^^^^^^^^^| 
-| 0 | | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | |+| 0 | | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | X | X | X | X |
 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  
  
  
-  * **Sub-packet "​Energy" ​Length** (self-inclusive)+  * **Sub-packet "​Energy" ​Tag**
  
-  A number from 2 to 16    ​^^^^^^^^^^^^^^^| +   ​0x5821 ​   ​^^^^^^^^^^^^^^^| 
-| 0 | | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | X | X | X | X |+| 0 | | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | |
 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
 +
 +
  
  
Line 301: Line 319:
  
  
-==== CRDC packets ====+===== CRDC packets ​=====
 The Filter provides two CRDC packets: one for [[Detectors|Cathode Readout Drift Chambers (CRDC)|CRDC1]] and one for [[Detectors|Cathode Readout Drift Chambers (CRDC)|CRDC2]]. Each CRDC packet is divided in two sub-packets:​ the "​Raw"​ sub-packet with information about the pads energies (encoded in the [[S800 USB DAQ data format#Tag 0xCFDC: XLM72V crdc1 pad readout module|CRDCs XLM72 modules]]), and the "​Anode"​ sub-packet with anode energy and time information encoded in the CRDCs [[S800 USB DAQ data format#Tag 0x7167: Phillips 7164 ADC module for CRDC anodes (energies and TAC)|Phillips ADC]]. In the following, we describe the structure of the packet provided by the Filter for each CRDC. The Filter provides two CRDC packets: one for [[Detectors|Cathode Readout Drift Chambers (CRDC)|CRDC1]] and one for [[Detectors|Cathode Readout Drift Chambers (CRDC)|CRDC2]]. Each CRDC packet is divided in two sub-packets:​ the "​Raw"​ sub-packet with information about the pads energies (encoded in the [[S800 USB DAQ data format#Tag 0xCFDC: XLM72V crdc1 pad readout module|CRDCs XLM72 modules]]), and the "​Anode"​ sub-packet with anode energy and time information encoded in the CRDCs [[S800 USB DAQ data format#Tag 0x7167: Phillips 7164 ADC module for CRDC anodes (energies and TAC)|Phillips ADC]]. In the following, we describe the structure of the packet provided by the Filter for each CRDC.
  
Line 416: Line 434:
  
  
-==== Hodoscope packet ====+===== Hodoscope packet ​=====
 The Filter parses the [[Detectors#​Hodoscope|Hodoscope]] information encoded in the two  The Filter parses the [[Detectors#​Hodoscope|Hodoscope]] information encoded in the two 
 [[S800 USB DAQ data format#Tag 0x7165: Phillips 7164 ADC module for hodoscope energies 0 through 15|Phillips 7164 ADCs]] and re-formats the data in three packets, two with the energies of the two groups crystals (from 1 to 16 and from 17 to 32), and the third one with the hit pattern recorded in the [[S800 USB DAQ data format#Tag 0x4448: LeCroy4448 coincidence register module for hodoscope hit pattern|LeCroy 4448 coincidence-register module]]. [[S800 USB DAQ data format#Tag 0x7165: Phillips 7164 ADC module for hodoscope energies 0 through 15|Phillips 7164 ADCs]] and re-formats the data in three packets, two with the energies of the two groups crystals (from 1 to 16 and from 17 to 32), and the third one with the hit pattern recorded in the [[S800 USB DAQ data format#Tag 0x4448: LeCroy4448 coincidence register module for hodoscope hit pattern|LeCroy 4448 coincidence-register module]].
Line 465: Line 483:
   * **Packet Length** (self-inclusive)   * **Packet Length** (self-inclusive)
  
-^    ​   ​^^^^^^^^^^^^^^^| +^    ​   ​^^^^^^^^^^^^^^^| 
-| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 |+| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 |
 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  
Line 475: Line 493:
 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 |
 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
 +
 +
 +
 +  * **Hodoscope Sub-packet "​Hit-pattern"​ Tag** 
 +
 +
 +^    0x0002 ​  ​^^^^^^^^^^^^^^^|
 +| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | X |
 +| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
 +
  
  
Line 502: Line 530:
  
  
-==== TPPACs packet ====+===== TPPACs packet ​=====
 The Filter parses and re-formats information from the [[Detectors#​Tracking Parallel Plate Avalanche Counters (TPPAC)|Tracking PPACs]] encoded in the [[S800 USB DAQ data format#Tag 0x5870: XLM72V tracking ppac readout module|XLM72 TPPACs module]]. The new packet includes both TPPACs; its structure is very similar to that from the CRDCs. The Filter parses and re-formats information from the [[Detectors#​Tracking Parallel Plate Avalanche Counters (TPPAC)|Tracking PPACs]] encoded in the [[S800 USB DAQ data format#Tag 0x5870: XLM72V tracking ppac readout module|XLM72 TPPACs module]]. The new packet includes both TPPACs; its structure is very similar to that from the CRDCs.
  
Line 631: Line 659:
  
  
 +===== OBJECT PIN packet =====
 +The OBJECT PIN packet includes the energy (encoded in the [[S800 USB DAQ data format#Tag 0x7167: Phillips 7164 ADC module for CRDC anodes (energies and TAC)|S800 Phillips 7164H ADC]] measured in the S800 OBJ PIN detector. Note that for most of the experiments,​ this packet is empty (i.e. it only includes the packet-length and packet tag) because this detector is rarely used.
 + 
  
  
-==== Mesytec TDC (MTDC) packet ====+  * **Packet Length** (self-inclusive) 
 + 
 +^    A number between 2 and 3    ^^^^^^^^^^^^^^^| 
 +| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | X | X | X | 
 +| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 
 + 
 + 
 +  * **Packet Tag** 
 + 
 +^    0x58A0 ​   ^^^^^^^^^^^^^^^| 
 +| 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 
 +| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 
 + 
 + 
 +  * **Energy** 
 +The energy from the Phillips ADC is given by one word:   
 + 
 +^  ^^^ Ch ^   ​energy ​  ​^^^^^^^^^^^| 
 +| 0 | 0 | 0 | X | X | X | X | X | X | X | X | X | X | X | X | X | 
 +| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 
 + 
 + 
 +where **Ch** is the Phillips ADC channel reserved for the PIN detector (0). The energy words is sent by the Filter as long as **energy** is greater than 0. 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 +===== Galotte packet ===== 
 +The Galotte packet includes up to five time signals from the Galotte detector. These times are encoded in the [[S800 USB DAQ data format#Tag 0x7186: Phillips 7186 TDC module for time-of-flights|Phillips TDC]]. Note that for most of the experiments,​ this packet is empty (i.e. it only includes the packet-length and packet tag) because this detector is rarely used. 
 + 
 + 
 + 
 +  * **Packet Length** (self-inclusive) 
 + 
 +^    A number from 2 to 7    ^^^^^^^^^^^^^^^| 
 +| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | X | X | X | 
 +| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 
 + 
 + 
 +  * **Packet Tag** 
 + 
 +^    0x58D0 ​   ^^^^^^^^^^^^^^^| 
 +| 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 
 +| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 
 + 
 + 
 +  * **Time values** 
 +The time information for each of the five detector channel is coded in words that look like: 
 + 
 +^  ^^^ Ch ^  time  ^^^^^^^^^^^| 
 +| 0 | 0 | 0 | X | X | X | X | X | X | X | X | X | X | X | X | X | 
 +| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 
 + 
 +Where **Ch** runs from 0 to 3. These words are sent by the Filter as long as **time** is greater than 0.  
 + 
 + 
 + 
 + 
 +===== LaBr packet ===== 
 +The LaBr packet includes the energy (encoded in the [[S800 USB DAQ data format#Tag 0x4300: FERA module for plastic scintillator energies|FERA LeCroy module]]) and times (encoded in a Phillips TDC) from up to four LaBr detectors. 
 +Note that although there is a specific EVB tag for that Phillips TDC (0x7187), this module is currently not included in the S800 electronics. As a result, the data packet is empty (i.e. it only includes the packet-length and packet tag). 
 + 
 + 
 + 
 +  * **Packet Length** (self-inclusive) 
 + 
 +^    A number from 2 to 10    ^^^^^^^^^^^^^^^| 
 +| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | X | X | X | X | 
 +| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 
 + 
 + 
 +  * **Packet Tag** 
 + 
 +^    0x58E0 ​   ^^^^^^^^^^^^^^^| 
 +| 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 
 +| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 
 + 
 + 
 + 
 +  * **Energy and time values** 
 +The energy (from the FERA module) and time (from the Phillips TDC) are given by two consecutive words for each LaBr:  
 + 
 +^  ^^^ Ch ^ ^ energy ​ ^^^^^^^^^^| 
 +| 0 | 0 | 0 | X | 0 | X | X | X | X | X | X | X | X | X | X | X | 
 +| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 
 + 
 + 
 +^  ^^^ Ch ^ time  ^^^^^^^^^^^| 
 +| 0 | 0 | 0 | X | X | X | X | X | X | X | X | X | X | X | X | X | 
 +| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 
 + 
 + 
 +Where **Ch** runs from 0 to 3. These words are sent by the Filter as long as **time** is greater than 0.  
 +===== Mesytec TDC (MTDC) packet ​=====
 The MTDC packet includes the multiple timing values [[S800 USB DAQ data format#Tag 0x0DDC: Mesytec MTDC-32 module |encoded in the Mesytec MTDC]]. The packet looks like: The MTDC packet includes the multiple timing values [[S800 USB DAQ data format#Tag 0x0DDC: Mesytec MTDC-32 module |encoded in the Mesytec MTDC]]. The packet looks like:
  
Line 646: Line 778:
   * **Packet Tag**   * **Packet Tag**
  
-^    ​0x58E0 ​   ​^^^^^^^^^^^^^^^|+^    ​0x58F0 ​   ​^^^^^^^^^^^^^^^|
 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 |
 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Line 667: Line 799:
  
  
- 
-===== Versioning system ===== 
-ATTENTION: This section needs to be updated!!!!! 
- 
-The detectors installed in the S800 and the data to be read from them often changes with the differing requirements of each experiment. This in turn impacts the details of the data format, and requires the use of a version number in order to be backward compatible. Subsequent changes to the S800 data acquisition will increment the version number of the data format and new configurations will be reflected in new packet tags. Documentation for these changes will be given here, in links accessible from the following table. The current version of the data format is indicated with a star. 
- 
-^ S800_VERSION ^ Notes ^ Current Version | 
-| [[S800_VERSION 0x0004|0x0004]] | Last version using the SBS readout system, up to end December 2011 | | 
-| [[S800_VERSION 0x0005|0x0005]] | First version to use the VM/CC-USB parallel readout system, beginning January 2012 |  | 
-| [[S800_VERSION 0x0006|0x0006]] | The S800_GALOTTE_PACKET is added for the Galotte MCP Object box detector | * | 
  
  
event_filter.1458158028.txt.gz · Last modified: 2016/03/16 15:53 by pereira