8 SUBROUTINE pyrvch(KFIN,XLAM,IDLAM,LKNT)
11 IMPLICIT DOUBLE PRECISION(a-
h, o-
z)
14 parameter(ksusy1=1000000,ksusy2=2000000,ktechn=3000000,
15 &kexcit=4000000,kdimen=5000000)
17 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
18 common/
pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
19 common/
pymssm/imss(0:99),rmss(0:99)
20 common/
pyssmt/zmix(4,4),umix(2,2),vmix(2,2),smz(4),smw(2),
21 &sfmix(16,4),zmixi(4,4),umixi(2,2),vmixi(2,2)
22 common/pymsrv/rvlam(3,3,3), rvlamp(3,3,3), rvlamb(3,3,3)
24 DOUBLE PRECISION xlam(0:400)
25 INTEGER idlam(400,3),
pycomp
27 common/pyrvnv/ab(2,16,2),
rms(0:3),res(6,2),intres(6,3),idr,idr2
30 common/rvgsto/xresi,xresj,xresk,xresij,xresik,xresjk,rvlijk,rvlkij
33 DOUBLE PRECISION rmq(6)
41 IF ((imss(51).GE.1).OR.(imss(52).GE.1).OR.(imss(53).GE.1))
THEN
43 IF(kfsm.EQ.24.OR.kfsm.EQ.37)
THEN
46 IF (kfsm.EQ.37) nchi = 2
51 IF (smw(nchi).LT.0d0) ism = -1
53 cosb = 1/(sqrt(1+rmss(5)**2))
54 sinb = rmss(5)/sqrt(1+rmss(5)**2)
55 gw2 = 4*paru(103)*paru(1)/paru(102)
56 c1u = umix(nchi,2)/(sqrt(2d0)*cosb*wmass)
57 c1v = vmix(nchi,2)/(sqrt(2d0)*sinb*wmass)
61 sqmchi = pmas(
pycomp(kfsm),1)**2
75 ab(2,
i,1) = -pmas(
pycomp(
i),1)*c1u*sfmix(
i,2) +
77 ab(2,
i,2) = -pmas(
pycomp(
i),1)*c1u*sfmix(
i,4) +
86 ab(1,
j,1) = -rmq(
j+1)*c1v*sfmix(
j,1)
87 ab(1,
j,2) = -rmq(
j+1)*c1v*sfmix(
j,3)
88 ab(2,
j,1) = -ism*(rmq(
j)*c1u*sfmix(
j,2) - sfmix(
j,1)*
c2)
89 ab(2,
j,2) = -ism*(rmq(
j)*c1u*sfmix(
j,4) - sfmix(
j,3)*
c2)
92 ab(1,
j,1) = -rmq(
j-1)*c1u*sfmix(
j,1)
93 ab(1,
j,2) = -rmq(
j-1)*c1u*sfmix(
j,3)
94 ab(2,
j,1) = -ism*(rmq(
j)*c1v*sfmix(
j,2) - sfmix(
j,1)*c3)
95 ab(2,
j,2) = -ism*(rmq(
j)*c1v*sfmix(
j,4) - sfmix(
j,3)*c3)
99 IF (imss(51).GE.1)
THEN
104 IF(mod(isc/9,3).NE.mod(isc/3,3))
THEN
106 idlam(lknt,1) = -12 -2*mod(isc/9,3)
107 idlam(lknt,2) = -11 -2*mod(isc/3,3)
108 idlam(lknt,3) = 12 +2*mod(isc,3)
111 rvlamc = gw2 * 5d-1 *
112 & rvlam(mod(isc/9,3)+1,mod(isc/3,3)+1,mod(isc,3)+1)
115 IF (idlam(lknt,2).EQ.-15) dcmass = .
true.
119 kfr(3) = -idlam(lknt,3)+1
121 CALL
pyrvgw(kfin,idlam(lknt,1),idlam(lknt,2),
122 & idlam(lknt,3),xlam(lknt))
123 xlam(lknt)=xlam(lknt)*rvlamc/((2*paru(1)*
rms(0))**3*32)
125 IF (xlam(lknt).EQ.0d0)
THEN
130 120
IF (mod(isc/9,3).LT.mod(isc/3,3))
THEN
132 idlam(lknt,1) = 12 +2*mod(isc/9,3)
133 idlam(lknt,2) = 12 +2*mod(isc/3,3)
134 idlam(lknt,3) =-11 -2*mod(isc,3)
137 rvlamc = gw2 * 5d-1 *
138 & rvlam(mod(isc/9,3)+1,mod(isc/3,3)+1,mod(isc,3)+1)**2
142 IF (idlam(lknt,3).EQ.-15) dcmass = .
true.
144 kfr(1)=idlam(lknt,1)-1
145 kfr(2)=idlam(lknt,2)-1
148 CALL
pyrvgw(kfin,idlam(lknt,1),idlam(lknt,2),
149 & idlam(lknt,3),xlam(lknt))
150 xlam(lknt)=xlam(lknt)*rvlamc/((2*paru(1)*
rms(0))**3*32)
152 IF (xlam(lknt).EQ.0d0)
THEN
159 idlam(lknt,1) =-11 -2*mod(isc/9,3)
160 idlam(lknt,2) =-11 -2*mod(isc/3,3)
161 idlam(lknt,3) = 11 +2*mod(isc,3)
164 rvlamc = gw2 * 5d-1 *
165 & rvlam(mod(isc/9,3)+1,mod(isc/3,3)+1,mod(isc,3)+1)**2
169 IF (idlam(lknt,1).EQ.-15.OR.idlam(lknt,2).EQ.-15
170 & .OR.idlam(lknt,3).EQ.15) dcmass = .
true.
172 kfr(1) =-idlam(lknt,1)+1
173 kfr(2) =-idlam(lknt,2)+1
176 CALL
pyrvgw(kfin,idlam(lknt,1),idlam(lknt,2),
177 & idlam(lknt,3),xlam(lknt))
178 xlam(lknt)=xlam(lknt)*rvlamc/((2*paru(1)*
rms(0))**3*32)
180 IF (xlam(lknt).EQ.0d0)
THEN
188 IF (imss(52).GE.1)
THEN
194 idlam(lknt,1) =-12 -2*mod(isc/9,3)
195 idlam(lknt,2) = -1 -2*mod(isc/3,3)
196 idlam(lknt,3) = 2 +2*mod(isc,3)
199 rvlamc = 3. * gw2 * 5d-1 *
200 & rvlamp(mod(isc/9,3)+1,mod(isc/3,3)+1,mod(isc,3)+1)**2
202 IF (idlam(lknt,2).EQ.-5.OR.idlam(lknt,3).EQ.6)
207 kfr(3)=-idlam(lknt,3)+1
209 CALL
pyrvgw(kfin,idlam(lknt,1),idlam(lknt,2),idlam(lknt,3)
211 xlam(lknt)=xlam(lknt)*rvlamc/((2*paru(1)*
rms(0))**3*32)
213 IF (xlam(lknt).EQ.0d0)
THEN
219 idlam(lknt,1) =-11 -2*mod(isc/9,3)
220 idlam(lknt,2) = -2 -2*mod(isc/3,3)
221 idlam(lknt,3) = 2 +2*mod(isc,3)
224 rvlamc = 3. * gw2 * 5d-1 *
225 & rvlamp(mod(isc/9,3)+1,mod(isc/3,3)+1,mod(isc,3)+1)**2
227 IF (idlam(lknt,1).EQ.-11.OR.idlam(lknt,2).EQ.-6
228 & .OR.idlam(lknt,3).EQ.6) dcmass = .
true.
232 kfr(3)=-idlam(lknt,3)+1
234 CALL
pyrvgw(kfin,idlam(lknt,1),idlam(lknt,2),idlam(lknt,3)
236 xlam(lknt)=xlam(lknt)*rvlamc/((2*paru(1)*
rms(0))**3*32)
238 IF (xlam(lknt).EQ.0d0)
THEN
244 idlam(lknt,1) =-11 -2*mod(isc/9,3)
245 idlam(lknt,2) = -1 -2*mod(isc/3,3)
246 idlam(lknt,3) = 1 +2*mod(isc,3)
249 rvlamc = 3. * gw2 * 5d-1 *
250 & rvlamp(mod(isc/9,3)+1,mod(isc/3,3)+1,mod(isc,3)+1)**2
252 IF (idlam(lknt,1).EQ.-15.OR.idlam(lknt,2).EQ.-5
253 & .OR.idlam(lknt,3).EQ.5) dcmass = .
true.
255 kfr(1)=-idlam(lknt,1)+1
256 kfr(2)=-idlam(lknt,2)+1
259 CALL
pyrvgw(kfin,idlam(lknt,1),idlam(lknt,2),idlam(lknt,3)
261 xlam(lknt)=xlam(lknt)*rvlamc/((2*paru(1)*
rms(0))**3*32)
263 IF (xlam(lknt).EQ.0d0)
THEN
269 idlam(lknt,1) = 12 +2*mod(isc/9,3)
270 idlam(lknt,2) = 2 +2*mod(isc/3,3)
271 idlam(lknt,3) = -1 -2*mod(isc,3)
275 rvlamc = 3. * gw2 * 5d-1 *
276 & rvlamp(mod(isc/9,3)+1,mod(isc/3,3)+1,mod(isc,3)+1)**2
277 IF (idlam(lknt,2).EQ.6.OR.idlam(lknt,3).EQ.-5)
280 kfr(1)=idlam(lknt,1)-1
281 kfr(2)=idlam(lknt,2)-1
284 CALL
pyrvgw(kfin,idlam(lknt,1),idlam(lknt,2),idlam(lknt,3)
286 xlam(lknt)=xlam(lknt)*rvlamc/((2*paru(1)*
rms(0))**3*32)
288 IF (xlam(lknt).EQ.0d0)
THEN
313 IF (imss(53).GE.1)
THEN
319 IF (mod(isc/9,3).LE.mod(isc/3,3).AND.isc.NE.13)
THEN
321 idlam(lknt,1) = 2 +2*mod(isc/9,3)
322 idlam(lknt,2) = 2 +2*mod(isc/3,3)
323 idlam(lknt,3) = 1 +2*mod(isc,3)
326 rvlamc= 6. * gw2 * 5d-1
327 rvljik= rvlamb(mod(isc/3,3)+1,mod(isc/9,3)+1,mod(isc,3)
329 rvlijk= rvlamb(mod(isc/9,3)+1,mod(isc/3,3)+1,mod(isc,3)
331 IF (mod(isc/9,3).EQ.mod(isc/3,3)) rvlamc = 5d-1
334 IF (idlam(lknt,1).EQ.6.OR.idlam(lknt,2).EQ.6
335 & .OR.idlam(lknt,3).EQ.5) dcmass =.
true.
337 kfr(1) = -idlam(lknt,1)+1
341 CALL
pyrvgw(kfin,idlam(lknt,1),idlam(lknt,2),
342 & idlam(lknt,3),xresi)
345 kfr(2) = -idlam(lknt,2)+1
348 CALL
pyrvgw(kfin,idlam(lknt,1),idlam(lknt,2),
349 & idlam(lknt,3),xresj)
351 kfr(1) = -idlam(lknt,1)+1
352 kfr(2) = -idlam(lknt,2)+1
355 CALL
pyrvgw(kfin,idlam(lknt,1),idlam(lknt,2),
356 & idlam(lknt,3),xresij)
357 IF (abs((xresi+xresj)/xresij-1.).GT.1d-4)
THEN
358 xresij = xresij-xresi-xresj
363 xlam(lknt) = rvljik**2 * xresi + rvlijk**2 * xresj
364 & + rvljik*rvlijk * xresij
365 xlam(lknt)=xlam(lknt)*rvlamc/((2*paru(1)*
rms(0))**3*32)
367 IF (xlam(lknt).EQ.0d0)
THEN
373 IF ((mod(isc/9,3).LE.mod(isc/3,3)).AND.(mod(isc/3,3).le
374 & .mod(isc,3)).AND.isc.NE.13)
THEN
376 idlam(lknt,1) = -1 -2*mod(isc/9,3)
377 idlam(lknt,2) = -1 -2*mod(isc/3,3)
378 idlam(lknt,3) = -1 -2*mod(isc,3)
381 rvlamc = 6. * gw2 * 5d-1
382 rvlijk = rvlamb(mod(isc/9,3)+1,mod(isc/3,3)+1,mod(isc,3)
384 rvlkij = rvlamb(mod(isc,3)+1,mod(isc/9,3)+1,mod(isc/3,3)
386 rvljki = rvlamb(mod(isc/3,3)+1,mod(isc,3)+1,mod(isc/9,3)
389 IF (idlam(lknt,1).EQ.-5.OR.idlam(lknt,2).EQ.-5
390 & .OR.idlam(lknt,3).EQ.-5) dcmass = .
true.
392 IF (mod(isc/9,3).EQ.mod(isc/3,3).OR.mod(isc/3,3).eq
393 & .mod(isc,3).OR.mod(isc/9,3).EQ.mod(isc,3))
394 & rvlamc = 5d-1 * rvlamc
396 kfr(1) = idlam(lknt,1)-1
400 CALL
pyrvgw(kfin,idlam(lknt,1),idlam(lknt,2),
401 & idlam(lknt,3),xresi)
404 kfr(2) = idlam(lknt,2)-1
407 CALL
pyrvgw(kfin,idlam(lknt,1),idlam(lknt,2),
408 & idlam(lknt,3),xresj)
412 kfr(3) = idlam(lknt,3)-1
414 CALL
pyrvgw(kfin,idlam(lknt,1),idlam(lknt,2),
415 & idlam(lknt,3),xresk)
417 kfr(1) = idlam(lknt,1)-1
418 kfr(2) = idlam(lknt,2)-1
421 CALL
pyrvgw(kfin,idlam(lknt,1),idlam(lknt,2),
422 & idlam(lknt,3),xresij)
423 IF (abs(xresij/(xresi+xresj)-1.).GT.1d-4)
THEN
424 xresij = xresi+xresj-xresij
430 kfr(2) = idlam(lknt,2)-1
431 kfr(3) = idlam(lknt,3)-1
433 CALL
pyrvgw(kfin,idlam(lknt,1),idlam(lknt,2),
434 & idlam(lknt,3),xresjk)
435 IF (abs(xresjk/(xresj+xresk)-1.).GT.1d-4)
THEN
436 xresjk = xresj+xresk-xresjk
441 kfr(1) = idlam(lknt,1)-1
443 kfr(3) = idlam(lknt,3)-1
445 CALL
pyrvgw(kfin,idlam(lknt,1),idlam(lknt,2),
446 & idlam(lknt,3),xresik)
447 IF (abs(xresik/(xresi+xresk)-1.).GT.1d-4)
THEN
448 xresik = xresi+xresk-xresik
455 & + rvljki**2 * xresj
456 & + rvlkij**2 * xresk
457 & + rvlijk*rvljki * xresij
458 & + rvlijk*rvlkij * xresik
459 & + rvljki*rvlkij * xresjk
460 xlam(lknt)=xlam(lknt)*rvlamc/((2.*paru(1)*
rms(0))**3*32)
462 IF (xlam(lknt).EQ.0d0)
THEN