]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PDF/spdf/sasgam1.F
(martin) pt vs eta correction matrix calculation macro using CorrectionMatrix2D class.
[u/mrichter/AliRoot.git] / PDF / spdf / sasgam1.F
CommitLineData
21886bb6 1#include "pdf/pilot.h"
2C...SaSgam - parton distributions of the photon
3C...by Gerhard A. Schuler and Torbjorn Sjostrand
4C...For further information see preprint CERN-TH/95-62 and LU TP 95-6:
5C...Low- and high-mass components of the photon distribution functions
6C...Program last changed on 21 March 1995.
7
8C...The user should only need to call the SASGAM routine,
9C...which in turn calls the auxiliary routines SASVM1, SASAN1,
10C...SASBEH and SASDIR. The package is self-contained.
11
12C...One particular aspect of these parametrizations is that F2 for
13C...the photon is not obtained just as the charge-squared-weighted
14C...sum of quark distributions, but differ in the treatment of
15C...heavy flavours (in F2 the DIS relation W2 = Q2*(1-x)/x restricts
16C...the kinematics range of heavy-flavour production, but the same
17C...kinematics is not relevant e.g. for jet production) and, for the
18C...'MSbar' fits, in the addition of a Cgamma term related to the
19C...separation of direct processes. Schematically:
20C...PDF = VMD (rho, omega, phi) + anomalous (d, u, s, c, b).
21C...F2 = VMD (rho, omega, phi) + anomalous (d, u, s) +
22C... Bethe-Heitler (c, b) (+ Cgamma (d, u, s)).
23C...The J/psi and Upsilon states have not been included in the VMD sum,
24C...but low c and b masses in the other components should compensate
25C...for this in a duality sense.
26
27C...The calling sequence is the following:
28C CALL SASGAM1(ISET,X,Q2,P2,F2GM,XPDFGM)
29C...with the following declaration statement:
30C DIMENSION XPDFGM(-6:6)
31C...and, optionally, further information in:
32C COMMON/SASCOM/XPVMD(-6:6),XPANL(-6:6),XPANH(-6:6),XPBEH(-6:6),
33C &XPDIR(-6:6)
34C...Input: ISET = 1 : SaS set 1D ('DIS', Q0 = 0.6 GeV)
35C = 2 : SaS set 1M ('MSbar', Q0 = 0.6 GeV)
36C = 3 : SaS set 2D ('DIS', Q0 = 2 GeV)
37C = 4 : SaS set 2M ('MSbar', Q0 = 2 GeV)
38C X : x value.
39C Q2 : Q2 value.
40C P2 : P2 value; should be = 0. for an on-shell photon.
41C...Output: F2GM : F2 value of the photon (including factors of alpha_em).
42C XPFDGM : x times parton distribution functions of the photon,
43C with elements 0 = g, 1 = d, 2 = u, 3 = s, 4 = c, 5 = b,
44C 6 = t (always empty!), - for antiquarks (result is same).
45C...The breakdown by component is stored in the commonblock SASCOM,
46C with elements as above.
47C XPVMD : rho, omega, phi VMD part only of output.
48C XPANL : d, u, s anomalous part only of output.
49C XPANH : c, b anomalous part only of output.
50C XPBEH : c, b Bethe-Heitler part only of output.
51C XPDIR : Cgamma (direct contribution) part only of output.
52
53 SUBROUTINE SASGAM1(ISET,X,Q2,P2,F2GM,XPDFGM)
54C...Purpose: to construct the F2 and parton distributions of the photon
55C...by summing homogeneous (VMD) and inhomogeneous (anomalous) terms.
56C...For F2, c and b are included by the Bethe-Heitler formula;
57C...in the 'MSbar' scheme additionally a Cgamma term is added.
58 DIMENSION XPDFGM(-6:6)
59 COMMON/SASCOM/XPVMD(-6:6),XPANL(-6:6),XPANH(-6:6),XPBEH(-6:6),
60 &XPDIR(-6:6)
61 SAVE /SASCOM/
62
63C...Temporary array.
64 DIMENSION XPGA(-6:6)
65C...Charm and bottom masses (low to compensate for J/psi etc.).
66 DATA PMC/1.3/, PMB/4.6/
67C...alpha_em and alpha_em/(2*pi).
68 DATA AEM/0.007297/, AEM2PI/0.0011614/
69C...Lambda value for 4 flavours.
70 DATA ALAM/0.20/
71C...Mixture u/(u+d), = 0.5 for incoherent and = 0.8 for coherent sum.
72 DATA FRACU/0.8/
73C...VMD couplings f_V**2/(4*pi).
74 DATA FRHO/2.20/, FOMEGA/23.6/, FPHI/18.4/
75C...Masses for rho (=omega) and phi.
76 DATA PMRHO/0.770/, PMPHI/1.020/
77
78C...Reset output.
79 F2GM=0.
80 DO 100 KFL=-6,6
81 XPDFGM(KFL)=0.
82 XPVMD(KFL)=0.
83 XPANL(KFL)=0.
84 XPANH(KFL)=0.
85 XPBEH(KFL)=0.
86 XPDIR(KFL)=0.
87 100 CONTINUE
88
89C...Check that input sensible.
90 IF(ISET.LE.0.OR.ISET.GE.5) THEN
91 WRITE(*,*) ' FATAL ERROR: SaSgam called for unknown set'
92 WRITE(*,*) ' ISET = ',ISET
93 STOP
94 ENDIF
95 IF(X.LE.0..OR.X.GT.1.) THEN
96 WRITE(*,*) ' FATAL ERROR: SaSgam called for unphysical x'
97 WRITE(*,*) ' X = ',X
98 STOP
99 ENDIF
100
101C...Set Q0 cut-off parameter as function of set used.
102 IF(ISET.LE.2) THEN
103 Q0=0.6
104 ELSE
105 Q0=2.
106 ENDIF
107 Q02 = Q0**2
108
109C...Call VMD parametrization for d quark and use to give rho, omega, phi.
110C...Note scale choice and dipole dampening for off-shell photon.
111 P2MX=MAX(P2,Q02)
112 CALL SASVM1(ISET,1,X,Q2,P2MX,ALAM,XPGA)
113 XFVAL=XPGA(1)-XPGA(2)
114 XPGA(1)=XPGA(2)
115 XPGA(-1)=XPGA(-2)
116 FACUD=AEM*(1./FRHO+1./FOMEGA)*(PMRHO**2/(PMRHO**2+P2))**2
117 FACS=AEM*(1./FPHI)*(PMPHI**2/(PMPHI**2+P2))**2
118 DO 110 KFL=-5,5
119 XPVMD(KFL)=(FACUD+FACS)*XPGA(KFL)
120 110 CONTINUE
121 XPVMD(1)=XPVMD(1)+(1.-FRACU)*FACUD*XFVAL
122 XPVMD(2)=XPVMD(2)+FRACU*FACUD*XFVAL
123 XPVMD(3)=XPVMD(3)+FACS*XFVAL
124 XPVMD(-1)=XPVMD(-1)+(1.-FRACU)*FACUD*XFVAL
125 XPVMD(-2)=XPVMD(-2)+FRACU*FACUD*XFVAL
126 XPVMD(-3)=XPVMD(-3)+FACS*XFVAL
127
128C...Call anomalous parametrization for d + u + s.
129 CALL SASAN1(-3,X,Q2,P2MX,ALAM,XPGA)
130 DO 120 KFL=-5,5
131 XPANL(KFL)=XPGA(KFL)
132 120 CONTINUE
133
134C...Call anomalous parametrization for c and b.
135 CALL SASAN1(4,X,Q2,P2MX,ALAM,XPGA)
136 DO 130 KFL=-5,5
137 XPANH(KFL)=XPGA(KFL)
138 130 CONTINUE
139 CALL SASAN1(5,X,Q2,P2MX,ALAM,XPGA)
140 DO 140 KFL=-5,5
141 XPANH(KFL)=XPANH(KFL)+XPGA(KFL)
142 140 CONTINUE
143
144C...Call Bethe-Heitler term expression for charm and bottom.
145 CALL SASBEH(4,X,Q2,P2,PMC**2,XPBH)
146 XPBEH(4)=XPBH
147 XPBEH(-4)=XPBH
148 CALL SASBEH(5,X,Q2,P2,PMB**2,XPBH)
149 XPBEH(5)=XPBH
150 XPBEH(-5)=XPBH
151
152C...For MSbar subtraction call C^gamma term expression for d, u, s.
153 IF(ISET.EQ.2.OR.ISET.EQ.4) THEN
154 CALL SASDIR(X,Q2,P2,Q02,XPGA)
155 DO 150 KFL=-5,5
156 XPDIR(KFL)=XPGA(KFL)
157 150 CONTINUE
158 ENDIF
159
160C...Store result in output array.
161 DO 160 KFL=-5,5
162 CHSQ=1./9.
163 IF(IABS(KFL).EQ.2.OR.IABS(KFL).EQ.4) CHSQ=4./9.
164 XPF2=XPVMD(KFL)+XPANL(KFL)+XPBEH(KFL)+XPDIR(KFL)
165 IF(KFL.NE.0) F2GM=F2GM+CHSQ*XPF2
166 XPDFGM(KFL)=XPVMD(KFL)+XPANL(KFL)+XPANH(KFL)
167 160 CONTINUE
168
169 RETURN
170 END