D0note 3537
L2 Header Format *
L3 Header Format
*L3 Trailer Format
*L2 Format (General)
*PDT L2 Data Format
*PDT L3 Data Format
*L2 Scintillator Data Format
*L3 Scintillator Data Format
*L2 MDT Data Format
*L3 MDT Data Format
*L2 MCEN Data Format
*L3 MCEN Data Format
*Notes on alignment and calibration constants
*1. L3 Alignment Constants
*2. TZeroes
*Differences from V 1.0:
Differences from V 2.0:
Differences from V 2.1:
Difference from V 2.2:
3. MCEN hit maps changed to 16-bits in L2 format
Common to L2 data from all muon subsystems.
|
16-bit Word Count (FE) |
|
Module ID |
|
Crossing # |
|
Turn # |
|
Event Status Register |
|
Event Status Register |
Front End Word Count:
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
FE word count |
|||||||||||||||
FE word count: Inclusive number of 16-bit words in the data block.
The header length (8 words) is included in the count, including the word count word itself.
Module ID
:|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
module ID |
|||||||||||||||
The module ID follows a convention similar to that used in Run 1 for the PDTs. It is a 3-digit decimal number, with the first digit being the layer:
A-layer = 0
B-layer = 1
C-layer = 2
the second digit being the eta "barrel" for 0-4 and an arbitrary identification number for the other systems:
PDT = 0-4 (north to south)
CMSC = 5
MDT north, MCCM north = 6
FMSC north = 7
MDT south, MCCM south = 8
FMSC south = 9
and the third digit is the octant 0-7 (where appropriate) and "8" or "9" for those systems which span all several octants:
PDT = 0-7
MDT = 0,2,4,6
CMSC = 0,1,2,3,5,6 (0 includes oct 7, 3 includes oct 4)
FMSC east = 8
FMSC west = 9
MCCM = 8
So specifically, the module ID’s are:
PTD: 010, 011, …035,036,100,101,…,146,147,200,201,…246,247
CMSC: 050,051,052,053,055,056
MDT: 060,062,066,160,162,164,166,260,…,266,080,082,…286
FMSC: 078,079,178,179,278,279,098,099,198,199,298,299
MCCM: 068,168,088,188
Crossing # :
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
Spare |
Event crossing # (L1) |
||||||||||||||
An error bit is set for the TFW if the Local crossing # from readout controller differs from the L1 event crossing number from the TFW.
Turn #:
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
Turn # |
|||||||||||||||
Local turn # from readout controller.
Event Status Register:
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
alignment const. set ID |
error / status bits |
||||||||||||||
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
spare |
DSP code version # |
Calibration const. set ID |
|||||||||||||
Error/ Status bits:
Calibration const. set ID: 11 bits -> up to 2047 sets (~ 2/day for 3 years).
Alignment const. set ID: 6 bits -> up to 63 sets (~10 alignment sets in run 1).
DSP code version #: all for up to 8 versions
Common to L3 data from all muon subsystems.
|
0 |
|
VBD Word Count (32-bit) |
|
16-bit Word Count (FE) |
|
Module ID |
|
Crossing # |
|
Turn # |
|
Event Status Register |
|
Event Status Register |
VBD Word Count:
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
VBD word count |
|||||||||||||||
Total word count: Exclusive # of words 32-bit following this word. The length of the rest of the header (8 words) is included in the count, but not the VBD count words themselves. If the total number of 16-bit words is odd, then a 16-bit padding word ($aa55) is added at the end as a trailer.
16-bit Word Count
: same as in L2 header. It includes itself, but not the VBD word count words nor the padding word (if present).
Module ID
: same as in L2 headerCrossing #: same as in L2 header
Turn #: same as in L2 header
Event Status Registers: same as in L2 header
Common to L3 data from all muon subsystems.
|
Padding word = $aa55 |
This trailer word is present only if the 16-bit word count is odd. It is provided to pad out the last longword in the data block, since the VBD executes 32-bit transfers.
The level 2 input DSPs build up 32-bit words, each of which must fully specify the address and relevant data for a hit. The readout DSPs feed these to Level-2 as two 16-bit words, the first of which gives the complete address of the object hit (PDT cell, scint counter, or MDT 8-cell tube), and the second word of which contains and other relevant information (drift distance, time of hit...). Since the addresses in the first word are complete, they contain some information which is redundant with the module ID in the header. The module ID is kept in the header for diagnostic purposes and to make it uniform with the Level 3 headers.
|
COMMON HEADER |
|
Wire # |
|
Drift dist & phi position |
|
Wire # |
|
Drift dist & phi position |
|
Wire # |
|
... |
Wire # :
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
type=0 |
Layer =0-2 |
Octant =0-7 |
Eta Barrel =0-4 |
Pair number =0-11 |
Deck (plane) |
Pair mem |
|||||||||
Type: 0=drift tube, 1=scintillation counter
The local wire number in a chamber is given by bits 6-0. The local wire number increases with the readout order. The local wire numbers are show below for a 4-deck PDT (similar scheme for 2- and 3-deck PDT’s, with increasing r layers removed):
Decimal:
|
0 |
1 |
8 |
9 |
16 |
17 |
24 |
25 |
32 |
33 |
40 |
41 |
48 |
49 |
56 |
57 |
64 |
65 |
72 |
73 |
80 |
81 |
88 |
89 |
|
2 |
3 |
10 |
11 |
18 |
19 |
26 |
27 |
34 |
35 |
42 |
43 |
50 |
51 |
58 |
59 |
66 |
67 |
74 |
75 |
82 |
83 |
90 |
91 |
|
4 |
5 |
12 |
13 |
20 |
21 |
28 |
29 |
36 |
37 |
44 |
45 |
52 |
53 |
60 |
61 |
68 |
69 |
76 |
77 |
84 |
85 |
92 |
93 |
|
6 |
7 |
14 |
15 |
22 |
23 |
30 |
31 |
38 |
39 |
46 |
47 |
54 |
55 |
62 |
63 |
70 |
71 |
78 |
79 |
86 |
87 |
94 |
95 |
Hex:
|
0 |
1 |
8 |
9 |
10 |
11 |
18 |
19 |
20 |
21 |
28 |
29 |
30 |
31 |
38 |
39 |
40 |
41 |
48 |
49 |
50 |
51 |
58 |
59 |
|
2 |
3 |
A |
B |
12 |
13 |
1A |
1B |
22 |
23 |
2A |
2B |
32 |
33 |
3A |
3B |
42 |
43 |
4A |
4B |
52 |
53 |
5A |
5B |
|
4 |
5 |
C |
D |
14 |
15 |
1C |
1D |
24 |
25 |
2C |
2D |
34 |
35 |
3C |
3D |
44 |
45 |
4C |
4D |
54 |
55 |
5C |
5D |
|
6 |
7 |
E |
F |
16 |
17 |
1E |
1F |
26 |
27 |
2E |
2F |
36 |
37 |
3E |
3F |
46 |
47 |
4E |
4F |
56 |
57 |
5E |
5F |
Drift distance and phi position:
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
Status bits |
Local phi (2pi/160) |
Drift distance (400 mm) |
|||||||||||||
Drift distance perpendicular to wire with respect to wire position; includes T0 subtraction.
The local phi divides each octant into 20 equal phi slices. This is comparable to the Delta-time resolution, and it is convenient for matching with the CFT and the A-phi systems, which divide octants into 10 slices.
Status: bit 13: 0 = single hit; 1 = multi-hit
bit 14: 1 = missing wire signal
bit 15: 1 = spare
|
COMMON HEADER |
|
Reference x/y Offsets |
|
Reference z/ q Offset |
|
Reference f/y Offsets |
|
Hit Wire Count |
|
Wire # / Status |
|
Hit Data Word Count |
|
Time 0 |
|
Time 1 |
|
... |
|
Pad Signal A |
|
Pad Signal B |
|
Wire # / Status |
|
... |
Reference x/y Offsets:
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
sign |
y offset distance (100 mm) |
sign |
x offset distance (100 mm) |
||||||||||||
Distance of reference point for this PDT from its nominal position (as defined by geometry constants).
7 bits + 1 sign bit -> 0.1 mm resolution over up to +/- 12.7 mm.
Reference z/theta Offset:
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
sign |
z offset distance (100 mm) |
sign |
theta offset (10 mrad) |
|||||||||||||
Distance of reference point for this PDT from its nominal position (as defined by geometry constants).
7 bits + 1 sign bit -> 0.1 mm resolution over up to +/- 12.7 mm.
Reference phi/psi Offsets:
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
sign |
Phi offset (10 mrad) |
sign |
psi offset (10 mrad) |
||||||||||||
Theta offset: angle of PDT theta reference with respect to its nominal angle (as defined by geometry constants).
Phi offset: angle of PDT phi reference with respect to its nominal angle (as defined by geometry constants).
7 bits + 1 sign bit -> 0.01 mrad resolution over up to +/- 1.27 mrad.
Hit Wire Count:
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
Spare |
Hit wire count |
||||||||||||||
Number of wires with hits.
Max. # of wire channels = (4 FEB’s)*(24 channels) = 96 -> 7 bits.
Wire # : Same as for L2.
Hit Data Word Count:
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
||
|
Spare |
pad hit count |
spare |
wire hit count |
||||||||||||||
Wire Hit Count = number of time data words following this word for this wire.
< 8 hits recorded per wire -> 3 bits.
Pad Hit Count = number of pad data words following this word for this wire.
£
4 hits recorded per wire -> 3 bits.Time:
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
spare |
Sign |
time (100 ps) |
|||||||||||||
T0-subtracted time.
1.2 ns bin width -> units of 0.1 ns to avoid truncating significant figures.
~500 ns max drift time -> 13 bits.
Pad Signal:
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
F1 |
F2 |
spare |
pad signal (10 fC) |
||||||||||||
Pedestal-subtracted (peak – base) signal.
10 bits of ADC information for ~ 10 pC max. integrated charge -> units of 10 fC.
Flag words:
Bit 15 = F1 = if set, missing peak signal (report base)
Bit 14 = F2 = if set, missing base signal (report peak)
Empty or otherwise flagged word for missing pad signals (i.e., 2 pad words will always appear for PDT’s with pads).
Note: For PDT’s with no hits, the header, alignment words and hit wire count will still be sent to L3, with hit wire count = 0.
|
COMMON HEADER |
|
Phototube address |
|
Time |
|
Phototube address |
|
Time |
|
... |
Phototube address:
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
SFE # |
PMT # |
|||||||||||||||
|
Type=1 |
Region =0,2,3 |
Layer =0-2 |
Octant =0-7 |
Sub oct |
||||||||||||
Type: 0=drift tube, 1=scint
Region: Central=0, N=2, S=3
Suboctant: Most octants are read out by two SFE’s, so they each correspond to one suboctant. Only in the A-phi (CMSC-A) system does the division actually split the octant evenly in phi.
SFE#: each SFE in the system has a unique 8-bit number, which is embedded in bits 7-14 of the phototube address. With the bits defined as above, the SFE numbers are (hex):
CMSC-A: 00-0F
CMSC-B: 10-1F
CMSC-C: 20-2F
FMSC-A,N: 80-8F
FMSC-B,N: 90-9F
FMSC-C,N: A0-AF
FMSC-A,S: C0-CF
FMSC-B,S: D0-DF
FMSC-C,S: E0-EF
PMT#: differs for each subsytem
CMSC-A (A-phi):
|
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
PMT # |
||||||
|
z-index |
Phi-index |
|||||
Phototube readout order and numbering for CMSC A-layer suboctant (similar for bottom A-layer, with last 4 phi segments omitted):
CMSC-A PMT#’s (Decimal):
|
z - > |
|||||||||
|
f | v |
0 |
8 |
16 |
32 |
40 |
48 |
64 |
72 |
80 |
|
1 |
9 |
17 |
33 |
41 |
49 |
65 |
73 |
81 |
|
|
2 |
10 |
18 |
34 |
42 |
50 |
66 |
74 |
82 |
|
|
3 |
11 |
19 |
35 |
43 |
51 |
67 |
75 |
83 |
|
|
4 |
12 |
20 |
36 |
44 |
52 |
68 |
76 |
84 |
|
CMSC-A PMT#’s (Hex):
|
z - > |
|||||||||
|
f | v |
0 |
8 |
10 |
20 |
28 |
30 |
40 |
48 |
50 |
|
1 |
9 |
11 |
21 |
29 |
31 |
41 |
49 |
51 |
|
|
2 |
A |
12 |
22 |
2A |
32 |
42 |
4A |
52 |
|
|
3 |
B |
13 |
23 |
2B |
33 |
43 |
4B |
53 |
|
|
4 |
C |
14 |
24 |
2C |
34 |
44 |
4C |
54 |
|
The heavy vertical lines show the PDT boundaries under the counters. So bits 5-6 (the highest two bits of the z-index) specify the PDT number. The readout order is also designed so that the gate delays are unique and independent for each set of 15 counters mounted on a single PDT.
CMSC-C (cosmic cap):
Note: numbering for odd geometries like CMSC B/C bottom counters and gap fillers will be addressed in a dedicated scintillator document.
|
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
PMT # |
||||||
|
spare |
z-index |
Phi index |
Tube # |
|||
The first SFE in an octant will read out 3-PDT’s of counters (24 counters = 48 PMT’s), and the second will read out 2 PDT’s of counters (16 counters = 32 PMT’s)
CMSC-C PMT#’s in Hex (example: octant #2):
|
SFE # |
PTD # |
f - > |
|
|
SFE $24 |
PDT 202 |
0,1 |
2,3 |
|
4,5 |
6,7 |
||
|
8,9 |
A,B |
||
|
C,D |
E,F |
||
|
PDT 212 |
10,11 |
12,13 |
|
|
14,15 |
16,17 |
||
|
18,19 |
1A,1B |
||
|
1C,1D |
1E,1F |
||
|
PDT 222 |
20,21 |
22,23 |
|
|
24,25 |
26,27 |
||
|
28,29 |
2A,2B |
||
|
2C,2D |
2E,2F |
||
|
SFE $25 |
PDT 232 |
0,1 |
2,3 |
|
4,5 |
6,7 |
||
|
8,9 |
A,B |
||
|
C,D |
E,F |
||
|
PDT 242 |
10,11 |
12,13 |
|
|
14,15 |
16,17 |
||
|
18,19 |
1A,1B |
||
|
1C,1D |
1E,1F |
||
FMSC ("pixels"):
|
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
PMT # (0-$2F) |
||||||
Phototube readout order and PMT# for FMSC octant-plane (decimal):
|
R - > |
||||||||||
|
First SFE |
Second SFE |
|||||||||
|
0 |
10 |
20 |
30 |
40 |
2 |
12 |
22 |
32 |
42 |
46 |
|
1 |
11 |
21 |
31 |
41 |
3 |
13 |
23 |
33 |
43 |
47 |
|
2 |
12 |
22 |
32 |
42 |
4 |
14 |
24 |
34 |
44 |
|
|
3 |
13 |
23 |
33 |
43 |
5 |
15 |
25 |
35 |
45 |
|
|
4 |
14 |
24 |
34 |
44 |
6 |
16 |
26 |
36 |
||
|
5 |
15 |
25 |
35 |
45 |
7 |
17 |
27 |
37 |
||
|
6 |
16 |
26 |
36 |
46 |
8 |
18 |
28 |
38 |
||
|
7 |
17 |
27 |
37 |
47 |
9 |
19 |
29 |
39 |
||
|
8 |
18 |
28 |
38 |
0 |
10 |
20 |
30 |
40 |
||
|
9 |
19 |
29 |
39 |
1 |
11 |
21 |
31 |
41 |
||
Phototube readout order and PMT# for FMSC octant-plane (decimal):
|
R - > |
||||||||||
|
First SFE |
Second SFE |
|||||||||
|
0 |
A |
14 |
1E |
28 |
2 |
C |
16 |
20 |
2A |
2E |
|
1 |
B |
15 |
1F |
29 |
3 |
D |
17 |
21 |
2B |
2F |
|
2 |
C |
16 |
20 |
2A |
4 |
E |
18 |
22 |
2C |
|
|
3 |
D |
17 |
21 |
2B |
5 |
F |
19 |
23 |
2D |
|
|
4 |
E |
18 |
22 |
2C |
6 |
10 |
1A |
24 |
||
|
5 |
F |
19 |
23 |
2D |
7 |
11 |
1B |
25 |
||
|
6 |
10 |
1A |
24 |
2E |
8 |
12 |
1C |
26 |
||
|
7 |
11 |
1B |
25 |
2F |
9 |
13 |
1D |
27 |
||
|
8 |
12 |
1C |
26 |
0 |
A |
14 |
1E |
28 |
||
|
9 |
13 |
1D |
27 |
1 |
B |
15 |
1F |
29 |
||
Time:
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
Spare |
sign |
Time (1ns) |
|||||||||||||
T0-subtracted time.
|
COMMON HEADER |
|
Hit Channel Count |
|
SFE Address |
|
Reference x/y Offsets |
|
Reference z Offset |
|
ADC_A Data |
|
ADC_B Data |
|
ADC_C Data |
|
PMT # |
|
Time |
|
PMT # |
|
... |
|
SFE Address |
|
... |
Hit Channel Count:
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
spare |
(# of hit SFE’s) - 1 |
hit channel count |
|||||||||||||
Hit channel count: number of phototube channels with hits.
Max. # of channels = (8 SFE’s)*(48 channels) = 384 -> 9 bits.
Number of hit SFE’s gives of # of words of ADC data.
Up to 8 SFE’s / crate -> 3 bits.
SFE Address:
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
Spare |
SFE address |
||||||||||||||
Max. 8 SFE’s / crate -> 3 bits.
Reference x/y Offsets:
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
sign |
y offset distance (100 mm) |
sign |
x offset distance (100 mm) |
||||||||||||
Distance of reference point for scintillator serviced by this SFE from its nominal position (as defined by geometry constants).
7 bits + 1 sign bit -> 0.1 mm resolution over up to +/- 12.7 mm.
Reference z Offset:
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
Spare |
sign |
z offset distance (100 mm) |
|||||||||||||
Distance of reference point for scintillator serviced by this SFE from its nominal position (as defined by geometry constants).
7 bits + 1 sign bit -> 0.1 mm resolution over up to +/- 12.7 mm.
ADC Data:
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
Sub_Chn (0-15) |
Pulse Height (fC) |
||||||||||||||
Pedestal-subtracted pulse height in fC (max should be about 5 pC).
10 bit ADC -> 12 bits for conversion without truncating significant figures.
PMT #: Same as for L2.
Time: Same as for L2.
Note:
For scintillator crates with no hits, the alignment and ADC data will still be sent to L3, with hit channel count = 0.
|
COMMON HEADER |
|
Tube # |
|
Wire Map |
|
Tube # |
|
Wire Map |
|
... |
Tube #:
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
Type =0 |
Region 2=N,3=S |
Layer =0-2 |
Octant =0-7 |
r index |
Plane "deck" |
||||||||||
A "tube" is an MDT unit with 8 wires.
Wire readout order and numbering for a 4-deck layer (3-deck layers are similar, with z=3 layer omitted):
MDT tube # (bits 0-7) Decimal:
|
0 |
4 |
8 |
12 |
16 |
20 |
24 |
28 |
… |
252 |
|
1 |
5 |
9 |
13 |
17 |
21 |
25 |
29 |
… |
253 |
|
2 |
6 |
10 |
14 |
18 |
22 |
26 |
30 |
… |
254 |
|
3 |
7 |
11 |
15 |
19 |
23 |
27 |
31 |
… |
255 |
MDT tube # (bits 0-7) Hex
:|
0 |
4 |
8 |
C |
10 |
14 |
18 |
1C |
… |
FC |
|
1 |
5 |
9 |
D |
11 |
15 |
19 |
1D |
… |
FD |
|
2 |
6 |
A |
E |
12 |
16 |
1A |
1E |
… |
FE |
|
3 |
7 |
B |
F |
13 |
17 |
1B |
1F |
… |
FF |
Wire Map:
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |