C --------------------------------------------------------------------- C description of the variables written by the procedure FILL_MONIT_POOL C --------------------------------------------------------------------- C NOTE that each common block is also equivalenced to a character string C used to actually do the transfer over ITC. C --------------------------------------------------------------------- C Revised: 3-APR-1991 C Revised: 18-APR-1991 Add copy of General in each section C Updated 19-MAR-1992 Add crate header to MONIT_POOL_DB_SPY common. C Updated 2-SEP-1992 add new per bunch scalers C Updated 3-NOV-1992 add foreign scalers C Updated 31-MAR-1993 rename the 68k states to generic numbers C Updated 8-SEP-1993 Add the Lg Tile sub-section C Updated 10-AUG-1994 Modify for supporting Longer integration time C Updated 10-MAY-1995 Modify LIVEX_L0CENTER_PER_BUNCH -> SLOW_L0_PER_BUNCH C Updated 19-OCT-1995 Add new section for 36x36 scaler crate C --------------------------------------------------------------------- C Miscellaneous General Quantities C -------------------------------- C C DELTA_TIME C monitoring integration interval in quanta of 100 ns C DELTA_BEAM_CROSSING C Number of Beam Crossings elapsed (read from data block) C DELTA_VETO_CROSSING C Number of Beam Crossings elapsed (from latched SBSC) C DELTA_GLOBAL_FIRED C Start Digitize count during the Monitoring Interval. The C purpose of this variable has changed over time, so the name and C the meaning do not exactly match. C DELTA_LEVEL_0 C Level 0 Trigger Count during Monitoring Period C FRAMEWORK_STATUS (software detected conditions) C the lowest byte (bit 0:7) is the running status C 0 = running C 1 = paused C the middle-low byte (bit 8:15) is the data block status C 0 = fresh data block information C 1 = stale data block information C the middle-high byte (bit 16:23) is the Monitoring Pool Satus C 0 = monitoring pool normally refreshed C 1 = monitoring pool not refreshed C the highest byte (bit 24:31) is not used C TROUBLE_WARNING_BITS (hardware detected conditions) C bit # 0 = 68k Program not running C 1 = Reserved C 2 = VBD Cannot transfer data to Level 2 C 3 = 68k doesn't see any slave ready from COMINT C 4 = MTG cycle error C 5 = Power Failure C 6 = Lv1 rate limited by wait for VBD Buffer C 7 = Lv1 rate limited by VBD DMA Transfer C 8:31 = Not yet allocated C 68k State Scalers C Scalers giving the amount of time the 68k program spent in C each of its phases. The values are given in terms of the C number of Beam Crossings occuring during each state. C DELTA_DBBBUSY Data Block Builder Busy C DELTA_68KSTATE_1 C DELTA_68KSTATE_2 C DELTA_68KSTATE_3 C DELTA_68KSTATE_4 C DELTA_68KSTATE_5 C REAL DELTA_TIME ! changed from INTEGER to REAL 10-AUG-1994 INTEGER*4 DELTA_BEAM_CROSSING INTEGER*4 DELTA_VETO_CROSSING INTEGER*4 DELTA_GLOBAL_FIRED INTEGER*4 DELTA_EVENT_TRANSFER INTEGER*4 DELTA_LEVEL_0 INTEGER*4 FRAMEWORK_STATUS INTEGER*4 TROUBLE_WARNING_BITS INTEGER*4 DELTA_DBBBUSY INTEGER*4 DELTA_68KSTATE_1 INTEGER*4 DELTA_68KSTATE_2 INTEGER*4 DELTA_68KSTATE_3 INTEGER*4 DELTA_68KSTATE_4 INTEGER*4 DELTA_68KSTATE_5 INTEGER*4 DELTA_L15_POTENTIAL INTEGER*4 DELTA_L15_CYCLE INTEGER*4 DELTA_L15_ACCEPT INTEGER*4 DELTA_L15_REJECT INTEGER*4 DELTA_L15_SKIP INTEGER*4 DELTA_L15_TIMEOUT INTEGER*4 DELTA_L15_DEAD_CROSSING INTEGER*4 VETO_CROSS_COUNT C C !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C !!!! To ensure data simultaneity the General !!!! C !!!! subsection is always transmitted along with !!!! C !!!! every other data transfer and then !!!! C !!!! block-copied to this location !!!! C !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C !!!! any change in size of the general section !!!! C !!!! needs to be propageted to all other sections !!!! C !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C The Size of this section is C 4*22 = 88 Bytes PARAMETER SIZE_GENERAL = 88 CHARACTER*88 BLOCK_GENERAL EQUIVALENCE ( DELTA_TIME, BLOCK_GENERAL(1:1) ) C !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C !!!! WARNING: !!!! C !!!! Data is transfered by block -> do not alter the order !!!! C !!!! of the variables declared in ANY common block !!!! C !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C !!!! In every data section: !!!! C !!!! The BLOCK_name variable is used for calling ITC_read !!!! C !!!! The SIZE_name variable is used to check proper length !!!! C !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! COMMON /MONIT_POOL_GENERAL/ DELTA_TIME, & DELTA_BEAM_CROSSING, & DELTA_VETO_CROSSING, & DELTA_GLOBAL_FIRED, & DELTA_EVENT_TRANSFER, & DELTA_LEVEL_0, & FRAMEWORK_STATUS, & TROUBLE_WARNING_BITS, & DELTA_DBBBUSY, & DELTA_68KSTATE_1, & DELTA_68KSTATE_2, & DELTA_68KSTATE_3, & DELTA_68KSTATE_4, & DELTA_68KSTATE_5, & DELTA_L15_POTENTIAL, & DELTA_L15_CYCLE, & DELTA_L15_ACCEPT, & DELTA_L15_REJECT, & DELTA_L15_SKIP, & DELTA_L15_TIMEOUT, & DELTA_L15_DEAD_CROSSING, & VETO_CROSS_COUNT C --------------------------------------------------------------------- C Programming of the specific triggers. C ------------------------------------- C C for specific trigger #n (n=0..31): C C SPTRGPROG(1,n) has attributes global to the specific trigger. C the lowest byte (bit 0:7) is the fstd enable veto mask. C the middle-low byte (bit 8:15) is a status byte (reserved) C the middle-high byte (bit 16:23) is the allocation byte C 0 = not allocated C 1 = allocated to COOR C 4 = force monitoring data block C the highest byte is the specific trigger type C 0 = Pure Level 1 C 1 = Level 1.5 C C SPTRGPROG(2,n) is the programmed prescaler ratio C C SPTRGPROG(3,n) is the mask of Level 1.5 Terms required C bit#0 (LSB) of SPTRGPROG(3) controls whether Level 1.5 Term #0 C is required by this spectrig during a Level 1.5 cycle. C ... C bit#31 (MSB) of SPTRGPROG(6) controls whether Level 1.5 Term #31 C is required by this spectrig during a Level 1.5 cycle. C C SPTRGPROG(4,n) the lowest word (bit 0:15) is the spectrig readout time C C SPTRGPROG(5:6,n) describe the programming of geographic sections C bit#0 (LSB) of SPTRGPROG(5) controls whether geo sec #0 C is programmed to be digitized by this spectrig. C bit#1 of SPTRGPROG(5) controls whether geo sec #0 C is programmed to disable this spectrig. C ... C bit#30 of SPTRGPROG(6) controls whether geo sec #31 C is programmed to be digitized by this spectrig. C bit#31 (MSB) of SPTRGPROG(6) controls whether geo sec #31 C is programmed to disable this spectrig. C C SPTRGPROG(7:22,n) describe the programming of andor terms C bit#0 (LSB) of SPTRGPROG(7) controls whether andor term #0 C is excluded from this spectrig. (1=don't care) C bit#1 of SPTRGPROG(7) controls the polarity required for C andor term #0 (1=high) C ... C bit#30 of SPTRGPROG(22) controls whether andor term #255 C is excluded from this spectrig. C bit#31 (MSB) of SPTRGPROG(22) controls the polarity required for C andor term #255 INTEGER*4 SPTRGPROG ( 1:22, 0:31 ) C --------------------------------------------------------------------- C Two arrays of miscellaneous counts related to the spec trigger scalers. C The SPTRG_COUNT array contains the absolute counts, while C the SPTRG_INCR array contains the increment since the last snapshot. C C The indices are identical between SPTRG_INCR and SPTRG_COUNT C e.g. if SPTRG_COUNT(4,2) is the total count of beam X where sptrg#2 was C disabled by its prescaler, then SPTRG_INCR(4,2) is the increment of C this same count since the last snapshot. C C Use the parameters from LV1_MPOOL.PARAMS to access these indices. C C Rates in Hz can be obtained from the SPTRG_INCR variables C by dividing by the number of beam crossings and then multiplying by the C beam crossing period (typically 3.5us) C ---------------------------------------------- C for specific trigger #n (n=0..31) C SPTRG_COUNT( 1,n)is the COUNT of specific trigger fired C SPTRG_COUNT( 2,n)is the COUNT of specific trigger overall exposition C Note: These first two quantities only receive the lower 4 bytes C of these 5-byte scalers, while all 5 bytes are available from C the data block. The other counters below are 4-byte scalers C and do not suffer from any such truncation. C SPTRG_COUNT( 3,n)is the COUNT of specific trigger andor fired C SPTRG_COUNT( 4,n)is the COUNT of prescaling veto C SPTRG_COUNT( 5,n)is the COUNT of level 1.5 veto C SPTRG_COUNT( 6,n)is the COUNT of level 2.0 veto C SPTRG_COUNT( 7,n)is the COUNT of front-end busy C SPTRG_COUNT( 8,n)is the COUNT of auxiliary veto C SPTRG_COUNT( 9,n)is the COUNT of global veto C SPTRG_COUNT(10,n)is the COUNT of autodisable veto C SPTRG_COUNT(11,n)is the COUNT of Specific Trigger exposition and not L0 C SPTRG_COUNT(12,n)is the COUNT of L1.5 Confirmation C SPTRG_COUNT(13,n)is the COUNT of L1.5 Rejection C SPTRG_COUNT(14,n)is the COUNT of L1.5 Cycle C SPTRG_COUNT(15,n)is the COUNT of L1.5 Skip C SPTRG_COUNT(16,n)is the COUNT of L1.5 Dead Beam X C SPTRG_COUNT(17,n)is the COUNT of L1.5 Timeout C C SPTRG_INCR ( 1,n) \ C . . same defintion as above, C . . but with the INCREMENT since the last snapshot C . . instead of the current COUNT C SPTRG_INCR (17,n) / INTEGER*4 SPTRG_COUNT ( 1:17, 0:31 ) INTEGER*4 SPTRG_INCR ( 1:17, 0:31 ) C Warning: update LV1_MPOOL.PARAMS after a change in index range C --------------------------------------------------------------------- C Programming of the geographic sections. C --------------------------------------- C for geographic section #n (n=0..31) C GEOSECTPROG(n) C the lowest byte (bit 0:7) is a status byte (reserved) C the middle-low byte (bit 8:15) is the allocation byte C 0 = not allocated C 1 = allocated to COOR C the middle-high byte (bit 16:23) is the start digitize status C 0 = normal C 1 = test mode / signal inhibited C the highest byte (bit 24:31) is not used INTEGER*4 GEOSECTPROG ( 0:31 ) C --------------------------------------------------------------------- C Four arrays of scalers related to the geographic sections C The GEOSECT_STDGT_COUNT and GEOSECT_BUSY_COUNT contain absolute counts, C while GEOSECT_STDGT_INCR and GEOSECT_BUSY_INCR contain increments C since the last snapshot. C C Rates in Hz can be obtained from GEOSECT_STDGT_INCR and GEOSECT_BUSY_INCR C by dividing by the number of beam crossings and then multiplying by the C beam crossing period (typically 3.5us) C ---------------------------------------------- C for geographic section #n (n=0..31) C GEOSECT_STDGT_COUNT(n) is the geographic section digitizing Count C GEOSECT_STDGT_INCR (n) is the geographic section digitizing Increment C C GEOSECT_BUSY_COUNT(n) is the count of beam X while the Front End Busy C signal was asserted for this Geographic Section C GEOSECT_BUSY_INCR (n) is the Front End Busy Increment INTEGER*4 GEOSECT_STDGT_COUNT ( 0:31 ) INTEGER*4 GEOSECT_BUSY_COUNT ( 0:31 ) INTEGER*4 GEOSECT_STDGT_INCR ( 0:31 ) INTEGER*4 GEOSECT_BUSY_INCR ( 0:31 ) C CHARACTER*88 BLOCK_GENERAL_SPTRG_GEOSECT C The Size of this sectioin is C [ 4 * ( 22*32 + 2*17*32 + 32 + 4*32 ) ] + 88 = 7896 Bytes PARAMETER SIZE_SPTRG_GEOSECT = 7896 CHARACTER*7896 BLOCK_SPTRG_GEOSECT EQUIVALENCE ( SPTRGPROG(1,0), BLOCK_SPTRG_GEOSECT(1:1) ) COMMON /MONIT_POOL_SPTRG_GEOSECT/ SPTRGPROG, & SPTRG_COUNT, & SPTRG_INCR, & GEOSECTPROG, & GEOSECT_STDGT_COUNT, & GEOSECT_BUSY_COUNT, & GEOSECT_STDGT_INCR, & GEOSECT_BUSY_INCR, & BLOCK_GENERAL_SPTRG_GEOSECT C --------------------------------------------------------------------- C First Level Trigger Data Block, but only valid words are C (cf. D0 note 967) C 1 thru 477 : framework C 478 thru 1814 : calorimeter trigger C 1817 thru 3630 : FW + CalTrig for Previous Beam X C (Jet lists not available) C 3897 thru 4536 : jet pattern C 4539 thru 4858 : hot tower (unused) C 4861 thru 4942 : jet list programming C 4945 thru 4984 : Large Tile Jet Patterns C 4987 thru 5058 : Level 1.5 Framework C (Absolute Time not available) C 5075 thru 5194 : Additional Level 1 Scalers C 5195 thru 5414 : Foreign Scalers INTEGER*4 L1_CRATE_HEADER(7) INTEGER*2 DATABLOCK ( 1:5414 ) CHARACTER*88 BLOCK_GENERAL_DB_SPY C The Size of this section is C [ 2 * 5414 ] + 88 = 10916 Bytes C CRATE_HEADER in this common block is not filled by the MPool C routines. It is there only for compatability with routines which C extract Data Block quantities given the first word of the Crate Header. C PARAMETER SIZE_DB_SPY = 10916 CHARACTER*10916 BLOCK_DB_SPY EQUIVALENCE ( DATABLOCK(1), BLOCK_DB_SPY(1:1) ) COMMON /MONIT_POOL_DB_SPY/ L1_CRATE_HEADER, DATABLOCK, & BLOCK_GENERAL_DB_SPY C --------------------------------------------------------------------- C Trigger Tower status C -------------------- C TRGTWR(p,e,s) corresponds to trigger tower at PHI=p, C and ETA=+e for s=0 C or ETA=-e for s=1 C the lowest byte (bit 0:7) corresponds to the EM tower C bit # 0: 0 = not implemented C 1 = implemented C bit # 2: 0 = not in configuration file C 1 = in configuration file C bit # 4: 0 = normal contribution C 1 = excluded C the highest byte (bit 8:15) corresponds to the HD tower C bit # 8: 0 = not implemented C 1 = implemented C bit #10: 0 = not in configuration file C 1 = in configuration file C bit #12: 0 = normal contribution C 1 = excluded INTEGER*2 TRGTWR ( 1:32, 1:20, 0:1 ) CHARACTER*88 BLOCK_GENERAL_TRGTWR C The Size of this section is C [ 2 * 32*20*2 ] + 88 = 2648 Bytes PARAMETER SIZE_TRGTWR = 2648 CHARACTER*2648 BLOCK_TRGTWR EQUIVALENCE ( TRGTWR(1,1,0), BLOCK_TRGTWR(1:1) ) COMMON /MONIT_POOL_TRGTWR/ TRGTWR, BLOCK_GENERAL_TRGTWR C --------------------------------------------------------------------- C Reference Set C ------------- C REFSET(r,t) corresponds to EM Et REF SET #r for t=0 } Not C HD Veto REF SET #r for t=1 } Implemented C TOT Et REF SET #r for t=2 } C the lowest byte (bit 0:7) is the status byte } C bit # 0: 0 = not implemented } C 1 = implemented } C bit # 2: 0 = not in configuration file } C 1 = in configuration file } C the highest byte (bit 8:15) is the allocation byte } C 0 = not allocated } C 1 = allocated to COOR } C C TT_THRSH(p,e,s,r,t) corresponds to trigger tower at TT_PHI=p, C and TT_ETA=+e for s=0 C or TT_ETA=-e for s=1 C and EM Et REF SET #r for t=0 C or HD Veto REF SET #r for t=1 C or TOT Et REF SET #r for t=2 C this is the threshold value in MeV C C TT_THRSH(p,e,s,r) corresponds to Large Tile at LT_PHI=p, C and LT_ETA=+e for s=0 C or LT_ETA=-e for s=1 C and Lrg Tile REF SET #r C this is the threshold value in MeV C note: LT_PHI=1 (2, 3, 4) corresponds to TT_PHI=1:8 (9:16, 17:24, 25:32) C and LT_ETA=1 (2, 3, 4, 5) to TT_ETA=1:4 (5:8, 9:12, 13:16, 17:20) C INTEGER*2 REFSET ( 0:3, 0:2 ) INTEGER*4 TT_THRSH ( 1:32, 1:20, 0:1, 0:3, 0:2 ) INTEGER*4 LT_THRSH ( 1:4, 1:5, 0:1, 0:7 ) CHARACTER*88 BLOCK_GENERAL_REFSET C The Size of the general refset sub-section is C [ 2 * 3*4 ] + 88 = 112 Bytes PARAMETER SIZE_REFSET_STATUS = 112 CHARACTER*112 BLOCK_REFSET_STATUS EQUIVALENCE ( REFSET(0,0), BLOCK_REFSET_STATUS(1:1) ) C The Size of each trigger tower refset sub-section is C 4 * 32*20*2 = 5120 Bytes PARAMETER SIZE_TT_REFSET_DATA = 5120 CHARACTER*5120 BLOCK_TT_REFSET_DATA ( 0:3, 0:2 ) EQUIVALENCE ( TT_THRSH(1,1,0,0,0), & BLOCK_TT_REFSET_DATA(0,0) (1:1) ) C The Size of the large tile refset (8 refsets) sub-section is C 4 * 4*5*2 * 8 = 1280 Bytes PARAMETER SIZE_LT_REFSET_DATA = 1280 CHARACTER*1280 BLOCK_LT_REFSET_DATA EQUIVALENCE ( LT_THRSH(1,1,0,0), & BLOCK_LT_REFSET_DATA (1:1) ) COMMON /MONIT_POOL_REFSET/ REFSET, & BLOCK_GENERAL_REFSET, & TT_THRSH, & LT_THRSH C --------------------------------------------------------------------- C Global Thresholds C ----------------- C GL_ENG_THRSH(0,n,x) x=1: EM Et Threshold #n C x=2: HD Et Threshold #n C x=3: TOT Et Threshold #n C x=4: EM 2nd lookup Threshold #n C x=5: HD 2nd lookup Threshold #n C x=6: TOT 2nd lookup Threshold #n C x=7: Missing Pt Threshold #n C C the lowest byte (bit 0:7) is the status byte C bit # 0: 0 = not implemented C 1 = implemented C bit # 2: 0 = not in configuration file C 1 = in configuration file C the middle-low byte (bit 8:15) is the allocation byte C 0 = not allocated C 1 = allocated to COOR C the middle-high byte (bit 16:23) is not used C the highest byte (bit 24:31) is not used C C GL_ENG_THRSH(1,n,x) is the threshold value in MeV C C GL_CNT_THRSH(0,n,r,t) C t=0: EM Et Tower Count above Ref Set #r Threshold #n C t=1: TOT Et Tower Count above Ref Set #r Threshold #n C C the lowest byte (bit 0:7) is the status byte C bit # 0: 0 = not implemented C 1 = implemented C bit # 2: 0 = not in configuration file C 1 = in configuration file C the middle-low byte (bit 8:15) is the allocation byte C 0 = not allocated C 1 = allocated to COOR C the middle-high byte (bit 16:23) is not used C the highest byte (bit 24:31) is not used C C GL_CNT_THRSH(1,n,r,t) is the threshold value in number of towers C INTEGER*4 GL_ENG_THRSH ( 0:1, 0:31, 1:7 ) INTEGER*4 GL_CNT_THRSH ( 0:1, 0:15, 0:3, 0:1 ) CHARACTER*88 BLOCK_GENERAL_GLOBAL_THRESH C The Size of this section is C [ 4 * ( 2*32*7 + 2*16*4*2 ) ] + 88 = 2904 Bytes PARAMETER SIZE_GLOBAL_THRESH = 2904 CHARACTER*2904 BLOCK_GLOBAL_THRESH EQUIVALENCE ( GL_ENG_THRSH(0,0,1), BLOCK_GLOBAL_THRESH(1:1) ) COMMON /MONIT_POOL_GLOBAL_THRESH/ GL_ENG_THRSH, GL_CNT_THRSH, & BLOCK_GENERAL_GLOBAL_THRESH C --------------------------------------------------------------------- C Per Bunch Scalers C ----------------- C For bunch #b (1:6) that is bunch P1..P6 C These are increments over the last delta_beam_crossing. C The total counts can be found in the data block C C L1_PER_BUNCH(b) C is the Level 1 Fired per bunch C C L0_PER_BUNCH(b) C is the Level 0 Good per bunch C C LIVEX_PER_BUNCH(b) C is the Live Crossing Scaler per bunch C C LIVEX_FASTZGOOD_PER_BUNCH(b) C is the Live Crossings * Level 0 Fast Z per bunch C C LIVEX_L0SINGLE_PER_BUNCH(b) C is the Live Crossings * Level 0 Single interaction per bunch C C SLOW_L0_PER_BUNCH(b) C is the Slow L0 vertex |Z| < 120 cm for luminosity calculation C INTEGER*4 L1_PER_BUNCH ( 1:6 ) INTEGER*4 L0_PER_BUNCH ( 1:6 ) C INTEGER*4 LIVEX_PER_BUNCH ( 1:6 ) INTEGER*4 LIVEX_FASTZGOOD_PER_BUNCH ( 1:6 ) INTEGER*4 LIVEX_L0SINGLE_PER_BUNCH ( 1:6 ) INTEGER*4 SLOW_L0_PER_BUNCH ( 1:6 ) C CHARACTER*88 BLOCK_GENERAL_PER_BUNCH C The Size of this section is C [ 4 * ( 6 + 6 + 6 + 6 + 6 + 6 ) ] + 88 = 232 PARAMETER SIZE_PER_BUNCH = 232 CHARACTER*232 BLOCK_PER_BUNCH EQUIVALENCE ( L1_PER_BUNCH(1), BLOCK_PER_BUNCH(1:1) ) C COMMON /MONIT_POOL_PER_BUNCH/ L1_PER_BUNCH, & L0_PER_BUNCH, & LIVEX_PER_BUNCH, & LIVEX_FASTZGOOD_PER_BUNCH, & LIVEX_L0SINGLE_PER_BUNCH, & SLOW_L0_PER_BUNCH, & BLOCK_GENERAL_PER_BUNCH C --------------------------------------------------------------------- C Foreign Scalers C --------------- C For foreign scaler #n [1,44], these are the increments over the C last delta_beam_crossing. The total counts are found in the Data Block. C C FOREIGN_SCALER(n) C is Foreign Scaler #n C INTEGER*4 FOREIGN_SCALER ( 1:44 ) C CHARACTER*88 BLOCK_GENERAL_FOREIGN_SCALER C The Size of this section is C [ 4 * 44 ] + 88 = 264 PARAMETER SIZE_FOREIGN_SCALER = 264 CHARACTER*264 BLOCK_FOREIGN_SCALER EQUIVALENCE ( FOREIGN_SCALER(1), BLOCK_FOREIGN_SCALER(1:1) ) C COMMON /MONIT_POOL_FOREIGN_SCALER/ FOREIGN_SCALER, & BLOCK_GENERAL_FOREIGN_SCALER C C --------------------------------------------------------------------- C 36x36 scaler crate C ------------------ C Receives the scalers installed to monitor luminosity and p/p_bar halo. C Both counts and increments are available. C FZLUM is for fast Z luminosity C PHALO is for proton Halo C AHALO is for antiproton Halo C INTEGER*4 FZLUM_36X36_COUNT ( 1:64 ) INTEGER*4 PHALO_36X36_COUNT ( 1:64 ) INTEGER*4 AHALO_36X36_COUNT ( 1:64 ) C INTEGER*4 FZLUM_36X36_INCR ( 1:64 ) INTEGER*4 PHALO_36X36_INCR ( 1:64 ) INTEGER*4 AHALO_36X36_INCR ( 1:64 ) C CHARACTER*88 BLOCK_GENERAL_36X36_SCALER C C The Size of this section is C 6 * [ 4 * 64 ] + 88 = 1624 PARAMETER SIZE_36X36_SCALER = 1624 CHARACTER*1624 BLOCK_36X36_SCALER EQUIVALENCE ( FZLUM_36X36_COUNT(1), BLOCK_36X36_SCALER(1:1) ) C COMMON /MONIT_POOL_36X36_SCALER/ FZLUM_36X36_COUNT, & PHALO_36X36_COUNT, & AHALO_36X36_COUNT, & FZLUM_36X36_INCR, & PHALO_36X36_INCR, & AHALO_36X36_INCR, & BLOCK_GENERAL_36X36_SCALER C C --------------------------------------------------------------------- C customize ITC C --------------------------------------------------------------------- PARAMETER MAX_CHANNEL = 1 PARAMETER MAX_ACTIVITY = 5 PARAMETER MAX_BLOCK_SIZE = 11000