]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HERWIG/src/hwdthr.f
use TMath::Abs() instead of ambiguous abs().
[u/mrichter/AliRoot.git] / HERWIG / src / hwdthr.f
1
2 CDECK  ID>, HWDTHR.
3
4 *CMZ :-        -26/04/91  14.55.44  by  Federico Carminati
5
6 *-- Author :    Bryan Webber
7
8 C-----------------------------------------------------------------------
9
10       SUBROUTINE HWDTHR(P0,P1,P2,P3,WEIGHT)
11
12 C-----------------------------------------------------------------------
13
14 C     GENERATES THREE-BODY DECAY 0->1+2+3 DISTRIBUTED
15
16 C     ACCORDING TO PHASE SPACE * WEIGHT
17
18 C-----------------------------------------------------------------------
19
20       DOUBLE PRECISION HWR,HWRUNI,A,B,C,D,AA,BB,CC,DD,EE,FF,PP,QQ,WW,
21
22      & RR,PCM1,PC23,WEIGHT,P0(5),P1(5),P2(5),P3(5),P23(5),TWO
23
24       EXTERNAL HWR,HWRUNI,WEIGHT
25
26       PARAMETER (TWO=2.D0)
27
28       A=P0(5)+P1(5)
29
30       B=P0(5)-P1(5)
31
32       C=P2(5)+P3(5)
33
34       IF (B.LT.C) CALL HWWARN('HWDTHR',100,*999)
35
36       D=ABS(P2(5)-P3(5))
37
38       AA=A*A
39
40       BB=B*B
41
42       CC=C*C
43
44       DD=D*D
45
46       EE=(B-C)*(A-D)
47
48       A=0.5*(AA+BB)
49
50       B=0.5*(CC+DD)
51
52       C=4./(A-B)**2
53
54 C
55
56 C  CHOOSE MASS OF SUBSYSTEM 23 WITH PRESCRIBED DISTRIBUTION
57
58 C
59
60    10 FF=HWRUNI(0,BB,CC)
61
62       PP=(AA-FF)*(BB-FF)
63
64       QQ=(CC-FF)*(DD-FF)
65
66       WW=WEIGHT(FF,A,B,C)**2
67
68       RR=EE*FF*HWR()
69
70       IF (PP*QQ*WW.LT.RR*RR) GOTO 10
71
72 C
73
74 C  FF IS MASS SQUARED OF SUBSYSTEM 23.
75
76 C
77
78 C  DO 2-BODY DECAYS 0->1+23, 23->2+3
79
80 C
81
82       P23(5)=SQRT(FF)
83
84       PCM1=SQRT(PP)*0.5/P0(5)
85
86       PC23=SQRT(QQ)*0.5/P23(5)
87
88       CALL HWDTWO(P0,P1,P23,PCM1,TWO,.TRUE.)
89
90       CALL HWDTWO(P23,P2,P3,PC23,TWO,.TRUE.)
91
92   999 END
93
94 CDECK  ID>, HWDTOP.
95
96 *CMZ :-        -09/12/92  11.03.46  by  Bryan Webber
97
98 *-- Author :    Bryan Webber
99
100 C-----------------------------------------------------------------------
101
102       SUBROUTINE HWDTOP(DECAY)
103
104 C-----------------------------------------------------------------------
105
106 C     DECIDES WHETHER TO DO TOP QUARK DECAY BEFORE HADRONIZATION
107
108 C-----------------------------------------------------------------------
109
110       INCLUDE 'HERWIG61.INC'
111
112       LOGICAL DECAY
113
114       DECAY=RMASS(6).GT.130D0
115
116       END