* * $Id: lmprin.F,v 1.1.1.1 1996/03/08 17:40:16 mclareni Exp $ * * $Log: lmprin.F,v $ * Revision 1.1.1.1 1996/03/08 17:40:16 mclareni * Lepto63 * * C ********************************************************************** SUBROUTINE LMPRIN (IKODE,FVAL) C...This is the MINUIT routine MPRINT. CC PRINTS THE VALUES OF THE PARAMETERS AT THE TIME OF THE CALL. CC ALSO PRINTS OTHER RELEVANT INFORMATION SUCH AS FUNCTION VALUE, CC ESTIMATED DISTANCE TO MINIMUM, PARAMETER ERRORS, STEP SIZES. CC ACCORDING TO THE VALUE OF IKODE,THE PRINTOUT IS LONG FORMAT, CC SHORT FORMAT, OR MINOS FORMAT (0,1,2) CC COMMON 1/LMMINE/ ERP(30) ,ERN(30) 2/LMPARI/ X(15) ,XT(15) ,DIRIN(15) ,MAXINT ,NPAR 3/LMPARE/ U(30) ,WERR(30) ,MAXEXT ,NU 4/LMLIMI/ ALIM(30) ,BLIM(30) ,LCODE(30) ,LCORSP(30) ,LIMSET 5/LMVARI/ V(15,15) 7/LMFIX / IPFIX(15),XS(15) ,XTS(15) ,DIRINS(15) ,NPFIX 7/LMFIX2/ GRDS(15) ,G2S(15) ,GSTEPS(15),ABERFS(15) C/LMCASC/ Y(16) ,JH ,JL F/LMDERI/ GIN(30) ,GRD(15) ,G2(15) ,GSTEP(15) ,ABERF(15) G/LMSIMV/ P(15,16) ,PSTAR(15),PSTST(15) ,PBAR(15) ,PRHO(15) J/LMVART/ VT(15,15) COMMON 6/LMUNIT/ ISYSRD ,ISYSWR ,ISYSPU 8/LMTITL/ TITLE(13),DATE(2) ,ISW(7) ,NBLOCK 9/LMCONV/ EPSI ,APSI ,VTEST ,NSTEPQ ,NFCN ,NFCNMX A/LMCARD/ CWORD ,CWORD2 ,CWORD3 ,WORD7(7) B/LMMINI/ AMIN ,UP ,NEWMIN ,ITAUR ,SIGMA,EPSMAC COMMON /LMINUC/ NAMKIN(4),NAM(30) COMMON /LPFLAG/ LST3 CHARACTER*10 NAMKIN,NAM C . GET TIME AND PRINT HEADINGS . CALL LTIMEX(TI) IF(LST3.GE.5) WRITE (ISYSWR,1000) E = SIGMA KOUNT = 0 C . . . LOOP OVER PARAMETERS . . DO 200 I= 1, NU IF(NAM(I).EQ.' ') GOTO 200 20 L = LCORSP(I) IF (L .EQ. 0) GO TO 55 C VARIABLE PARAMETER. CALCULATE EXTERNAL ERROR IF V EXISTS IF (ISW(2) .LT. 1) GO TO 27 DX = SQRT(ABS(V(L,L)*UP)) IF (LCODE(I) .LE. 1) GO TO 26 AL = ALIM(I) BA = BLIM(I) - AL DU1 = AL + 0.5 *(SIN(X(L)+DX) +1.0) * BA - U(I) DU2 = AL + 0.5 *(SIN(X(L)-DX) +1.0) * BA - U(I) IF (DX .GT. 1.0) DU1 = BA DX = 0.5 * (ABS(DU1) + ABS(DU2)) 26 WERR(I) = DX 27 X1 = X(L) X2 = DIRIN(L) IF (IKODE .LT. 2) GO TO 29 X1 = ERP(I) X2 = ERN(I) 29 IF (KOUNT) 30,30,40 30 KOUNT = 1 IF(LST3.GE.5) &WRITE (ISYSWR,1001) FVAL,NFCN,TI,E, L,I,NAM(I),U(I),WERR(I),X1,X2 GO TO 45 40 IF(LST3.GE.5) WRITE (ISYSWR,1002) L,I,NAM(I),U(I),WERR(I),X1,X2 45 IF (LCODE(I) .LE. 1) GO TO 200 IF(LST3.GE.1.AND. ABS(COS(X(L))) .LT. 0.001) WRITE (ISYSWR,1004) GO TO 200 C FIXED PARAMETER. PRINT ONLY IF IKODE .GT.0 55 IF (IKODE .EQ. 0) GO TO 200 IF (KOUNT) 60,60,70 60 KOUNT = 1 IF(LST3.GE.5) WRITE (ISYSWR,1001) FVAL,NFCN,TI,E, L,I,NAM(I),U(I) GO TO 200 70 IF(LST3.GE.5) WRITE (ISYSWR,1003) I,NAM(I),U(I) 200 CONTINUE IF(LST3.GE.5.AND. &IKODE.GE.1 .AND.ISW(2).GE.1) WRITE (ISYSWR,1005) UP RETURN 1000 FORMAT(/ 4X,'FCN VALUE',5X,'CALLS',4X,'TIME',4X,' EDM ',4X , +'INT.EXT. PARAMETER VALUE ERROR INTERN.VALUE ', +'INT.STEP SIZE') 1001 FORMAT(E15.7,I7,F9.2,E11.2,I6,I4,1X,A10,4E14.5) 1002 FORMAT(1H ,41X,I6,I4,1X,A10,4E14.5) 1003 FORMAT(1H ,47X ,I4,1X,A10,4E14.5) 1004 FORMAT(1H ,52X ,'WARNING - - ABOVE PARAMETER IS AT LIMIT.') 1005 FORMAT(/45X,'ERRORS CORRESPOND TO FUNCTION CHANGE OF ',E12.4) END