x2745 DPP-PHA 2025102402
CUP documentation
Supported Endpoints

Raw

Raw data.

Options:

  • Level: DIG

Supported Fields

Name Native Type Dim Description
DATA U8 (fixed) 1 Raw Data (type of conversion not supported)
SIZE SIZE_T 0 Size of data written to DATA
N_EVENTS U32 0 Number of events in the blob

Data are passed on the network as big-endian 64-bit words. The endianness must be properly adjusted before to start decoding it.

In all the 27xx digitizer family the most general structure of the events is:

Fig: 27xx digitizer general event structure

where:

  • n. words = N
  • format can be:
    • 0x1 in case of Common Trigger Mode
    • 0x2 in case of Individual Trigger Mode
    • 0x3 in case of Special Events

The DPP-PHA belongs to the Individual trigger mode case. In such a mode the event aggregate has the following format:

Fig: Event aggregate in Individual Trigger Mode.

where:

  • n. aggregates words = N
  • bit 56 ("board fail") is common to all aggragates events. The The size of each aggregated event must be inferred by the information in the aggregated event itself.

Three event types are present in the data aggregate:

  • The Start Run event
  • Data events, one per each trigger accepted by the board
  • The Stop Run event

The Start Run is a special event composed of four 64-bit words and generated by the board when the acquisition starts. The Start Run event is below described:

Fig: Start Run event structure.

where:

  • dec. factor log2 (decimation factor in log2 scale) = 0x0;
  • n. traces = 0x1;
  • acquisition width = 0x0;

The aggregate event(0), aggregate event (1), …, aggregate event (N-1) can be of three types:

  1. single event without waveform sample (W=0)

  1. single event with waveform sample (W=1)

  1. single word event

Fig: DPP-PHA firmware Raw Data structure.

The latter can be used when the data throughput is a concern. Such event type replaces the first one when the EnDataReduction is enabled. In the above pictures:

  • bit 63 is set on the last header word, despite the presence of the waveform payload. In case of no extra word, it is set on the second word.
  • there are always at least 2 words (i.e. bit 63 on first word is unset).
  • the optional waveform payload is present only if the bit 62 on the second word is set.
  • in the timestamp field: 1 LSB = 8 ns
  • in the fine timestamp field: 1 LSB = 7.8125 ps
  • the number of user words must be deduced by bit 63.

Where waveform are present, channel record lenght = N samples (see ChRecordLenghtS and ChRecordLenghtT) so waveform n. words = N/2.

Sample format is:

  • analog probe #0 = bit [0:13]
  • digital probe #0 = bit 14
  • digital probe #1 = bit 15
  • analog probe #1 = bit [16:29]
  • digital probe #2 = bit 30
  • digital probe #3 = bit 31

Extra word type can be:

  • Waveform = 0x0
  • Time = 0x1

The DPP-PHA extra word Time and Counters is in the form:

If enabled, these events are sent for statistical purposes only, and does not represent real events. If there is the time extra word, bit 55 is set on the first word and the second word is meaningless. In the dead time field 1 LSB = 8 ns.

The DPP-PHA extra word Waveform is in the form:

If there is the waveform extra word, bit 62 is set on the second word.

The Analog probe info format is:

  • analog probe type = bit[0:2]
  • is signed = bit 3
  • multiplication factor = bit[4:5]

The Analog probe type can be:

  • ADC input = 0x0
  • Time filter = 0x1
  • Energy filter = 0x2
  • Energy filter baseline = 0x3
  • Energy filter minus baseline = 0x4

The analog probe multiplication factor can be:

  • Factor 1 = 0x0
  • Factor 4 = 0x1
  • Factor 8 = 0x2
  • Factor 16 = 0x3

The Digital probe info format is:

  • digital probe type = bit[0:3]

The Digital probe type can be:

  • Trigger = 0x0
  • Time filter armed = 0x1
  • Re-trigger guard = 0x2
  • Energy filter baseline freeze = 0x3
  • Energy filter peaking = 0x4
  • Energy filter peak ready = 0x5
  • Energy filter pile up guard = 0x6
  • Event pile up = 0x7
  • ADC saturation = 0x8
  • ADC saturation protection = 0x9
  • Post saturation event = 0xA
  • Energy filter saturation = 0xB
  • Signal inhibit = 0xC

The Time resolution (Time res.) is referred to the waveform downsampling, and it can be:

  • No downsampling = 0x0
  • Downsampling x2 = 0x1
  • Downsampling x4 = 0x2
  • Downsampling x8 = 0x3

