Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
pytbbc.f
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file pytbbc.f
1 
2 C*********************************************************************
3 
4 C...PYTBBC
5 C...Calculates the three-body decay of gluinos into
6 C...charginos and third generation fermions.
7 
8  SUBROUTINE pytbbc(I,NN,XMGLU,GAM)
9 
10 C...Double precision and integer declarations.
11  IMPLICIT DOUBLE PRECISION(a-h, o-z)
12  IMPLICIT INTEGER(i-n)
13  INTEGER pyk,pychge,pycomp
14 C...Parameter statement to help give large particle numbers.
15  parameter(ksusy1=1000000,ksusy2=2000000,ktechn=3000000,
16  &kexcit=4000000,kdimen=5000000)
17 C...Commonblocks.
18  common/pydat1/mstu(200),paru(200),mstj(200),parj(200)
19  common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
20  common/pymssm/imss(0:99),rmss(0:99)
21  common/pyssmt/zmix(4,4),umix(2,2),vmix(2,2),smz(4),smw(2),
22  &sfmix(16,4),zmixi(4,4),umixi(2,2),vmixi(2,2)
23  SAVE /pydat1/,/pydat2/,/pymssm/,/pyssmt/
24 
25 C...Local variables.
26  EXTERNAL pysimp,pylamf
27  DOUBLE PRECISION pysimp,pylamf
28  INTEGER i,nn,lin
29  DOUBLE PRECISION xmg,xmg2,xmb,xmb2,xmr,xmr2
30  DOUBLE PRECISION xmt,xmt2,xmst(4),xmsb(4)
31  DOUBLE PRECISION ulr(2),vlr(2),xmq2,xmq4,am,w,sbar,smin,smax
32  DOUBLE PRECISION summe(0:100),a(4,8)
33  DOUBLE PRECISION cos2a,sin2a,cos2c,sin2c
34  DOUBLE PRECISION grs,xmq3,xmgbtr,xmgtbr,ant1,ant2,anb1,anb2
35  DOUBLE PRECISION xmglu,gam
36  DOUBLE PRECISION xx1(2),xx2(2),aaa(2),bbb(2),ccc(2),
37  &ddd(2),eee(2),fff(2)
38  SAVE xx1,xx2,aaa,bbb,ccc,ddd,eee,fff
39  DOUBLE PRECISION alphaw,alphas
40  DOUBLE PRECISION amc(2)
41  SAVE amc
42  DOUBLE PRECISION ambot,amsb(2),sinc,cosc
43  DOUBLE PRECISION amtop,amst(2),sina,cosa
44  SAVE amsb,amst
45  LOGICAL ifirst
46  SAVE ifirst
47  DATA ifirst/.true./
48 
49  tanb=rmss(5)
50  sinb=tanb/sqrt(1d0+tanb**2)
51  cosb=sinb/tanb
52  xw=paru(102)
53  amw=pmas(24,1)
54  cosc=sfmix(5,1)
55  sinc=sfmix(5,3)
56  cosa=sfmix(6,1)
57  sina=sfmix(6,3)
58  ambot=pymrun(5,xmglu**2)
59  amtop=pymrun(6,xmglu**2)
60  w2=sqrt(2d0)
61  amw=pmas(24,1)
62  fakt1=ambot/w2/amw/cosb
63  fakt2=amtop/w2/amw/sinb
64  IF(ifirst) THEN
65  amc(1)=smw(1)
66  amc(2)=smw(2)
67  DO 100 jj=1,2
68  ccc(jj)=fakt1*umix(jj,2)*sinc-umix(jj,1)*cosc
69  eee(jj)=fakt2*vmix(jj,2)*cosc
70  ddd(jj)=fakt1*umix(jj,2)*cosc+umix(jj,1)*sinc
71  fff(jj)=fakt2*vmix(jj,2)*sinc
72  xx1(jj)=fakt2*vmix(jj,2)*sina-vmix(jj,1)*cosa
73  aaa(jj)=fakt1*umix(jj,2)*cosa
74  xx2(jj)=fakt2*vmix(jj,2)*cosa+vmix(jj,1)*sina
75  bbb(jj)=fakt1*umix(jj,2)*sina
76  100 CONTINUE
77  amst(1)=pmas(pycomp(ksusy1+6),1)
78  amst(2)=pmas(pycomp(ksusy2+6),1)
79  amsb(1)=pmas(pycomp(ksusy1+5),1)
80  amsb(2)=pmas(pycomp(ksusy2+5),1)
81  ifirst=.false.
82  ENDIF
83 
84  ulr(1)=xx1(i)*xx1(i)+aaa(i)*aaa(i)
85  ulr(2)=xx2(i)*xx2(i)+bbb(i)*bbb(i)
86  vlr(1)=ccc(i)*ccc(i)+eee(i)*eee(i)
87  vlr(2)=ddd(i)*ddd(i)+fff(i)*fff(i)
88 
89  cos2a=cosa**2-sina**2
90  sin2a=sina*cosa*2d0
91  cos2c=cosc**2-sinc**2
92  sin2c=sinc*cosc*2d0
93 
94  xmg=xmglu
95  xmt=pmas(6,1)
96  xmb=pmas(5,1)
97  xmr=amc(i)
98  xmg2=xmg*xmg
99  alphaw=pyalem(xmg2)
100  alphas=pyalps(xmg2)
101  xmt2=xmt*xmt
102  xmb2=xmb*xmb
103  xmr2=xmr*xmr
104  xmq2=xmg2+xmt2+xmb2+xmr2
105  xmq4=xmg*xmt*xmb*xmr
106  xmq3=xmg2*xmr2+xmt2*xmb2
107  xmgbtr=(xmg2+xmb2)*(xmt2+xmr2)
108  xmgtbr=(xmg2+xmt2)*(xmb2+xmr2)
109 
110  xmst(1)=amst(1)*amst(1)
111  xmst(2)=amst(1)*amst(1)
112  xmst(3)=amst(2)*amst(2)
113  xmst(4)=amst(2)*amst(2)
114  xmsb(1)=amsb(1)*amsb(1)
115  xmsb(2)=amsb(2)*amsb(2)
116  xmsb(3)=amsb(1)*amsb(1)
117  xmsb(4)=amsb(2)*amsb(2)
118 
119  a(1,1)=-cosa*sinc*ccc(i)*aaa(i)-sina*cosc*eee(i)*xx1(i)
120  a(1,2)=xmg*xmb*(cosa*cosc*ccc(i)*aaa(i)+sina*sinc*eee(i)*xx1(i))
121  a(1,3)=-xmg*xmr*(cosa*cosc*ccc(i)*xx1(i)+sina*sinc*eee(i)*aaa(i))
122  a(1,4)=xmb*xmr*(cosa*sinc*ccc(i)*xx1(i)+sina*cosc*eee(i)*aaa(i))
123  a(1,5)=xmg*xmt*(cosa*cosc*eee(i)*xx1(i)+sina*sinc*ccc(i)*aaa(i))
124  a(1,6)=-xmt*xmb*(cosa*sinc*eee(i)*xx1(i)+sina*cosc*ccc(i)*aaa(i))
125  a(1,7)=xmt*xmr*(cosa*sinc*eee(i)*aaa(i)+sina*cosc*ccc(i)*xx1(i))
126  a(1,8)=-xmq4*(cosa*cosc*eee(i)*aaa(i)+sina*sinc*ccc(i)*xx1(i))
127 
128  a(2,1)=-cosa*cosc*ddd(i)*aaa(i)-sina*sinc*fff(i)*xx1(i)
129  a(2,2)=-xmg*xmb*(cosa*sinc*ddd(i)*aaa(i)+sina*cosc*fff(i)*xx1(i))
130  a(2,3)=xmg*xmr*(cosa*sinc*ddd(i)*xx1(i)+sina*cosc*fff(i)*aaa(i))
131  a(2,4)=xmb*xmr*(cosa*cosc*ddd(i)*xx1(i)+sina*sinc*fff(i)*aaa(i))
132  a(2,5)=xmg*xmt*(cosa*sinc*fff(i)*xx1(i)+sina*cosc*ddd(i)*aaa(i))
133  a(2,6)=xmt*xmb*(cosa*cosc*fff(i)*xx1(i)+sina*sinc*ddd(i)*aaa(i))
134  a(2,7)=-xmt*xmr*(cosa*cosc*fff(i)*aaa(i)+sina*sinc*ddd(i)*xx1(i))
135  a(2,8)=-xmq4*(cosa*sinc*fff(i)*aaa(i)+sina*cosc*ddd(i)*xx1(i))
136 
137  a(3,1)=-cosa*cosc*eee(i)*xx2(i)-sina*sinc*ccc(i)*bbb(i)
138  a(3,2)=xmg*xmb*(cosa*sinc*eee(i)*xx2(i)+sina*cosc*ccc(i)*bbb(i))
139  a(3,3)=xmg*xmr*(cosa*sinc*eee(i)*bbb(i)+sina*cosc*ccc(i)*xx2(i))
140  a(3,4)=-xmb*xmr*(cosa*cosc*eee(i)*bbb(i)+sina*sinc*ccc(i)*xx2(i))
141  a(3,5)=-xmg*xmt*(cosa*sinc*ccc(i)*bbb(i)+sina*cosc*eee(i)*xx2(i))
142  a(3,6)=xmt*xmb*(cosa*cosc*ccc(i)*bbb(i)+sina*sinc*eee(i)*xx2(i))
143  a(3,7)=xmt*xmr*(cosa*cosc*ccc(i)*xx2(i)+sina*sinc*eee(i)*bbb(i))
144  a(3,8)=-xmq4*(cosa*sinc*ccc(i)*xx2(i)+sina*cosc*eee(i)*bbb(i))
145 
146  a(4,1)=-cosa*sinc*fff(i)*xx2(i)-sina*cosc*ddd(i)*bbb(i)
147  a(4,2)=-xmg*xmb*(cosa*cosc*fff(i)*xx2(i)+sina*sinc*ddd(i)*bbb(i))
148  a(4,3)=-xmg*xmr*(cosa*cosc*fff(i)*bbb(i)+sina*sinc*ddd(i)*xx2(i))
149  a(4,4)=-xmb*xmr*(cosa*sinc*fff(i)*bbb(i)+sina*cosc*ddd(i)*xx2(i))
150  a(4,5)=-xmg*xmt*(cosa*cosc*ddd(i)*bbb(i)+sina*sinc*fff(i)*xx2(i))
151  a(4,6)=-xmt*xmb*(cosa*sinc*ddd(i)*bbb(i)+sina*cosc*fff(i)*xx2(i))
152  a(4,7)=-xmt*xmr*(cosa*sinc*ddd(i)*xx2(i)+sina*cosc*fff(i)*bbb(i))
153  a(4,8)=-xmq4*(cosa*cosc*ddd(i)*xx2(i)+sina*sinc*fff(i)*bbb(i))
154 
155  smax=(xmg-abs(xmr))**2
156  smin=(xmb+xmt)**2+0.1d0
157 
158  DO 120 lin=0,nn-1
159  sbar=smin+dble(lin)*(smax-smin)/dble(nn)
160  am=(xmg2-xmr2)*(xmt2-xmb2)/2d0/sbar
161  grs=sbar-xmq2
162  w=pylamf(sbar,xmb2,xmt2)*pylamf(sbar,xmg2,xmr2)
163  w=dsqrt(w)/2d0/sbar
164  ant1=log(abs((grs/2d0+am+xmst(1)-w)/(grs/2d0+am+xmst(1)+w)))
165  ant2=log(abs((grs/2d0+am+xmst(3)-w)/(grs/2d0+am+xmst(3)+w)))
166  anb1=log(abs((grs/2d0-am+xmsb(1)-w)/(grs/2d0-am+xmsb(1)+w)))
167  anb2=log(abs((grs/2d0-am+xmsb(2)-w)/(grs/2d0-am+xmsb(2)+w)))
168  summe(lin)=-ulr(1)*w+(ulr(1)*(xmq2/2d0-xmst(1)-xmg*xmt*sin2a)
169  & +2d0*xx1(i)*aaa(i)*xmr*xmb)*ant1
170  & +(ulr(1)/2d0*(xmst(1)*(xmq2-xmst(1))-xmgtbr
171  & -2d0*xmg*xmt*sin2a*(xmst(1)-xmb2-xmr2))
172  & +2d0*xx1(i)*aaa(i)*xmr*xmb*(xmst(1)-xmg2-xmt2)
173  & +4d0*sin2a*xx1(i)*aaa(i)*xmq4)
174  & *(1d0/(grs/2d0+am+xmst(1)-w)-1d0/(grs/2d0+am+xmst(1)+w))
175  summe(lin)=summe(lin)-ulr(2)*w
176  & +(ulr(2)*(xmq2/2d0-xmst(3)+xmg*xmt*sin2a)
177  & -2d0*xx2(i)*bbb(i)*xmr*xmb)*ant2
178  & +(ulr(2)/2d0*(xmst(3)*(xmq2-xmst(3))-xmgtbr
179  & +2d0*xmg*xmt*sin2a*(xmst(3)-xmb2-xmr2))
180  & -2d0*xx2(i)*bbb(i)*xmr*xmb*(xmst(3)-xmg2-xmt2)
181  & +4d0*sin2a*xx2(i)*bbb(i)*xmq4)
182  & *(1d0/(grs/2d0+am+xmst(3)-w)-1d0/(grs/2d0+am+xmst(3)+w))
183  summe(lin)=summe(lin)-vlr(1)*w
184  & +(vlr(1)*(xmq2/2d0-xmsb(1)-xmg*xmb*sin2c)
185  & +2d0*ccc(i)*eee(i)*xmr*xmt)*anb1
186  & +(vlr(1)/2d0*(xmsb(1)*(xmq2-xmsb(1))-xmgbtr
187  & -2d0*xmg*xmb*sin2c*(xmsb(1)-xmt2-xmr2))
188  & +2d0*ccc(i)*eee(i)*xmr*xmt*(xmsb(1)-xmg2-xmb2)
189  & +4d0*sin2c*ccc(i)*eee(i)*xmq4)
190  & *(1d0/(grs/2d0-am+xmsb(1)-w)-1d0/(grs/2d0-am+xmsb(1)+w))
191  summe(lin)=summe(lin)-vlr(2)*w
192  & +(vlr(2)*(xmq2/2d0-xmsb(2)+xmg*xmb*sin2c)
193  & -2d0*ddd(i)*fff(i)*xmr*xmt)*anb2
194  & +(vlr(2)/2d0*(xmsb(2)*(xmq2-xmsb(2))-xmgbtr
195  & +2d0*xmg*xmb*sin2c*(xmsb(2)-xmt2-xmr2))
196  & -2d0*ddd(i)*fff(i)*xmr*xmt*(xmsb(2)-xmg2-xmb2)
197  & +4d0*sin2c*ddd(i)*fff(i)*xmq4)
198  & *(1d0/(grs/2d0-am+xmsb(2)-w)-1d0/(grs/2d0-am+xmsb(2)+w))
199  summe(lin)=summe(lin)+2d0*xmg*xmt*cos2a/(xmst(3)-xmst(1))
200  & *((aaa(i)*bbb(i)-xx1(i)*xx2(i))
201  & *((xmst(3)-xmb2-xmr2)*ant2-(xmst(1)-xmb2-xmr2)*ant1)
202  & +2d0*(aaa(i)*xx2(i)-xx1(i)*bbb(i))*xmb*xmr*(ant2-ant1))
203  summe(lin)=summe(lin)+2d0*xmg*xmb*cos2c/(xmsb(2)-xmsb(1))
204  & *((eee(i)*fff(i)-ccc(i)*ddd(i))
205  & *((xmsb(2)-xmt2-xmr2)*anb2-(xmsb(1)-xmt2-xmr2)*anb1)
206  & +2d0*(eee(i)*ddd(i)-ccc(i)*fff(i))*xmt*xmr*(anb2-anb1))
207  DO 110 j=1,4
208  summe(lin)=summe(lin)-2d0*a(j,1)*w
209  & +((-a(j,1)*(xmsb(j)*(grs+xmsb(j))+xmq3)
210  & +a(j,2)*(xmsb(j)-xmt2-xmr2)+a(j,3)*(sbar-xmb2-xmt2)
211  & +a(j,4)*(xmsb(j)+sbar-xmb2-xmr2)
212  & -a(j,5)*(xmsb(j)+sbar-xmg2-xmt2)+a(j,6)*(xmg2+xmr2-sbar)
213  & -a(j,7)*(xmsb(j)-xmg2-xmb2)+2d0*a(j,8))
214  & *log(abs((grs/2d0+xmsb(j)-am-w)/(grs/2d0+xmsb(j)-am+w)))
215  & -(a(j,1)*(xmst(j)*(grs+xmst(j))+xmq3)
216  & +a(j,2)*(xmst(j)+sbar-xmg2-xmb2)-a(j,3)*(sbar-xmb2-xmt2)
217  & +a(j,4)*(xmst(j)-xmg2-xmt2)-a(j,5)*(xmst(j)-xmr2-xmb2)
218  & -a(j,6)*(xmg2+xmr2-sbar)
219  & -a(j,7)*(xmst(j)+sbar-xmt2-xmr2)-2d0*a(j,8))
220  & *log(abs((grs/2d0+xmst(j)+am-w)/(grs/2d0+xmst(j)+am+w))))
221  & /(grs+xmsb(j)+xmst(j))
222  110 CONTINUE
223  120 CONTINUE
224  summe(nn)=0d0
225  gam= alphaw * alphas * pysimp(summe,smin,smax,nn)
226  &/ (16d0 * paru(1) * paru(102) * xmglu**3)
227 
228  RETURN
229  END