This is the log book for the TRGMON, the Level 1 Trigger Monitor program. started 17-MAR-1992 TO DO: Dan found a problem with printing from TRGMON. See folder PROBLEM in file MONITORING of Laurens' MAIL Add D0$PARAMS: to all INCLUDE 'LEVEL1_LOOUP.PARAMS' Change FILL_MONIT_POOL.FOR initial value of DISCONNECTED to .FALSE. so that the process name is properly sent to TCC at first connection There is still a difference in jet list from the global cal trig display between the code in htrmgon and the code in hwork2. see dif ework4:HTRMGON.LOG ework4:HWORK2.LOG ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 23-OCT-1995 Philippe Add longer integration for 36x36 scalers - Modify TRGMON_RBUF.INC add variables to hold scaler counts RB_FZLUM_36X36_COUNT, RB_PHALO_36X36_COUNT, RB_AHALO_36X36_COUNT - Modify INTEGRATE_NEW_DELTAS.FOR update FILL_RING_BUFF and CALC_DELTAS to fill and use the new scalers - Modify TRGMON_DRIVER.FOR Add the 36x36 display to the list for display of integration time. - Modify GET_MONIT_DATA.FOR Add the 36x36 display to the list for capture of data in ring buffer ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 19-OCT-1995 Philippe Add 36x36 crate scalers - Modify LV1_MPOOL_RAW.INC add new common block for the new scalers. It is totally separate from the other sections. The general section is passed and filled, but not used by the software - Modify LV1_MPOOL.PARAMS add MP_FIRST and MP_LAST to bracket the available option values add new option MP_36X36_SCALERS - Modify FILL_MONIT_POOL.FOR add section to collect 36x36 scaler data Modify DATA_OPTION range check to use new MP_FIRST and MP_LAST instead of the actual first and last command parameters - Modify GET_RAW_DATA.FOR call FILL_MONIT_POOL for the new 36x36 command - Modify GET_MONIT_DATA.FOR check TWB for the new 36x36 display - Create PAINT_36X36_SCALERS.FOR - Create DRAW_36X36_SCALERS.FOR create these routines to print the background and foreground for these new displays. This display is buffered and scrollable. No banner is displayed, no longer integration time available. The screen layout is hardcoded, instead of using parameters in LV1_MON_SCREEN_LAYOUT.PARAMS - Modify TRGMON_DRIVER.FOR call PAINT_36X36_SCALERS and DRAW_36X36_SCALERS also list this new command in the list for log file capture - Modify TRGMON_MENU.FOR add new command for 36x36 option - Modify LV1_MON_SCREEN.INC add command COMMAND_36X36_SCALERS - Modify TRGMOND.SET add entry for new menu item : ->36x36 Scalers (&more) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6-JUN-1995 Philippe Fix bug: no Jet list in cal trig page - while comparing the latest version of TRGMON whith luminosity to the last version without luminosity, notice one sweep of the global L1.5 display where the banner was identical, but the rates different. This is probably the effect of swapping the order of the monitoring sections being requested. This was seen only once, and the statistics were poor. The network/host seemed also very busy at the time. - Modify DERIVE_MORE_DATA.FOR The jet list was missing of the global caltrig display. But once you selected the simulated jet list display or the PRTRGR display, the (or more like "a") jet list could then appear on the global caltrig display. What was going on is that the mask of Specific Trigger Fired was never captured and copied in the data block header in the copy written into the fake zebra common block IQ(6). The value used was a constant, the last one from a previous display, or zero by default. Fixed by adding this display to the list in the IF statements where the Specific Trigger Fired Mask is being captured. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 15-23-MAY-1995 Philippe Add double single diffraction correction - Modify LV1_MPOOL_DERIVED.INC Modify variable names. Get rid of extra dimension SLOW_Z/FAST_Z, and add this to variable name to unify the naming scheme. - Modify CROSS_SECTIONS.PARAMS add single diffraction cross section. - Modify LV1_MON_SCREEN_LAYOUT.PARAMS change layout of luminosity display for allowing one more column. - Modify DERIVE_MORE_DATA.FOR create 2 functions for computing the standard luminosity and the diffractive correction: DERIVED_LUMINOSITY, DERIVED_LUM_SD_COR Replace the 3 instances of inline calculation by calls to these functions. - Modify DRAW_GLOBAL_HEADER.FOR - Modify DRAW_PER_BUNCH.FOR track the change of name for luminosity variables - Modify PAINT_LUMINOSITY.FOR - Modify DRAW_LUMINOSITY.FOR shrink the columns to allow one more. track the change of name for luminosity variables ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 15-MAY-1995 Philippe Convert lum scale E31->E30 - Modify PAINT_GLOBAL_HEADER.FOR - Modify PAINT_PER_BUNCH.FOR - Modify PAINT_LUMINOSITY.FOR Change luminosity scale tag from E31 to E30. also change paint_luminosity label "Lum(Slow Z Center)"->"Lum(L0 Slow Z)" - Modify DERIVE_MORE_DATA.FOR Change coefficient in luminosity computation to set the E30*s-1*cm-2 scale - Modify DRAW_GLOBAL_HEADER.FOR - Modify DRAW_PER_BUNCH.FOR - Modify DRAW_LUMINOSITY.FOR change luminosity formatting to only display 2 decimal places max (was 3). - Modify BUILD_PERCENT_STRING.FOR change (and document) test of percentage to see if it is "exactly 100" was looking for one part in 10^7, now looks for one 1/2 part in 10^6 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 9-12-MAY-1995 Philippe Add Slow L0 luminosity scalers - Create CROSS_SECTIONS.PARAMS - Modify LV1_MON_SCREEN_LAYOUT.PARAMS Update the per bunch page layout. Swap the L0 good and Live X columns in order to have the Level 0 good next to the right, next to the luminosity column, and right over the Slow L0 luminosity signal. Add a new section for the new luminosity display page, parameter names are LM_** Update the GH_L0_RATE_* global header parameters to shring the size of the L0 good rate field. - Create GET_LUM_DATA_FROM_TCC.FOR Replaces the previous GET_TCC_MONIT_L0_GOOD to return both the fast Z and slow Z data, and now send current counts (instead of 5 s increments) - Modify LV1_MON_SCREEN.INC add parameter COMMAND_LUMINOSITY to register a new command. - Modify LV1_MPOOL_DERIVED.INC add variables to hold the slow Z version of the luminosity delivered (by adding a dimension L0_FAST/SLOW_Z to the existing array) and the fast Z estimation of the Luminosity used. - Modify LV1_MPOOL_FORMATTED.INC add a bunch of variables to hold the per bunch and total data for the new luminosity page. - Modify LV1_MPOOL_RAW.INC rename the LIVEX_L0CENTER_PER_BUNCH(b) to SLOW_L0_PER_BUNCH(b) - Modify DERIVE_MORE_DATA.FOR change the computation made for the header part of the display from using Fast Z to using the Slow Z scalers. Use the CROSS_SECTION common block in the computation of the luminosity. Derive all new data for the luminosity display. This is done by expanding the command_per_bunch section and pair these calculations with the new display for command_luminosity. That is the same computation is done for the per bunch display and the luminosity display. This causes some wasted CPU cycles computing variables that will not be used, but is a simplification since they overlap, and the luminosity needs some data computed for the per bunch display. - Modify PAINT_GLOBAL_HEADER.FOR - Modify DRAW_GLOBAL_HEADER.FOR Update the Level 0 rate field. - Modify PAINT_PER_BUNCH.FOR Add another right hand column for the slow Z luminosity (right below the fast Z luminosity). Notice that a call to FLUSH_SCREEN was missing, and add it. - Modify DRAW_PER_BUNCH.FOR Quit overwriting the left hand bunch ID field that was already setup in PAINT_PER_BUNCH. Add right hand slow Z luminosity column - Modify TRGMON_DRIVER.FOR - Modify TRGMON_MENU.FOR - Modify GET_MONIT_DATA.FOR update to add the new COMMAND_LUMINOSITY - Modify INTEGRATE_NEW_DELTAS.FOR update for name change LIVEX_L0CENTER_PER_BUNCH -> SLOW_L0_PER_BUNCH - Modify L1_EXTRACT_EXPOS_AND_L0.FOR Initialize variables NOT_L0_UNITS and NOT_L0_GIGAS to 0. These variables were created when we thought we would have a correction to the DBSC sptrg exposition scaler using an exposition_and_not_L0 SBSC. - Create PAINT_LUMINOSITY.FOR - Create DRAW_LUMINOSITY.FOR To implement new luminosity page: Luminosity Monitoring 12-MAY-95 23:51:45 Integr Time DBSC/SBSC: 4.8/ 4.8 s Global Event Transfer Rate: 8.10 Hz Level 1: Running Information: Fresh Global Level 1 Trigger Rate: 8.10 Hz Fast L0: 227.kHz SlowZ_L: 0.990 E31 Level 1.5 Input/Reject: 0.0 Hz/ 0 % Dead Beam X During Level 1.5: 0.0 % Time Since Last Initialize: 0 08:19:14 Events Transf Since: 2689050 | Lum(Slow Z Center) | Lum(Fast L0 Good) | Live |L1 Trig | Bunch |L Delivd|Fraction|Occupncy|L Deliv |L Used |Usd/Delv|Crossing|Fraction| ------|-----E31|-------%|-------%|-----E31|-----E31|-------%|-------%|-------%| P1*A3 | 0.159| 16.09| 80.59| 0.157| 0.069| 43.61| 43.75| 10.26| | | | | | | | | | P2*A4 | 0.161| 16.30| 80.99| 0.159| 0.070| 44.08| 44.05| 23.08| | | | | | | | | | P3*A5 | 0.145| 14.63| 77.47| 0.143| 0.062| 43.69| 43.91| 7.69| | | | | | | | | | P4*A6 | 0.144| 14.51| 77.21| 0.142| 0.063| 44.16| 43.85| 25.64| | | | | | | | | | P5*A1 | 0.194| 19.63| 86.47| 0.191| 0.084| 43.89| 43.70| 10.26| | | | | | | | | | P6*A2 | 0.186| 18.83| 85.32| 0.184| 0.079| 43.15| 43.44| 23.08| ----- | -------| -------| -------| -------| -------| -------| -------| -------| Total | 0.990| 100.00| 81.34| 0.976| 0.427| 43.75| 43.78| 100 | The general formula used for computing the luminosity is: crossing_rate L = - ------------- * Loge ( fraction_of_beam_X_with_no_interaction ) cross_section Lum(Slow Z Center) ================== L Delivd -------- This is the luminosity computed from the L0 Slow |Z| < 120 cm. The crossing_rate is 1/6 of the overall beam X rate. The cross_section used is 49.1 millibarn (from Rich P.). The fraction_of_beam_X_with_no_interaction is computed for each bunch using the per bunch scalers for the Slow Z signal in the L1 Trigger Framework. The total at the bottom of the screen is the sum of the 6 bunch luminosities. This number is the official luminosity used in the top part of this display and of several others. Fraction -------- This is the relative fraction of the total luminosity contributed by each bunch. The total for this column at the bottom of the screen is the sum of the 6 bunch fractions, and should thus be 100 %. Occupancy -------- This is the ratio of the Slow Z rate over the bunch crossing rate for each bunch. The total for this column at the bottom of the screen is NOT the sum of the 6 percentages, but the overall occupancy of the L0 Slow Z scalers. Lum(Fast L0 Good) ================== L Deliv -------- This is the luminosity computed from the L0 Fast Z Good Scalers. The crossing_rate is 1/6 of the overall beam X rate. The cross_section used is 46.7 millibarn (from Jeff B.). The fraction_of_beam_X_with_no_interaction is computed for each bunch using the per bunch scalers for the Fast Z Good in the L1 Trigger Framework. The total at the bottom of the screen is the sum of the 6 bunch luminosities. L Used -------- This is the luminosity computed from the (L0 Fast Z Good)*(Live X) Scalers. The crossing_rate is the Live X rate per bunch. The cross_section used is 46.7 millibarn. The fraction_of_beam_X_with_no_interaction is computed for each bunch using the per bunch scalers for the Live Crossings and the (Fast Z Good)*(Live X) in the L1 Trigger Framework. The total at the bottom of the screen is the sum of the 6 bunch luminosities. Usd/Delv -------- This is the ratio of the two previous columns: Luminosity Used / Delivered The total for this column at the bottom of the screen is NOT the sum NOR average of the 6 percentages, but the ratio of the Total luminosity used over the total luminosity delivered, both taken from the Fast Z signal. Live Crossing ============= This is the percentage of Live X for each bunch. This numbers should be uniformly distributed unless an unevenness in the bunch sizes starts making bigger bunches "mask off" smaller ones. The total for this column at the bottom of the screen is NOT the sum of the 6 percentages, but the overall Live X percentage. L1 Trig Fraction ================ This is the relative fraction of the total Level 1 Trigger Rate contributed by each bunch. The total for this column at the bottom of the screen is the sum of the 6 bunch fractions, and should thus be 100 %. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27-APR-1995 Philippe Add computation of per bunch and total lum - Modify LV1_MON_SCREEN_LAYOUT.PARAMS add per bunch luminosity parameters for header and per bunch display. - Modify LV1_MPOOL_DERIVED.INC add variables to hold total and per bunch delivered luminosity - Modify GET_RAW_DATA.FOR Add per bunch data for displays showing Luminosity Ask for it last, so that the general section is contemporary with it (remember that the "general" section is transmitted along with another common block section, and copied to its final common block destination). For all menus that include the top header, ask for the MP_PER_BUNCH section. Also invert the order of some of the sections for the displays that need to ask for more than one section (the per bunch display, the foreign scalers). This is also to make sure that the "most important" data section is contemporary to the "general" section. - Modify DERIVE_MORE_DATA.FOR add computation of per-bunch luminosity and total luminosity - Modify PAINT_GLOBAL_HEADER.FOR modified for including total luminosity in header - Modify DRAW_GLOBAL_HEADER.FOR remove unused variables TRIGGER_COUNT, COUNT, TEMPREAL modify l0 rate display, and add global luminosity display - Modify PAINT_PER_BUNCH.FOR add right hand column for per bunch luminosity display remove unused variables LENGTH, ESC - Modify DRAW_PER_BUNCH.FOR add per bunch luminosity display on right hand side - Modify FILL_MONIT_POOL.FOR remove unused INCLUDE 'LV1_MON_SCREEN.INC/LIST' remove unused import of LIB$GET_EF, LIB$FREE_EF - Create GET_TCC_MONIT_L0_GOOD.FOR simple interface to TCC and L0 good per bunch scalers. For Dan Owen. return delta beam crossings and delta l0 good per bunch. return zero in case of connection problem. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3-MAR-1995 Philippe backup of old code to MSUD01 update HTRGMON directory backup of new code to MSUD01 - backup of DZERO::HTRGMON to MSUD01::DUA1:[ARCHIVE.TRGMON_V51] This is the code that was running at DZERO until this change (including the executable for the Test Version V6.0) - backup of MSUHEP::HTRGMON to MSUD01::DUA1:[ARCHIVE.TRGMON_V52] The code in MSUHEP::HTRGMON directories was probably never released to DZERO (which was advertized as V 5.1). This was an intermediate release in preparation for Freddie's work on longer integration time. - Update DZERO::TRGUSERROOT:[TRGMON] release of TRGMON V6.1 with option for setting longer integration time - old files are renamed from xx.yy to xx.yy_OLD and will be saved for awhile - "improve" the menus for setting integration time and polling/refresh time (these are now 2 separate comands) - Add options during Print/Dump Screen to close the file or change its name - add between screen dumps. - sense and use full screen length during program startup. - Only one version of TRGMON left (no more TEST version) - update MSUHEP::SHTRGMON using MSUHEP::HWORK2: and build executable V6.1 - update DZERO::SHTRGMON - relink LOG_TRIGGER_MASK and propagate to DZERO. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 16-23-FEB-1995 Philippe Add Form Feed between screenful PRINTs Allow WWW TRGMON to use 60 s integration Startup with full screen size Allow easy closing of dump file - Modify TRGMON_MENU.FOR Subroutine TRGMON_MENU drop unused variables GOTOP, FIRST, MANY_ITEMS, TEMP add include TRGMON_RBUF.INC Subroutine DISPLAY_OPTIONS remove variables HI_FACTOR, DISP_INTEG_TIME, NOT_OK, FIRST remove the code that was selecting refresh and integr time change command CHG_REF and call CHANGE_REFRESH_RATE add command CHG_INT and call CHANGE_INTEGRATION_TIME remove resetting of DUMP_FILE_OPENED in command FILE_DUMP - Create CHANGE_REFRESH_RATE.FOR Subroutine CHANGE_REFRESH_RATE and CHANGE_INTEGRATION_TIME Separate commands to not burden 99.9% of the user who just want to change the integration time without touching the polling/refresh time. CHANGE_REFRESH_RATE allows jumping to CHANGE_INTEGRATION_TIME - Modify TRGMONOP.SET rename "Change Refresh Rate" to "Change Polling/Refresh Rate" add item "Change Integration Time" - Modify TRGMON_DRIVER.FOR Subroutine TRGMON_DRIVER Add a call to GETSCR to know how long the screen is and set the variable LINES to this numbr so that TRGMON can use the full screen from the start. Subroutine TIME_LIMIT_INPUT (wait for keyboard input between screenfuls) Include TRGMON_RBUF.INC and thus LV1_MPOOL.PARAMS Add variable FIRST C C The special case identified below allows proper operation of the TRGMON C process that refreshes the WWW entry and paints the hallway display at MSU. C This process uses an INP input command file, which doesn't allow chosing a C the number of refreshes before exiting (only choices are 1 or infinite). C To get a 1 mn integration time, the refresh rate is also picked at 1 mn; C thus we need 2 refreshes (RING_SIZE=2) to get the correct data. This special C case skips checking for input after the first refresh; just do the wait. C (The other half of this kludgy feature is in DATA_LOG_CHECK) - Modify PUT_STRING.FOR Subroutine PUT_STRING remove unused variables LENGTH, TOP, BOTTOM, LINEHOLD, BASE_FIRST_LINE Subroutine MON_DISPLAY_TO_FILE (PRINT screen function) Implement further options: close logfile, change file name add external PFNUM add variable READPF add parameter FORM_FEED add FORM_FEED between advertize which file the display was copied to remove the wait for PF key input after copying screen, go back to presenting options instead - Modify DATA_LOG_CHECK.FOR Subroutine DATA_LOG_CHECK (manage copying screenfuls to logfile) Include LV1_MON_SCREEN.INC, TRGMON_RBUF.INC and thus LV1_MPOOL.PARAMS Add variable FIRST C C The special case identified below allows proper operation of the TRGMON C process that refreshes the WWW entry and paints the hallway display at MSU. C This process uses an INP input command file, which doesn't allow chosing a C the number of refreshes before exiting (only choices are 1 or infinite). C To get a 1 mn integration time, the refresh rate is also picked at 1 mn; C thus we need 2 refreshes (RING_SIZE=2) to get the correct data. This special C case completely skips the first screenful which still has only 5s integration, C and wait for the next screenful which has full requested integration. C (The other half of this kludgy feature is in TRGMON_DRIVER/TIME_LIMIT_INPUT) C ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 9-SEP-1994 Philippe - Fix bug in DERIVE_MORE_DATA.FOR To correct the number of event transferred for L1.5 SpTrg, using the number of SpTrg fired, the code was using SPTRG_INCR(COUNT_ST_L15_REJECT,SPTRG_NUM) instead of of SPTRG_COUNT ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 29-AUG-1994 Philippe - Review the overall structure of TRGMON data collection TRGMON_DRIVER seems rational, but the GET_MONITBLOCK and DERIVE_MPOOL_DATA have misleading names and computation is done throughout the routines, sometime done several times for the same refresh. Solution is to replace these routines with new ones with more descriptive names, and more logical partitioning of actions (first get the needed pieces of raw data, then derive needed additional stuff,...) - Modify TRGMON_DRIVER.FOR Replace call to GET_MONITBLOCK(COMMAND, SUBCOMMAND1, SUBCOMMAND2) with Call to GET_MONIT_DATA (COMMAND). Notice no more sub-command arguments. Remove unused external declarations for SMG$PASTE_VIRTUAL_DISPLAY and READPF And declaration for CHARACTER*80 CLUN INTEGER ISLASH,LFMBNK,IER CHARACTER*80 CFMOPT LOGICAL FIRST There is an ENTRY point of TRGMON_DRIVER for D0OPEN. How come? if any of the code called from TRGMON_DRIVER needs D0OPEN, this will make it a re-entrant call and this shouldn't work. I don't understand this, but it seems to work. - Create GET_MONIT_DATA.FOR (Copy and modify GET_MONITBLOCK.FOR) Drop the subcommand1/2 arguments Drop most of the INCLUDE files for Mpool data and l1 data block and IQ Getting ready to display new screenfull takes the following steps: 1) Call GET_RAW_DATA 2) call INTEGRATE_NEW_DELTAS if needed 3) call FIND_BEAMX_PERIOD_AND_HZ_FACTOR 4) call DERIVE_MORE_DATA 5) call CHECK_TWB_ALARMS - Create GET_RAW_DATA.FOR With most of the code coming from DERIVE_MPOOL_DATA.FOR just collect the appropriate set of raw data section(s) - Create DERIVE_MORE_DATA.FOR With most of the code coming from GET_MONITBLOCK.FOR and a little from DERIVE_MPOOL_DATA.FOR Drop the subcommand1/2 arguments Remove COMMAND_SPECTRIG_L15 from displays needing andor term unpacking Get rid of variable NUM_TRIGS and the code using it here but nowhere else Get rid of MON_DELTA_TIME (from LV1_MPOOL_FORMATTED.INC) MON_DELTA_BEAM_CROSSING MON_DELTA_GLOBAL_FIRED MON_DELTA_LEVEL_0 Get current time (was in DERIVE_MPOOL_DATA.FOR) Derive l0 and l1 trigger rates (was in DERIVE_MPOOL_DATA.FOR) Remove COMMAND_GEO_SECT from displays needing sptrg fired mask COMMAND_PER_BUNCH COMMAND_GLOBAL_MONIT COMMAND_ADC COMMAND_FOREIGN_SCALERS Rename local loop index variable CURRENT_TRG - > SPTRG_NUM Remove COMMAND_GLOBAL_MONIT from displays needing sptrg data unpacking and add sptrg fired/expos rates here (was in DERIVE_MPOOL_DATA.FOR) Rename local loop index variable GEO_SECT - > GSECT_NUM and add geosect start digitize rate here (was in DERIVE_MPOOL_DATA.FOR) Get rid of variable COUNT and replace it with AO_TERM_NUM REFSET_NUM ENTRY_NUM BUNCH_NUM SCALER_NUM Add comments to the inline functions I32TO40G... use better names for dummy variables, change name for e.g. I32TO40G -> I32TO40_G, name choice is still "weak" make comment "fix bug in TRICS" more specific (cf. 29-JUN-1992) - Create FIND_BEAMX_PERIOD_AND_HZ_FACTOR.FOR Routine to compute the (from DERIVE_MPOOL_DATA.FOR) - Modify LV1_MPOOL_FORMATTED.INC Get rid of MON_DELTA_TIME MON_DELTA_BEAM_CROSSING MON_DELTA_GLOBAL_FIRED MON_DELTA_LEVEL_0 - Modify BEAM_CROSSING_PERIOD.FOR modify banner, add note saying that the value is hardcoded. remove code forcing beam crossing to zero when DELTA_BEAM_CROSSING = 0 - Modify TRGMON_MENU.FOR Move a blank line sent to screen, from before to after the test for "Refresh rate is out of range" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 25-AUG-1994 Philippe - Modify TRGMON_DRIVER.FOR needs the full list of displays that update for automatic display logging, added: & .OR. (COMMAND .EQ. COMMAND_PER_BUNCH) & .OR. (COMMAND .EQ. COMMAND_JET_LIST) & .OR. (COMMAND .EQ. COMMAND_SPY_WINDOW) & .OR. (COMMAND .EQ. COMMAND_FOREIGN_SCALERS) before CALL DATA_LOG_CHECK (... remove unused logical FIRST; FIRST_RUN is the logical used in this file - Modify FILL_MONIT_POOL.FOR The "timeout" message was drowned in the screen now that the foreground is painted before the call(s) to fill_monit_pool remove use of PUT_STRING and FLUSH_SCREEN replaced with and PRINT * and ESC sequence to send the cursor to line 23 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 17-AUG-1994 Philippe release version with large tile counts - update the documentation TRGMON.TXT - update the file 000_TRGUSER_AT_DZERO.TXT - release in DZERO::TRGUSERROOT:[TRGMON] the version of TRGMON (v5.1) that has the large tile counts and jet lists. Update and release the following files: 000_TRGUSER_AT_DZERO.TXT RUN_TRGMON.COM TRGMON.OLB TRGMON.TXT TRGMON_MAIN.EXE - copy the following files to the subdirecotry [.JUNK] of MSU::HTRGMON: and delete the original from DZERO::TRGUSERROOT:[TRGMON] LV1_DIAGMON.FOR LV1_MPOOL_DIAGMON.INC LV1_MPOOL_XSYSMON.INC LV1_XSYSMON.FOR TRGMON_DRIVER_LINK.OPT ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 10-AUG-1994 Philippe In directory EWORK3: prepare for longer integration time upgrade - prepare new version of LV1_MPOOL_RAW.INC in section /MONIT_POOL_GENERAL/ change DELTA_TIME from INTEGER to REAL add VETO_CROSSING_COUNT (change size + propagate to other sections) in section /MONIT_POOL_SPTRG_GEOSECT/ split the SPTRGCOUNT array into SPTRG_COUNT and SPTRG_INCR also swap indices 2 and 3 to group the 5 byte scalers first use the same indices between the 2 arrays rename GEOSECTCOUNT to GEOSECT_STDGT_COUNT and GEOSECTBUSY to GEOSECT_BUSY_COUNT add GEOSECT_STDGT_INCR and GEOSECT_BUSY_INCR in section /MONIT_POOL_DB_SPY/ only update the comments about item numbers ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 9-AUG-1994 Philippe update HTRGMON: from HWORK2: - large tile update - archive existing TRGMON as MSUD01::DUA1:[ARCHIVE.TRGMON_V50] - copy files to [TRG_HOST.SOURCE_TRGMON] for large tile update AUTO_DEF_LOCAL.COM (redefine trgmon) COMPILE_TRGMON.COM (no longer share image) COMPILE_TRGMON_ALL.COM (for development only) LINK_TRGMON.COM (no longer shareable image) RUN_TRGMON.COM (new rev date and news) [.SOURCE]DRAW_CALTRIG.FOR [.SOURCE]DRAW_EXCLUDED_TOWERS.FOR [.SOURCE]DRAW_JET_LIST.FOR [.SOURCE]DRAW_REF_SET.FOR [.SOURCE]DRAW_REF_SYMMETRY_OUT.FOR [.SOURCE]DRAW_REF_SYMMETRY_VALUE.FOR [.SOURCE]DRAW_TOWER_SYMMETRY.FOR [.SOURCE]FILL_MONIT_POOL.FOR [.SOURCE]GET_MONITBLOCK.FOR [.SOURCE]PAINT_CALTRIG.FOR [.SOURCE]TRGMON_DRIVER.FOR [.SOURCE]TRGMON_MAIN.FOR [.SOURCE]TRGMON_MENU.FOR [.SOURCE]LV1_MPOOL_FORMATTED.INC [.SOURCE]LV1_MPOOL_RAW.INC [.SOURCE]LV1_MON_SCREEN_LAYOUT.PARAMS [.SOURCE]LV1_MPOOL.PARAMS - clean up from HTRGMON files for shareable image. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 24-FEB-1994 Philippe HWORK2: Fix duplicate tower in jet list display - Modify GET_MONITBLOCK.FOR Fix decoding of the one dimensional TT_Coordinate from jet list to eta, phi. The bug was reporting all eta=-1 trigger towers as positive eta. A .GT. ETA_MAX should have been a .GE., but instea change the code slightly to be a little bit clearer. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 11-FEB-1994 Philippe HWORK2: Fix excluded towers Fix jet list file recording - the excluded towers display had been broken since the large tile information was added. - Modify subroutine DRAW_EXCLUDED_TOWERS_OUT in DRAW_EXCLUDED_TOWERS.FOR, add unused argument to match DRAW_REF_SYMMETRY_OUT as this subroutine is passed as argument to DRAW_TOWER_SYMMETRY in DRAW_EXCLUDED_TOWERS.FOR. (Remember that we added the refset type to DRAW_REF_SYMMETRY_OUT) - Modify TRGMON_DRIVER.FOR Fix jet list file recording (was piling up lines from previous updates) This was actually also affecting sptrg andor term list, and all display with a variable length line, probably arrays of T/F for geo sect, comparator results, etc. Fix: remember screen background and restore into the file_copy line array. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 21-24-JAN-1994 Philippe HWORK2: Add Large Tile Information - Modify LV1_MON_SCREEN_LAYOUT.PARAMS add large tile count, compact comparator states (remove EM, HD, TOT L2), add large tile jet list to caltrig display - Modify LV1_MPOOL.PARAMS shrink energy and count thresholds to 4 comparators - Modify LV1_MPOOL_FORMATTED.INC Add records in caltrig data structure for Large Tile Jet list - Modify PAINT_CALTRIG.FOR add large tile count, compact comparator states (remove EM, HD, TOT L2), add large tile jet list to caltrig display - Modify GET_MONITBLOCK.FOR replace hardcoded list type with param in calls to jet_list_builder also fill new large tile jet list variables. - Modify DRAW_CALTRIG.FOR add one line for large tile counts, compact comparator states (remove EM L2, HD L2, TOT L2) add large tile jet list - Modify DRAW_JET_LIST.FOR add large tile jet list ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 8-SEP-1993 Philippe HWORK2: - Modify LV1_MPOOL_RAW.INC Elaborate in comments of first common block and other veriables Add LT_THRSH after TT_THRSH and add variable for transmitting block containing the 8 large tile reference sets after the trigger tower reference sets. - Modify FILL_MONIT_POOL.FOR Add the reception of a Large Tile refsets subsection after the reception of the 12 trigger tower refset subsections When disconnecting, modify request header to show the word (ReConnecting) - Modify LV1_MPOOL.PARAMS Add RS_LGTILE after RS_EM_ET, RS_HD_VETO, and RS_TOT_ET Add LT_RS_SET_MIN, LT_RS_SET_MAX like RS_SET_MIN, RS_SET_MAX Add ETA_PER_LT, PHI_PER_LT, i.e. number of trigger tower in a large tile - Modify TRGMON_MENU.FOR add Large Tile option for the menu question about reference set type add Large Tile refset number checking - Modify DRAW_REF_SET.FOR Add Special Title and messages for Large Tiles - Modify DRAW_REF_SYMMETRY_VALUE.FOR rename VALUE_EM_TOT, VALUE_HD to VALUE_1, VALUE_2 drop the use of USE_TOT in second energy value to designate TOT Et Increase HIGH_THRESH to 10,000 GeV to allow for big large tile threhsolds - Modify DRAW_REF_SYMMETRY_OUT.FOR Add argument for reference set type rename arguments EM_THRESH, HD_VETO to THRESH_1, THRESH_2 propagate change in parameter HIGH_THRESH Add Large Tile option and simplify the IF structure using new argument - Modify DRAW_TOWER_SYMMETRY.FOR update new argument in DRAW_REF_SYMMETRY_OUT.FOR and change variable names EM,HD_VALUE to VALUE_1,2 - Drop the use of shareable images - that has never been able to work without interference inside other programs - that prevents the stack dump (and debugger) to follow routine names. - Modify TRGMON_MAIN.FOR header comments to reflect abandoning shareable images ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7-SEP-1993 Philippe HWORK2, HTRGMON, D0::HTRGMON: - Modify FILL_MONIT_POOL.FOR Notice there was a bug/typo in the reception of successive refsets where the receive event was cleared twice, but not the timeout. Fixing this bug did not help recover from the hanging problem at DZero. This section of code has been removed anyway, see below. Rework the error recovery code: - add a top-layer to implement the retrial on error It used to immediately try to re-send or re-receive, now it will immediately quit, disconnect, and try again starting with reconnecting. FILL_MONIT_POOL now calls TRY_FILL_MONIT_POOL where the main code is - add a bottom-layer to implement the timeout timer on message reception. WAIT_WITH_TIMEOUT replaces ITC_WAIT_ANY. The number of retrials is now set at 5 (was 3) and the timeout period at 30s (was 60s) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30-MAR-1993 Philippe HWORK2, HTRGMON, D0::HTRGMON: - Change Label for Per Bunch Display in PAINT_PER_BUNCH.FOR LiveX * FastL0(Good) -> LiveX*L0_FastZ(Good) LiveX * L0(Single) -> LiveX*L0_SlowZ(Sgl) LiveX * L0(Sgl,Cent) -> LiveX*L0_SlowZ(Cent) - remove special copy of L1UTIL_JET_LIST_BUILDER.FOR that was ignoring jet pattern over eta=16. We now have the full coverage and can use the copy form the LEVEL1 library. - Change 68k state variable names in LV1_MPOOL_RAW.INC, change the labels in DRAW_DIAGNOSTICS.FOR (also change the names in LEVEL1_TRIGGER_DATA_BLOCK.INC even though they aren't used anywhere.) DELTA_68KSTATE_DBBBUSY DELTA_DBBBUSY Displaying Information VTC Done Vertical, Wait for Slave Ready DELTA_68KSTATE_NONE DELTA_68KSTATE_5 Waiting while VBD DMA Reads VTC Wait VBD Finish previous DMA Read DELTA_68KSTATE_RUNDMA DELTA_68KSTATE_4 Preparing Data VTC Prepare Level 1 Data DELTA_68KSTATE_RUN68K DELTA_68KSTATE_2 Waiting for free VBD Buffer VTC Wait for free VBD Buffer DELTA_68KSTATE_SEARCHVBD DELTA_68KSTATE_3 idle VTC Wait for next Event DELTA_68KSTATE_WAITSVRD DELTA_68KSTATE_1 - Copied changes and new executable to HTRGMON: and D0::HTRGMON: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2-DEC-1992 Steven, HWORK2, HTRGMON, D0::HTRGMON: - Corrected calculation of Double Buffer Full ms/event to trap occurance of divide by Zero. Modified: DRAW_DIAGNOSTICS.FOR - Copied changes and new executable to HTRGMON: and D0::HTRGMON: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4-NOV-1992 Steven, HWORK2: - Fixed source of 'event used Level 1.5' data. - Added new display 'Foreign Scalers' which gives counts and rates for selected Foreign Scalers. The desired scalers can be selected and given labels from an RCP file. TRGMON opens the logical name TRGMON_FS_RCP which RUN_TRGMON.COM defines. Created a new common block to be used in an MPOOL message returning rates for the Foreign Scalers. - Changed all 'ms/event' items in Special Diagnostics display to be calculated as per event transfered to Level 2 rather than as per Start Digitize signal. - Fixed PRTRGR_* to print all energy counts as signed quantities. - The following files were modified: RUN_TRGMON.COM TRGMON.TXT TRGMOND.SET TRGMON_DRIVER_LINK.OPT TRGMON_FS.RCP DRAW_DIAGNOSTICS.FOR DRAW_FOREIGN_SCALERS.FOR FILL_MONIT_POOL.FOR GET_MONITBLOCK.FOR LV1_MON_SCREEN.INC LV1_MON_SCREEN_LAYOUT.PARAMS LV1_MPOOL.PARAMS LV1_MPOOL_FORMATTED.INC LV1_MPOOL_RAW.INC PAINT_FOREIGN_SCALERS.FOR PRTRGR_L1_FW_AND_CT_DBLOCK.FOR READ_FOREIGN_SCALER_RCP.FOR TRGMON_DRIVER.FOR TRGMON_MENU.FOR ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1-OCT-1992 Steven, HWORK2: - Tried special linker option to produce demand-zero compression in .EXE file. Size of file went from 10762 -> 1029 (90% smaller!). Just add the following lines to linker option file: UNSUPPORTED=1 ISD_MAX=400 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 11-SEP-1992 Steven, HTRGMON: - Delete old sources and copy updated sources from HWORK2: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 10-SEP-1992 Steven, HWORK2: - Update L1UTIL_JET_LIST_BUILDER for coverage |ETA| <= 16. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 8-SEP-1992 HWORK2:, Steven - Added new scalers to Per Bunch display. - Created new utility routine L1EXTRACT_LIVEX_SCALERS, which should be placed with Level 1 code (for ZEBRA_UTIL). - Restructured symmetry code used in Reference Set display so that other new displays could use it. - Added new display Excluded Trigger Towers. - TRGMON requires several routines which are in/will be placed in ZEBRA_UTIL: L1UTIL_GET_FOREIGN_SCALERS, L1EXTRACT_LIVEX_SCALERS, L1EXTRACT_SPTRG_EXPOS_SCALERS, L1_EXTRACT_PER_BUNCH. - Changed the label 'Level 0 Rate' to 'Fast Z Good Rate' in several displays. - Updated documentation regarding new Per Bunch scalers. - The following files were created or modified: DERIVE_MPOOL_DATA.FOR DESCRIP.MMS DRAW_EXCLUDED_TOWERS.FOR DRAW_PER_BUNCH.FOR DRAW_REF_SET.FOR DRAW_REF_SYMMETRY_OUT.FOR DRAW_REF_SYMMETRY_VALUE.FOR DRAW_TOWER_SYMMETRY.FOR FILL_MONIT_POOL.FOR GET_MONITBLOCK.FOR L1EXTRACT_LIVEX_SCALERS.FOR L1_EXTRACT_PER_BUNCH.FOR LV1_MON_SCREEN.INC LV1_MON_SCREEN_LAYOUT.PARAMS LV1_MPOOL_FORMATTED.INC LV1_MPOOL_RAW.INC PAINT_CALTRIG.FOR PAINT_GLOBAL_HEADER.FOR PAINT_GLOBAL_L15.FOR PAINT_PER_BUNCH.FOR TRGMON.TXT TRGMOND.SET TRGMON_DRIVER.FOR TRGMON_MENU.FOR ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30-JUL-1992 HWORK2:, Steven - Fix BUILD_PERCENT_STRING so that it does not blow up when given numbers which will not fit in an INTEGER. - Rates Ntuple log file in development. - In Global Calorimeter Display, TOT Et and TOT L2 are now signed quantities. (GET_MONITBLOCK.FOR) - Replace variable name DELTA_L15_PASS with DELTA_L15_ACCEPT LV1_MPOOL_RAW.INC GET_MONITBLOCK.FOR ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2-JUL-1992 Steven, HWORK2: - Replace FILL_MONIT_POOL.FOR with version in HTRGMON:, as this has correctly tuned parameters. - Added running/paused-fresh/stale to Spy Window, PRTRGR, Jet List, and Andor Term displays. - Added utility routines for use in periodically writing to a log file. - Using these utility routines, added the ability to periodically write a screen dump to a log file. - Fixed bug in subtracting 40-bit numbers. GIGAS portion was not computed correctly when its value should have been -1 (lack of arithmetic shift in FORTRAN). - TRGMON made no distinction between count of Specific Trigger fired and count of Specific Trigger events transferred. Now, these two quantities are distinct and the correct one is displayed when necessary. The header of the Specific Trigger L1.5 display has an entry for 'Specific Trigger Fired' but it is assumed that this will be changed to events transferred. The number given is the nubmer of events transferred, but the label has not been changed yet. - Files modified: DATA_LOG_CHECK.FOR DRAW_ANDOR.FOR DRAW_GLOBAL_ALLOC.FOR DRAW_JET_LIST.FOR DRAW_PRTRGR_DBLOCK.FOR DRAW_SPECTRIG_L15.FOR DRAW_SPEC_TRIG.FOR DRAW_SPY_WINDOW.FOR FILL_MONIT_POOL.FOR GET_MONITBLOCK.FOR LV1_MON_SCREEN.INC LV1_MON_SCREEN_LAYOUT.PARAMS LV1_MPOOL_FORMATTED.INC MONDIV40.FOR PUT_STRING.FOR SCREEN_LOG_WRITE.FOR TRGMONOP.SET TRGMON_DRIVER.FOR TRGMON_MENU.FOR ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 29-JUN-1992 Steven, HWORK2: - TRGMON blew up when DELTA ST L15 CYCLE == 0 and DELTA ST L15 CONFIRM > 0. This condition occured because of a bug on the ELN side. Fixed so that divide by zero error won't occur. If the condition occurs again, the percentage affected will be displayed as stars. Modified GET_TRGMON.FOR. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 24-JUN-1992 Steven, HWORK2: - Replaced quantities referring to Potential L1.5 per ST with ST fired. Changed file GET_MONITBLOCK.FOR - Updated GENERAL_AND_CERNLIB.OPT because the test release of GENERAL includes new common blocks which must be declared non-shareable. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 23-JUN-1992 Steven, HWORK2: - Updated the formulas in L15_ITEMS.TXT to reflect the existence of new Level 1.5 scalers. - Updated TRGMON.TXT - Updated code to reflect changes in L15_ITEMS.TXT and TRGMON.TXT. Changed: DRAW_SPECTRIG_L15.FOR GET_MONITBLOCK.FOR PAINT_SPEC_TRIG.FOR MISC_FUNCT.FOR - Updated TRGMOND.SET and TRGMOND.MENU to reflect changes to TRGMON.TXT ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 18-JUN-1992 Steven, HWORK2: - Updated LEVEL1_TRIGGER_DATA_BLOCK.INC to reflect further changes made to D0 Note 967. Added a few more Level 1.5 scalers, moved a few Level 1.5 scalers. TRGMON does not currently access any of these scalers anyway. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 12-JUN-1992 Steven, HTRGMON, HWORK2: - Fixed yet another bug in Tower Count unpacking. Changed routine GET_MONITBLOCK. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3-JUN-1992 Steven, HTRGMON:, HWORK2: - Added a new display, Spy Window, which gives a continuous view of a portion of the Spy Dump in either Hex or Binary. - Added file DRAW_SPY_WINDOW.FOR - Modified files: GET_MONITBLOCK.FOR LV1_MON_SCREEN.INC LV1_MON_SCREEN_LAYOUT.PARAMS TRGMOND.SET TRGMON_DRIVER.FOR TRGMON_MENU.FOR ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 21-MAY-1992 Steven, HTRGMON: - Updated TRGMON.TXT - Updated help in TRGMOND.SET and TRGMOND.MENU ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 19-MAY-1992 Steven, HTRGMON: - Verified that Tower Counts unpacked correctly - Added message and pause when a Trigger Resource file cannot be found - Copied RUN_TRGMON.COM from D0:: to HTRGMON: - Added to RUN_TRGMON.COM : Define TRIGGER_RESOURCE to ONLINE:[COOR_EXEC]TRIGGER.RES if it has not already been defined. - Unpack energy sums differently. Now all are signed quantities except TOT Et, TOT L2, and MIS Pt - Changed name of Jet List display to "Simulated Jet List" - Files changed since 14-May are: DRAW_JET_LIST.FOR DRAW_GLOBAL_THRESHOLDS.FOR GET_MONITBLOCK.FOR GLOB_THRSH_AO.FOR TRGMOND.SET RUN_TRGMON.COM TRGMOND.MENU ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 15-MAY-1992 Steven, HTRGMON: - Fixed yet another bug in Tower Count unpacking. - Completed Level 1.5 displays - Reorganized GET_MONITBLOCK so that quantities 'corrected' for Level 1.5 are grouped together. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 14-MAY-1992 Steven, HTRGMON: - Fixed problem where Tower Counts were unpacked incorrectly for the Global Calorimeter Display. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 12-MAY-1992 Steven, HTRGMON: - Fixed problem in Global Threshold display where values for threshold #n were displayed under column #n-1. - Removed redundant parameters dealing with Global Threshold display - Fixed problem in Global Calorimeter display where comparators were not displayed unless the Global Threshold display was called first. - Changed LINK_TRGMON.COM to link against the library D0$CERNLIB:PACKLIB.OLB rather than NPACKLIB as NPACKLIB was removed from new official release of CERNLIB. - Fixed bug in Global Calorimeter display where count comparator lines were being built incorrectly. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30-APR-1992 Steven HWORK2: - Copied PRTRGR_*.FOR routines from OWORK2: so TRGMON is not dependent on L1SIM (at least until these routines are released). - Remove diagnostic message which was printed whenever DELTA_BEAM_CROSSING or DELTA_VETO_CROSSING is out of range. HTRGMON: - Renamed old [.SOURCE] directory [.REL_V10] - Moved changed and outdated files from HTRGMON: to [.REL_V10] LINK_TRGMON.COM RUN_TRGMON.COM TRGMON_DRIVER_LINK.OPT COMPACK_LINK.OPT - Copy source from HWORK2 into HTRGMON - Recompile, relink ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27-APR-1992 Steven, HWORK2: - Fixed bug in Per Bunch variables where variables were declared but not placed in the common block. - Fixed another bug in Per Bunch display where values were formatted incorrectly, causing overflows. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 24-APR-1992 Steven, HWORK2:, D0::HTRGMON: - ZEBRA opens a log file on FORTRAN unit 3, which has the logical file name FOR003. Because of this file, only one process may run TRGMON at a time in any directory. Modified RUN_TRGMON.COM to define logical name FOR003 to NL0:, unless FOR003 has already been defined. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 23-APR-1992 Steven, HWORK2: - Exposition and Level 0 Hz now computed using DBSC counts-to-Hz factor rather than SBSC counts-to-Hz factor. - Make Jet List, Andor, PRTRGR displays only refresh when PF1 is pressed. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 22-APR-1992 Steven, HWORK2: - Replaced LV1_MPOOL_RAW.INC with the version being used with the new MPOOL Server. Change code to retrieve new information from correct places. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 18-APR-1992 Philippe in HTRGMON - start modifying TRICS to send additional data, need to relink TRGMON at D0 for compatibility - update LV1_MPOOL_RAW.INC to expect new data - update TRGMON_DRIVER_LINK.OPT to declare new common block MONIT_POOL_PER_BUNCH noshareable - recompile, relink ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 14-APR-1992 Steven - Created routines to handle a temporary file which is repeatedly written to and read from. This is useful for displays where information is to be written to a file and then read back into the scrolling display. The file is opened STATUS='SCRATCH', which causes the file to be deleted when it is closed. In addition, the file is not closed until a different display is chosen. The file is rewound rather than closing and reopening it. Tests indicate the the file actually might never be written to the disk, as the temporary file is not listed by the DIRECTORY command. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 10-APR-1992 Steven - Added calls to L1UTIL_JET_LIST_BUILDER to build jet list for Calorimeter Display and new Jet List display. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2-APR-1992 Steven - Made modifications to FILL_MONIT_POOL to solve hanging problem - New release of ITC may have solved current hanging problem anyway. - Timeout after 5s when waiting for a message from TCC, retry 3 times, close the channel if all retrys fail. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 31-MAR-1992 Steven - Added routine BUILD_PERCENT_STRING. If the value would be rounded to 100% in the display and the value .NE. 100 +/- .00001, the string returned is '100.-'. If the value would be rounded to 0% and the value .NE. 0, the string returned is '0.-'. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 23-MAR-1992 Steven - Added mechanism to use DELTA_VETO_CROSSING when DELTA_BEAM_CROSSING is not believable. - if DELTA_TIME / DELTA_BEAM_CROSSING .NE. 3.5us +- 5% (or 5.2us+-5%), then DELTA_BEAM_CROSSING is not believable. - if DELTA_VETO_CROSSING also does not meet this criteria, no changes are made. The values of DELTA_BEAM_CROSSING is preserved. - DELTA_BEAM_CROSSING = DELTA_VETO_CROSSING if everything else is OK. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 18-MAR-1992 Steven - Found problem with Andor Rate when Data Block is stale: - When the Data Block is stale, the DELTA_BEAM_CROSSING value returned by TCC is 0. - DELTA_BEAM_CROSSING is used as input to the beam crossing period routine, rather than say DELTA_VETO_CROSSING. - The beam crossing period routine always returns period = 0 sec when it thinks no beam crossings have occured. - Hz = 0 when beam crossing period is 0 sec. Solution: Use DELTA_VETO_CROSSING to find beam crossing period when DELTA_BEAM_CROSSING = 0. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 17-MAR-1992 Steven - Created a working copy of TRGMON in HWORK2: ================================================================================ TO DO c - Use D0$PARAMS files for Data Block parameters. - Add ability to scroll one line at a time using up/down arrows. - add display over longer integration time - transfer rate vs firing rate