The Stop Run is a special event composed of three 64-bit words and generated at the end of the Run. The Stop Run event will be read out after all the data events.

Fig: Stop Run event structure.

where:

  • Timestamp is the end of run time so the Real Time (1 LSB = 8 ns)
  • Dead time is the dead time of the acquisition (1 LSB = 8 ns)

DPPPHA

Decoded DPP-PHA endpoint.

Options:

  • Level: DIG

Supported Fields

Name Native Type Dim Description
CHANNEL U8 0 Channel (7 bits)
TIMESTAMP U64 0 Timestamp (48 bits)
TIMESTAMP_NS DOUBLE 0 Timestamp in nanoseconds
FINE_TIMESTAMP U16 0 Fine timestamp (10 bits)
ENERGY U16 0 Energy (16 bits)
FLAGS_LOW_PRIORITY U16 0 Energy low priority flags (12 bits). See Low priority flags
FLAGS_HIGH_PRIORITY U16 0 Energy high priority flags (8 bits). See High priority flags
TRIGGER_THR U16 0 Trigger threshold (16 bits)
TIME_RESOLUTION U8 0 Time resolution (2 bits):
- No downsampling (0)
- Downsampling x2 (1)
- Downsampling x4 (2)
- Downsampling x8 (3)
ANALOG_PROBE_1 I32 1 Analog probe #1 (18 bits, signed)
ANALOG_PROBE_1_TYPE U8 0 Analog probe #1 type (3 bits):
- ADC input (0)
- Time filter (1)
- Energy filter (2)
- Energy filter baseline (3)
- Energy filter minus baseline (4)
ANALOG_PROBE_2 I32 1 Analog probe #2 (18 bits, signed)
ANALOG_PROBE_2_TYPE U8 0 Analog probe #2 type (3 bits):
- ADC input (0)
- Time filter (1)
- Energy filter (2)
- Energy filter baseline (3)
- Energy filter minus baseline (4)
DIGITAL_PROBE_1 U8 1 Digital probe #1 (1 bit)
DIGITAL_PROBE_1_TYPE U8 1 Digital probe #1 type (4 bits):
- Trigger (0)
- Time filter armed (1)
- Re trigger guard (2)
- Energy filter baseline freeze (3)
- Energy filter peaking (4)
- Energy filter peak ready (5)
- Energy filter pile up guard (6)
- Event pile up (7)
- ADC saturation (8)
- ADC saturation protection (9)
- Post saturation event (10)
- Energy filter saturation (11)
- Signal inhibit (12)
DIGITAL_PROBE_2 U8 1 Digital probe #2 (1 bit)
DIGITAL_PROBE_2_TYPE U8 1 Digital probe #2 type (4 bits):
- Trigger (0)
- Time filter armed (1)
- Re trigger guard (2)
- Energy filter baseline freeze (3)
- Energy filter peaking (4)
- Energy filter peak ready (5)
- Energy filter pile up guard (6)
- Event pile up (7)
- ADC saturation (8)
- ADC saturation protection (9)
- Post saturation event (10)
- Energy filter saturation (11)
- Signal inhibit (12)
DIGITAL_PROBE_3 U8 1 Digital probe #3 (1 bit)
DIGITAL_PROBE_3_TYPE U8 1 Digital probe #3 type (4 bits):
- Trigger (0)
- Time filter armed (1)
- Re trigger guard (2)
- Energy filter baseline freeze (3)
- Energy filter peaking (4)
- Energy filter peak ready (5)
- Energy filter pile up guard (6)
- Event pile up (7)
- ADC saturation (8)
- ADC saturation protection (9)
- Post saturation event (10)
- Energy filter saturation (11)
- Signal inhibit (12)
DIGITAL_PROBE_4 U8 1 Digital probe #4 (1 bit)
DIGITAL_PROBE_4_TYPE U8 1 Digital probe #4 type (4 bits):
- Trigger (0)
- Time filter armed (1)
- Re trigger guard (2)
- Energy filter baseline freeze (3)
- Energy filter peaking (4)
- Energy filter peak ready (5)
- Energy filter pile up guard (6)
- Event pile up (7)
- ADC saturation (8)
- ADC saturation protection (9)
- Post saturation event (10)
- Energy filter saturation (11)
- Signal inhibit (12)
WAVEFORM_SIZE SIZE_T 0 Number of waveform samples, assumed to be equal for all probes.
EVENT_SIZE SIZE_T 0 Total event raw size, useful for statistics
BOARD_FAIL BOOL 0 Set if the logical AND between of the ErrorFlag and ErrorFlagDataMask is not 0. Present in all the events belonging to the same aggregate. (1 bit)
FLUSH BOOL 0 Flush of the aggregate word. Shared by all the events in the aggregate. Useful for debug purposes. (1 bit)
AGGREGATE_COUNTER U32 0 Aggregate counter section in the Event Aggregate structure. Shared by all the events in the aggregate. Useful for debug purposes. (24 bit)

