WARNING: A Section of this document uses more than 80 characters per line. An escape sequence is included to direct the ANSI to postscript translator to switch to small font. -------------------------------------------------------------------------------- D0 Note #967 Original: 4-JUN-1990 Revision B: 17-DEC-1992 Revision C: 13-JUL-1993 Draft FIRST LEVEL TRIGGER DATA BLOCK DESCRIPTION ------------------------------------------ Michigan State University Philippe Laurens, MSUHEP::LAURENS D0$LEVEL1:D0_NOTE_967.DOC TABLE OF CONTENT ---------------- Page 1. INTRODUCTION ....................................................... 2 2. PURPOSE OF THE FIRST LEVEL TRIGGER DATA BLOCK ...................... 2 3. CONTENT OF THE FIRST LEVEL TRIGGER DATA BLOCK ...................... 2 4. TRANSFER TO ZEBRA BANK ............................................. 2 5. ADDITIONAL DATA IN ZEBRA BANK ...................................... 3 6. FIRST LEVEL TRIGGER CRATE HEADER ................................... 3 7. DATA BLOCK LENGTH COUNT ............................................ 6 8. 2-BYTE ITEM TO 4-BYTE ZEBRA WORD TRANSLATION ....................... 6 9. ACCESS METHOD AND CODE TRANSPORTABILITY ............................ 7 10. UTILITIES IN ZEBRA_UTIL AND LEVEL1 ................................ 7 11. DETAILED CONTENT OF THE FIRST LEVEL TRIGGER DATA BLOCK ............ 9 12. MODIFICATIONS WITH RESPECT TO D0 NOTE 706 ......................... 17 13. MODIFICATIONS WITH RESPECT TO ORIGINAL REVISION OF THIS NOTE ...... 18 APPENDIX I: ............................................................... 19 JET LIST SERVICE of the Level 1 Trigger to the Level 2 Trigger A. DEFINITION ......................................................... 19 B. TOWER ELIGIBILITY .................................................. 19 C. FORMAT ............................................................. 20 D. INCOMPLETE LIST .................................................... 20 E. ORDERING ........................................................... 21 F. IMPLEMENTATION ..................................................... 21 G. EXAMPLE OF CONVERSION FROM RELATIVE ADDRESS TO ETA, PHI INDICES .... 21 APPENDIX II: DATA BLOCK FORMAT IN VME .................................... 23 Page 2 1. INTRODUCTION --------------- This note describes the First Level Trigger Data Block. This note supersedes the appendix of D0 Note 706. The First Level Trigger Data Block covers both (1) the First Level Trigger Framework and (2) the Level 1 Calorimeter Trigger. Additional documentation relating to the First Level Trigger Framework can be found in D0 Notes 328, and 705, and relating to the Level 1 Calorimeter Trigger in D0 Note 706. 2. PURPOSE OF THE FIRST LEVEL TRIGGER DATA BLOCK ------------------------------------------------ The First Level Trigger Data Block is used in: (1) test and diagnostics, (2) passing information about the event to the Level 2 and other offline analysis programs, and (3) monitoring the performance of the trigger hardware and trigger programming. 3. CONTENT OF THE FIRST LEVEL TRIGGER DATA BLOCK ------------------------------------------------ The information in the First Level Trigger Data Block will include: (1) all inputs to the Framework and Calorimeter Trigger, (2) all outputs, (3) some intermediate results, (4) some dynamic scaler counts, (5) information about the previous event (this shows history in the case of input data, and counter increment in the case of scalers), (6) the Jet Lists derived from the rest of the data block, (7) the absolute time in ACnet BCD format, (8) some special scaler counts projected on the 6 particle bunches in the ring, and (9) a set of foreign scalers provided as a service of level 1 system. 4. TRANSFER TO ZEBRA BANK ------------------------- The First Level Trigger Data Block is: (1) generated by the Trigger hardware, (2) transferred to the First Level VME Crate, (3) read out by a Data Cable Driver (VBD) on the Data Cable #0, and (4) sent to the Level 2 System where (5) it is inserted in the "TRGR" Zebra Bank. Most of this information is directly generated by the First Level Trigger hardware. The only exceptions are the Jet Lists and the absolute time which are filled in by the Level 1 Transfer Program running on a VME processor board in the First Level VME Crate before the data block is transferred to Level 2. Page 3 5. ADDITIONAL DATA IN ZEBRA BANK -------------------------------- The Data Cable #0 is (typically) read out for every event that passes the First Level Trigger. Additional auxiliary data (e.g. pulser programming) is currently being read out in the same VME crate as the First Level Trigger Data Block. In the current configuration at D0 Hall this auxiliary data is always read at a fixed location after the First Level Trigger Data Block in the "TRGR" Zebra Bank. This auxiliary data is not described in this document and is expected to migrate to another crate on the same Data Cable #0. The First Level Trigger Data Block will then become the only information read out from the First Level Trigger VME Crate. Other detector systems with separate VME crates and their associated Data Cable Driver Cards will probably also be read out on the same Data Cable #0 (e.g. the Level 0 Trigger). The "TRGR" Zebra Bank will then contain additional information not described by this document. In such a case, there is no guarantee that the First Level Trigger Data Block will appear as the first data in the TRGR Bank. It is strongly advised to use pointers, offsets, and symbolic names (FORTRAN PARAMETER = compilation constants) to access any data section within the First Level Trigger Data Block. The location of the First Level Trigger Data Block within the TRGR Bank should always be obtained from the routine GZFIND_CRATE in the ZEBRA_UTIL library (cf. routine header for details). 6. FIRST LEVEL TRIGGER CRATE HEADER ----------------------------------- This document will concentrate on the "detector dependent" part of the data from the First Level Trigger VME crate. The Crate header and trailer structure appearing in the Zebra Bank around the First Level Data Block is defined in detail in the D0 Note 968 about the Raw Data Structure For D0. The description of the format of the header will be partially repeated here. IMPORTANT: In order to simplify this description of the information in the Zebra Bank, the first longword of the First Level Trigger Crate Header in the Zebra Bank is arbitrarily given the number #1. The location of this word can easily be obtained using GZFIND_CRATE in the ZEBRA_UTIL library. Page 4 ---------------------------- Longword #1 | Header Length Count | ---------------------------- Longword #2 | SYNC Word | ---------------------------- Longword #3 | Controller Word | ---------------------------- Longword #4 | Version Number | ---------------------------- Longword #5 | Revision Number | ---------------------------- Longword #6 | Spec Trig Fired Mask | ---------------------------- ---------------------------- Longword #7 | Word Count | ---------------------------- Longword #8 | L1 Data Block First Word | . . . Longword # 2714 | L1 Data Block Last Word | ---------------------------- ---------------------------- | Additional Data | ---------------------------- ---------------------------- | Crate Trailer | ---------------------------- The 32-bit longword #1 is the header length count (not including this word) which will be 5 in the case of the First Level Trigger Data Block. The longword #2 is the SYNC word. The most significant 16 bits of this longword are the least significant 16 bits of the Trigger Number for this event. The Lower 16 bits are all set high (FFFF in hex). The longword #3 is the Controller Word. The most significant 8 bits are the Crate ID, which is 11 for the First Level Trigger VME Crate. The other 24 bits are currently set to 0. The longword #4 is the Version Number. As described in D0 Note 968, the most significant 3 bits have a special meaning standard to the whole experiment. Bit 31 (MSB) = Sign Bit = 0 Bit 30 = 0 For D0 = 1 For NWA Bit 29 = 0 For Data = 1 For MonteCarlo Bit 0-28 = Version Number (Integer) Page 5 The 29 bit Version Number is used to describe the format of the data provided by the First Level Trigger. This is the key to decode the meaning, position, order and format of each word of the First Level Trigger Data Block section of the "TRGR" Zebra Bank. This document describes the format at D0; it is not yet clear if the data block at NWA will be able to use the same format. The data blocks built according to this document will have the version number 9. Subsequent revisions and updates made to this document will result in an increase in this Version Number. The header longwords #5 and #6 are "Detector Dependent" words as described in D0 note 968. The longword #5 is a Revision Number. The 4 bytes of this longword are each assigned an individual meaning: Bit 24-31 = VME Transfer Program Rev Number (0-255) Bit 16-23 = COMINT PROMs Revision Number (0-255) Bit 8-15 = Lookup System Revision Number (0-255) Bit 0-7 = Trigger Hardware Revision Number (0-255) These Revision Numbers complement the Version Number appearing in longword #4 of the header. These Revision Numbers characterize objects that contributed to the content or gathering of the First Level Trigger Data Block. The Version Number (longword #4) is expected to be changed in very rare occasions. These Revision Numbers (longword #6) might be updated more often, without impact on the format of the data block, thus without changing the Version Number. The "Trigger Hardware Revision Number" will be incremented whenever a change or addition is made to the hardware. The "Lookup System Revision Number" will be incremented whenever the content of the Energy Lookup PROMs of the Calorimeter Trigger is modified. The "COMINT PROMs Revision Number" will be incremented whenever the PROMs used to collect the data block are modified. The "VME Transfer Program Revision Number" will be incremented whenever the VME based program that synchronizes the readout of the data and the building the Jet Lists is modified. The longword #6 is a 32 bit mask of the Specific Trigger Fired Pattern. It is also the last word of the header structure. A given bit will be set high if the corresponding Specific Trigger fired for this beam crossing: Bit 31 (MSB) = Specific Trigger #31 Bit 0 (LSB) = Specific Trigger #0 Page 6 7. DATA BLOCK LENGTH COUNT -------------------------- The longword #7 is reserved for a data block length count. It is also the first longword of the Data Block appearing after the header. Warning: The level 1 crate is currently read by its VBD card as a series of smaller sections. The longword #7 does not correspond to the length of the whole data block but to the length of the first section read by the VBD card. The rest of the information of the First Level Trigger Data Block, starting with longword #8, is not made of 32-bit quantities which makes it impossible to simply describe as a list of zebra word. It is a highly non homogeneous collection of some 1, 2, 3, 4, or 5 byte quantities, mostly unsigned numbers, with some bit masks, some energies, some scaler counts, some multi-byte quantities are contiguous, some are interspersed with blank bytes, etc. It is best defined by the list of 5414 2-byte items described in paragraph 11. 8. 2-BYTE ITEM TO 4-BYTE ZEBRA WORD TRANSLATION ----------------------------------------------- In the "TRGR" Zebra Bank, the two 2-byte items numbered #1 and #2 in the list below fill the 4-byte longword #8 in the Zebra Bank, the two items #3 and #4 fill longword #9, and so on. As mentioned above, the first longword of the First Level Trigger Crate Header was arbitrarily given the number #1 in the Zebra Bank (use GZFIND_CRATE to find the location of this word). In the TRGR Zebra Bank : - The LOW BYTE of an ODD numbered 2-byte item from the list below is the FIRST (least significant) byte of the corresponding Zebra Bank 4-byte longword. If N was the number (odd) of this 2-byte item, then [(N+1)/2]+7 is the number of the corresponding Zebra 4-byte longword. (e.g. the first byte of Zebra longword #274 is the low byte of item #533 which is EM Et of the Trigger Tower at eta=1,phi=1 ). - The HIGH BYTE of the same ODD numbered item will be the SECOND byte of the same Zebra longword. (e.g. the second byte of Zebra longword #274 is the high byte of item #533 which is EM Et of the Trigger Tower at eta=1,phi=17 ). - The LOW BYTE of the EVEN numbered item directly following this odd numbered item will be the THIRD byte of the same Zebra longword. (e.g. the third byte of Zebra longword #274 is the low byte of item #534 which is EM Et the Trigger Tower at eta=1,phi=2 ). - The HIGH BYTE of the same EVEN numbered item will be the FOURTH (most significant) byte of the same Zebra longword. (e.g. the fourth byte of Zebra longword #274 is the high byte of item #534 which is EM Et of the Trigger Tower at eta=1,phi=18 ). Page 7 9. ACCESS METHOD AND CODE TRANSPORTABILITY ------------------------------------------ Accessing the trigger data by first, second, third, or fourth byte of a Zebra Bank longword is the only transportable method for writing offline code. Care must also be taken to use a transportable scheme for accessing a byte in a 32-bit word (e.g. use EQUIVALENCE between INTEGER and BYTE quantities and D0$PARAMS:BYTE_ORDER.PARAMS to address the individual bytes). 10. UTILITIES IN ZEBRA_UTIL AND LEVEL1 -------------------------------------- A number of utility routines related to the Level 1 data block are available in the D0 library LEVEL1. PRTRGR (in ZEBRA_UTIL) This routine will print the contents of the TRGR bank. It follows the argument conventions of a standard PRXXXX routine (cf. D0$DOCS:ZEBRA_RULES.MEM and D0$DOCS:PRXXXX_EXAMPLE.DOC). The IFL argument which defines the amount of printing can be used to select a Data Block summary only, ADC counts by tower only, or both. At the moment PRTRGR only prints the information related to the Level 1 block. PRTRGR needs to be upgraded to also include all other subsystems on Data Cable 0 that contribute to the TRGR bank. TRGR_DISP.PBD (In D0$PBD) This is a display and dump program builder package for producing more elaborate unpacking of the Level 1 data than the simple PRTRGR routine. cf. D0$LEVEL1:L1SIM_TOOLS.DOC. L1UTIL_ADC_COUNT_UNPACK and L1UTIL_TRGR_ADC_UNPACK (in D0$LEVEL1) Both of these routines unpack the ADC bytes of a TRGR bank into an array whose indices are Trigger Tower coordinates. L1UTIL_ADC_COUNT_UNPACK returns ADC counts, L1UTIL_TRGR_ADC_UNPACK returns energies. L1EXTRACT_items (in D0$ZEBRA_UTIL) There is a series of routines in ZEBRA_UTIL to extract various items of Level 1 data from the TRGR bank. If you something not currently covered by these routines, contact MSUHEP::LAURENS. The current list of such routines is L1EXTRACT_2ND_LKP_ENERGIES L1EXTRACT_ACNET_TIME L1EXTRACT_ANDOR_TERM L1EXTRACT_BEAMX_SCALER L1EXTRACT_GLOBAL_TOWER_COUNTS L1EXTRACT_JET_LIST L1EXTRACT_L0_FAST_Z_DATA L1EXTRACT_L0_FAST_Z_SCALERS L1EXTRACT_L15_SCALERS L1EXTRACT_L1_FIRED_SCALERS L1EXTRACT_MOMENTUM L1EXTRACT_SPTRG_EXPOS_SCALERS L1EXTRACT_SPTRG_FIRED_SCALERS L1EXTRACT_TRANSV_ENERGIES L1EXTRACT_TRGTWR_ADC_ENERGY L1EXTRACT_L15_STATUS L1EXTRACT_LIVEX_SCALERS Page 8 L1UTIL_GET_FOREIGN_SCALER (in D0$ZEBRA_UTIL) This routine will return the value of a selected 5-byte scaler from the Foreign Scaler portion of the Data Block in a TRGR bank. L1UTIL_SCALER_SUBTRACT (in D0$LEVEL1) Many quantities in the Level 1 Data Block are 5-byte scalers. This routine will return a signed 4-byte difference between two 5-byte quantities. A and B are arrays of 2 integers each. L1UTIL_WHERE_WORD (in D0$LEVEL1) This routine aids in the conversion from the 16-bit item address given for quantites in D0 Note 967 to the 32-bit item address needed for use with ZEBRA banks. L1UTIL_JET_LIST_BUILDER (in D0$LEVEL1) This routine can reconstruct an EM Et or Tot Et Jet list of arbitrary length, only using the content of the TRGR bank for input. This routine can be used by a Level 2 processing node when the Jet List in the Data Block has saturated.  Page 9 11. DETAILED CONTENT OF THE FIRST LEVEL TRIGGER DATA BLOCK ---------------------------------------------------------- ------------------------------------------------------------------------------------------------------------- BYTE ITEM | OFFSET NUMBER | (hex) (decimal) | LOW BYTE | HIGH BYTE --- ------- | -------- | --------- ------------------------------------------------------------------------------------------------------------- CURRENT BEAM CROSSING --------------------- 0000 1 | | . 10t+1:10t+5 | TRIGGER COUNT SPEC. TRIG. t (5 bytes,low 1st) (t=0:31) | NOT ASSIGNED . 10t+6:10t+10 | ENABLE COUNT SPEC. TRIG. t (5 bytes,low 1st) (t=0:31) | NOT ASSIGNED 027E 320 | | | | 0280 321 | | . | EVENT TRANSFER NUMBER (5 bytes,low 1st) | NOT ASSIGNED . | This number will also appear in the event HEAD bank as | . | words +7 (low 24 bits) and +8 (high 16 bits). | . | The Transfer Count scaler will increment only when an | . | event is actually transfered to the Level 2 system | . | (i.e. a Level 1 Specific Trigger fires that does not | . | need L1.5 confirmation or else a Level 1 Specific | . | Trigger fires that does need L1.5 confirmation and | . | it is confirmed by L1.5). The Transfer Count will NOT | . | increment in response to triggers that are rejected | . | at Level 1.5 (i.e. triggers that did not result in the | . | transfer of an event to the L2 system). | . | The lower 4 bits of this number are the lower 4 bits | . | of the Trigger-Acquision Synchronization (TAS) Number. | . | The TAS number will appear in all Crate Headers, | . | the Crate Trailers, and in the Sequencer Trailers. | 0288 325 | | | | 028A 326 | | . | START DIGITIZE NUMBER (5 bytes,low 1st) | NOT ASSIGNED . | The Start Digitization Count scaler will increment | . | each time the Trigger Framework sends out | . | Start Digitization signals to the Front-End Systems. | . | The lower 12 bits of this number are the upper 12 bits | . | of the Trigger-Acquision Synchronization (TAS) Number | 0292 330 | | | | 0294 331 | | . | LEVEL 1.5 CYCLE COUNT (5 bytes,low 1st) | NOT ASSIGNED . | This number increments for every event that receives | . | a level 1.5 confirmation or rejection | 029C 335 | | | | 029E 336 | | . | POTENTIAL LEVEL 1.5 COUNT (5 bytes,low 1st) | NOT ASSIGNED . | This number increments for every event where | . | AT LEAST ONE Specific Trigger requiring Level 1.5 fired.| . | Such an event will cause a Level 1.5 cycle only if | . | ALL Specific Triggers that fired for this beam crossing | . | require Level 1.5, thus making the level 1.5 | . | confirmation of the event necessary. | 02A6 340 | | | | 02A8 341 | | . | BEAM CROSSING NUMBER SCALER (5 bytes,low 1st) | NOT ASSIGNED 02B0 345 | | | | 02B2 346 | | . | GATED BEAM CROSSING NUMBER (5 bytes,low 1st) | NOT ASSIGNED 02BA 350 | | | | 02BC 351 | | . | LEVEL 0 GOOD COUNT (5 bytes,low 1st) | NOT ASSIGNED . | This scaler counts the beam crossings where the | . | Level 0 Good signal was found asserted. The Level 0 | . | Good Signal results in the selection of a vertex | . | correction factor for the Level 1 Calorimeter Trigger | 02C4 355 | | | | 02C6 356 | | . | 1 SCALER, NOT ASSIGNED YET (5 bytes,low 1st) | NOT ASSIGNED 02CE 360 | | | | Page 10 02D0 361 | | . 361+n | FSTD FOR SPECIFIC TRIGGERS 4n+0 thru 4n+3 (n=0:7) | NOT ASSIGNED . | LSB bit #0 Spec. Trig. 4n+0 enabled | . | bit #1 Spec. Trig. 4n+1 enabled | . | bit #2 Spec. Trig. 4n+2 enabled | . | bit #3 Spec. Trig. 4n+3 enabled | . | bit #4 Spec. Trig. 4n+0 ANDOR fired | . | bit #5 Spec. Trig. 4n+1 ANDOR fired | . | bit #6 Spec. Trig. 4n+2 ANDOR fired | . | MSB bit #7 Spec. Trig. 4n+3 ANDOR fired | 02DE 368 | | | | 02E0 369 | | . 369+n | ANDOR INPUT TERMS 8n..8n+7 FOR SP. TRIG. 0 -15 (n=0:31) | NOT ASSIGNED . 401+n | ANDOR INPUT TERMS 8n..8n+7 FOR SP. TRIG. 16-31 (n=0:31) | NOT ASSIGNED . | LSB is Andor Input Term 8n | . | MSB is Andor Input Term 8n+7 | . | note: All Specific Triggers will receive the SAME | . | 256 andor input terms. The same 256 andor input terms | . | will thus appear twice in the data block. | 035E 432 | | | | 0360 433 | | . 433+n | FRONT-END BUSY ON TRIG-ACQ CABLES 8n thru 8n+7 (n=0:3) | NOT ASSIGNED . 437+n | FRONT-END BUSY ON TRIG-ACQ CABLES 8n thru 8n+7 (n=0:3) | NOT ASSIGNED . 441+n | FRONT-END BUSY ON TRIG-ACQ CABLES 8n thru 8n+7 (n=0:3) | NOT ASSIGNED . 445+n | FRONT-END BUSY ON TRIG-ACQ CABLES 8n thru 8n+7 (n=0:3) | NOT ASSIGNED . | LSB is front end busy 8n | . | MSB is front end busy 8n+7 | . | note: The SAME 32 Front-End Busy signals appear | . | four times in the data block. | 037E 448 | | | | 0380 449 | | . 449+n | SPEC TRIG FIRED 8n thru 8n+7 (n=0:3) | NOT ASSIGNED . 453+n | SPEC TRIG FIRED 8n thru 8n+7 (n=0:3) | NOT ASSIGNED . 457+n | SPEC TRIG FIRED 8n thru 8n+7 (n=0:3) | NOT ASSIGNED . 461+n | SPEC TRIG FIRED 8n thru 8n+7 (n=0:3) | NOT ASSIGNED . | LSB is spec. trig. 8n | . | MSB is spec. trig. 8n+7 | . | note: The same 32 Specific Trigger Fired signals appear | . | four times in the data block. | 039E 464 | | | | 03A0 465 | | . 465+n | START DIGITIZE ON TRIG-ACQ CABLES 8n thru 8n+7 (n=0:3) | NOT ASSIGNED . | LSB is cable 8n | . | MSB is cable 8n+7 | 03A6 468 | | | | 03A8 469 | | . 469+n | FRONT END BUSY DISABLE SPEC. TRIG. 8n thru 8n+7 (n=0:3) | NOT ASSIGNED . | LSB is spec. trig. 8n | . | MSB is spec. trig. 8n+7 | 03AE 472 | | | | 03B0 473 | | . 473+n | 2ND LEVEL DISABLE SPEC. TRIG. 8n thru 8n+7 (n=0:3) | NOT ASSIGNED . | LSB is spec. trig. 8n | . | MSB is spec. trig. 8n+7 | 03B6 476 | | | | 03B8 477 | RESERVED | NOT ASSIGNED | | 03BA 478:480 | Et EM (3 bytes, low 1st, signed 2's complement) | NOT ASSIGNED 03C0 481:483 | Et HAD (3 bytes, low 1st, signed 2's complement) | NOT ASSIGNED | note: The scale currently chosen for Et EM and Et HAD | | is 1/4 GeV per least count, but could be redefined | | if the need arises. | 03C6 484:486 | Px Total (3 bytes, low 1st, signed 2's complement) | NOT ASSIGNED 03CC 487:489 | Py Total (3 bytes, low 1st, signed 2's complement) | NOT ASSIGNED | note: The sign bit of Px and Py will be the 24th bit | | (i.e. the MSB of the 3rd byte). | | note: The scale currently chosen for Px and Py | | is 1/2 GeV per least count (but could be redefined). | 03D2 490 | | . . | RESERVED | NOT ASSIGNED 03D8 493 | | | | Page 11 03DA 494:496 | Et Total (3 bytes, low 1st, signed 2's complement) | NOT ASSIGNED | note: The scale currently chosen for Et Total | | is 1/4 GeV per least count (but could be redefined). | 03E0 497 | Missing Pt (1 byte, saturates at 255) | NOT ASSIGNED | note: The scale currently chosen for Missing Pt | | is 1/2 GeV per least count. This means that anything | | bigger and including 127.5 GeV is represented by 255. | 03E2 498 | | . . | RESERVED | NOT ASSIGNED 03E4 499 | | 03E6 500:502 | L2 EM (3 bytes, low 1st, signed 2's complement) | NOT ASSIGNED 03EC 503:505 | L2 HD (3 bytes, low 1st, signed 2's complement) | NOT ASSIGNED 03F2 506:508 | L2 Total (3 bytes, low 1st, signed 2's complement) | NOT ASSIGNED | note: The mnemonic L2 refers to second lookup quantity. | | The existence and definition of second lookup | | quantities will depend on the programming of the | | energy lookup system. | | | 03F8 509:510 | EM Et Reference Set #0 final count (2 bytes, low 1st) | NOT ASSIGNED 03FC 511:512 | EM Et Reference Set #1 final count (2 bytes, low 1st) | NOT ASSIGNED 0400 513:514 | EM Et Reference Set #2 final count (2 bytes, low 1st) | NOT ASSIGNED 0404 515:516 | EM Et Reference Set #3 final count (2 bytes, low 1st) | NOT ASSIGNED | | 0408 517:518 | Total Et Reference Set #0 final count (2 bytes, low 1st)| NOT ASSIGNED 040C 519:520 | Total Et Reference Set #1 final count (2 bytes, low 1st)| NOT ASSIGNED 0410 521:522 | Total Et Reference Set #2 final count (2 bytes, low 1st)| NOT ASSIGNED 0414 523:524 | Total Et Reference Set #3 final count (2 bytes, low 1st)| NOT ASSIGNED | | 0418 525 | Level 0 Fast Vertex Information | NOT ASSIGNED | LSB bit #0 is Bin Number, data bit #0 LSB | | bit #1 is Bin Number, data bit #1 | | bit #2 is Bin Number, data bit #2 | | bit #3 is Bin Number, data bit #3 | | bit #4 is Bin Number, data bit #4 MSB (sign bit)| | bit #5 is the GOOD bit | | bit #6 Reserved | | MSB bit #7 Reserved | | Note: The lower 5 bits (1:5) form a 2's complement | | signed integer specifying the Number of the | | Level 0 Bin containing the interaction vertex. | | For details on the meaning of the Level 0 Bins | | and the Good bit, refer to the description of | | the Level 0 Fast Vertex Position service | | to the First Level Calorimeter Trigger. | | | 041A 526 | | . | Reserved for more Level 0 information | NOT ASSIGNED 041E 528 | | | | 0420 529 | Level 1.5 Status for this event | NOT ASSIGNED . 529 | LSB bit #0: Potential L1.5 Event | . | i.e. at least one L1.5 Sp.Trg Fired | . | bit #1: Skip Level 1.5 Cycle | . | i.e. at least one L1.5 Sp.Trg Fired and | . | at least one pure L1 Sp.Trg Fired | . | bit #2: Skip Level 1.5 Cycle (same as bit #1) | . | bit #3: Start Level 1.5 Cycle (see note below) | . | i.e. at least one L1.5 Sp.Trg Fired and | . | no pure L1 Sp.Trg Fired | . | bit #4: RESERVED | . | bit #5: RESERVED | . | bit #6: RESERVED | . | MSB bit #7: RESERVED | . | note: Bit #3 of item 529 found high signals that | . | a Level 1.5 Cycle was performed for this event | . | and further Level 1.5 information is available | . | for this event in items 4987:5058. | . | Bit #3 of item 529 found low signals that | . | a Level 1.5 Cycle was NOT performed for this event| . | and the Level 1.5 information in items 4987:5058 | . | corresponds to an earlier event that caused | . | a Level 1.5 Cycle. | . 530:532 | RESERVED | 0426 532 | | | | 0428 533:534 | Reserved for Intermediate Word Count | | Page 12 042C 535 | EM Et TRIGGEr TOWER ADC | . 518+16e+p | EMTT(eta,phi)=(+e,p) (e=1:20;p=1:16) | EMTT(eta,phi)=(+e,p+16) 06AA 854 | | | | 06AC 855 | EM Et TRIGGER TOWER ADC | . 838+16e+p | EMTT(eta,phi)=(-e,p) (e=1:20;p=1:16) | EMTT(eta,phi)=(-e,p+16) 092A 1174 | | | | 092C 1175 | HAD Et TRIGGER TOWER ADC | . 1158+16e+p | HADTT(eta,phi)=(+e,p) (e=1:20;p=1:16) | HADTT(eta,phi)=(+e,p+16) 0BAA 1494 | | | | 0BAC 1495 | HAD Et TRIGGER TOWER ADC | . 1478+16e+p | HADTT(eta,phi)=(-e,p) (e=1:20;p=1:16) | HADTT(eta,phi)=(-e,p+16) 0E2A 1814 | | | note: All energy values are scaled to Et assuming | | the interaction was centered at z=0. | | note: All energy values built in the data block are | | positively biased with a constant offset. | | The offset currently chosen is 8 (but could be | | redefined in the future) meaning that an ADC count| | of 8 corresponds to an energy deposit of 0 GeV. | | note: The scale currently chosen for the Trigger Tower | | energies is 1/4 GeV per least count | | (but could be redefined in the future). | ------------------------------------------------------------------------------------------------------------- 0E2C 1815:1816 | Reserved for Intermediate Word Count ------------------------------------------------------------------------------------------------------------- PREVIOUS BEAM CROSSING ---------------------- 0E30 1817 | . | . | The same information as above is available for the beam crossing . | directly preceding the event that caused the First Level Trigger to fire. . | 1C5A 3630 | ------------------------------------------------------------------------------------------------------------- 1C5C 3631:3632 | Reserved for Intermediate Word Count ------------------------------------------------------------------------------------------------------------- Reserved, (Formerly EM Et JET LIST) -------- 1C60 3633 | . | Reserved (130 items) 1D62 3762 | ------------------------------------------------------------------------------------------------------------- 1D64 3763:3764 | Reserved for Intermediate Word Count ------------------------------------------------------------------------------------------------------------- Reserved, (Formerly TOTAL Et JET LIST) -------- 1D68 3765 | . | Reserved (130 items) 1E6A 3894 | ------------------------------------------------------------------------------------------------------------- 1E6C 3895:3896 | Reserved for Intermediate Word Count ------------------------------------------------------------------------------------------------------------- Masks of Jet Patterns --------------------- 1E70 3897 | . | Pattern information for EM Et (and associated Hadronic Veto) Threshold Reference set #0 . | and Trigger Towers: . | . 3895+2e+n | EMTT(eta,phi)=(+e,8n+1:8n+8) (e=1:20;n=0:1) | EMTT(eta,phi)=(+e,8n+17:8n+24) . | LSB bit #0 phi = 8n+8 | LSB bit #0 phi = 8n+24 . | bit #1 phi = 8n+7 | bit #1 phi = 8n+23 . | bit #2 phi = 8n+6 | bit #2 phi = 8n+22 . | bit #3 phi = 8n+5 | bit #3 phi = 8n+21 . | bit #4 phi = 8n+4 | bit #4 phi = 8n+20 . | bit #5 phi = 8n+3 | bit #5 phi = 8n+19 . | bit #6 phi = 8n+2 | bit #6 phi = 8n+18 . | MSB bit #7 phi = 8n+1 | MSB bit #7 phi = 8n+17 . | Note: A bit is set high in a given pattern when the corresponding Trigger Tower . | (eta,phi) had simultaneously: . | - an EM Et that cleared its assigned threshold from the EM Et . | Threshold Reference set #0, . | - and an HD Et that did not clear its assigned threshold from the HD Veto . | Threshold Reference Set #0, . | which were both programmed by COOR. . 3935+2e+n | EMTT(eta,phi)=(-e,8n+1:8n+8) (e=1:20;n=0:1) | EMTT(eta,phi)=(-e,8n+17:8n+24) . | LSB bit #0 phi = 8n+8 | LSB bit #0 phi = 8n+24 . | . | . . | MSB bit #7 phi = 8n+1 | MSB bit #7 phi = 8n+17 1F0E 3976 | | | Page 13 1F10 3977 | . | The Pattern information for EM Et (and associated Hadronic Veto) . | Threshold Reference set #1 follows the same format and ordering as Reference set #0. 1FAE 4056 | | 1FB0 4057 | . | The Pattern information for EM Et (and associated Hadronic Veto) . | Threshold Reference set #2 follows the same format and ordering as Reference set #0. 204E 4136 | | 2050 4137 | . | The Pattern information for EM Et (and associated Hadronic Veto) . | Threshold Reference set #3 follows the same format and ordering as Reference set #0. 20EE 4216 | | | 20F0 4217 | . | Pattern information for TOT Et Threshold Reference set #0 and Trigger Towers: . | . 4215+2e+n | TOTTT(eta,phi)=(+e,8n+1:8n+8) (e=1:20;n=0:1) |TOTTT(eta,phi)=(+e,8n+17:8n+24) . | LSB bit #0 phi = 8n+1 | LSB bit #0 phi = 8n+17 . | bit #1 phi = 8n+2 | bit #1 phi = 8n+18 . | bit #2 phi = 8n+3 | bit #2 phi = 8n+19 . | bit #3 phi = 8n+4 | bit #3 phi = 8n+20 . | bit #4 phi = 8n+5 | bit #4 phi = 8n+21 . | bit #5 phi = 8n+6 | bit #5 phi = 8n+22 . | bit #6 phi = 8n+7 | bit #6 phi = 8n+23 . | MSB bit #7 phi = 8n+8 | MSB bit #7 phi = 8n+24 . | Note: A bit is set high in a given pattern when the corresponding Trigger Tower . | (eta,phi) had a Total (=EM+HD) Et that cleared its assigned threshold . | from the Total Et Threshold Reference set #0 which was programmed by COOR. . | Note: the bit ordering inside each byte is reversed compared to the one used . | for the EM Et information above. . 4255+2e+n | TOTTT(eta,phi)=(-e,8n+1:8n+8) (e=1:20;n=0:1) |TOTTT(eta,phi)=(-e,8n+17:8n+24) . | LSB bit #0 phi = 8n+1 | LSB bit #0 phi = 8n+17 . | . | . . | MSB bit #7 phi = 8n+8 | MSB bit #7 phi = 8n+24 218E 4296 | | | 2190 4297 | . | The Pattern information for TOT Et Threshold Reference set #1 . | follows the same format and ordering as Reference set #0. 222E 4376 | | 2230 4377 | . | The Pattern information for TOT Et Threshold Reference set #2 . | follows the same format and ordering as Reference set #0. 22CE 4456 | | 22D0 4457 | . | The Pattern information for TOT Et Threshold Reference set #3 . | follows the same format and ordering as Reference set #0. 236E 4536 | ------------------------------------------------------------------------------------------------------------- 2370 4537:4538 | Reserved for Intermediate Word Count ------------------------------------------------------------------------------------------------------------- Reserved (Formerly TRD Hot Tower Table Information) -------- 2374 4539 | . | Reserved (320 items) 25F2 4858 | ------------------------------------------------------------------------------------------------------------- 25F4 4859:4860 | Reserved for Intermediate Word Count ------------------------------------------------------------------------------------------------------------- Specific Trigger programming information used in building the Jet Lists ----------------------------------------------------------------------- 25F8 4861 | . 4861+4r+n | (n=0:3,r=0:3) | NOT ASSIGNED . | 8-bit mask showing which of the Specific Triggers 8n thru 8n+7 | . | were programmed with at least one comparison on the count | . | of Trigger Towers above the EM Et Threshold Reference Set #r. | . | LSB is Specific Trigger 8n | . | MSB is Specific Trigger 8n+7 | 2616 4876 | | | | 2618 4877 | | . 4877+4r+n | (n=0:3,r=0:3) | NOT ASSIGNED . | 8-bit mask showing which of the Specific Triggers 8n thru 8n+7 | . | were programmed with at least one comparison on the count | . | of Trigger Towers above the TOT Et Threshold Reference Set #r. | . | LSB is Specific Trigger 8n | . | MSB is Specific Trigger 8n+7 | 2636 4892 | | | Page 14 2638 4893 | . | Reserved (18 items) Formerly for masks of Specific Triggers that fired . | and were programmed with at least one comparison on the count of Trigger Towers . | above an EM or Tot Et Threshold Reference Set 265A 4910 | | 265C 4911 | . 4911+4r+n | (n=0:3,r=0:7) | NOT ASSIGNED . | 8-bit mask showing which of the Specific Triggers 8n thru 8n+7 | . | were programmed with at least one comparison on the count | . | of Large Tiles above the Large Tile Threshold Reference Set #r. | . | LSB is Specific Trigger 8n | . | MSB is Specific Trigger 8n+7 | 269A 4942 | ------------------------------------------------------------------------------------------------------------- 269C 4943:4944 | Reserved for Intermediate Word Count ------------------------------------------------------------------------------------------------------------- Large Tile Jet Patterns ----------------------- 26A0 4945 | . | Pattern information for Large Tile Threshold Reference set #0 and Large Tiles: . | . 4945+e | LT( eta, phi ) = (+4e+1 & -4e-1, all_phis) (e=0:4) | NOT ASSIGNED . | LSB bit #0 eta = +4e+1, phi = 1 | . | bit #1 eta = +4e+1, phi = 9 | . | bit #2 eta = +4e+1, phi = 17 | . | bit #3 eta = +4e+1, phi = 25 | . | bit #4 eta = -4e-1, phi = 1 | . | bit #5 eta = -4e-1, phi = 9 | . | bit #6 eta = -4e-1, phi = 17 | . | MSB bit #7 eta = -4e-1, phi = 25 | . | Note: LT( +e, p ) represents the Large Tile made up of the 32 Trigger towers with . | eta in the range +e:+e+3 (or -e:-e-3 for negative eta) and phi in the range p:p+7 . | The notation convention is thus to label a Large Tile by the lowest Trigger Tower . | |eta| and phi indices that it covers (instead of introducing a new index system) . | Note: A bit is set high in a given pattern when the corresponding Large Tile . | (eta,phi) had a Total (=EM+HD) Et that cleared its assigned threshold . | from the Large Tile Reference set #0 which was programmed by COOR. 218E 4949 | | | | 2190 4950 | . | The Pattern information for Large Tile Threshold Reference set #1..7 . | follows the same format and ordering as Reference set #0. . | | . 4950:4954 | Jet Pattern for Large Tile Threshold Reference set #1 | NOT ASSIGNED . 4955:4959 | Jet Pattern for Large Tile Threshold Reference set #2 | NOT ASSIGNED . 4960:4964 | Jet Pattern for Large Tile Threshold Reference set #3 | NOT ASSIGNED . 4965:4969 | Jet Pattern for Large Tile Threshold Reference set #4 | NOT ASSIGNED . 4970:4974 | Jet Pattern for Large Tile Threshold Reference set #5 | NOT ASSIGNED . 4975:4979 | Jet Pattern for Large Tile Threshold Reference set #6 | NOT ASSIGNED . 4980:4984 | Jet Pattern for Large Tile Threshold Reference set #7 | NOT ASSIGNED . | | 26EE 4984 | | ------------------------------------------------------------------------------------------------------------- 26F0 4985:4986 | Reserved for Intermediate Word Count ------------------------------------------------------------------------------------------------------------- Level 1.5 --------- 26F4 4987 | The following 4 scalers were captured | . | AFTER the conclusion of the last Level 1.5 Cycle | . 4987:4991 | Level 1.5 Dead Crossings Count (5 bytes,low 1st) | NOT ASSIGNED . 4992:4996 | Level 1.5 Pass Count (5 bytes,low 1st) | NOT ASSIGNED . 4997:5001 | Level 1.5 Fail Count (5 bytes,low 1st) | NOT ASSIGNED . 5002:5006 | Level 1.5 Time out Count (5 bytes,low 1st) | NOT ASSIGNED 271A 5006 | | | | 271C 5007 | | . | Same 4 scalers as for items 4987:5006 but captured | NOT ASSIGNED . | BEFORE the beginning of the same Level 1.5 Cycle | 2742 5026 | | | | Page 15 2744 5027 | The following states were captured | . | AFTER the conclusion of the last Level 1.5 Cycle | . 5027+n | Level 1.5 Specific Trigger Fired 8n thru 8n+7 (n=0:1) | NOT ASSIGNED . | LSB is Level 1.5 Fired for Specific Trigger 8n | . | MSB is Level 1.5 Fired for Specific Trigger 8n+7 | . 5029+n | Level 1.5 Control/Status Data (n=0:1) | NOT ASSIGNED | LSB bit# 0 reserved | | MSB bit#15 reserved | . 5031+n | Level 1.5 Sp. Trigger Confirmed 8n thru 8n+7 (n=0:1) | NOT ASSIGNED . | LSB is Level 1.5 Confirmed for Sp. Trigger 8n | . | MSB is Level 1.5 Confirmed for Sp. Trigger 8n+7 | . 5033+n | Level 1.5 Sp. Trigger Rejected 8n thru 8n+7 (n=0:1) | NOT ASSIGNED . | LSB is Level 1.5 Rejected for Sp. Trigger 8n | . | MSB is Level 1.5 Rejected for Sp. Trigger 8n+7 | . 5035+n | Level 1.5 Answer 8n thru 8n+7 (n=0:3) | NOT ASSIGNED . | LSB is Answer State for Level 1.5 Term 8n | . | MSB is Answer State for Level 1.5 Term 8n+7 | . 5039+n | Level 1.5 Done 8n thru 8n+7 (n=0:3) | NOT ASSIGNED . | LSB is Done State for Level 1.5 Term 8n | . | MSB is Done State for Level 1.5 Term 8n+7 | 2762 5042 | | | | 2764 5043 | | . | Same states as for items 5027:5042 but captured | NOT ASSIGNED . | for the beam crossing directly preceding | . | the conclusion of the same Level 1.5 Cycle | 2782 5058 | | ------------------------------------------------------------------------------------------------------------- 2784 5059:5060 | Reserved for Intermediate Word Count ------------------------------------------------------------------------------------------------------------- Absolute Time ------------- | This absolute time is obtained over a vertical interconnect from the same Goodwin-Shea | front-end crate where the Level 1 VME Transfer Program Central also reads the Central | Detector pulser programming information (this information is appended to the end of | the L1 Data Block, not described in this document). | | No attempt is made by the Level 1 VME Transfer Program to interpret this data or to | check its validity as it passes through the L1 VME crate. | | The time is in ACnet BCD time format that is read from the Goodwin-Shea front-end crate | in two 32 bit words. These two longword are byte ordered in the L1 Data Block so that | they are in the proper format to be used as input to Fritz Bartlett's time | conversions routines on either a VMS or VAXELN system. | | Zebra Longword N Zebra Longword N+1 | --------------------------------- --------------------------------- | MSB LSB MSB LSB | --------------- --------------- --------------- --------------- | | Day | Hour | | Year | Month| | 15 Hz| 2 KHz| |Minute|Second| | --------------- --------------- --------------- --------------- | Byte Byte Byte Byte Byte Byte Byte Byte | #4 #3 #2 #1 #4 #3 #2 #1 | 2788 5061 | Month BCD encoded byte | Year BCD encoded byte 278A 5062 | Hour BCD encoded byte | Day BCD encoded byte 278C 5063 | Second BCD encoded byte | Minute BCD encoded byte 278E 5064 | 2 KHz BCD encoded byte | 15 Hz BCD encoded byte | | 2790 5065 | | . | reserved for more Time information | NOT ASSIGNED 279E 5072 | | ------------------------------------------------------------------------------------------------------------- 27A0 5073:5074 | Reserved for Intermediate Word Count ------------------------------------------------------------------------------------------------------------- Additional Level 1 Scalers -------------------------- 27A4 5075 | | . 5075:5079 | VME Transfer Program idle (5 bytes, low 1st) | NOT ASSIGNED . 5080:5084 | Data Block Builder Busy (5 b,low 1st) | NOT ASSIGNED . 5085:5089 | VME Transfer Program Prepare Data (5 b,low 1st) | NOT ASSIGNED . 5090:5094 | VME Trnsf Program Wait for free VBD Buffer(5 b,low 1st) | NOT ASSIGNED . 5095:5099 | VME Trnsf Program Wait while VBD DMA Reads(5 b,low 1st) | NOT ASSIGNED . 5100:5104 | VME Transfer Program Display Information (5 b,low 1st) | NOT ASSIGNED . | These scalers monitor the performance of the transfer of the Level 1 data to the . | Level 2 System. Each scaler is gated by its corresponding acquisition state, . | and incremented at the resolution of the beam crossing period (i.e. 3.5 musec) 27DE 5104 | | | | Page 16 27E0 5105 | | . 5b+5100:5b+5104 | LEVEL 1 FIRED for BUNCH #b (5 bytes,low 1st) (b=1:6) | NOT ASSIGNED . | Bunch b=1,2,..6 corresponds to bunch P1,P2,..P6 | 281A 5134 | | | | 281C 5135 | | . 5b+5130:5b+5134 | LEVEL 0 GOOD for BUNCH #b (5 bytes,low 1st) (b=1:6) | NOT ASSIGNED . | Bunch b=1,2,..6 corresponds to bunch P1,P2,..P6 | 2856 5164 | | | | 2858 5165 | | . | LEVEL 1.5 SKIP COUNT (5 bytes,low 1st) | NOT ASSIGNED . | This Scaler increments for every Level 1.5 Cycle | . | that resulted in the confirmation of an event | . | and its transfer to Level 2 | 2860 5169 | | | | 2862 5170 | | . | DATA BLOCK BUILDER CYCLE COUNT 5 bytes,low 1st) | NOT ASSIGNED . | This Scaler increments for every New Data Block | . | Started by the Level 1 Data Block Builder. | 286A 5174 | | | | 286E 5175 | | . | 4 SCALERS, reserved (5 bytes,low 1st) | NOT ASSIGNED . | #1 is a copy of item 331:335 Level 1.5 Cycle Count | . | #2 is a copy of item 336:340 Level 1.5 Potential Count| . | #3 is a copy of item 351:355 Level 0 Good Count | . | #4 is a copy of item 356:360 Spare | 2892 5194 | | ------------------------------------------------------------------------------------------------------------- Miscellaneus Other Foreign Quantities Scaled by Level 1 ------------------------------------------------------- 2894 5195 | 44 SCALERS, NOT ASSIGNED YET . 5415-5n:5419-5n | Foreign Scaler #n (5 bytes,low 1st) (n=1:44) | NOT ASSIGNED 2A4A 5414 | | -------------------------------------------------------------------------------------------------------------  Page 17 12. MODIFICATIONS WITH RESPECT TO D0 NOTE 706 --------------------------------------------- - Change column name "first byte" to "low byte", and "second byte" to "high byte". - Remove mention of the first unused item, and decrement the hexadecimal column by 02. This column is now the address offset with respect to the address of item #1 (in VAX memory only!). - Modify numbering of Specific Triggers to start with number 0 instead of 1, in items #1:320, #362:368, and in the Jet lists. - Assign beam crossing scaler to item #341:345. - Assign second lookup energy quantities to item #500:508. - Move final trigger tower count items up by one item to #509:524. - Assign Level 0 Vertex Information to item #525. - Reserve items for Level 1.5 information. - Reduce the reserved eta index coverage from +/- 24 to +/- 20. - Align the beginning of the sections of energy values to zebra bank longwords. - Change the definition of the Jet Lists, changed from two to eight lists. - Modify the jet list format: the 16-bit relative address of each entry. is zero-extended to 32 bits so that one entry in a list can correctly fill two zebra bank longwords. - Add a blank 16 bit item in the Jet Lists sections for alignment of each section, of the number of entries, and of each entry to a Zebra Bank 32 bit longword. - Add section about programming of Specific Triggers. This section contains input parameters used to build the jet lists. Page 18 13. MODIFICATIONS WITH RESPECT TO ORIGINAL REVISION OF THIS NOTE ---------------------------------------------------------------- - The Level 1 crate ID in TRGR bank is now 11 (was 1) - Swap header longwords #5 and #6 in order to preserve trigger mask as last word of the Level 1 Crate Header. - The Energy offset in trigger tower ADC section is 8 (was 0) - All global energies are 3 bytes of signed quantities, except for Missing Pt which is 1 byte unsigned. - Rename item 321 from Trigger Number to Event Transfer Number and mention it is copied to the HEAD bank. - Add Start Digitize Number at item 326 (was labeled reserved) - Add Level 1.5 Cycle Count at item 331 (was labeled reserved) - Add Potential Level 1.5 Count at item 336 (was labeled reserved) - Add Gated Beam Crossing Scaler at item 346 (was labeled reserved) - new Super Tower entry to Specific Trigger Programming data section - new data section for Super Tower Jet Masks - new data section for Level 1.5 - fill items 529:532 (were marked reserved for Level 1.5) - new data section for Absolute Time - new data section for additional Level 1 Scalers - new data section for Other Foreign Quantities Scaled by Level 1 - refer to GZFIND_CRATE as a mean to access the first word of the Level 1 Crate Header in the TRGR bank. - refer to D0$PARAMS:BYTE_ORDER.PARAMS, FORTRAN BYTE and EQUIVALENCE, and scrap the section about VAX specific access method (due to the new, less restrictive D0 coding standards) - add introduction to related utility routines of ZEBRA_UTIL and LEVEL1 14. MODIFICATIONS WITH RESPECT REVISION B OF THIS NOTE ------------------------------------------------------ - The VME Transfer Program no longer builds the EM and Tot Et jet list (items #3633..3894 and #4893..4910 are now reserved). Instead, the Level 2 nodes, and/or any offline software interested in the jet list should call the routine L1UTIL_JET_LIST_BUILDER to create an EM or Tot Et Jet List. Note that all the information needed to create the list is included in the raw data. The Jet patterns are in items #3897..4536 and the Specific Trigger programming information is in items #4861..4892. - The Large Tile (formerly called reserved for Super Tower) Pattern is now defined in detail in items #4945..4984 - The Large Tile programming of Specific Triggers (formerly called reserved for Super Tower) is now defined in detail in items #4911..4942 - Increase Version number from 5 to 9 Page 19 APPENDIX I ---------- THE JET LIST SERVICE -------------------- of the Level 1 Trigger to the Level 2 Trigger D. Edmunds, P. Laurens, J. Linnemann, H. Weerts Revised 4-JUN-1990 A. DEFINITION ------------- The Calorimeter Trigger is designed to provide a set of jet candidates to the Level 2 Trigger. This information is included in the First Level Trigger Data Block, thus making it accessible to the Level 2 Node processing the event. The towers in The Jet lists will be used by the Level 2 System as input candidates to more elaborate algorithms. There is a total of two Jet Lists. One list of candidates is for EM Et jets and is a merged result from the four EM Et Threshold (and associated HD Veto) Reference Sets. One list of candidates is for Total (EM+HAD) Et jets and is a merged result from the four Total Et Threshold Reference Sets. B. TOWER ELIGIBILITY -------------------- For a given Trigger Tower to appear in the EM Et Jet List it must have an EM Et energy deposit greater than the threshold assigned to this particular Trigger Tower in any of the four EM Et Threshold Reference Sets, and it must also have an HD Et energy deposit smaller than the threshold assigned to this particular Trigger Tower in the HD Veto Reference Set associated with the EM Et Reference Set. For a given Trigger Tower to appear in the Total Et Jet List it must have a Total (=EM+HD) Et energy deposit greater than the threshold assigned to this particular Trigger Tower in any of the four Total Et Threshold Reference Sets. Additionally, an EM Et (respectively Total Et) Reference Set that was not used in the programming of any of the Specific Triggers that fired for a given event will not contribute to the EM Et (respectively Total Et) Jet List built for this event. The entries in each list will be ordered in Et with some restrictions stated further in this document. Page 20 C. FORMAT --------- Each list will start at a fixed address within the First Level Trigger Data Block section of the "TRGR" Zebra Bank, but will have a number of entries varying between 0 and 16. Each Jet List section in the First Level Trigger Data Block starts with one 32 bit longword introducing the list. The first longword in a Jet list section should be parsed one byte at a time. The first (least significant) byte forms an integer which is a count of the number of entries in the list. This number can vary from 0 to 16. The second byte will hold a flag describing whether the list is complete for this event: the bit #7 (MSB) of this second byte will be set to one when the list is incomplete. The rest of the list is made of 2*N longwords, with N equal to the low byte of the first longword as described above. There are two longwords for each tower candidate in the list. The first longword of an entry shows which Specific Triggers were depending on this particular Trigger Tower to trigger for this event. This first longword constitutes a 32 bit mask where bit #0 (LSB) corresponds to Specific Trigger #0, and bit #31 (MSB) to Specific Trigger #31. A particular bit is set to one in the mask when the corresponding Specific Trigger: (1) fired for this beam crossing, and (2) was programmed with at least one comparison on the count of Trigger Towers above one of the Threshold Reference Sets cleared by this Trigger Tower candidate. The second longword of an entry specifies the relative byte address (in VAX memory) of the EM Et of the Trigger Tower in the Data Block with respect to the tower at (eta,phi)=(1,1). This relative address will only range from 0 to 1279(=2*20*32-1). On VAX hardware, this relative address can directly be used as an address offset with respect to the address of the byte of EM Et energy of the Trigger Tower at (eta,phi)=(1,1). An example of a subroutine converting this relative address to eta and phi indices is given below. D. INCOMPLETE LIST ------------------ Under normal conditions, the Trigger Towers in a Jet List will be exactly the ordered list of all the towers with the highest energy deposits that satisfied at least one of the Reference Sets. In order to remain within the available processing time (before dead time is introduced), the search for the highest towers will be aborted as soon as a new tower candidate is found that saturates the list. When a search is aborted the truncated list may not hold the towers with the highest energies, but the first towers found before the search was aborted. Aborting the computation of one list does not prevent finishing the computation of the other list. Page 21 E. ORDERING ----------- When the list was completed on time, it is also ordered in decreasing EM Et (or Total Et) energy. That is the tower with the greatest energy deposit is the first entry in the list. When the list is tagged as incomplete, no attempt is made at ordering the entries. The ordering is performed on the energy quantities available in the data block, namely the uncorrected Trigger Tower Transverse Energies (calculated for an interaction vertex at the center of the detector). This is a restriction existing on the meaning of the jet list: the towers are selected on their vertex-corrected Et (based on the Fast Vertex Data from the Level 0 Trigger), but ordered only on their uncorrected Et. F. IMPLEMENTATION ----------------- This service will be implemented using a microprocessor on a VME module accessing the first half of the First Level Trigger Data Block (data corresponding to the beam crossing generating the jet lists). The processing can start while the Data Block Builder is still writing the second half of the data block (data dealing with the previous beam crossing). G. EXAMPLE OF CONVERSION FROM RELATIVE ADDRESS TO ETA, PHI INDICES ------------------------------------------------------------------ SUBROUTINE CONVERT_ADDRESS_TO_INDICES ( RELATIVE_ADDRESS, & ETA, PHI ) C C---------------------------------------------------------------------- C- Purpose and Methods : Computation of eta and phi indices C- of a Trigger Tower from the one dimensional C- index given in a Level 1 jet list. C- C- Inputs : the relative address describing a Trigger Tower in a Jet List C- C- Outputs : ETA and PHI Trigger Tower Indices. C- C- Note : Better performance could be achieved by replacing C- the integer multiplications by bit field manipulations. C- C---------------------------------------------------------------------- C IMPLICIT NONE C C Arguments C INTEGER RELATIVE_ADDRESS, ETA, PHI C C Local Variables C INTEGER SIGN_ETA, MAGN_ETA, WORK_ADDRESS C Page 22 C Compilation Constants C INTEGER POS_E, NEG_E PARAMETER ( POS_E = 0, NEG_E = 1 ) INTEGER ETA_COVERAGE, FIRST_NEGATIVE_ETA PARAMETER ( ETA_COVERAGE = 20, & FIRST_NEGATIVE_ETA = 32 * ETA_COVERAGE ) C NOTE: The compilation constant ETA_COVERAGE would have to be changed C if the eta range covered in the Level 1 Data Block becomes C different from the current range of [-20..-1], [1..20] C C------------------------------------------------------------------------- C Executable Code C C First find the sign of ETA. The positive eta indices come first. C Note: This section SHOULD be upgraded to verify that the relative C address is in the range from 0 to ( 2*32*ETA_COVERAGE - 1) C IF ( RELATIVE_ADDRESS .GE. FIRST_NEGATIVE_ETA ) THEN SIGN_ETA = NEG_E WORK_ADDRESS = RELATIVE_ADDRESS - FIRST_NEGATIVE_ETA ELSE SIGN_ETA = POS_E WORK_ADDRESS = RELATIVE_ADDRESS END IF C C The magnitude of the ETA index ranges from 1 to ETA_COVERAGE. C The eta index is monotonically increasing in magnitude after C each of the 32 phi values. C MAGN_ETA = WORK_ADDRESS / 32 WORK_ADDRESS = WORK_ADDRESS - 32 * MAGN_ETA MAGN_ETA = MAGN_ETA + 1 C C The PHI index ranges from 1 to 32. C even addresses cover PHI (1:16), odd addresses cove PHI (17:32) C cf. description of the Level 1 Trigger Data Block C PHI = WORK_ADDRESS / 2 IF ( ( WORK_ADDRESS - 2 * PHI ) .EQ. 0 ) THEN PHI = PHI + 1 ELSE PHI = PHI + 17 END IF C C Final computation of ETA C IF ( SIGN_ETA .EQ. POS_E ) THEN ETA = + MAGN_ETA ELSE ETA = - MAGN_ETA END IF C RETURN END Page 23 APPENDIX II ----------- DATA BLOCK FORMAT IN VME ------------------------ The First Level Trigger Data Block is built by the First Level Trigger in VME memory. A VBD card (formerly called Data Cable Driver) will transfer the data block from VME memory to VAX memory. The transfer is performed one 32-bit integer at a time and preserves the value of the transferred 32-bit integers. The VME and VAX architectures however happen to store the 4 bytes of a 32-bit integer in opposite sequence in memory. The order of the bytes compared between VME and VAX memory will thus appear locally reversed inside each 32-bit longword of the Zebra Bank. In order to produce the data block format defined by this document for the VMS Zebra Bank, the data block must be built somewhat scrambled in VME memory. The data block built in VME space only needs to match the target VMS format by sub-sections. The VBD card can then be directed to fetch and concatenate a list of separate blocks of data in VME memory to produce the final data block actually received by the Level 2 Nodes.