]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ISAJET/isasusy/sstpbf.F
Bug correction
[u/mrichter/AliRoot.git] / ISAJET / isasusy / sstpbf.F
CommitLineData
0795afa3 1#include "isajet/pilot.h"
2 SUBROUTINE SSTPBF
3C-----------------------------------------------------------------------
4C
5C Calculate the top branching ratios.
6C Source: H. Baer (modified by F. Paige)
7C
8C-----------------------------------------------------------------------
9#if defined(CERNLIB_IMPNONE)
10 IMPLICIT NONE
11#endif
12#include "isajet/sslun.inc"
13#include "isajet/ssmode.inc"
14#include "isajet/sssm.inc"
15#include "isajet/sspar.inc"
16#include "isajet/sstype.inc"
17C
18 COMPLEX ZI,ZONE,ZA,ZB,ZPP,ZPM,ZAUIZ,ZBUIZ
19 REAL SSXLAM,G,AL2,BE2,TANB,COTB,GTBW,GTBH,BWLL,GF,BWQQ,PI,SR2
20 REAL WID,AS,BS,MZIZ,CS2THW,GP,FT,FB,SNZI,THIZ
21 REAL SINT,COST,SINB,COSB,AWI,BWI,AMW1,AMW2,SNWI
22 REAL THX,THY,XM,YM,BETA,ASMB,MBMB,MBQ,ASMT,MTMT,MTQ,SUALFS
23 DOUBLE PRECISION SSMQCD
24 INTEGER IZ,ISZIZ(4)
25 DATA ZONE/(1.,0.)/,ZI/(0.,1.)/
26C
27 PI=4.*ATAN(1.)
28 SR2=SQRT(2.)
29 G=SQRT(4*PI*ALFAEM/SN2THW)
30 GP=G*SQRT(SN2THW/(1.-SN2THW))
31 TANB=1./RV2V1
32 COTB=1./TANB
33 BETA=ATAN(TANB)
34 CS2THW=1.-SN2THW
35 ASMB=SUALFS(AMBT**2,.36,AMTP,3)
36 MBMB=AMBT*(1.-4*ASMB/3./PI)
37 MBQ=SSMQCD(DBLE(MBMB),DBLE(AMTP))
38 ASMT=SUALFS(AMTP**2,.36,AMTP,3)
39 MTMT=AMTP/(1.+4*ASMT/3./PI+(16.11-1.04*(5.-6.63/AMTP))*
40 $(ASMT/PI)**2)
41 MTQ=SSMQCD(DBLE(MTMT),DBLE(AMTP))
42 FB=G*MBQ/SR2/AMW/COS(BETA)
43 FT=G*MTQ/SR2/AMW/SIN(BETA)
44 SINT=SIN(THETAT)
45 COST=COS(THETAT)
46 SINB=SIN(THETAB)
47 COSB=COS(THETAB)
48 ISZIZ(1)=ISZ1
49 ISZIZ(2)=ISZ2
50 ISZIZ(3)=ISZ3
51 ISZIZ(4)=ISZ4
52 XM=1./TAN(GAMMAL)
53 YM=1./TAN(GAMMAR)
54 THX=SIGN(1.,XM)
55 THY=SIGN(1.,YM)
56C
57C W decays
58C
59 GF=1.16E-5
60 GTBW=GF*AMTP**3*SSXLAM(1.,AMW**2/AMTP**2,AMBT**2/AMTP**2)*
61 $((1.-AMBT**2/AMTP**2)**2+AMW**2/AMTP**2*(1.+AMBT**2/AMTP**2)
62 $-2*AMW**4/AMTP**4)/(8.*PI*SR2)
63 BWQQ=3./9.
64 BWLL=1./9.
65 CALL SSSAVE(IDTP,BWQQ*GTBW,IDUP,-IDDN,IDBT,0,0)
66 CALL SSSAVE(IDTP,BWQQ*GTBW,IDCH,-IDST,IDBT,0,0)
67 CALL SSSAVE(IDTP,BWLL*GTBW,-IDE,IDNE,IDBT,0,0)
68 CALL SSSAVE(IDTP,BWLL*GTBW,-IDMU,IDNM,IDBT,0,0)
69 CALL SSSAVE(IDTP,BWLL*GTBW,-IDTAU,IDNT,IDBT,0,0)
70C
71C H+ decays
72C
73 AL2=(G/2/SR2/AMW*(AMBT*TANB+AMTP*COTB))**2
74 BE2=(G/2/SR2/AMW*(AMBT*TANB-AMTP*COTB))**2
75 IF (AMTP.GT.(AMBT+AMHC)) THEN
76 GTBH=AMTP/16./PI*((AL2+BE2)
77 $ *(1.+AMBT**2/AMTP**2-AMHC**2/AMTP**2)
78 $ +2*(AL2-BE2)*AMBT/AMTP)
79 $ *SQRT(SSXLAM(1.,AMHC**2/AMTP**2,AMBT**2/AMTP**2))
80 CALL SSSAVE(IDTP,GTBH,ISHC,IDBT,0,0,0)
81 END IF
82C
83C t->t_1 + z_i decays
84 DO 100 IZ=1,4
85 MZIZ=ABS(AMZISS(IZ))
86 SNZI=SIGN(1.,AMZISS(IZ))
87 IF (SNZI.EQ.1.) THEN
88 THIZ=0.
89 ELSE
90 THIZ=1.
91 END IF
92 ZAUIZ=ZI**(THIZ-1.)*SNZI*
93 $(-G/SR2*ZMIXSS(3,IZ)-GP/3./SR2*ZMIXSS(4,IZ))
94 ZBUIZ=ZI**(THIZ-1.)*4*GP*ZMIXSS(4,IZ)/3./SR2
95 ZPP=ZI**THIZ
96 ZPM=(-ZI)**THIZ
97 ZA=((ZI*ZAUIZ-ZPP*FT*ZMIXSS(1,IZ))*COST-
98 $(ZI*ZBUIZ-ZPM*FT*ZMIXSS(1,IZ))*SINT)/2.
99 ZB=((-ZI*ZAUIZ-ZPP*FT*ZMIXSS(1,IZ))*COST-
100 $(ZI*ZBUIZ+ZPM*FT*ZMIXSS(1,IZ))*SINT)/2.
101 AS=ZA*CONJG(ZA)
102 BS=ZB*CONJG(ZB)
103 IF (AMTP.GT.(AMT1SS+MZIZ)) THEN
104 WID=(AS*((AMTP+MZIZ)**2-AMT1SS**2)+BS*
105 $((AMTP-MZIZ)**2-AMT1SS**2))/16./PI/AMTP*
106 $SQRT(SSXLAM(1.,AMT1SS**2/AMTP**2,MZIZ**2/AMTP**2))
107 CALL SSSAVE(IDTP,WID,ISZIZ(IZ),ISTP1,0,0,0)
108 END IF
109100 CONTINUE
110C
111C t -> sb_1 + sW_i
112C
113 AMW1=ABS(AMW1SS)
114 AMW2=ABS(AMW2SS)
115 IF (AMTP.GT.(AMB1SS+AMW1)) THEN
116 SNWI=SIGN(1.,AMW1SS)
117 AWI=-G*SIN(GAMMAL)*COSB+FB*COS(GAMMAL)*SINB
118 BWI=-FT*(-SNWI)*COS(GAMMAR)
119 WID=AMTP*((AWI**2+BWI**2*COSB**2)*(1.+AMW1**2/AMTP**2
120 $-AMB1SS**2/AMTP**2)+4*AMW1/AMTP*AWI*BWI*COST)/32./PI*
121 $SQRT(SSXLAM(1.,AMW1**2/AMTP**2,AMB1SS**2/AMTP**2))
122 CALL SSSAVE(IDTP,WID,ISW1,ISBT1,0,0,0)
123 END IF
124c
125 IF (AMTP.GT.(AMB1SS+AMW2)) THEN
126 SNWI=SIGN(1.,AMW2SS)
127 AWI=-G*THX*COS(GAMMAL)*COSB-FB*THX*SIN(GAMMAL)*SINB
128 BWI=FT*(-SNWI)*THY*SIN(GAMMAR)
129 WID=AMTP*((AWI**2+BWI**2*COSB**2)*(1.+AMW2**2/AMTP**2
130 $-AMB1SS**2/AMTP**2)+4*AMW2/AMTP*AWI*BWI*COST)/32./PI*
131 $SQRT(SSXLAM(1.,AMW2**2/AMTP**2,AMB1SS**2/AMTP**2))
132 CALL SSSAVE(IDTP,WID,ISW2,ISBT1,0,0,0)
133 END IF
134C
135C t -> sb_2 + sW_i
136C
137 IF (AMTP.GT.(AMB2SS+AMW1)) THEN
138 SNWI=SIGN(1.,AMW1SS)
139 AWI=-G*SIN(GAMMAL)*SINB-FB*COS(GAMMAL)*COSB
140 BWI=-FT*(-SNWI)*COS(GAMMAR)
141 WID=AMTP*((AWI**2+BWI**2*SINB**2)*(1.+AMW1**2/AMTP**2
142 $-AMB2SS**2/AMTP**2)+4*AMW1/AMTP*AWI*BWI*COST)/32./PI*
143 $SQRT(SSXLAM(1.,AMW1**2/AMTP**2,AMB2SS**2/AMTP**2))
144 CALL SSSAVE(IDTP,WID,ISW1,ISBT2,0,0,0)
145 END IF
146c
147 IF (AMTP.GT.(AMB2SS+AMW2)) THEN
148 SNWI=SIGN(1.,AMW2SS)
149 AWI=-G*THX*COS(GAMMAL)*SINB+FB*THX*SIN(GAMMAL)*COSB
150 BWI=FT*(-SNWI)*THY*SIN(GAMMAR)
151 WID=AMTP*((AWI**2+BWI**2*SINB**2)*(1.+AMW2**2/AMTP**2
152 $-AMB2SS**2/AMTP**2)+4*AMW2/AMTP*AWI*BWI*COST)/32./PI*
153 $SQRT(SSXLAM(1.,AMW2**2/AMTP**2,AMB2SS**2/AMTP**2))
154 CALL SSSAVE(IDTP,WID,ISW2,ISBT2,0,0,0)
155 END IF
156C
157C
158C Normalize branching ratios
159C
160 CALL SSNORM(IDTP)
161C
162 RETURN
163 END