]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ISAJET/isasusy/sstpbf.F
(martin) pt vs eta correction matrix calculation macro using CorrectionMatrix2D class.
[u/mrichter/AliRoot.git] / ISAJET / isasusy / sstpbf.F
1 #include "isajet/pilot.h"
2         SUBROUTINE SSTPBF
3 C-----------------------------------------------------------------------
4 C
5 C     Calculate the top branching ratios.
6 C     Source: H. Baer (modified by F. Paige)
7 C
8 C-----------------------------------------------------------------------
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"
17 C
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.)/
26 C
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)
56 C
57 C          W decays
58 C
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)
70 C
71 C          H+ decays
72 C
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
82 C
83 C          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
109 100   CONTINUE
110 C
111 C       t -> sb_1 + sW_i
112 C
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
124 c
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
134 C
135 C       t -> sb_2 + sW_i
136 C
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
146 c
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
156 C
157 C
158 C          Normalize branching ratios
159 C
160       CALL SSNORM(IDTP)
161 C
162       RETURN
163       END