*-- Author : Stephen Burke 07/05/92 SUBROUTINE FVTEXT *-----------------------------------------Updates 21/09/93------- **: FVTEXT.......SB. Turn off momentum cuts for zero field. *-----------------------------------------Updates 30/10/92------- **: FVTEXT.......SB. Separate cuts on # of planar/radial hits. **: FVTEXT.......SB. FVRP steering bank format changed. *-----------------------------------------Updates 06/05/92------- **: FVTEXT.......SB. New steering banks FVRS and FVRP from db: *!: FVRP .......SB. New steering bank for forward z-vertex fit. *!: FVRS .......SB. New steering bank for forward z-vertex fit. **: FVTEXT.......SB. New deck to read z-vertex fit steering banks. *-----------------------------------------Updates---------------- ********************************************************************** * * * Read parameters from steering banks * * * ********************************************************************** DIMENSION R(3),B(3) *KEEP,FVSTEE. LOGICAL LTRUTH,LCUT,LRESID COMMON /FVSTEE/ IDIAG,LUN,LUNHB,LTRUTH,LCUT,LRESID *KEEP,FVPAR. DOUBLE PRECISION ZWALL1,ZWALL2,RADLEN COMMON /FVPAR/ ZWALL1,ZWALL2,RADLEN,MINHTP,MINHTR,ZSQMAX &, PMIN,DCAMAX,Z0MAX,CHIMAX *KEEP,BCS. INTEGER NHROW,NHCOL,NHLEN PARAMETER (NHROW = 2, NHCOL = 1, NHLEN=2) INTEGER NBOSIW PARAMETER (NBOSIW=1000000) INTEGER IW(NBOSIW) REAL RW(NBOSIW) COMMON /BCS/ IW EQUIVALENCE (RW(1),IW(1)) SAVE /BCS/ *KEND. ********************************************************************** * Get the steering bank CALL UGTBNK('FVRS',INDS) IF (INDS.GT.0) THEN IVERS = IW(INDS+1) IF (IVERS.NE.6592) THEN INDS = 0 CALL ERRLOG(551,'F:FVTEXT: Wrong version of bank FVRS;'// & ' defaults used') ENDIF ELSE CALL ERRLOG(552,'W:FVTEXT: Bank FVRS not found;'// & ' defaults used') ENDIF IF (INDS.LE.0) THEN LUN = 6 IDIAG = 0 LUNHB = 0 ELSE LUN = IW(INDS+2) IDIAG = IW(INDS+3) LUNHB = IW(INDS+4) ENDIF * Decode the histogram steering LTRUTH = MOD(IDIAG,10).NE.0 IF (MOD(IDIAG/100,10).GT.0 .AND. LTRUTH) THEN LRESID = .TRUE. ELSE LRESID = .FALSE. ENDIF IF (MOD(IDIAG/10,10).GT.0) THEN LCUT = .TRUE. ELSE LCUT = .FALSE. ENDIF * Get the parameter bank CALL UGTBNK('FVRP',INDP) IF (INDP.GT.0) THEN IVERS = IW(INDP+1) IF (IVERS.NE.301092) THEN INDP = 0 CALL ERRLOG(553,'F:FVTEXT: Wrong version of bank FVRP;'// & ' defaults used') ENDIF ELSE CALL ERRLOG(554,'W:FVTEXT: Bank FVRP not found;'// & ' defaults used') ENDIF IF (INDP.LE.0) THEN ZWALL1 = 108.0 ZWALL2 = 123.6 RADLEN = 43.9 MINHTP = 9 MINHTR = 6 ZSQMAX = 100.*100. PMIN = 1.0 DCAMAX = 10. Z0MAX = 50. CHIMAX = 10. ELSE ZWALL1 = RW(INDP+2) ZWALL2 = RW(INDP+3) RADLEN = RW(INDP+4) MINHTP = IW(INDP+5) MINHTR = IW(INDP+6) ZSQMAX = RW(INDP+7) PMIN = RW(INDP+8) DCAMAX = RW(INDP+9) Z0MAX = RW(INDP+10) CHIMAX = RW(INDP+11) ENDIF * Don't cut on momentum if field is too small CALL VZERO(R,3) CALL GUFLD(R,B) IF (ABS(B(3)).LT.1.0) PMIN = -1.0 * Check print flag IF (IW(6).LE.0) RETURN WRITE(LUN,*) WRITE(LUN,*) WRITE(LUN,*) ' *** FVFIT steering parameters ***' WRITE(LUN,*) WRITE(LUN,*) WRITE(LUN,1001) MINHTP WRITE(LUN,1002) MINHTR WRITE(LUN,1003) ZSQMAX WRITE(LUN,1004) PMIN WRITE(LUN,1005) DCAMAX WRITE(LUN,1006) Z0MAX WRITE(LUN,1007) CHIMAX 1001 FORMAT(' Minimum number of planar hits:',I4) 1002 FORMAT(' Minimum number of radial hits:',I4) 1003 FORMAT(' Maximum initial z0 squared: ',F8.1) 1004 FORMAT(' Minimum momentum: ',F5.2) 1005 FORMAT(' Maximum dca: ',F6.1) 1006 FORMAT(' Maximum z0: ',F6.1) 1007 FORMAT(' Maximum chi-squared: ',F6.1//) RETURN END *