EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
lmpint.F
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file lmpint.F
1 
2 C **********************************************************************
3 
4  REAL FUNCTION lmpint(PEXTI,I)
5 
6 C...This is the MINUIT routine PINTF.
7 CC CALCULATES THE INTERNAL PARAMETER VALUE LMPINT CORRESPONDING
8 CC TO THE EXTERNAL VALUE PEXTI FOR PARAMETER I.
9 CC
10  COMMON
11  1/lmmine/ erp(30) ,ern(30)
12  2/lmpari/ x(15) ,xt(15) ,dirin(15) ,maxint ,npar
13  3/lmpare/ u(30) ,werr(30) ,maxext ,nu
14  4/lmlimi/ alim(30) ,blim(30) ,lcode(30) ,lcorsp(30) ,limset
15  5/lmvari/ v(15,15)
16  7/lmfix / ipfix(15),xs(15) ,xts(15) ,dirins(15) ,npfix
17  7/lmfix2/ grds(15) ,g2s(15) ,gsteps(15),aberfs(15)
18  c/lmcasc/ y(16) ,jh ,jl
19  f/lmderi/ gin(30) ,grd(15) ,g2(15) ,gstep(15) ,aberf(15)
20  g/lmsimv/ p(15,16) ,pstar(15),pstst(15) ,pbar(15) ,prho(15)
21  j/lmvart/ vt(15,15)
22  COMMON
23  6/lmunit/ isysrd ,isyswr ,isyspu
24  8/lmtitl/ title(13),date(2) ,isw(7) ,nblock
25  9/lmconv/ epsi ,apsi ,vtest ,nstepq ,nfcn ,nfcnmx
26  a/lmcard/ cword ,cword2 ,cword3 ,word7(7)
27  b/lmmini/ amin ,up ,newmin ,itaur ,sigma,epsmac
28  COMMON /lpflag/ lst3
29  INTEGER lst3
30  SAVE /lpflag/
31 
32  DATA big, small / 1.570796326795 , -1.570796326795 /
33  igo = lcode(i)
34  go to(100,200,300,400),igo
35 C-- IGO = 1 MEANS NO LIMITS
36  100 lmpint = pexti
37  go to 800
38  200 CONTINUE
39  300 CONTINUE
40 C-- IGO = 4 MEANS THERE ARE TWO LIMITS
41  400 alimi = alim(i)
42  blimi = blim(i)
43  IF (pexti-alimi) 440,500,460
44  440 a = small
45  450 lmpint = a
46  pexti = alimi + 0.5* (blimi-alimi) *(sin(a) +1.0)
47  limset=1
48  IF(lst3.GE.1) WRITE (isyswr,241) i
49  go to 800
50  460 IF (blimi-pexti) 470,520,480
51  470 a = big
52  go to 450
53  480 yy=2.0*(pexti-alimi)/(blimi-alimi) - 1.0
54  lmpint = atan(yy/sqrt(1.0- yy**2) )
55  go to 800
56  500 lmpint = small
57  go to 800
58  520 lmpint = big
59  800 RETURN
60  241 FORMAT(' WARNING - VARIABLE',i3,' HAS BEEN BROUGHT BACK IN',
61  +'SIDE LIMITS BY LMPINT.')
62  END