]>
Commit | Line | Data |
---|---|---|
3820ca8e | 1 | |
2 | CDECK ID>, HWBAZF. | |
3 | ||
4 | *CMZ :- -26/04/91 11.11.54 by Bryan Webber | |
5 | ||
6 | *-- Author : Ian Knowles | |
7 | ||
8 | C----------------------------------------------------------------------- | |
9 | ||
10 | SUBROUTINE HWBAZF(IPAR,JPAR,VEC1,VEC2,VEC3,VEC) | |
11 | ||
12 | C----------------------------------------------------------------------- | |
13 | ||
14 | C Azimuthal correlation functions for Collins' algorithm, | |
15 | ||
16 | C see I.G.Knowles, Comp. Phys. Comm. 58 (90) 271 for notation. | |
17 | ||
18 | C----------------------------------------------------------------------- | |
19 | ||
20 | INCLUDE 'HERWIG61.INC' | |
21 | ||
22 | DOUBLE PRECISION Z1,Z2,DOT12,DOT23,DOT31,TR,FN(7),VEC1(2),VEC2(2), | |
23 | ||
24 | & VEC3(2),VEC(2) | |
25 | ||
26 | INTEGER IPAR,JPAR | |
27 | ||
28 | LOGICAL GLUI,GLUJ | |
29 | ||
30 | IF (.NOT.AZSPIN) RETURN | |
31 | ||
32 | Z1=PPAR(4,JPAR)/PPAR(4,IPAR) | |
33 | ||
34 | Z2=1.-Z1 | |
35 | ||
36 | GLUI=IDPAR(IPAR).EQ.13 | |
37 | ||
38 | GLUJ=IDPAR(JPAR).EQ.13 | |
39 | ||
40 | IF (GLUI) THEN | |
41 | ||
42 | IF (GLUJ) THEN | |
43 | ||
44 | C Branching: g--->gg | |
45 | ||
46 | FN(2)=Z2/Z1 | |
47 | ||
48 | FN(3)=1./FN(2) | |
49 | ||
50 | FN(4)=Z1*Z2 | |
51 | ||
52 | FN(1)=FN(2)+FN(3)+FN(4) | |
53 | ||
54 | FN(5)=FN(2)+2.*Z1 | |
55 | ||
56 | FN(6)=FN(3)+2.*Z2 | |
57 | ||
58 | FN(7)=FN(4)-2. | |
59 | ||
60 | ELSE | |
61 | ||
62 | C Branching: g--->qqbar | |
63 | ||
64 | FN(1)=(Z1*Z1+Z2*Z2)/2. | |
65 | ||
66 | FN(2)=0. | |
67 | ||
68 | FN(3)=0. | |
69 | ||
70 | FN(4)=-Z1*Z2 | |
71 | ||
72 | FN(5)=-(2.*Z1-1.)/2. | |
73 | ||
74 | FN(6)=-FN(5) | |
75 | ||
76 | FN(7)=FN(1) | |
77 | ||
78 | ENDIF | |
79 | ||
80 | ELSE | |
81 | ||
82 | IF (GLUJ) THEN | |
83 | ||
84 | C Branching: q--->gq | |
85 | ||
86 | FN(1)=(1.+Z2*Z2)/(2.*Z1) | |
87 | ||
88 | FN(2)=Z2/Z1 | |
89 | ||
90 | FN(3)=0. | |
91 | ||
92 | FN(4)=0. | |
93 | ||
94 | FN(5)=FN(1) | |
95 | ||
96 | FN(6)=(1.+Z2)/2. | |
97 | ||
98 | FN(7)=-FN(6) | |
99 | ||
100 | ELSE | |
101 | ||
102 | C Branching: q--->qg | |
103 | ||
104 | FN(1)=(1.+Z1*Z1)/(2.*Z2) | |
105 | ||
106 | FN(2)=0. | |
107 | ||
108 | FN(3)=Z1/Z2 | |
109 | ||
110 | FN(4)=0. | |
111 | ||
112 | FN(5)=(1.+Z1)/2. | |
113 | ||
114 | FN(6)=FN(1) | |
115 | ||
116 | FN(7)=-FN(5) | |
117 | ||
118 | ENDIF | |
119 | ||
120 | ENDIF | |
121 | ||
122 | DOT12=VEC1(1)*VEC2(1)+VEC1(2)*VEC2(2) | |
123 | ||
124 | DOT23=VEC2(1)*VEC3(1)+VEC2(2)*VEC3(2) | |
125 | ||
126 | DOT31=VEC3(1)*VEC1(1)+VEC3(2)*VEC1(2) | |
127 | ||
128 | TR=1./(FN(1)+FN(2)*DOT23+FN(3)*DOT31+FN(4)*DOT12) | |
129 | ||
130 | VEC(1)=((FN(2)+FN(5)*DOT23)*VEC1(1) | |
131 | ||
132 | & +(FN(3)+FN(6)*DOT31)*VEC2(1) | |
133 | ||
134 | & +(FN(4)+FN(7)*DOT12)*VEC3(1))*TR | |
135 | ||
136 | VEC(2)=((FN(2)+FN(5)*DOT23)*VEC1(2) | |
137 | ||
138 | & +(FN(3)+FN(6)*DOT31)*VEC2(2) | |
139 | ||
140 | & +(FN(4)+FN(7)*DOT12)*VEC3(2))*TR | |
141 | ||
142 | END |