Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
pytbbn.f
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file pytbbn.f
1 
2 
3 C*********************************************************************
4 
5 C...PYTBBN
6 C...Calculates the three-body decay of gluinos into
7 C...neutralinos and third generation fermions.
8 
9  SUBROUTINE pytbbn(I,NN,E,XMGLU,GAM)
10 
11 C...Double precision and integer declarations.
12  IMPLICIT DOUBLE PRECISION(a-h, o-z)
13  IMPLICIT INTEGER(i-n)
14  INTEGER pyk,pychge,pycomp
15 C...Parameter statement to help give large particle numbers.
16  parameter(ksusy1=1000000,ksusy2=2000000,ktechn=3000000,
17  &kexcit=4000000,kdimen=5000000)
18 C...Commonblocks.
19  common/pydat1/mstu(200),paru(200),mstj(200),parj(200)
20  common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
21  common/pymssm/imss(0:99),rmss(0:99)
22  common/pyssmt/zmix(4,4),umix(2,2),vmix(2,2),smz(4),smw(2),
23  &sfmix(16,4),zmixi(4,4),umixi(2,2),vmixi(2,2)
24  SAVE /pydat1/,/pydat2/,/pymssm/,/pyssmt/
25 
26 C...Local variables.
27  EXTERNAL pysimp,pylamf
28  DOUBLE PRECISION pysimp,pylamf
29  INTEGER lin,nn
30  DOUBLE PRECISION cosd,sind,cosd2,sind2,cos2d,sin2d
31  DOUBLE PRECISION hl,hr,fl,fr,hl2,hr2,fl2,fr2
32  DOUBLE PRECISION xms2(2),xm,xm2,xmg,xmg2,xmr,xmr2
33  DOUBLE PRECISION sbar,smin,smax,xmqa,w,grs,g(0:6),summe(0:100)
34  DOUBLE PRECISION ff,hh,hfl,hfr,hrfl,hlfr,xmq4,xm24
35  DOUBLE PRECISION xln1,xln2,b1,b2
36  DOUBLE PRECISION e,xmglu,gam
37  DOUBLE PRECISION hrb(4),hlb(4),flb(4),frb(4)
38  SAVE hrb,hlb,flb,frb
39  DOUBLE PRECISION alphaw,alphas
40  DOUBLE PRECISION hlt(4),hrt(4),flt(4),frt(4)
41  SAVE hlt,hrt,flt,frt
42  DOUBLE PRECISION amn(4),an(4,4),zn(3)
43  SAVE amn,an,zn
44  DOUBLE PRECISION ambot,sinc,cosc
45  DOUBLE PRECISION amtop,sina,cosa
46  DOUBLE PRECISION sinw,cosw,tanw
47  DOUBLE PRECISION rot1(4,4)
48  LOGICAL ifirst
49  SAVE ifirst
50  DATA ifirst/.true./
51 
52  tanb=rmss(5)
53  sinb=tanb/sqrt(1d0+tanb**2)
54  cosb=sinb/tanb
55  xw=paru(102)
56  sinw=sqrt(xw)
57  cosw=sqrt(1d0-xw)
58  tanw=sinw/cosw
59  amw=pmas(24,1)
60  cosc=sfmix(5,1)
61  sinc=sfmix(5,3)
62  cosa=sfmix(6,1)
63  sina=sfmix(6,3)
64  ambot=pymrun(5,xmglu**2)
65  amtop=pymrun(6,xmglu**2)
66  w2=sqrt(2d0)
67  fakt1=ambot/w2/amw/cosb
68  fakt2=amtop/w2/amw/sinb
69  IF(ifirst) THEN
70  DO 110 ii=1,4
71  amn(ii)=smz(ii)
72  DO 100 j=1,4
73  rot1(ii,j)=0d0
74  an(ii,j)=0d0
75  100 CONTINUE
76  110 CONTINUE
77  rot1(1,1)=cosw
78  rot1(1,2)=-sinw
79  rot1(2,1)=-rot1(1,2)
80  rot1(2,2)=rot1(1,1)
81  rot1(3,3)=cosb
82  rot1(3,4)=sinb
83  rot1(4,3)=-rot1(3,4)
84  rot1(4,4)=rot1(3,3)
85  DO 140 ii=1,4
86  DO 130 j=1,4
87  DO 120 jj=1,4
88  an(ii,j)=an(ii,j)+zmix(ii,jj)*rot1(jj,j)
89  120 CONTINUE
90  130 CONTINUE
91  140 CONTINUE
92  DO 150 j=1,4
93  zn(1)=-fakt2*(-sinb*an(j,3)+cosb*an(j,4))
94  zn(2)=-2d0*w2/3d0*sinw*(tanw*an(j,2)-an(j,1))
95  zn(3)=-2*w2/3d0*sinw*an(j,1)-w2*(0.5d0-2d0/3d0*
96  & xw)*an(j,2)/cosw
97  hrt(j)=zn(1)*cosa-zn(3)*sina
98  hlt(j)=zn(1)*cosa+zn(2)*sina
99  flt(j)=zn(3)*cosa+zn(1)*sina
100  frt(j)=zn(2)*cosa-zn(1)*sina
101 C FLU(J)=ZN(3)
102 C FRU(J)=ZN(2)
103  zn(1)=-fakt1*(cosb*an(j,3)+sinb*an(j,4))
104  zn(2)=w2/3d0*sinw*(tanw*an(j,2)-an(j,1))
105  zn(3)=w2/3d0*sinw*an(j,1)+w2*(0.5d0-xw/3d0)*an(j,2)/cosw
106  hrb(j)=zn(1)*cosc-zn(3)*sinc
107  hlb(j)=zn(1)*cosc+zn(2)*sinc
108  flb(j)=zn(3)*cosc+zn(1)*sinc
109  frb(j)=zn(2)*cosc-zn(1)*sinc
110 C FLD(J)=ZN(3)
111 C FRD(J)=ZN(2)
112  150 CONTINUE
113 C AMST(1)=PMAS(PYCOMP(KSUSY1+6),1)
114 C AMST(2)=PMAS(PYCOMP(KSUSY2+6),1)
115 C AMSB(1)=PMAS(PYCOMP(KSUSY1+5),1)
116 C AMSB(2)=PMAS(PYCOMP(KSUSY2+5),1)
117  ifirst=.false.
118  ENDIF
119 
120  IF(nint(3d0*e).EQ.2) THEN
121  hl=hlt(i)
122  hr=hrt(i)
123  fl=flt(i)
124  fr=frt(i)
125  cosd=sfmix(6,1)
126  sind=sfmix(6,3)
127  xms2(1)=pmas(pycomp(ksusy1+6),1)**2
128  xms2(2)=pmas(pycomp(ksusy2+6),1)**2
129  xm=pmas(6,1)
130  ELSE
131  hl=hlb(i)
132  hr=hrb(i)
133  fl=flb(i)
134  fr=frb(i)
135  cosd=sfmix(5,1)
136  sind=sfmix(5,3)
137  xms2(1)=pmas(pycomp(ksusy1+5),1)**2
138  xms2(2)=pmas(pycomp(ksusy2+5),1)**2
139  xm=pmas(5,1)
140  ENDIF
141  cosd2=cosd*cosd
142  sind2=sind*sind
143  cos2d=cosd2-sind2
144  sin2d=sind*cosd*2d0
145  hl2=hl*hl
146  hr2=hr*hr
147  fl2=fl*fl
148  fr2=fr*fr
149  ff=fl*fr
150  hh=hl*hr
151  hfl=hl*fl
152  hfr=hr*fr
153  hrfl=hr*fl
154  hlfr=hl*fr
155  xm2=xm*xm
156  xmg=xmglu
157  xmg2=xmg*xmg
158  alphaw=pyalem(xmg2)
159  alphas=pyalps(xmg2)
160  xmr=amn(i)
161  xmr2=xmr*xmr
162  xmq4=xmg*xm2*xmr
163  xm24=(xmg2+xm2)*(xm2+xmr2)
164  smin=4d0*xm2
165  smax=(xmg-abs(xmr))**2
166  xmqa=xmg2+2d0*xm2+xmr2
167  DO 170 lin=1,nn-1
168  sbar=smin+dble(lin)*(smax-smin)/dble(nn)
169  grs=sbar-xmqa
170  w=pylamf(xmg2,xmr2,sbar)*(0.25d0-xm2/sbar)
171  w=dsqrt(w)
172  xln1=log(abs((grs/2d0+xms2(1)-w)/(grs/2d0+xms2(1)+w)))
173  xln2=log(abs((grs/2d0+xms2(2)-w)/(grs/2d0+xms2(2)+w)))
174  b1=1d0/(grs/2d0+xms2(1)-w)-1d0/(grs/2d0+xms2(1)+w)
175  b2=1d0/(grs/2d0+xms2(2)-w)-1d0/(grs/2d0+xms2(2)+w)
176  g(0)=-2d0*(hl2+fl2+hr2+fr2+(hfr-hfl)*sin2d
177  & +2d0*(ff*sind2-hh*cosd2))*w
178  g(1)=((hl2+fl2)*(xmqa-2d0*xms2(1)-2d0*xm*xmg*sin2d)
179  & +4d0*hfl*xm*xmr)*xln1
180  & +((hl2+fl2)*((xmqa-xms2(1))*xms2(1)-xm24
181  & +2d0*xm*xmg*(xm2+xmr2-xms2(1))*sin2d)
182  & -4d0*hfl*xmr*xm*(xmg2+xm2-xms2(1))
183  & +8d0*hfl*xmq4*sin2d)*b1
184  g(2)=((hr2+fr2)*(xmqa-2d0*xms2(2)+2d0*xm*xmg*sin2d)
185  & +4d0*hfr*xmr*xm)*xln2
186  & +((hr2+fr2)*((xmqa-xms2(2))*xms2(2)-xm24
187  & +2d0*xmg*xm*sin2d*(xms2(2)-xm2-xmr2))
188  & +4d0*hfr*xm*xmr*(xms2(2)-xmg2-xm2)
189  & -8d0*hfr*xmq4*sin2d)*b2
190  g(3)=(2d0*hfl*sin2d*(xms2(1)*(grs+xms2(1))+xm2*(sbar-xmg2-xmr2)
191  & +xmg2*xmr2+xm2*xm2)-2d0*xmr*xmg*(hl2*sind2+fl2*cosd2)*sbar
192  & -2d0*xmg*xm*hfl*(sbar+xmr2-xmg2)
193  & +xmr*xm*(hl2+fl2)*sin2d*(sbar+xmg2-xmr2)
194  & -4d0*xmq4*(hl2-fl2)*cos2d)/(grs+2d0*xms2(1))*xln1
195  g(4)=4d0*cos2d*xm*xmg/(xms2(1)-xms2(2))*
196  & (((hlfr+hrfl)*(xm2+xmr2)+2d0*xm*xmr*(hh+ff))*(xln1-xln2)
197  & +(hlfr+hrfl)*(xms2(2)*xln2-xms2(1)*xln1))
198  g(5)=(2d0*(hh*cosd2-ff*sind2)
199  & *((xms2(2)*(xms2(2)+grs)+xm2*xm2+xmg2*xmr2)*xln2
200  & +(xms2(1)*(xms2(1)+grs)+xm2*xm2+xmg2*xmr2)*xln1)
201  & +xm*((hh-ff)*sin2d*xmg-(hrfl-hlfr)*xmr)
202  & *((grs+xms2(1)*2d0)*xln1-(grs+xms2(2)*2d0)*xln2)
203  & +((hrfl-hlfr)*xmr*(sin2d*xmg*(sbar-4d0*xm2)
204  & +cos2d*xm*(sbar+xmg2-xmr2))
205  & +2d0*(ff*cosd2-hh*sind2)*xm2*(sbar-xmg2-xmr2))
206  & *(xln1+xln2))/(grs+xms2(1)+xms2(2))
207  g(6)=(-2d0*hfr*sin2d*(xms2(2)*(grs+xms2(2))+xm2*(sbar-xmg2-xmr2)
208  & +xmg2*xmr2+xm2*xm2)-2d0*xmr*xmg*(hr2*sind2+fr2*cosd2)*sbar
209  & -2d0*xmg*xm*hfr*(sbar+xmr2-xmg2)
210  & -xmr*xm*(hr2+fr2)*sin2d*(sbar+xmg2-xmr2)
211  & -4d0*xmq4*(hr2-fr2)*cos2d)/(grs+2d0*xms2(2))*xln2
212  summe(lin)=0d0
213  DO 160 j=0,6
214  summe(lin)=summe(lin)+g(j)
215  160 CONTINUE
216  170 CONTINUE
217  summe(0)=0d0
218  summe(nn)=0d0
219  gam = alphaw * alphas * pysimp(summe,smin,smax,nn)
220  &/ (16d0 * paru(1) * paru(102) * xmglu**3)
221 
222  RETURN
223  END