Stats

Decoded endpoint.

The statistics endpoint data are aligned to the data stream obtained from the decoded endpoint. The user should note that the decoded endpoint has a buffer of 4096 events, and therefore the statistics endpoint data could be up to 4096 events ahead of what the user reads from the dpppha endpoint. All the time fields are U64 Native type however the information in provided on 48 bit like the single even timestamp for the fields REAL_TIME, DEAD_TIME and LIVE_TIME while it is provided on 51 bit for the fields REAL_TIME_NS, DEAD_TIME_NS and LIVE_TIME_NS. All the counts fields are U32 Native type however the information in provided on 24 bit.

Supported Fields

Name Native Type Dim Description
REAL_TIME U64 1 Channel real time (in clock steps)
REAL_TIME_NS U64 1 Channel real time (in ns)
DEAD_TIME U64 1 Channel dead time (in clock steps)
DEAD_TIME_NS U64 1 Channel dead time (in ns)
LIVE_TIME U64 1 Channel live time (in clock steps)
LIVE_TIME_NS U64 1 Channel live time (in ns)
LIVE_TIME_NS U64 1 Channel live time (in ns)
TRIGGER_CNT U32 1 Counter of channel triggers
SAVED_EVENT_CNT U32 1 Counter of channel saved events

Default data format

[ { "name": "REAL_TIME", "type": "U64", "dim": 1 }, { "name": "DEAD_TIME", "type": "U64", "dim": 1 } ]

Options:

  • Level: ENDPOINT

ActiveEndpoint

Defines which endpoint will be used. Path to be used in the CAEN_FELib_GetHandle(): /endpoint/par/activeendpoint

Options:

  • Level: FOLDER
  • Access Mode: READ_WRITE
  • Type: STRING

Allowed Values:

  • Raw: Decode is disabled, data are received in the same format as provided by the digitizer, and ReadData should be made on handle /endpoint/raw
  • DPPPHA: Decode is enabled, data are decoded to a specific format, and it is possible to decide which fields must be present in the decoded data through the DPPPHA endpoint. ReadData should be made on handle /endpoint/dpppha

Flags

High Priority

Bit Name Description
0 Pile-Up Identifies pile-up events, ie two events in which the second one occurred before the Peaking Time of the first one. Both are then tagged as pile-up because it's not possible to evaluate their energy. See EnergyFilterPeakingPosition
1 Pile-up rejector guard event Identifies an event occurred during the pile-up rejector guard window. See EnergyFilterPileUpGuardT, EnergyFilterPileUpGuardS. There are cases in which both such bits can be '1': if an event ccurs in the pile-up rejector guard of the previous one and does not reach the peaking time because another event has occurred, then such event will have both bits at 1. This allows, with the same data and without doing two separate acquisitions, to have two spectra: one corrected for the PUR guard and one not corrected
2 Event Saturation Identifies an event in which a saturation of the input dynamics occurred
3 Post saturation event Identifies an event occurred during the ADCVetoWidth time
4 Trapezoid saturation event Identifies an event in which a saturation of the trapezoid occurred.
5 SCA selected event Identifies an event falling within the SCA windows (if enabled).

Low Priority

Bit Name Description
0 Event waveform occurred during external inhibit Identifies a saved waveform because occurred when the external inhibit is active (useful in case of Transistor Reset Preamplifier detector use to see what happens during the reset).
1 Event waveform under-saturation Identifies a saved waveform because under-saturating
2 Event waveform oversaturation Identifies a saved waveform because over-saturating
3 External trigger Identifies an event triggered by the external trigger from the TRG-IN connector
4 Global trigger Identifies an event triggered by a global trigger condition
5 Software trigger Identifies an event triggered by a software trigger
6 Self trigger Identifies an event triggered by the single channel self trigger
7 LVDS trigger Identifies an event triggered by the external trigger from the LVDS connector
8 64 channel trigger Identifies an event triggered by another (or a combination of other) channels trigger
9 ITLA trigger Identifies an event triggered by the ITLA logic
10 ITLB trigger Identifies an event triggered by the ITLB logic