TDC-header (defined by CAEN)

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
GEO 0 1 0 Crate 0 0 Counts  

Not valid header (CAEN)

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
  1 1 0  

TIP Note: Use the pattern bit25=1 to select the 2 CEAN header.

SIS3820-header (defined by SIS)

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
GEO 0 0 0 0 0 0

TIP Note: Use the pattern bit25=0 to select this header.

TIP-block-header (I. Frhlich)

This header is defined by the TofParams

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
GEO CTRL CODE Crate Type Counts

GEO
Slot of the VME-Crate
CTRL
Block control, for header supression:
  • CTRL=X0X --> write header in data stream
  • CTRL=X1X --> supress header

and readout control, together with CODE:

  • CODE NOT 0, CTRL=0X0 --> readout when CODE=trigger code
  • CODE NOT 0, CTRL=1X0 --> readout when CODE NOT trigger code
  • CTRL=0X1 --> readout, but discard block when CODE=trigger code
  • CTRL=1X1 --> readout, but discard block when CODE NOT trigger code
  • CODE=0, CTRL=0X0 --> always readout. ALERT! Note: In this case, Crate or Type has to be NOT 0, since the 0's are used to distinguish the block header from the SIS3820 header, if SIS3820 is working in a non-block-header mode (e.g. one chain with the TDCs)

Crate
Crate number

Type
Board type (important for unpacker). CAEN TDCs/ADCs have Type=000000, Old Struck modules =0001XX=(0x4+X), New Struck modules =001XXX=(0x8+X). Debug information has =111111.

Counts
Number of following data words in this block

Summary of Types

Name Type Header content
CAEN V1190 0x1 0x04XX
SIS 3600 CBLT Latch 0x4 0x10XX
SIS 3811 CBLT Scaler 0x5 0x14XX
SIS 3801 FIFO Scaler 0x6 0x18XX
SIS New CBLT Latch 0x8 0x20XX
SIS New CBLT Scaler 0x9 0x24XX

Examples

Scaler
To be read out in crate 4 with calibration trigger (0x5), GEO not needed, Type=0x9:

Header=0x00941400

Latch
To be read out in crate 4 with all triggers, GEO not needed, Type=0x4:

Header=0x00041000

CAEN-modules
(normal operation) To be read out in any case (start signal!), but discarded with calibration trigger (0x9), header not needed in data stream:

Header=0x03900000

CAEN-modules
(test operation) To be read out in any case (start signal!), but discarded with calibration trigger (0x9), header written in data stream. This is done for test purposes and an allowed mode. This header must be ignored in the unpacker.

Header=0x01900000

Debug
To be ignored by unpacker, Type=0x3f:

Header=0x0000fc00

TIP-subevent-header (W. Koenig)

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 EC CODE TAG ID Length

Used by TIP boards (sub(3)-event) and by CONC (sub(2)-event), with:

EC
Error code
  • C=000 --> Subevent OK
  • C=XX1 --> TIP trigger tag mismatch (compared to counter)
  • C=X1X --> CONC trigger tag mismatch (compare the different crates)
  • C=1XX --> TDC event counter mismatch or invalid TDC data structure

Length
Number of all data words in this sub-event.

ALERT! Note: This header will only appear in the TIP-->CONC and CONC-->readout communication. The readout expands this to the final subevent header.

Examples

Old scaler/latch 3811 in crate number 3, data from all crates, only TOF-subevent (final from eventbuilder). Scaler does not have any data word content, only header (0x08000000) and trailer (0x08000008). First the latch, showing up in the nomal event:

00000000:  0x000110e6  0x5a020500  0x58020255  0x58030335
00000004:  0x58060425  0x5807094b  0x58080339  0x5c0baae6
00000008:  0x52031a00  0x50000003  0x50010002  0x50020002
00000012:  0x50030000  0x50040002  0x50050002  0x50060000
00000016:  0x50070001  0x50080002  0x50090002  0x500a0001
00000020:  0x500b0001  0x500c0002  0x500d0002  0x500e0000
00000024:  0x500f0000  0x50100004  0x50110003  0x50120001
00000028:  0x50130000  0x50160001  0x50170005  0x50180001
00000032:  0x501a000f  0x501e0007  0x501f0002  0x540baae6
00000036:  0x00032402  0x08000000  0x08000008

And the scaler, only in calibration event:

00000000:  0x0001503e  0x00931002  0x08000000  0x08000008

ALERT! Note: Do not rely on a fixed position, number or behaviour on the trigger code. Use only bit 25 to recognize a generic block header. Do than the corresponding action in the unpacker.

TIP Note: One block may contain more than one module of the same type.

ALERT! Note: It is allowed, that also a TDC/ADC block header may appear. For the unpacker, this header is meaningless, but might be enabled for test purpose. See following example, line 3, word 3:

00000000:  0x000110df  0x5a020700  0x58020a17  0x58030212
00000004:  0x58040afb  0x58050115  0x58060690  0x58070423
00000008:  0x58080056  0x5c13e5df  0x0190001c  0x52031a00
00000012:  0x50000005  0x50010003  0x5003000f  0x50060002
00000016:  0x50070005  0x50080002  0x500a0013  0x500d0006
00000020:  0x500e0003  0x500f0000  0x50100005  0x50110002
00000024:  0x50120002  0x50130002  0x50140000  0x50150001
00000028:  0x50160001  0x50170003  0x50180002  0x50190002
00000032:  0x501a0005  0x501b0002  0x501c0002  0x501d0004
00000036:  0x501e0003  0x501f0004  0x5413e5df  0x00031002
00000040:  0x08000000  0x08000008

-- IngoFroehlich - 28 Jan 2005
Topic revision: r6 - 2005-08-05, HadesDaq
Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki Send feedback | Imprint | Privacy Policy (in German)