Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
pyrnm3.f
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file pyrnm3.f
1 
2 C*********************************************************************
3 
4 C...PYRNM3
5 C...Calculates the running of M3, the SU(3) gluino mass parameter.
6 
7  FUNCTION pyrnm3(RGUT)
8 
9 C...Double precision and integer declarations.
10  IMPLICIT DOUBLE PRECISION(a-h, o-z)
11  IMPLICIT INTEGER(i-n)
12  INTEGER pyk,pychge,pycomp
13 
14 C...Local variables.
15  DOUBLE PRECISION r
16  DOUBLE PRECISION tol
17  EXTERNAL pyalps
18  DOUBLE PRECISION pyalps
19  DATA tol/0.001d0/
20  DATA r/0.61803399d0/
21 
22  c=1d0-r
23 
24  bx=rgut*pyalps(rgut**2)
25  ax=min(50d0,bx*0.5d0)
26  cx=max(2000d0,2d0*bx)
27 
28  x0=ax
29  x3=cx
30  IF(abs(cx-bx).GT.abs(bx-ax))THEN
31  x1=bx
32  x2=bx+c*(cx-bx)
33  ELSE
34  x2=bx
35  x1=bx-c*(bx-ax)
36  ENDIF
37  as1=pyalps(x1**2)
38  f1=abs(x1-rgut*as1)
39  as2=pyalps(x2**2)
40  f2=abs(x2-rgut*as2)
41  100 IF(abs(x3-x0).GT.tol*(abs(x1)+abs(x2))) THEN
42  IF(f2.LT.f1) THEN
43  x0=x1
44  x1=x2
45  x2=r*x1+c*x3
46  f1=f2
47  as2=pyalps(x2**2)
48  f2=abs(x2-rgut*as2)
49  ELSE
50  x3=x2
51  x2=x1
52  x1=r*x2+c*x0
53  f2=f1
54  as1=pyalps(x1**2)
55  f1=abs(x1-rgut*as1)
56  ENDIF
57  goto 100
58  ENDIF
59  IF(f1.LT.f2) THEN
60  pyrnm3=x1
61  xmin=x1
62  ELSE
63  pyrnm3=x2
64  xmin=x2
65  ENDIF
66 
67  RETURN
68  END