]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HERWIG/src/sasbeh.f
Private copy constructors and assignment operators without implementation (Effective...
[u/mrichter/AliRoot.git] / HERWIG / src / sasbeh.f
CommitLineData
3820ca8e 1
2C
3
4C*********************************************************************
5
6C
7
8 SUBROUTINE SASBEH(KF,X,Q2,P2,PM2,XPBH)
9
10C...Purpose: to evaluate the Bethe-Heitler cross section for
11
12C...heavy flavour production.
13
14 DATA AEM2PI/0.0011614/
15
16C
17
18C...Reset output.
19
20 XPBH=0.
21
22 SIGBH=0.
23
24C
25
26C...Check kinematics limits.
27
28 IF(X.GE.Q2/(4.*PM2+Q2+P2)) RETURN
29
30 W2=Q2*(1.-X)/X-P2
31
32 BETA2=1.-4.*PM2/W2
33
34 IF(BETA2.LT.1E-10) RETURN
35
36 BETA=SQRT(BETA2)
37
38 RMQ=4.*PM2/Q2
39
40C
41
42C...Simple case: P2 = 0.
43
44 IF(P2.LT.1E-4) THEN
45
46 IF(BETA.LT.0.99) THEN
47
48 XBL=LOG((1.+BETA)/(1.-BETA))
49
50 ELSE
51
52 XBL=LOG((1.+BETA)**2*W2/(4.*PM2))
53
54 ENDIF
55
56 SIGBH=BETA*(8.*X*(1.-X)-1.-RMQ*X*(1.-X))+
57
58 & XBL*(X**2+(1.-X)**2+RMQ*X*(1.-3.*X)-0.5*RMQ**2*X**2)
59
60C
61
62C...Complicated case: P2 > 0, based on approximation of
63
64C...C.T. Hill and G.G. Ross, Nucl. Phys. B148 (1979) 373
65
66 ELSE
67
68 RPQ=1.-4.*X**2*P2/Q2
69
70 IF(RPQ.GT.1E-10) THEN
71
72 RPBE=SQRT(RPQ*BETA2)
73
74 IF(RPBE.LT.0.99) THEN
75
76 XBL=LOG((1.+RPBE)/(1.-RPBE))
77
78 XBI=2.*RPBE/(1.-RPBE**2)
79
80 ELSE
81
82 RPBESN=4.*PM2/W2+(4.*X**2*P2/Q2)*BETA2
83
84 XBL=LOG((1.+RPBE)**2/RPBESN)
85
86 XBI=2.*RPBE/RPBESN
87
88 ENDIF
89
90 SIGBH=BETA*(6.*X*(1.-X)-1.)+
91
92 & XBL*(X**2+(1.-X)**2+RMQ*X*(1.-3.*X)-0.5*RMQ**2*X**2)+
93
94 & XBI*(2.*X/Q2)*(PM2*X*(2.-RMQ)-P2*X)
95
96 ENDIF
97
98 ENDIF
99
100C
101
102C...Multiply by charge-squared etc. to get parton distribution.
103
104 CHSQ=1./9.
105
106 IF(IABS(KF).EQ.2.OR.IABS(KF).EQ.4) CHSQ=4./9.
107
108 XPBH=3.*CHSQ*AEM2PI*X*SIGBH
109
110C
111
112 RETURN
113
114 END