COSMOS v7.655  COSMOSv7655
(AirShowerMC)
mnfixp.f
Go to the documentation of this file.
1 *
2 * $Id: mnfixp.F,v 1.1.1.1 1996/03/07 14:31:29 mclareni Exp $
3 *
4 * $Log: mnfixp.F,v $
5 * Revision 1.1.1.1 1996/03/07 14:31:29 mclareni
6 * Minuit
7 *
8 *
9  SUBROUTINE mnfixp(IINT,IERR)
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 removes parameter IINT from the internal (variable) parameter
25 CC list, and arranges the rest of the list to fill the hole.
26 CC
27 *
28 * $Id: d506cm.inc,v 1.1.1.1 1996/03/07 14:31:32 mclareni Exp $
29 *
30 * $Log: d506cm.inc,v $
31 * Revision 1.1.1.1 1996/03/07 14:31:32 mclareni
32 * Minuit
33 *
34 *
35 *
36 *
37 * d506cm.inc
38 *
39  parameter(mne=100 , mni=50)
40  parameter(mnihl=mni*(mni+1)/2)
41  CHARACTER*10 CPNAM
42  COMMON
43  1/mn7nam/ cpnam(mne)
44  2/mn7ext/ u(mne) ,alim(mne) ,blim(mne)
45  3/mn7err/ erp(mni) ,ern(mni) ,werr(mni) ,globcc(mni)
46  4/mn7inx/ nvarl(mne) ,niofex(mne),nexofi(mni)
47  5/mn7int/ x(mni) ,xt(mni) ,dirin(mni)
48  6/mn7fx2/ xs(mni) ,xts(mni) ,dirins(mni)
49  7/mn7der/ grd(mni) ,g2(mni) ,gstep(mni) ,gin(mne) ,dgrd(mni)
50  8/mn7fx3/ grds(mni) ,g2s(mni) ,gsteps(mni)
51  9/mn7fx1/ ipfix(mni) ,npfix
52  a/mn7var/ vhmat(mnihl)
53  b/mn7vat/ vthmat(mnihl)
54  c/mn7sim/ p(mni,mni+1),pstar(mni),pstst(mni) ,pbar(mni),prho(mni)
55 C
56  parameter(maxdbg=10, maxstk=10, maxcwd=20, maxp=30, maxcpt=101)
57  parameter(zero=0.0, one=1.0, half=0.5)
58  COMMON
59  d/mn7npr/ maxint ,npar ,maxext ,nu
60  e/mn7iou/ isysrd ,isyswr ,isyssa ,npagwd ,npagln ,newpag
61  e/mn7io2/ istkrd(maxstk) ,nstkrd ,istkwr(maxstk) ,nstkwr
62  f/mn7tit/ cfrom ,cstatu ,ctitl ,cword ,cundef ,cvrsn ,covmes
63  g/mn7flg/ isw(7) ,idbg(0:maxdbg) ,nblock ,icomnd
64  h/mn7min/ amin ,up ,edm ,fval3 ,epsi ,apsi ,dcovar
65  i/mn7cnv/ nfcn ,nfcnmx ,nfcnlc ,nfcnfr ,itaur,istrat,nwrmes(2)
66  j/mn7arg/ word7(maxp)
67  k/mn7log/ lwarn ,lrepor ,limset ,lnolim ,lnewmn ,lphead
68  l/mn7cns/ epsmac ,epsma2 ,vlimlo ,vlimhi ,undefi ,bigedm,updflt
69  m/mn7rpt/ xpt(maxcpt) ,ypt(maxcpt)
70  n/mn7cpt/ chpt(maxcpt)
71  o/mn7xcr/ xmidcr ,ymidcr ,xdircr ,ydircr ,ke1cr ,ke2cr
72  CHARACTER CTITL*50, CWORD*(maxcwd), CUNDEF*10, CFROM*8,
73  + cvrsn*6, covmes(0:3)*22, cstatu*10, chpt*1
74  LOGICAL LWARN, LREPOR, LIMSET, LNOLIM, LNEWMN, LPHEAD
75  dimension yy(mni)
76 C first see if it can be done
77  ierr = 0
78  IF (iint.GT.npar .OR. iint.LE.0) THEN
79  ierr = 1
80  WRITE (isyswr,'(A,I4)')
81  + ' MINUIT ERROR. ARGUMENT TO MNFIXP=',iint
82  GO TO 300
83  ENDIF
84  iext = nexofi(iint)
85  IF (npfix .GE. mni) THEN
86  ierr = 1
87  WRITE (isyswr,'(A,I4,A,I4)') ' MINUIT CANNOT FIX PARAMETER',
88  + iext,' MAXIMUM NUMBER THAT CAN BE FIXED IS',mni
89  GO TO 300
90  ENDIF
91 C reduce number of variable parameters by one
92  niofex(iext) = 0
93  nold = npar
94  npar = npar - 1
95 C save values in case parameter is later restored
96  npfix = npfix + 1
97  ipfix(npfix) = iext
98  lc = iint
99  xs(npfix) = x(lc)
100  xts(npfix) = xt(lc)
101  dirins(npfix) = werr(lc)
102  grds(npfix) = grd(lc)
103  g2s(npfix) = g2(lc)
104  gsteps(npfix) = gstep(lc)
105 C shift values for other parameters to fill hole
106  DO 100 ik= iext+1, nu
107  IF (niofex(ik) .GT. 0) THEN
108  lc = niofex(ik) - 1
109  niofex(ik) = lc
110  nexofi(lc) = ik
111  x(lc) = x(lc+1)
112  xt(lc) = xt(lc+1)
113  dirin(lc) = dirin(lc+1)
114  werr(lc) = werr(lc+1)
115  grd(lc) = grd(lc+1)
116  g2(lc) = g2(lc+1)
117  gstep(lc) = gstep(lc+1)
118  ENDIF
119  100 CONTINUE
120  IF (isw(2) .LE. 0) GO TO 300
121 C remove one row and one column from variance matrix
122  IF (npar .LE. 0) GO TO 300
123  DO 260 i= 1, nold
124  m = max(i,iint)
125  n = min(i,iint)
126  ndex = m*(m-1)/2 + n
127  260 yy(i)=vhmat(ndex)
128  yyover = 1.0/yy(iint)
129  knew = 0
130  kold = 0
131  DO 294 i= 1, nold
132  DO 292 j= 1, i
133  kold = kold + 1
134  IF (j.EQ.iint .OR. i.EQ.iint) GO TO 292
135  knew = knew + 1
136  vhmat(knew) = vhmat(kold) - yy(j)*yy(i)*yyover
137  292 CONTINUE
138  294 CONTINUE
139  300 RETURN
140  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 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
! 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
subroutine mnfixp(IINT, IERR)
Definition: mnfixp.f:10
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
integer n
Definition: Zcinippxc.h:1
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