]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ISAJET/isasusy/sshnn.F
Adding MUON HLT code to the repository.
[u/mrichter/AliRoot.git] / ISAJET / isasusy / sshnn.F
1 #include "isajet/pilot.h"
2       SUBROUTINE SSHNN
3 C-----------------------------------------------------------------------
4 C     Calculates the decay widths of all neutral Higgses into all
5 C     possible pairs of neutralinos, and the decay widths of the
6 C     charged Higgs into any neutralino and any chargino
7 C
8 C     Bisset's NEUINO
9 C-----------------------------------------------------------------------
10 #if defined(CERNLIB_IMPNONE)
11       IMPLICIT NONE
12 #endif
13 #include "isajet/sspar.inc"
14 #include "isajet/sssm.inc"
15 #include "isajet/sstype.inc"
16 C
17       DOUBLE PRECISION XIJ,XJI,DIJ,TEMP,DWZN,TEMP2,T2,RWZ,SWZ
18      $,PI,SR2,XM,THETX,YM,THETY,SGL,CGL,SGR,CGR,MW1,MW2,THETM,THETP
19      $,G2,GP2,BETA,ALPHA,MH,M1,M2
20       DOUBLE PRECISION SN1,SN2,DWID,LAMB
21       DOUBLE PRECISION A(4,4),MHI(3)
22       DOUBLE PRECISION SSDLAM
23       REAL WID
24       INTEGER II,NUMH,I1,I2,IZ,IW,ID1,ID2,IDHHA
25       INTEGER IDHI(3),IDZI(4)
26 C
27 C          Mass matrix parameters
28 C
29       PI=4.*ATAN(1.D0)
30       SR2=SQRT(2.D0)
31       XM=1./TAN(GAMMAL)
32       THETX=SIGN(1.D0,XM)
33       YM=1./TAN(GAMMAR)
34       THETY=SIGN(1.D0,YM)
35       SGL=1/(DSQRT(1+XM**2))
36       CGL=SGL*XM
37       SGR=1/(DSQRT(1+YM**2))
38       CGR=SGR*YM
39       MW1=DBLE(ABS(AMW1SS))
40       MW2=DBLE(ABS(AMW2SS))
41       THETM=SIGN(1.,AMW1SS)
42       THETP=SIGN(1.,AMW2SS)
43       G2=4*PI*ALFAEM/SN2THW
44       GP2=4*PI*ALFAEM/(1-SN2THW)
45       BETA=ATAN(1.0/RV2V1)
46       ALPHA=ALFAH
47 C          The following was calculated in Bisset's MASZIN
48       DO 10 II=1,4
49          TEMP=SQRT(G2)*ZMIXSS(3,II)+SQRT(GP2)*ZMIXSS(4,II)
50          TEMP=TEMP/SR2
51          A(1,II)=-TEMP*SGR-SQRT(G2)*ZMIXSS(1,II)*CGR
52          A(2,II)=TEMP*CGR-SQRT(G2)*ZMIXSS(1,II)*SGR
53          A(3,II)=-TEMP*SGL+SQRT(G2)*ZMIXSS(2,II)*CGL
54          A(4,II)=TEMP*CGL+SQRT(G2)*ZMIXSS(2,II)*SGL
55 10    CONTINUE
56 C
57 C          Arrays for loops
58 C
59       MHI(1)=AMHL
60       MHI(2)=AMHH
61       MHI(3)=AMHA
62       IDHI(1)=ISHL
63       IDHI(2)=ISHH
64       IDHI(3)=ISHA
65       IDZI(1)=ISZ1
66       IDZI(2)=ISZ2
67       IDZI(3)=ISZ3
68       IDZI(4)=ISZ4
69 C
70 C          Loop over neutral Higgs decays h(numh) into neutralino
71 C          pairs zi(i1) and zi(i2)
72 C
73       DO 100 NUMH=1,3
74         MH=MHI(NUMH)
75         IDHHA=IDHI(NUMH)
76         DO 110 I1=1,4
77           M1=ABS(AMZISS(I1))
78           ID1=IDZI(I1)
79           DO 120 I2=I1,4
80             M2=ABS(AMZISS(I2))
81             ID2=IDZI(I2)
82             IF(M1+M2.GE.MH) GO TO 120
83             LAMB=SSDLAM(MH**2,M1**2,M2**2)
84             IF(I1.EQ.I2) THEN
85               DIJ = 0.5
86             ELSE
87               DIJ = 1.0
88             ENDIF
89             TEMP=-0.5*SIGN(1.,AMZISS(I1))*SIGN(1.,AMZISS(I2))
90             XIJ=TEMP*(SQRT(G2)*ZMIXSS(3,I2)-SQRT(GP2)*ZMIXSS(4,I2))
91             XJI=TEMP*(SQRT(G2)*ZMIXSS(3,I1)-SQRT(GP2)*ZMIXSS(4,I1))
92             IF(NUMH.EQ.1) THEN
93               XIJ=XIJ*(ZMIXSS(2,I1)*SIN(ALPHA)-ZMIXSS(1,I1)*COS(ALPHA))
94               XJI=XJI*(ZMIXSS(2,I2)*SIN(ALPHA)-ZMIXSS(1,I2)*COS(ALPHA))
95             ELSEIF (NUMH .EQ. 2) THEN
96               XIJ=XIJ*(ZMIXSS(2,I1)*COS(ALPHA)+ZMIXSS(1,I1)*SIN(ALPHA))
97               XJI=XJI*(ZMIXSS(2,I2)*COS(ALPHA)+ZMIXSS(1,I2)*SIN(ALPHA))
98             ELSEIF(NUMH.EQ.3) THEN
99               XIJ=-XIJ*(ZMIXSS(2,I1)*SIN(BETA)-ZMIXSS(1,I1)*COS(BETA))
100               XJI=-XJI*(ZMIXSS(2,I2)*SIN(BETA)-ZMIXSS(1,I2)*COS(BETA))
101             ENDIF
102             DWID=DIJ*(XIJ+XJI)**2
103             DWID=DWID*SQRT(LAMB)/(8.0*PI*(MH**3))
104             IF(NUMH.EQ.1.OR.NUMH.EQ.2) THEN
105               TEMP2 = ((MH**2)-(M1-2.0*TEMP*M2)**2)
106             ELSEIF(NUMH.EQ.3) THEN
107               TEMP2=((MH**2)-(M1+2.0*TEMP*M2)**2)
108             ENDIF
109             DWID=DWID*TEMP2
110             WID=DWID
111             CALL SSSAVE(IDHHA,WID,ID1,ID2,0,0,0)
112 120       CONTINUE
113 110     CONTINUE
114 100   CONTINUE
115 C
116 C          Loop over h+ decays into wi(iw) + zi(iz)
117 C
118       MH=AMHC
119       DO 210 IW=1,2
120         IF(IW.EQ.1) THEN
121           M1=ABS(AMW1SS)
122           ID1=ISW1
123           SN1=SIGN(1.,AMW1SS)
124         ELSE
125           M1=ABS(AMW2SS)
126           ID1=ISW2
127           SN1=SIGN(1.,AMW2SS)
128         ENDIF
129         DO 220 IZ=1,4
130           M2=ABS(AMZISS(IZ))
131           ID2=IDZI(IZ)
132           SN2=SIGN(1.,AMZISS(IZ))
133           IF(M1+M2.GE.MH) GO TO 220
134           LAMB=SSDLAM(MH**2,M1**2,M2**2)
135           T2=MH**2-M1**2-M2**2
136           IF(IW.EQ.1) THEN
137             RWZ=COS(BETA)*A(2,IZ)*SN1
138             TEMP=SIN(BETA)*A(4,IZ)*SN2
139             SWZ=0.5*(RWZ+TEMP)
140             RWZ=0.5*(RWZ-TEMP)
141           ELSE
142             RWZ=COS(BETA)*A(1,IZ)*THETY*SN1
143             TEMP=SIN(BETA)*A(3,IZ)*THETX*SN2
144             SWZ=0.5*(RWZ+TEMP)
145             RWZ=0.5*(RWZ-TEMP)
146           ENDIF
147           DWID=RWZ**2+SWZ**2
148           DWID=DWID*T2
149           TEMP=2*M1*M2*(RWZ**2-SWZ**2)
150           DWID=(DWID-TEMP)/(8.0*PI*(MH**3))
151           DWID=DWID*SQRT(LAMB)
152           WID=DWID
153           CALL SSSAVE(ISHC,WID,ID1,ID2,0,0,0)
154 220     CONTINUE
155 210   CONTINUE
156       RETURN
157       END