SUBROUTINE DRAW_REF_SYMMETRY_OUT( SIGN_ETA_BEGIN, SIGN_ETA_END, & ETA_BEGIN, ETA_END, & PHI_BEGIN, PHI_END, & TYPE, & THRESH_1, THRESH_2) C---------------------------------------------------------------------- C- C- Purpose and Methods : Write a line of the Reference Set. C- C- Inputs : SIGN_ETA_BEGIN \ C- SIGN_ETA_END | C- ETA_BEGIN | The range of symmetry. C- ETA_END | C- PHI_BEGIN | C- PHI_END / C- TYPE The ref set type (RS_EM_ET, RS_TOT_ET, or RS_LGTILE) C- THRESH_1 The EM, TOT or Large Tile Threshold C- THRESH_2 The HD Veto (OR 0) C- C- Outputs : none C- Controls: none C- C- Created 1-SEP-1992 Philippe Laurens, Steven Klocek C- Updated 3-SEP-1993 Philippe Laurens - MSU L1 Trigger C- Add argument TYPE (get rid of USE_TOT on VALUE_2) C- Add large tiles C- remove unused parameters MAX_VALID_* C- C---------------------------------------------------------------------- IMPLICIT NONE C INCLUDE 'LV1_MPOOL.PARAMS' INCLUDE 'LV1_MPOOL_DERIVED.INC' INCLUDE 'LV1_MON_SCREEN.INC' INCLUDE 'LV1_MON_SCREEN_LAYOUT.PARAMS' INCLUDE 'LV1_MPOOL_RAW.INC' C INTEGER SIGN_ETA_BEGIN, SIGN_ETA_END INTEGER ETA_BEGIN, ETA_END INTEGER PHI_BEGIN, PHI_END INTEGER TYPE INTEGER THRESH_1, THRESH_2 C CHARACTER*78 BUFFER C INTEGER LAST_SIGN, LAST_ETA, LAST_PHI SAVE LAST_SIGN, LAST_ETA, LAST_PHI DATA LAST_SIGN / -1000 /, LAST_ETA / -1000 /, LAST_PHI / -1000 / C LOGICAL DO_SIGN, DO_ETA, DO_PHI INTEGER ISTAT INTEGER TRULEN C INTEGER HIGH_THRESH PARAMETER (HIGH_THRESH = 10000 * 1000) C DO_SIGN = .FALSE. DO_ETA = .FALSE. DO_PHI = .FALSE. IF (SIGN_ETA_BEGIN .NE. LAST_SIGN) THEN DO_SIGN = .TRUE. DO_ETA = .TRUE. DO_PHI = .TRUE. C ELSE IF (ETA_BEGIN .NE. LAST_ETA) THEN DO_ETA = .TRUE. DO_PHI = .TRUE. C ELSE IF (PHI_BEGIN .NE. LAST_PHI) THEN DO_PHI = .TRUE. C ELSE CALL PUT_STRING(PS_LIST,0, & '***WARNING*** Draw Ref Symmetry called with same range!') ENDIF C IF (DO_SIGN .EQV. .TRUE.) THEN IF (SIGN_ETA_BEGIN .NE. SIGN_ETA_END) THEN CALL PUT_STRING(PS_LIST,0, 'eta_sign positive and negative') ELSE IF (SIGN_ETA_BEGIN .EQ. RS_SIGN_PLUS) THEN CALL PUT_STRING(PS_LIST,0, 'eta_sign positive') ELSE CALL PUT_STRING(PS_LIST,0, 'eta_sign negative') ENDIF ENDIF C IF (DO_ETA .EQV. .TRUE.) THEN BUFFER = ' eta_magnitude' IF (ETA_BEGIN .EQ. ETA_END) THEN CALL INTTOSTR(ETA_BEGIN, BUFFER(17:18), 1) ELSE CALL INTTOSTR(ETA_BEGIN, BUFFER(17:18), 1) BUFFER(20:21) = 'to' CALL INTTOSTR(ETA_END, BUFFER(23:24), 1) ENDIF CALL PUT_STRING(PS_LIST, 0, BUFFER(1:24)) ENDIF C IF (DO_PHI .EQV. .TRUE.) THEN BUFFER = ' phi' IF (PHI_BEGIN .EQ. PHI_END) THEN CALL INTTOSTR(PHI_END, BUFFER(9:10), 1) ELSE BUFFER = ' phi' CALL INTTOSTR(PHI_BEGIN, BUFFER(9:10), 1) BUFFER(12:13) = 'to' CALL INTTOSTR(PHI_END, BUFFER(15:16), 1) ENDIF CALL PUT_STRING(PS_LIST,0, BUFFER(1:16)) ENDIF C C C Write out the thresholds C 1000 FORMAT(' EM Et Threshold = .GE.', F8.2, & ' GeV HD Et Veto = .LT. ', F8.2, ' GeV') 2000 FORMAT(' EM Et Threshold = .GE.', F8.2, & ' GeV HD Et Veto = None') 3000 FORMAT(' TOT Threshold = .GE.', F8.2, ' GeV') 4000 FORMAT(' Large Tile Threshold = .GE.', F8.2, ' GeV') 5000 FORMAT(' No Contribution') C IF (THRESH_1 .NE. HIGH_THRESH) THEN IF (TYPE .EQ. RS_EM_ET) THEN IF (THRESH_2 .EQ. HIGH_THRESH) THEN WRITE (BUFFER,2000, IOSTAT=ISTAT) FLOAT(THRESH_1) / 1000.0 ELSE WRITE (BUFFER,1000, IOSTAT=ISTAT) FLOAT(THRESH_1) / 1000.0, & FLOAT(THRESH_2) / 1000.0 ENDIF C ELSE IF (TYPE .EQ. RS_TOT_ET) THEN WRITE (BUFFER,3000, IOSTAT=ISTAT) FLOAT(THRESH_1) / 1000.0 C ELSE IF (TYPE .EQ. RS_LGTILE) THEN WRITE (BUFFER,4000, IOSTAT=ISTAT) FLOAT(THRESH_1) / 1000.0 C ENDIF C ELSE WRITE(BUFFER,5000,IOSTAT=ISTAT) ENDIF CALL PUT_STRING(PS_LIST, 0, BUFFER(1:TRULEN(BUFFER))) CALL PUT_STRING(PS_LIST, 0, ' ') C C Record range values for next call C LAST_SIGN = SIGN_ETA_BEGIN LAST_ETA = ETA_BEGIN LAST_PHI = PHI_BEGIN C---------------------------------------------------------------------- 999 RETURN C C C ENTRY DRAW_REF_SYMMETRY_INIT C---------------------------------------------------------------------- LAST_SIGN = -1000 LAST_ETA = -1000 LAST_PHI = -1000 C---------------------------------------------------------------------- RETURN END