EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
poldqcdi.F
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file poldqcdi.F
1 
2 *72*********************************************************************
3  FUNCTION poldqcdi(IPART,IP,XP,ZPMIN,ZPMAX)
4 
5  IMPLICIT NONE
6 C...First order QCD matrix elements as in function DQCD but analytically
7 C...integrated over ZP from ZPMIN to ZPMAX, also a factor 1/(1-XP) is
8 C...factored out (since XP chosen randomly according to 1/(1-XP) distr.)
9 
10 *...Added common block LEPTOU to access to polarization state.
11 
12 
13 *
14 * to avoid variable conflictions, a second keep element is necessary
15 * with the same common block name (see LPTOU2)
16 *
17 *
18 * to avoid variable conflictions, a second keep element is necessary
19 * with the same common block name (see LPTOU2)
20 *
21  COMMON /leptou/ cut(14),lst(40),parl(30),
22  & x,y,w2,q2,u
23  REAL cut,parl,x,y,w2,q2,u
24  INTEGER lst
25  SAVE /leptou/
26 
27  INTEGER ipart,ip
28  REAL xp,zpmin,zpmax,c1,c2,zlog,poldqcdi
29  DATA c1,c2/0.2122066,0.0795775/
30 
31  IF(lst(8).EQ.19.AND.ipart.EQ.1) THEN
32 C...No QCD Compton for Ariadne
33  poldqcdi=0.0
34  RETURN
35  ENDIF
36 
37  IF(ipart.EQ.1) THEN
38  IF(ip.EQ.1) THEN
39  poldqcdi = 0.
40  ELSEIF(ip.EQ.2) THEN
41  poldqcdi = 0.
42  ELSEIF(ip.EQ.3) THEN
43  zlog=alog(zpmax/zpmin)
44  poldqcdi=c1*(xp**2*zlog+zpmin-zpmax+(zpmin**2-zpmax**2)/2.+zlog+
45  & 2.*xp*(1.-xp)*(zpmax-zpmin)+(1.-xp)*(zpmax**2-zpmin**2))
46  ELSE
47  WRITE(6,1000) ipart,ip
48  ENDIF
49 
50  ELSEIF(ipart.EQ.2) THEN
51  IF(ip.EQ.1) THEN
52  poldqcdi = 0.
53  ELSEIF(ip.EQ.2) THEN
54  poldqcdi = 0.
55  ELSEIF(ip.EQ.3) THEN
56  zlog=alog(zpmax/zpmin)
57  poldqcdi=c2*(2.*xp-1.)*(1.-xp)*(2.*zlog+2.*zpmin-2.*zpmax)
58  ELSE
59  WRITE(6,1000) ipart,ip
60  ENDIF
61 
62  ELSE
63  WRITE(6,1000) ipart,ip
64  ENDIF
65  RETURN
66 
67  1000 FORMAT(' Error in routine POLDQCDI ',
68  &' IPART, IP = ',2i10)
69  END