COSMOS v7.655  COSMOSv7655
(AirShowerMC)
mnprin.f
Go to the documentation of this file.
1 *
2 * $Id: mnprin.F,v 1.1.1.1 1996/03/07 14:31:31 mclareni Exp $
3 *
4 * $Log: mnprin.F,v $
5 * Revision 1.1.1.1 1996/03/07 14:31:31 mclareni
6 * Minuit
7 *
8 *
9  SUBROUTINE mnprin (INKODE,FVAL)
10 *
11 * $Id: d506dp.inc,v 1.1.1.1 1996/03/07 14:31:32 mclareni Exp $
12 *
13 * $Log: d506dp.inc,v $
14 * Revision 1.1.1.1 1996/03/07 14:31:32 mclareni
15 * Minuit
16 *
17 *
18 *
19 *
20 * d506dp.inc
21 *
22 C ************ DOUBLE PRECISION VERSION *************
23  IMPLICIT DOUBLE PRECISION (a-h,o-z)
24 CC Prints the values of the parameters at the time of the call.
25 CC also prints other relevant information such as function value,
26 CC estimated distance to minimum, parameter errors, step sizes.
27 CC
28 C According to the value of IKODE, the printout is:
29 C IKODE=INKODE= 0 only info about function value
30 C 1 parameter values, errors, limits
31 C 2 values, errors, step sizes, internal values
32 C 3 values, errors, step sizes, first derivs.
33 C 4 values, parabolic errors, MINOS errors
34 C when INKODE=5, MNPRIN chooses IKODE=1,2, or 3, according to ISW(2)
35 C
36 *
37 * $Id: d506cm.inc,v 1.1.1.1 1996/03/07 14:31:32 mclareni Exp $
38 *
39 * $Log: d506cm.inc,v $
40 * Revision 1.1.1.1 1996/03/07 14:31:32 mclareni
41 * Minuit
42 *
43 *
44 *
45 *
46 * d506cm.inc
47 *
48  parameter(mne=100 , mni=50)
49  parameter(mnihl=mni*(mni+1)/2)
50  CHARACTER*10 CPNAM
51  COMMON
52  1/mn7nam/ cpnam(mne)
53  2/mn7ext/ u(mne) ,alim(mne) ,blim(mne)
54  3/mn7err/ erp(mni) ,ern(mni) ,werr(mni) ,globcc(mni)
55  4/mn7inx/ nvarl(mne) ,niofex(mne),nexofi(mni)
56  5/mn7int/ x(mni) ,xt(mni) ,dirin(mni)
57  6/mn7fx2/ xs(mni) ,xts(mni) ,dirins(mni)
58  7/mn7der/ grd(mni) ,g2(mni) ,gstep(mni) ,gin(mne) ,dgrd(mni)
59  8/mn7fx3/ grds(mni) ,g2s(mni) ,gsteps(mni)
60  9/mn7fx1/ ipfix(mni) ,npfix
61  a/mn7var/ vhmat(mnihl)
62  b/mn7vat/ vthmat(mnihl)
63  c/mn7sim/ p(mni,mni+1),pstar(mni),pstst(mni) ,pbar(mni),prho(mni)
64 C
65  parameter(maxdbg=10, maxstk=10, maxcwd=20, maxp=30, maxcpt=101)
66  parameter(zero=0.0, one=1.0, half=0.5)
67  COMMON
68  d/mn7npr/ maxint ,npar ,maxext ,nu
69  e/mn7iou/ isysrd ,isyswr ,isyssa ,npagwd ,npagln ,newpag
70  e/mn7io2/ istkrd(maxstk) ,nstkrd ,istkwr(maxstk) ,nstkwr
71  f/mn7tit/ cfrom ,cstatu ,ctitl ,cword ,cundef ,cvrsn ,covmes
72  g/mn7flg/ isw(7) ,idbg(0:maxdbg) ,nblock ,icomnd
73  h/mn7min/ amin ,up ,edm ,fval3 ,epsi ,apsi ,dcovar
74  i/mn7cnv/ nfcn ,nfcnmx ,nfcnlc ,nfcnfr ,itaur,istrat,nwrmes(2)
75  j/mn7arg/ word7(maxp)
76  k/mn7log/ lwarn ,lrepor ,limset ,lnolim ,lnewmn ,lphead
77  l/mn7cns/ epsmac ,epsma2 ,vlimlo ,vlimhi ,undefi ,bigedm,updflt
78  m/mn7rpt/ xpt(maxcpt) ,ypt(maxcpt)
79  n/mn7cpt/ chpt(maxcpt)
80  o/mn7xcr/ xmidcr ,ymidcr ,xdircr ,ydircr ,ke1cr ,ke2cr
81  CHARACTER CTITL*50, CWORD*(maxcwd), CUNDEF*10, CFROM*8,
82  + cvrsn*6, covmes(0:3)*22, cstatu*10, chpt*1
83  LOGICAL LWARN, LREPOR, LIMSET, LNOLIM, LNEWMN, LPHEAD
84 C
85  CHARACTER*14 COLHDU(6),COLHDL(6), CX2,CX3,CGETX
86  CHARACTER*11 CNAMBF, CBLANK
87  CHARACTER CHEDM*10, CHEVAL*15
88  parameter(cgetx='PLEASE GET X..')
89  DATA cblank/' '/
90 C
91  IF (nu .EQ. 0) THEN
92  WRITE (isyswr,'(A)') ' THERE ARE CURRENTLY NO PARAMETERS DEFINED'
93  GO TO 700
94  ENDIF
95 C get value of IKODE based in INKODE, ISW(2)
96  ikode = inkode
97  IF (inkode .EQ. 5) THEN
98  ikode = isw(2)+1
99  IF (ikode .GT. 3) ikode=3
100  ENDIF
101 C set 'default' column headings
102  DO 5 k= 1, 6
103  colhdu(k) = 'UNDEFINED'
104  5 colhdl(k) = 'COLUMN HEAD'
105 C print title if Minos errors, and title exists.
106  IF (ikode.EQ.4 .AND. ctitl.NE.cundef)
107  + WRITE (isyswr,'(/A,A)') ' MINUIT TASK: ',ctitl
108 C report function value and status
109  IF (fval .EQ. undefi) THEN
110  cheval = ' unknown '
111  ELSE
112  WRITE (cheval,'(G15.7)') fval
113  ENDIF
114  IF (edm .EQ. bigedm) THEN
115  chedm = ' unknown '
116  ELSE
117  WRITE (chedm, '(E10.2)') edm
118  ENDIF
119  nc = nfcn-nfcnfr
120  WRITE (isyswr,905) cheval,cfrom,cstatu,nc,nfcn
121  905 FORMAT (/' FCN=',a,' FROM ',a8,' STATUS=',a10,i6,' CALLS',
122  + i9,' TOTAL')
123  m = isw(2)
124  IF (m.EQ.0 .OR. m.EQ.2 .OR. dcovar.EQ.zero) THEN
125  WRITE (isyswr,907) chedm,istrat,covmes(m)
126  907 FORMAT (21x,'EDM=',a,' STRATEGY=',i2,6x,a)
127  ELSE
128  dcmax = 1.
129  dc = min(dcovar,dcmax) * 100.
130  WRITE (isyswr,908) chedm,istrat,dc
131  908 FORMAT (21x,'EDM=',a,' STRATEGY=',i1,' ERROR MATRIX',
132  + ' UNCERTAINTY=',f5.1,'%')
133  ENDIF
134 C
135  IF (ikode .EQ. 0) GO TO 700
136 C find longest name (for Rene!)
137  ntrail = 10
138  DO 20 i= 1, nu
139  IF (nvarl(i) .LT. 0) GO TO 20
140  DO 15 ic= 10,1,-1
141  IF (cpnam(i)(ic:ic) .NE. ' ') GO TO 16
142  15 CONTINUE
143  ic = 1
144  16 lbl = 10-ic
145  IF (lbl .LT. ntrail) ntrail=lbl
146  20 CONTINUE
147  nadd = ntrail/2 + 1
148  IF (ikode .EQ. 1) THEN
149  colhdu(1) = ' '
150  colhdl(1) = ' ERROR '
151  colhdu(2) = ' PHYSICAL'
152  colhdu(3) = ' LIMITS '
153  colhdl(2) = ' NEGATIVE '
154  colhdl(3) = ' POSITIVE '
155  ENDIF
156  IF (ikode .EQ. 2) THEN
157  colhdu(1) = ' '
158  colhdl(1) = ' ERROR '
159  colhdu(2) = ' INTERNAL '
160  colhdl(2) = ' STEP SIZE '
161  colhdu(3) = ' INTERNAL '
162  colhdl(3) = ' VALUE '
163  ENDIF
164  IF (ikode .EQ. 3) THEN
165  colhdu(1) = ' '
166  colhdl(1) = ' ERROR '
167  colhdu(2) = ' STEP '
168  colhdl(2) = ' SIZE '
169  colhdu(3) = ' FIRST '
170  colhdl(3) = ' DERIVATIVE '
171  ENDIF
172  IF (ikode .EQ. 4) THEN
173  colhdu(1) = ' PARABOLIC '
174  colhdl(1) = ' ERROR '
175  colhdu(2) = ' MINOS '
176  colhdu(3) = 'ERRORS '
177  colhdl(2) = ' NEGATIVE '
178  colhdl(3) = ' POSITIVE '
179  ENDIF
180 C
181  IF (ikode .NE. 4) THEN
182  IF (isw(2) .LT. 3) colhdu(1)=' APPROXIMATE '
183  IF (isw(2) .LT. 1) colhdu(1)=' CURRENT GUESS'
184  ENDIF
185  ncol = 3
186  WRITE (isyswr, 910) (colhdu(kk),kk=1,ncol)
187  WRITE (isyswr, 911) (colhdl(kk),kk=1,ncol)
188  910 FORMAT (/' EXT PARAMETER ', 13x ,6a14)
189  911 FORMAT ( ' NO. NAME ',' VALUE ',6a14)
190 C
191 C . . . loop over parameters . .
192  DO 200 i= 1, nu
193  IF (nvarl(i) .LT. 0) GO TO 200
194  l = niofex(i)
195  cnambf = cblank(1:nadd)//cpnam(i)
196  IF (l .EQ. 0) GO TO 55
197 C variable parameter.
198  x1 = werr(l)
199  cx2 = cgetx
200  cx3 = cgetx
201  IF (ikode .EQ. 1) THEN
202  IF (nvarl(i) .LE. 1) THEN
203  WRITE (isyswr, 952) i,cnambf,u(i),x1
204  GO TO 200
205  ELSE
206  x2 = alim(i)
207  x3 = blim(i)
208  ENDIF
209  ENDIF
210  IF (ikode .EQ. 2) THEN
211  x2 = dirin(l)
212  x3 = x(l)
213  ENDIF
214  IF (ikode .EQ. 3) THEN
215  x2 = dirin(l)
216  x3 = grd(l)
217  IF (nvarl(i).GT.1 .AND. abs(cos(x(l))) .LT. 0.001)
218  + cx3 = '** at limit **'
219  ENDIF
220  IF (ikode .EQ. 4) THEN
221  x2 = ern(l)
222  IF (x2.EQ.zero) cx2=' '
223  IF (x2.EQ.undefi) cx2=' at limit '
224  x3 = erp(l)
225  IF (x3.EQ.zero) cx3=' '
226  IF (x3.EQ.undefi) cx3=' at limit '
227  ENDIF
228  IF (cx2.EQ.cgetx) WRITE (cx2,'(G14.5)') x2
229  IF (cx3.EQ.cgetx) WRITE (cx3,'(G14.5)') x3
230  WRITE (isyswr,952) i,cnambf,u(i),x1,cx2,cx3
231  952 FORMAT (i4,1x,a11,2g14.5,2a)
232 C check if parameter is at limit
233  IF (nvarl(i) .LE. 1 .OR. ikode .EQ. 3) GO TO 200
234  IF (abs(cos(x(l))) .LT. 0.001) WRITE (isyswr,1004)
235  1004 FORMAT (1h ,32x,42hwarning - - above PARAMETER is at limit.)
236  GO TO 200
237 C
238 C print constant or fixed parameter.
239  55 CONTINUE
240  colhdu(1) = ' constant '
241  IF (nvarl(i).GT.0) colhdu(1) = ' fixed '
242  IF (nvarl(i).EQ.4 .AND. ikode.EQ.1) THEN
243  WRITE (isyswr,'(I4,1X,A11,G14.5,A,2G14.5)')
244  + i,cnambf,u(i),colhdu(1),alim(i),blim(i)
245  ELSE
246  WRITE (isyswr,'(I4,1X,A11,G14.5,A)') i,cnambf,u(i),colhdu(1)
247  ENDIF
248  200 CONTINUE
249 C
250  IF (up.NE.updflt) WRITE (isyswr,'(31X,A,G10.3)') 'ERR DEF=',up
251  700 CONTINUE
252  RETURN
253  END
integer npitbl real *nx parameter(n=101, npitbl=46, nx=n-1) real *8 uconst
nodes z
block data include Zlatfit h c fitting region data x1(1)/0.03/
block data include Zlatfit h c fitting region data data data data data d0 data data d0 data data h g *is for param c g data up(2, 1)/7.0d0/
dE dx *! Nuc Int sampling table e
Definition: cblkMuInt.h:130
nodes i
! for length to thickness conversion or v v ! integer maxnodes real Hinf ! This is used when making table for dim simulation ! The slant length for vertical height to km is ! divided by LenStep m steps ! It can cover the slant length of about km for cos
Definition: Zatmos.h:8
subroutine mnprin(INKODE, FVAL)
Definition: mnprin.f:10
! constants thru Cosmos real ! if multiplied to deg radian Torad ! light velocity m sec ! infinty ! kg m2 *Togpcm2 g cm2 ! g cm2 *Tokgpm2 kg m2 ! cm *Tom m ! m *Tocm cm ! g cm3 *Tokgpm3 kg m3 ! kg m3 *Togpcm3 g cm3 ! sec *Tonsec nsec ! Tesla m ! Avogadro *A2deninv ! mfp *n * xs
Definition: Zglobalc.h:18
********************block data cblkHeavy ********************integer j data *HeavyG2symbol p
Definition: cblkHeavy.h:7
********************block data cblkHeavy ********************integer j data *HeavyG2symbol *data *HeavyG2code kiron data j
Definition: cblkHeavy.h:36
struct ob o[NpMax]
Definition: Zprivate.h:34
dE dx *! Nuc Int sampling table d
Definition: cblkMuInt.h:130
nodes a
dE dx *! Nuc Int sampling table b
Definition: cblkMuInt.h:130
block data include Zlatfit h c fitting region data data data data data d0 data data d0 data data m
Definition: ZlatfitBD.h:35
dE dx *! Nuc Int sampling table h
Definition: cblkMuInt.h:130
dE dx *! Nuc Int sampling table g
Definition: cblkMuInt.h:130
!onst int maxp
Definition: Zprivate.h:3
real cut integer nc
Definition: Zprivate.h:1
block data include Zlatfit h c fitting region data x2(1)/0.5/data x1(2)/0.3/
integer n
Definition: Zcinippxc.h:1
block data cblkIncident data *Za1ry is
Definition: cblkIncident.h:5
integer, parameter half
Definition: csoftenPiK.f:108
! structure defining a particle at production ! Basic idea of what is to be contained in ! the particle structue is that dynamical ones should be included those derivable from the particle code ! is not included ******************************************************type fmom momentum sequence union map real e endmap map real * x
Definition: Zptcl.h:21
dE dx *! Nuc Int sampling table f
Definition: cblkMuInt.h:130
dE dx *! Nuc Int sampling table c
Definition: cblkMuInt.h:130