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 |
1 |
0 |
|
spare |
Bit map of hit wires in tube |
||||||||||||||
|
COMMON HEADER |
|
Ref. 1 x/y Offsets |
|
Ref. 1 z/ q Offsets |
|
Ref. 1 f/y Offsets |
|
Ref. 2 x/y Offsets |
|
Ref. 2 z/ q Offsets |
|
Ref. 2 f/y Offsets |
|
Tube # |
|
Drift times word 1 |
|
Drift times word 2 |
|
Tube # |
|
Drift times word 1 |
|
Drift times word 2 |
|
... |
Reference 1 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 first MDT octant-plane in this module 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 1 z/theta Offsets:
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
sign |
theta offset (10 mrad) |
sign |
z offset distance (100 mm) |
||||||||||||
z offset: Distance of reference point for first MDT octant-plane in this module from its nominal position (as defined by geometry constants).
7 bits + 1 sign bit -> 0.1 mm resolution over up to +/- 12.7 mm.
theta offset: angle of theta reference for first MDT octant-plane in this module 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.
Reference 1
f/y 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) |
||||||||||||
phi and psi offsets: angle of phi and psi reference for first MDT octant-plane in this module 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.
Reference 2 offsets: position and angle offsets for second octant-plane in the module. The word definitions are the same as for the first octant-plane.
Tube #: Same as for L2.
Drift Times Word 1:
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
spare |
Wire 3 time |
spare |
Wire 2 time |
spare |
Wire 1 time |
spare |
Wire 0 time |
||||||||
Drift Times Word 2:
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
spare |
Wire 7 time |
spare |
Wire 6 time |
spare |
Wire 5 time |
spare |
Wire 4 time |
||||||||
3-bit time resolution over ~1 cm drift distance
Note:
For MDT crates with no hits, the common header, alignment words and data word count will still be sent to L3, with data word count = 0.
Note: The MCEN format is done in hardware rather than in a DSP, but it is included here for completeness. All words shown are 16 bit words.
|
COMMON HEADER |
|
MCEN hitmap ID # |
|
Hit Map |
|
MCEN hitmap ID # |
|
Hit Map |
|
... |
MCEN hitmap ID #:
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
Type =0 |
W/C =0 |
N/ S |
Layer =0-2 |
Octant =0-7 |
@Mod =0-3 |
@Segment =0-5 |
1 |
1 |
|||||||
@Mod = index of 96-bit hitmap
@Segment = a contiguous group of 16 centroids
Hit map:
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
16-bit hitmap |
|||||||||||||||
|
COMMON HEADER |
|
MCEN #1 Word Count |
|
MCEN ID# |
|
MCEN Status Register #1 |
|
MCEN Status Register #2 |
|
Input data (if 1/n) |
|
Centroid Data |
|
Zero suppressed data |
|
MCEN #2 Word Count |
|
MCEN ID# |
|
MCEN Status Register #1 |
|
MCEN Status Register #2 |
|
Input data (if 1/n) |
|
Centroid Data |
|
Zero suppressed data |
|
… |
|
MCEN #16 Word Count |
|
MCEN ID# |
|
MCEN Status Register #1 |
|
MCEN Status Register #2 |
|
Input data (if 1/n) |
|
Centroid Data |
|
Zero suppressed data |
MCEN ID #
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
0 |
0 |
N/S |
Layer |
Octant |
Spare |
1 |
1 |
||||||||
Note: Layer=3 is used to denote data from an MCON (concentrator).
Input Data (if 1/n):
|
Input Channel # 1, word 1 |
|
Input Channel #1, word 2 |
|
…. |
|
Input Channel #1, word 6 |
|
Input Channel #2, word 1 |
|
… |
|
Input Channel #12, word 6 |
This is fixed in size, but is only read every 1/n events. Each channel contains data in exactly the same format as it is received from the serial daughterboards.
Centroid Data:
|
Centroid Channel # 1, bits 0-15 |
|
Centroid Channel #1 bits 16-31 |
|
Centroid Channel #1 bits 32-47 |
|
Centroid Channel #1 bits 48-63 |
|
Centroid Channel #1 bits 64-79 |
|
Centroid Channel #1 bits 80-95 |
|
Centroid Channel #2 bits 0-15 |
|
… |
|
Centroid Channel #4 bits 80-95 |
Zero Suppressed Data:
|
Addressed hitmap |
|
Addressed hitmap |
|
… |
|
Adressed hipmap |
The zero suppressed data is variable in size. There is one word for each non-zero hit map
Addressed hitmap:
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
V |
0 |
@Mod |
@Segment |
8-bit hit map |
|||||||||||
This word is the same as for L2, but here the module and segment information is needed.
"V" should be set for all valid data, and can be ignored.
Notes on alignment and calibration constants
One current proposal is to attach "module-wise" alignment constants to the header of each event. Module-wise alignment constants would be the offset of one or a few measured reference coordinates (x, y, z, theta, phi) for each module (PDT; quarter-plane of MDT’s; octant of scintillator pixels serviced by one SFE crate) with respect to the nominal reference coordinates defined in the permanent detector geometry file. The geometry file would also hold the information required to translate the reference coordinates into the coordinates of each individual channel (PDT wire; MDT wire; scintillator pixel). The number of reference points will be picked to suit each type of module; e.g.:
- 1 reference point per PDT
- 2 reference points per MDT module (1 per MDT octant-plane)
- 1 reference point per set of scintillator channels served by one SFE (= 5-8 reference points per module; alignment constants would be attached to the SFE "sub-header" containing SFE address and ADC information, and only attached for events in which a given SFE had a hit).
Another proposal is to attach no alignment constants in the DSP.
T0’s are defined as the reported time in a given detector component for a relativistic particle emanating from the IP on a given crossing. They include particle propagation time (i.e., path length), and signal propagation through electronics, cables, etc. They do not include propagation time through detectors. In particular:
- A PDT’s T0 will be defined as the leading edge of a distribution of all prompt muons in that PDT. PDT drift time and signal propagation time along wires will thus not be subtracted as part of the T0. They will be measured and used to calculate axial and radial positions with respect to wires.
- A MDT’s T0 will be defined as the leading edge of a distribution of all prompt muons in that MDT. MDT drift time will thus not be subtracted as part of the T0. It will be used to calculate radial position with respect to wires. Signal propagation time along wires will be considered negligible at this level; in principle, once the axial position of the track within the tube is known, the signal propagation time along the wire could be corrected for.
- A scintillator pixel’s T0 will be defined as the mean of a distribution of prompt muons in the center of that pixel. Once the position of a track within the pixel is known, light propagation time through the scintillator can be corrected for.
I.e., the T0-subtracted time for a relativistic particle should ideally be zero, modulo propagation time through detectors.
These are described in more detail in the note on calibration constants.