]>
Commit | Line | Data |
---|---|---|
fe4da5cc | 1 | #include "pdf/pilot.h" |
2 | SUBROUTINE SASAN1(KF,X,Q2,P2,ALAM,XPGA) | |
3 | C...Purpose: to evaluate the parton distributions of the anomalous | |
4 | C...photon, inhomogeneously evolved from a scale P2 (where it vanishes) | |
5 | C...to Q2. | |
6 | C...KF=0 gives the sum over (up to) 5 flavours, | |
7 | C...KF<0 limits to flavours up to abs(KF), | |
8 | C...KF>0 is for flavour KF only. | |
9 | C...ALAM is the 4-flavour Lambda, which is automatically converted | |
10 | C...to 3- and 5-flavour equivalents as needed. | |
11 | DIMENSION XPGA(-6:6),ALAMSQ(3:5) | |
12 | DATA PMC/1.3/, PMB/4.6/, AEM/0.007297/, AEM2PI/0.0011614/ | |
13 | ||
14 | C...Reset output. | |
15 | DO 100 KFL=-6,6 | |
16 | XPGA(KFL)=0. | |
17 | 100 CONTINUE | |
18 | IF(Q2.LE.P2) RETURN | |
19 | KFA=IABS(KF) | |
20 | ||
21 | C...Calculate Lambda; protect against unphysical Q2 and P2 input. | |
22 | ALAMSQ(3)=(ALAM*(PMC/ALAM)**(2./27.))**2 | |
23 | ALAMSQ(4)=ALAM**2 | |
24 | ALAMSQ(5)=(ALAM*(ALAM/PMB)**(2./23.))**2 | |
25 | P2EFF=MAX(P2,1.2*ALAMSQ(3)) | |
26 | IF(KF.EQ.4) P2EFF=MAX(P2EFF,PMC**2) | |
27 | IF(KF.EQ.5) P2EFF=MAX(P2EFF,PMB**2) | |
28 | Q2EFF=MAX(Q2,P2EFF) | |
29 | XL=-LOG(X) | |
30 | ||
31 | C...Find number of flavours at lower and upper scale. | |
32 | NFP=4 | |
33 | IF(P2EFF.LT.PMC**2) NFP=3 | |
34 | IF(P2EFF.GT.PMB**2) NFP=5 | |
35 | NFQ=4 | |
36 | IF(Q2EFF.LT.PMC**2) NFQ=3 | |
37 | IF(Q2EFF.GT.PMB**2) NFQ=5 | |
38 | ||
39 | C...Define range of flavour loop. | |
40 | IF(KF.EQ.0) THEN | |
41 | KFLMN=1 | |
42 | KFLMX=5 | |
43 | ELSEIF(KF.LT.0) THEN | |
44 | KFLMN=1 | |
45 | KFLMX=KFA | |
46 | ELSE | |
47 | KFLMN=KFA | |
48 | KFLMX=KFA | |
49 | ENDIF | |
50 | ||
51 | C...Loop over flavours the photon can branch into. | |
52 | DO 110 KFL=KFLMN,KFLMX | |
53 | ||
54 | C...Light flavours: calculate t range and (approximate) s range. | |
55 | IF(KFL.LE.3.AND.(KFL.EQ.1.OR.KFL.EQ.KF)) THEN | |
56 | TDIFF=LOG(Q2EFF/P2EFF) | |
57 | S=(6./(33.-2.*NFQ))*LOG(LOG(Q2EFF/ALAMSQ(NFQ))/ | |
58 | & LOG(P2EFF/ALAMSQ(NFQ))) | |
59 | IF(NFQ.GT.NFP) THEN | |
60 | Q2DIV=PMB**2 | |
61 | IF(NFQ.EQ.4) Q2DIV=PMC**2 | |
62 | SNFQ=(6./(33.-2.*NFQ))*LOG(LOG(Q2DIV/ALAMSQ(NFQ))/ | |
63 | & LOG(P2EFF/ALAMSQ(NFQ))) | |
64 | SNFP=(6./(33.-2.*(NFQ-1)))*LOG(LOG(Q2DIV/ALAMSQ(NFQ-1))/ | |
65 | & LOG(P2EFF/ALAMSQ(NFQ-1))) | |
66 | S=S+(LOG(Q2DIV/P2EFF)/LOG(Q2EFF/P2EFF))*(SNFP-SNFQ) | |
67 | ENDIF | |
68 | IF(NFQ.EQ.5.AND.NFP.EQ.3) THEN | |
69 | Q2DIV=PMC**2 | |
70 | SNF4=(6./(33.-2.*4))*LOG(LOG(Q2DIV/ALAMSQ(4))/ | |
71 | & LOG(P2EFF/ALAMSQ(4))) | |
72 | SNF3=(6./(33.-2.*3))*LOG(LOG(Q2DIV/ALAMSQ(3))/ | |
73 | & LOG(P2EFF/ALAMSQ(3))) | |
74 | S=S+(LOG(Q2DIV/P2EFF)/LOG(Q2EFF/P2EFF))*(SNF3-SNF4) | |
75 | ENDIF | |
76 | ||
77 | C...u and s quark do not need a separate treatment when d has been done. | |
78 | ELSEIF(KFL.EQ.2.OR.KFL.EQ.3) THEN | |
79 | ||
80 | C...Charm: as above, but only include range above c threshold. | |
81 | ELSEIF(KFL.EQ.4) THEN | |
82 | IF(Q2.LE.PMC**2) GOTO 110 | |
83 | P2EFF=MAX(P2EFF,PMC**2) | |
84 | Q2EFF=MAX(Q2EFF,P2EFF) | |
85 | TDIFF=LOG(Q2EFF/P2EFF) | |
86 | S=(6./(33.-2.*NFQ))*LOG(LOG(Q2EFF/ALAMSQ(NFQ))/ | |
87 | & LOG(P2EFF/ALAMSQ(NFQ))) | |
88 | IF(NFQ.EQ.5.AND.NFP.EQ.4) THEN | |
89 | Q2DIV=PMB**2 | |
90 | SNFQ=(6./(33.-2.*NFQ))*LOG(LOG(Q2DIV/ALAMSQ(NFQ))/ | |
91 | & LOG(P2EFF/ALAMSQ(NFQ))) | |
92 | SNFP=(6./(33.-2.*(NFQ-1)))*LOG(LOG(Q2DIV/ALAMSQ(NFQ-1))/ | |
93 | & LOG(P2EFF/ALAMSQ(NFQ-1))) | |
94 | S=S+(LOG(Q2DIV/P2EFF)/LOG(Q2EFF/P2EFF))*(SNFP-SNFQ) | |
95 | ENDIF | |
96 | ||
97 | C...Bottom: as above, but only include range above b threshold. | |
98 | ELSEIF(KFL.EQ.5) THEN | |
99 | IF(Q2.LE.PMB**2) GOTO 110 | |
100 | P2EFF=MAX(P2EFF,PMB**2) | |
101 | Q2EFF=MAX(Q2,P2EFF) | |
102 | TDIFF=LOG(Q2EFF/P2EFF) | |
103 | S=(6./(33.-2.*NFQ))*LOG(LOG(Q2EFF/ALAMSQ(NFQ))/ | |
104 | & LOG(P2EFF/ALAMSQ(NFQ))) | |
105 | ENDIF | |
106 | ||
107 | C...Evaluate flavour-dependent prefactor (charge^2 etc.). | |
108 | CHSQ=1./9. | |
109 | IF(KFL.EQ.2.OR.KFL.EQ.4) CHSQ=4./9. | |
110 | FAC=AEM2PI*2.*CHSQ*TDIFF | |
111 | ||
112 | C...Evaluate parton distributions (normalized to unit momentum sum). | |
113 | IF(KFL.EQ.1.OR.KFL.EQ.4.OR.KFL.EQ.5.OR.KFL.EQ.KF) THEN | |
114 | XVAL= ((1.5+2.49*S+26.9*S**2)/(1.+32.3*S**2)*X**2 + | |
115 | & (1.5-0.49*S+7.83*S**2)/(1.+7.68*S**2)*(1.-X)**2 + | |
116 | & 1.5*S/(1.-3.2*S+7.*S**2)*X*(1.-X)) * | |
117 | & X**(1./(1.+0.58*S)) * (1.-X**2)**(2.5*S/(1.+10.*S)) | |
118 | XGLU= 2.*S/(1.+4.*S+7.*S**2) * | |
119 | & X**(-1.67*S/(1.+2.*S)) * (1.-X**2)**(1.2*S) * | |
120 | & ((4.*X**2+7.*X+4.)*(1.-X)/3. - 2.*X*(1.+X)*XL) | |
121 | XSEA= 0.333*S**2/(1.+4.90*S+4.69*S**2+21.4*S**3) * | |
122 | & X**(-1.18*S/(1.+1.22*S)) * (1.-X)**(1.2*S) * | |
123 | & ((8.-73.*X+62.*X**2)*(1.-X)/9. + (3.-8.*X**2/3.)*X*XL + | |
124 | & (2.*X-1.)*X*XL**2) | |
125 | ||
126 | C...Threshold factors for c and b sea. | |
127 | SLL=LOG(LOG(Q2EFF/ALAM**2)/LOG(P2EFF/ALAM**2)) | |
128 | XCHM=0. | |
129 | IF(Q2.GT.PMC**2.AND.Q2.GT.1.001*P2EFF) THEN | |
130 | SCH=MAX(0.,LOG(LOG(PMC**2/ALAM**2)/LOG(P2EFF/ALAM**2))) | |
131 | XCHM=XSEA*(1.-(SCH/SLL)**3) | |
132 | ENDIF | |
133 | XBOT=0. | |
134 | IF(Q2.GT.PMB**2.AND.Q2.GT.1.001*P2EFF) THEN | |
135 | SBT=MAX(0.,LOG(LOG(PMB**2/ALAM**2)/LOG(P2EFF/ALAM**2))) | |
136 | XBOT=XSEA*(1.-(SBT/SLL)**3) | |
137 | ENDIF | |
138 | ENDIF | |
139 | ||
140 | C...Add contribution of each valence flavour. | |
141 | XPGA(0)=XPGA(0)+FAC*XGLU | |
142 | XPGA(1)=XPGA(1)+FAC*XSEA | |
143 | XPGA(2)=XPGA(2)+FAC*XSEA | |
144 | XPGA(3)=XPGA(3)+FAC*XSEA | |
145 | XPGA(4)=XPGA(4)+FAC*XCHM | |
146 | XPGA(5)=XPGA(5)+FAC*XBOT | |
147 | XPGA(KFL)=XPGA(KFL)+FAC*XVAL | |
148 | 110 CONTINUE | |
149 | DO 120 KFL=1,5 | |
150 | XPGA(-KFL)=XPGA(KFL) | |
151 | 120 CONTINUE | |
152 | ||
153 | RETURN | |
154 | END |