Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
pyrnmq.f
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file pyrnmq.f
1 
2 C*********************************************************************
3 
4 C...PYRNMQ
5 C...Determines the running mass of Squarks.
6 
7  FUNCTION pyrnmq(ID,DTERM)
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 C...Commonblock.
14  common/pymssm/imss(0:99),rmss(0:99)
15  SAVE /pymssm/
16 
17 C...Local variables.
18  DOUBLE PRECISION pi,r
19  DOUBLE PRECISION tol
20  DOUBLE PRECISION ci(3)
21  EXTERNAL pyalps
22  DOUBLE PRECISION pyalps
23  DATA tol/0.001d0/
24  DATA pi,r/3.141592654d0,.61803399d0/
25  DATA ci/0.47d0,0.07d0,0.02d0/
26 
27  c=1d0-r
28  ca=ci(id)
29  ag=(0.71d0)**2/4d0/pi
30  ag=rmss(20)
31  xm0=rmss(8)
32  xmg=rmss(1)
33  xm02=xm0*xm0
34  xmg2=xmg*xmg
35 
36  as=pyalps(xm02+6d0*xmg2)
37  cg=8d0/9d0*((as/ag)**2-1d0)
38  bx=xm02+(ca+cg)*xmg2+dterm
39  ax=min(50d0**2,0.5d0*bx)
40  cx=max(2000d0**2,2d0*bx)
41 
42  x0=ax
43  x3=cx
44  IF(abs(cx-bx).GT.abs(bx-ax))THEN
45  x1=bx
46  x2=bx+c*(cx-bx)
47  ELSE
48  x2=bx
49  x1=bx-c*(bx-ax)
50  ENDIF
51  as1=pyalps(x1)
52  cg=8d0/9d0*((as1/ag)**2-1d0)
53  f1=abs(xm02+(ca+cg)*xmg2+dterm-x1)
54  as2=pyalps(x2)
55  cg=8d0/9d0*((as2/ag)**2-1d0)
56  f2=abs(xm02+(ca+cg)*xmg2+dterm-x2)
57  100 IF(abs(x3-x0).GT.tol*(abs(x1)+abs(x2))) THEN
58  IF(f2.LT.f1) THEN
59  x0=x1
60  x1=x2
61  x2=r*x1+c*x3
62  f1=f2
63  as2=pyalps(x2)
64  cg=8d0/9d0*((as2/ag)**2-1d0)
65  f2=abs(xm02+(ca+cg)*xmg2+dterm-x2)
66  ELSE
67  x3=x2
68  x2=x1
69  x1=r*x2+c*x0
70  f2=f1
71  as1=pyalps(x1)
72  cg=8d0/9d0*((as1/ag)**2-1d0)
73  f1=abs(xm02+(ca+cg)*xmg2+dterm-x1)
74  ENDIF
75  goto 100
76  ENDIF
77  IF(f1.LT.f2) THEN
78  pyrnmq=x1
79  xmin=x1
80  ELSE
81  pyrnmq=x2
82  xmin=x2
83  ENDIF
84 
85  RETURN
86  END