]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HERWIG/src/hwbspn.f
Declaring some methods constant.
[u/mrichter/AliRoot.git] / HERWIG / src / hwbspn.f
1
2 CDECK  ID>, HWBSPN.
3
4 *CMZ :-        -26/04/91  11.11.54  by  Bryan Webber
5
6 *-- Author :    Ian Knowles
7
8 C-----------------------------------------------------------------------
9
10       SUBROUTINE HWBSPN
11
12 C-----------------------------------------------------------------------
13
14 C     Constructs appropriate spin density/decay matrix for parton
15
16 C     in hard subprocess, othwise zero. Assignments based upon
17
18 C     Comp. Phys. Comm. 58 (1990) 271.
19
20 C-----------------------------------------------------------------------
21
22       INCLUDE 'HERWIG61.INC'
23
24       DOUBLE PRECISION C,V12,V23,V13,TR,C1,C2,C3,R1(2),R2(2)
25
26       INTEGER IST
27
28       SAVE R1,R2,V12
29
30       IF (IERROR.NE.0) RETURN
31
32       IST=MOD(ISTHEP(NEVPAR),10)
33
34 C Assumed partons processed in the order IST=1,2,3,4
35
36       IF (IPROC.GE.100.AND.IPROC.LE.116) THEN
37
38 C  An e+e- ---> qqbar g event
39
40          IF (IDPAR(2).EQ.13) THEN
41
42             RHOPAR(1,2)=GPOLN
43
44             RHOPAR(2,2)=0.
45
46             RETURN
47
48          ENDIF
49
50       ELSEIF (IPRO.EQ.15.OR.IPRO.EQ.17) THEN
51
52          IF (IHPRO.EQ. 7.OR.IHPRO.EQ. 8.OR.
53
54      &       IHPRO.EQ.10.OR.IHPRO.EQ.11.OR.
55
56      &       IHPRO.EQ.15.OR.IHPRO.EQ.16.OR.
57
58      &      (IHPRO.GE.21.AND.IHPRO.LE.31)) THEN
59
60 C A hard 2 --- > 2 QCD subprocess involving gluons
61
62             IF (IST.EQ.2) THEN
63
64                CALL HWVEQU(2,RHOPAR(1,2),R1(1))
65
66                C=GCOEF(2)/GCOEF(1)
67
68                DECPAR(1,2)=C*R1(1)
69
70                DECPAR(2,2)=C*R1(2)
71
72                RETURN
73
74             ELSEIF (IST.EQ.3) THEN
75
76                CALL HWVEQU(2,RHOPAR(1,2),R2(1))
77
78                V12=R1(1)*R2(1)+R1(2)*R2(2)
79
80                TR=1./(GCOEF(1)+GCOEF(2)*V12)
81
82                RHOPAR(1,2)= (GCOEF(3)*R1(1)+GCOEF(4)*R2(1))*TR
83
84                RHOPAR(2,2)=-(GCOEF(3)*R1(2)+GCOEF(4)*R2(2))*TR
85
86                RETURN
87
88             ELSEIF (IST.EQ.4) THEN
89
90                V13=R1(1)*DECPAR(1,2)+R1(2)*DECPAR(2,2)
91
92                V23=R2(1)*DECPAR(1,2)+R2(2)*DECPAR(2,2)
93
94                TR=1./(GCOEF(1)+GCOEF(2)*V12+GCOEF(3)*V13+GCOEF(4)*V23)
95
96                C1=(GCOEF(2)+GCOEF(5))*TR
97
98                C2=(GCOEF(3)+GCOEF(6))*TR
99
100                C3=(GCOEF(4)+GCOEF(6))*TR
101
102                RHOPAR(1,2)=C1*DECPAR(1,2)+C2*R2(1)+C3*R1(1)
103
104                RHOPAR(2,2)=C1*DECPAR(2,2)-C2*R1(2)-C3*R2(2)
105
106                RETURN
107
108             ENDIF
109
110          ENDIF
111
112       ELSEIF (IPRO.EQ.16) THEN
113
114 C A gluon fusion ---> Higgs event
115
116          IF (IST.EQ.2) THEN
117
118             DECPAR(1,2)=RHOPAR(1,2)
119
120             DECPAR(2,2)=-RHOPAR(2,2)
121
122             RETURN
123
124          ENDIF
125
126       ENDIF
127
128       CALL HWVZRO(2,RHOPAR(1,2))
129
130       CALL HWVZRO(2,DECPAR(1,2))
131
132       END