1 subroutine ACFGPevolvep(xin,qin,p2in,ip2in,pdf)
2 include 'parmsetup.inc'
3 real*8 xin,qin,q2in,p2in,pdf(-6:6),xval(45),qcdl4,qcdl5
4 real*8 upv,dnv,usea,dsea,str,chm,bot,top,glu
5 real*4 par,par2,calc,celc
6 common/acfgp/PAR(30,3),CALC(8,20,32,3),PAR2(30),CELC(8,20,32)
7 character*16 name(nmxset)
8 integer nmem(nmxset),ndef(nmxset),mmem
9 common/NAME/name,nmem,ndef,mmem
15 call ACFGP1(xin,qin,upv,dnv,usea,dsea,str,chm,glu)
17 elseif(imem.eq.2) then
18 call ACFGP2(xin,qin,upv,dnv,usea,dsea,str,chm,glu)
20 elseif(imem.eq.3.or.imem.eq.0) then
21 call SFAFG1(xin,qin,upv,dnv,usea,dsea,str,chm,glu)
42 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
44 read(1,*)nmem(nset),ndef(nset)
46 read(1,*)(par(j,iset),j=1,4)
47 read(1,*)(par(j,iset),j=5,8)
48 read(1,*)(par(j,iset),j=9,12)
49 read(1,*)(par(j,iset),j=13,16)
50 read(1,*)(par(j,iset),j=17,20)
51 read(1,*)(par(j,iset),j=21,24)
52 read(1,*)(par(j,iset),j=25,28)
53 read(1,*)(par(j,iset),j=29,30)
56 read(1,*)(calc(i,k,j,iset),i=1,4)
57 read(1,*)(calc(i,k,j,iset),i=5,8)
62 read(1,*)(par2(j),j=1,4)
63 read(1,*)(par2(j),j=5,8)
64 read(1,*)(par2(j),j=9,12)
65 read(1,*)(par2(j),j=13,16)
66 read(1,*)(par2(j),j=17,20)
67 read(1,*)(par2(j),j=21,24)
68 read(1,*)(par2(j),j=25,28)
69 read(1,*)(par2(j),j=29,30)
72 read(1,*)(celc(i,k,j),i=1,4)
73 read(1,*)(celc(i,k,j),i=5,8)
81 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
82 entry ACFGPalfa(alfas,qalfa)
84 call GetOrderAsM(iset,iord)
85 call Getlam4M(iset,imem,qcdl4)
86 call Getlam5M(iset,imem,qcdl5)
87 call aspdflib(alfas,Qalfa,iord,qcdl5)
91 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
92 entry ACFGPinit(Eorder,Q2fit)
95 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
102 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
103 SUBROUTINE ACFGP1(DX,DQ,DUV,DDV,DUB,DDB,DSB,DCB,DGL)
105 C INTERPOLATION PROGRAM WHICH INTERPOLATES THE GRID "DATAGA" AND GIVES THE
106 C QUARK AND GLUON DISTRIBUTIONS IN THE REAL PHOTON, AS FUNCTIONS OF X AND Q2
108 C THE Q2-EVOLUTION IS PERFORMED WITH BLL AP-EQUATIONS AND NF=4. A MASSIVE
109 C CHARM DISTRIBUTION (BORROWED FROM GLUCK AND REYA) IS ALSO AVAILABLE.
111 C THE BOUNDARY CONDITIONS ARE SUCH THAT THE DISTRIBUTION FUNCTIONS ARE GIVEN
112 C BY A VDM "ANSATZ" AT Q2=.25 GEV**2.
114 C THE PROGRAM WORKS FOR 2. GEV**2 < Q2 <5.5E+5 AND .00137 < X < .9986
116 C THE DISTRIBUTIONS ARE CALCULATED IN THE MSBAR FACTORIZATION SCHEME.
118 C THE VALUE OF LAMBDA-MSB IS 200 MEV
120 C THE OUTPUT IS WRITTEN IN THE FILE 'FILEOUT':
124 C X*C= ... (MASSLESS CHARM WITH C(X,2.)=0)
125 C X*CM= ... (MASSIVE CHARM WITH MC=1.5 GEV )
126 C X*GLU=GLUON(X,Q2)*X
129 C F2 = PHOTON STRUCTURE FUNCTION WITHOUT CHARM
130 C F2C= " " " WITH MASSIVE CHARM
133 + DX,DQ,DUV,DDV,DUB,DDB,DSB,DCB,DBB,DGL
134 REAL X, Q, UV, DV, UB, DB, SB, CB, BB, GL
136 common/acfgp/PAR(30,3),CALC(8,20,32,3),PAR2(30),CELC(8,20,32)
137 DIMENSION XPDF(7),CALCO(8,20,32)
141 C----------------------------------------------------------------------
143 SAVE ISTART,OWLAM2,Q02,FLAV, /W5051I7/
145 IF (ISTART.EQ.0) THEN
150 10 CALCO(M,I,K) = CALC(M,I,K,1)
166 3 SB= LOG( LOG( MAX(Q02,Q2)/OWLAM2)/ LOG(Q02/OWLAM2))
168 CALL AURGAM(8,0,X,SB,XPDF(7))
169 CALL AURGAM(7,0,X,SB,SING)
170 CALL AURGAM(4,0,X,SB,DPLUSNS)
171 CALL AURGAM(3,0,X,SB,CPLUSNS)
172 CALL AURGAM(5,0,X,SB,UPLUSNS)
173 CALL AURGAM(6,0,X,SB,SPLUSNS)
205 cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
206 SUBROUTINE ACFGP2(DX,DQ,DUV,DDV,DUB,DDB,DSB,DCB,DGL)
208 C INTERPOLATION PROGRAM WHICH INTERPOLATES THE GRID "DATAGA" AND GIVES THE
209 C QUARK AND GLUON DISTRIBUTIONS IN THE REAL PHOTON, AS FUNCTIONS OF X AND Q2
211 C THE Q2-EVOLUTION IS PERFORMED WITH BLL AP-EQUATIONS AND NF=4. A MASSIVE
212 C CHARM DISTRIBUTION (BORROWED FROM GLUCK AND REYA) IS ALSO AVAILABLE.
214 C THE BOUNDARY CONDITIONS ARE SUCH THAT THE DISTRIBUTION FUNCTIONS ARE GIVEN
215 C BY A VDM "ANSATZ" AT Q2=.25 GEV**2.
217 C THE PROGRAM WORKS FOR 2. GEV**2 < Q2 <5.5E+5 AND .00137 < X < .9986
219 C THE DISTRIBUTIONS ARE CALCULATED IN THE MSBAR FACTORIZATION SCHEME.
221 C THE VALUE OF LAMBDA-MSB IS 200 MEV
223 C THE OUTPUT IS WRITTEN IN THE FILE 'FILEOUT':
227 C X*C= ... (MASSLESS CHARM WITH C(X,2.)=0)
228 C X*CM= ... (MASSIVE CHARM WITH MC=1.5 GEV )
229 C X*GLU=GLUON(X,Q2)*X
232 C F2 = PHOTON STRUCTURE FUNCTION WITHOUT CHARM
233 C F2C= " " " WITH MASSIVE CHARM
236 + DX,DQ,DUV,DDV,DUB,DDB,DSB,DCB,DBB,DGL
237 REAL X, Q, UV, DV, UB, DB, SB, CB, BB, GL
239 common/acfgp/PAR(30,3),CALC(8,20,32,3),PAR2(30),CELC(8,20,32)
240 DIMENSION XPDF(7),CALCO(8,20,32)
244 C----------------------------------------------------------------------
246 SAVE ISTART,OWLAM2,Q02,FLAV, /W5051I7/
248 IF (ISTART.EQ.0) THEN
253 10 CALCO(M,I,K) = CALC(M,I,K,2)
269 3 SB= LOG( LOG( MAX(Q02,Q2)/OWLAM2)/ LOG(Q02/OWLAM2))
271 CALL AURGAM(8,0,X,SB,XPDF(7))
272 CALL AURGAM(7,0,X,SB,SING)
273 CALL AURGAM(4,0,X,SB,DPLUSNS)
274 CALL AURGAM(3,0,X,SB,CPLUSNS)
275 CALL AURGAM(5,0,X,SB,UPLUSNS)
276 CALL AURGAM(6,0,X,SB,SPLUSNS)
297 C... get parton density with massive charm
311 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
312 SUBROUTINE SFAFG1(DX,DQ,DUV,DDV,DUB,DDB,DSB,DCB,DGL)
314 C**************************************************************************
315 C ( 1st of February 1994)
316 C This is an interpolation program which reads the files GRPOL and
317 C GRVDM and gives the quark and gluon distributions in real photon
318 C as functions of x and Q**2.
320 C The Q**2 evolution is a BLL evolution (MSbar scheme) with Nf=4
321 C and LAMBDA(MSbar)=.200 Gev.
323 C A massless charm distribution is generated for Q**2 > 2 Gev**2.
325 C The distributions are the sum of a pointlike part (PL) and of a
328 C KA is a factor which can be adjusted ( the default value is KA=1.0).
329 C The file GRPOL contains the pointlike part of the distributions.
330 C The file GRVDM contains the vdm part (A precise definition of this
331 C latter is given in the paper "PARTON DISTRIBUTIONS IN THE PHOTON",
332 C Preprint LPTHE Orsay 93-37, by P.Aurenche,M.Fontannaz and J.Ph.Guillet).
334 C The output of the program is written in the file GETOUT with the
335 C following conventions
340 C SING =UPLUS+DPLUS+SPLUS+CPLUS
343 C The interpolation is valid for 2. < Q**2 < 5.5E+5 Gev**2,
344 C and for .0015< x < .99
346 C The program also gives the structure function F2:
347 C F2 = q*Cq + g*Cg + Cgam
348 C Cq and Cg are the Wilson coeficients and Cgam is the direct term.
350 C Although the charm quark evolution is massless, the direct term
351 C Cgam includes the effects due to the charm quark mass. The charm
352 C quark threshold is therefore correctly described at the lowest
353 C ordre in alphastrong (Details are given in the preprint).
356 C**************************************************************************
359 + DX,DQ,DUV,DDV,DUB,DDB,DSB,DCB,DBB,DGL
360 REAL X, Q, UV, DV, UB, DB, SB, CB, BB, GL
363 common/acfgp/PAR(30,3),CALC(8,20,32,3),PAR2(30),CELC(8,20,32)
364 DIMENSION CALCO(8,20,32)
365 DIMENSION CELCO(8,20,32)
370 C----------------------------------------------------------------------
372 SAVE ISTART,OWLAM2,Q02,FLAV,KA, /W5051IA/, /W5051IB/
374 IF (ISTART.EQ.0) THEN
379 CALCO(M,I,K) = CALC(M,I,K,3)
380 10 CELCO(M,I,K) = CELC(M,I,K)
397 3 SB= LOG( LOG( MAX(Q02,Q2)/OWLAM2)/ LOG(Q02/OWLAM2))
399 CALL AFGINT(8,0,X,SB,XPDF(7))
400 CALL AFGINT(7,0,X,SB,SING)
401 CALL AFGINT(4,0,X,SB,DPLUSNS)
402 CALL AFGINT(3,0,X,SB,CPLUSNS)
403 CALL AFGINT(5,0,X,SB,UPLUSNS)
404 CALL AFGINT(6,0,X,SB,SPLUSNS)
420 CALL AFGIN2(8,0,X,SB,XPDF(7))
421 CALL AFGIN2(7,0,X,SB,SING)
422 CALL AFGIN2(4,0,X,SB,DPLUSNS)
423 CALL AFGIN2(3,0,X,SB,CPLUSNS)
424 CALL AFGIN2(5,0,X,SB,UPLUSNS)
425 CALL AFGIN2(6,0,X,SB,SPLUSNS)
458 cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
460 C 32 POINT GAUSSIAN QUADRATURE ROUTINE
464 + XI(32),WI(32),XX(33)
465 COMMON/W5051I9/XI,WI,XX,NTERMS
467 X(1)=0.048307665687738316235D0
468 X(2)=0.144471961582796493485D0
469 X(3)=0.239287362252137074545D0
470 X(4)=0.331868602282127649780D0
471 X(5)=0.421351276130635345364D0
472 X(6)=0.506899908932229390024D0
473 X(7)=0.587715757240762329041D0
474 X(8)=0.663044266930215200975D0
475 X(9)=0.732182118740289680387D0
476 X(10)=0.794483795967942406963D0
477 X(11)=0.849367613732569970134D0
478 X(12)=0.896321155766052123965D0
479 X(13)=0.934906075937739689171D0
480 X(14)=0.964762255587506430774D0
481 X(15)=0.985611511545268335400D0
482 X(16)=0.997263861849481563545D0
483 W(1)=0.096540088514727800567D0
484 W(2)=0.095638720079274859419D0
485 W(3)=0.093844399080804565639D0
486 W(4)=0.091173878695763884713D0
487 W(5)=0.087652093004403811143D0
488 W(6)=0.083311924226946755222D0
489 W(7)=0.078193895787070306472D0
490 W(8)=0.072345794108848506225D0
491 W(9)=0.065822222776361846838D0
492 W(10)=0.058684093478535547145D0
493 W(11)=0.050998059262376176196D0
494 W(12)=0.042835898022226680657D0
495 W(13)=0.034273862913021433103D0
496 W(14)=0.025392065309262059456D0
497 W(15)=0.016274394730905670605D0
498 W(16)=0.007018610009470096600D0
507 2 XX(I)=0.5D0*(XI(I)+1.0D0)
511 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
512 SUBROUTINE AURGAM(I,NDRV,X,S,ANS)
513 DIMENSION F1(32),F2(32),F3(32)
514 DIMENSION AF(3),AS(3)
515 DIMENSION CALCO(8,20,32)
517 DATA DELTA/0.8000E-01/
519 IF(X.GT.0.9985) RETURN
528 F2(L)=CALCO(I,IS1,KL)
529 F3(L)=CALCO(I,IS2,KL)
537 CALL AFPOLIN(AS,AF,N,S,AANS,DY)
541 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
542 SUBROUTINE AFGINT(I,NDRV,X,S,ANS)
543 DIMENSION F1(32),F2(32),F3(32)
544 DIMENSION AF(3),AS(3)
545 DIMENSION CALCO(8,20,32)
547 DATA DELTA/0.8000E-01/
549 IF(X.GT.0.9985) RETURN
558 F2(L)=CALCO(I,IS1,KL)
559 F3(L)=CALCO(I,IS2,KL)
567 CALL AFPOLIN(AS,AF,N,S,AANS,DY)
571 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
572 SUBROUTINE AFGIN2(I,NDRV,X,S,ANS)
573 DIMENSION F1(32),F2(32),F3(32)
574 DIMENSION AF(3),AS(3)
575 DIMENSION CELCO(8,20,32)
577 DATA DELTA/0.8000E-01/
579 IF(X.GT.0.9985) RETURN
588 F2(L)=CELCO(I,IS1,KL)
589 F3(L)=CELCO(I,IS2,KL)
597 CALL AFPOLIN(AS,AF,N,S,AANS,DY)
601 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
602 FUNCTION AFCPLU(X,Q2)
604 BETS=1-4.*CMS*X/(1.-X)/Q2
610 CPLU=(8.*X*(1.-X)-1.-4.*CMS*X*(1.-X)/Q2)*BETA
611 CAU=X**2+(1.-X)**2+4.*CMS*X*(1.-3.*X)/Q2-8.*CMS**2*X**2/Q2**2
612 CPLU=CPLU+CAU* LOG((1.+BETA)/(1.-BETA))
613 AFCPLU=3.*(4./9.)*CPLU*X/(3.1415*137.)
616 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
617 FUNCTION AFGETFV(X,FVL)
618 C NOUVEAU PROGRAMME D'INTERPOLATION UTILISANT UNE ROUTINE DE MATH. RECIPES
621 + XI(32),WI(32),XX(33)
622 COMMON/W5051I9/XI,WI,XX,NTERMS
628 C IF(X.LT.XAM) PRINT*,' X = ',X
629 IF(X.GT.XAM.AND.X.LT.XAP) GO TO 50
633 80 IF(X.LT.XX(2)) GO TO 51
634 IF(X.GT.XX(30)) GO TO 61
636 IF(X.GT.XX(I)) GO TO 1
664 C 70 IF(X.GT..2.AND.X.LT..8) THEN
665 C CALL AFPOLIN(A,B,N,X,Y,DY)
667 C CALL AFRATIN(A,B,N,X,Y,DY)
670 CALL AFPOLIN(A,B,N,X,Y,DY)
674 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
675 SUBROUTINE AFPOLIN(XA,YA,N,X,Y,DY)
677 DIMENSION XA(NMAX),YA(NMAX),C(NMAX),D(NMAX)
684 IF (DIFT.LT.DIF) THEN
714 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc