]> git.uio.no Git - u/mrichter/AliRoot.git/blame - LHAPDF/lhapdf5.5.1/src/wrapabfkwpi.f
Added another recoParam to the TOF recoParam object, i.e. time window to discriminate...
[u/mrichter/AliRoot.git] / LHAPDF / lhapdf5.5.1 / src / wrapabfkwpi.f
CommitLineData
0caf84a5 1! -*- F90 -*-
2
3
4 subroutine ABFKWPevolve(xin,qin,pdf)
5 include 'parmsetup.inc'
6 PARAMETER(NX=50)
7 PARAMETER(NQ=19)
8 real*8 xin,qin,pdf(-6:6),xval(45),qcdl4,qcdl5
9 real*8 upv,dnv,usea,dsea,str,chm,bot,top,glu
10 real*8 calcpi(8,20,25,3),calcpio(8,20,25),parpi(40,3)
11 common /ABFKWP/ CALCPI,CALCPIO,PARPI,lastmem
12 character*16 name(nmxset)
13 integer nmem(nmxset),ndef(nmxset),mmem
14 common/NAME/name,nmem,ndef,mmem
15 integer nset
16 save
17
18 iimem = imem
19 if(iimem.eq.0) iimem = 1
20 if(iimem.le.3) then
21 call ABFKWxx(iimem,xin,qin,upv,dnv,usea,dsea, str,chm,glu)
22 endif
23
24
25 pdf(-6)= 0.0d0
26 pdf(6)= 0.0d0
27 pdf(-5)= 0.0d0
28 pdf(5 )= 0.0d0
29 pdf(-4)= chm
30 pdf(4 )= chm
31 pdf(-3)= str
32 pdf(3 )= str
33 pdf(-2)= usea
34 pdf(2 )= upv+usea
35 pdf(-1)= dsea
36 pdf(1 )= dnv+dsea
37 pdf(0 )= glu
38
39 return
40!cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
41 entry ABFKWPread(nset)
42 read(1,*)nmem(nset),ndef(nset)
43! print *,nmem,ndef
44 lastmem = -999
45 do j=1,3
46 read(1,*)(parpi(k,j),k=1,4)
47 read(1,*)(parpi(k,j),k=5,8)
48 read(1,*)(parpi(k,j),k=9,12)
49 read(1,*)(parpi(k,j),k=13,16)
50 read(1,*)(parpi(k,j),k=17,20)
51 read(1,*)(parpi(k,j),k=21,24)
52 read(1,*)(parpi(k,j),k=25,28)
53 read(1,*)(parpi(k,j),k=29,32)
54 read(1,*)(parpi(k,j),k=33,36)
55 read(1,*)(parpi(k,j),k=37,40)
56 do l=1,25
57 do k=1,20
58 read(1,*)(CALCPI(m,k,l,j),m=1,4)
59 read(1,*)(CALCPI(m,k,l,j),m=5,8)
60 enddo
61 enddo
62 enddo
63 return
64!
65!cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
66 entry ABFKWPalfa(alfas,qalfa)
67 call getnset(iset)
68 call GetOrderAsM(iset,iord)
69 call Getlam4M(iset,imem,qcdl4)
70 call Getlam5M(iset,imem,qcdl5)
71 call aspdflib(alfas,Qalfa,iord,qcdl5)
72 return
73!
74!cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
75 entry ABFKWPinit(Eorder,Q2fit)
76 return
77!
78!cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
79 entry ABFKWPpdf(mem)
80 imem = mem
81 return
82!
83 1000 format(5e13.5)
84 END
85!cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
86!
87! $Id: wrapabfkwpi.f 356 2008-08-28 15:58:02Z buckley $
88!
89! $Log$
90! Revision 1.2 2005/10/07 15:15:05 whalley
91! Changes to most files for V5 - multiset initializations
92!
93! Revision 1.1.1.1 2005/05/06 14:54:43 whalley
94! Initial CVS import of the LHAPDF code and data sets
95!
96! Revision 1.1.1.2 1996/10/30 08:27:26 cernlib
97! Version 7.04
98!
99! Revision 1.1.1.1 1996/04/12 15:28:53 plothow
100! Version 7.01
101!
102!
103 SUBROUTINE ABFKWxx(imem,DX,DQ,DUPV,DDNV,DUSEA,DDSEA,DSTR,DCHM,DGL)
104 double precision &
105 & PARPI(40,3),CALCPI(8,20,25,3),CALCPIO(8,20,25),ZEROD, &
106 & DX,DQ,DUPV,DDNV,DUSEA,DDSEA,DSTR,DCHM,DGL
107 REAL X, Q, UPV, DNV, USEA, DSEA, STR, CHM, GL
108
109 common /ABFKWP/CALCPI,CALCPIO,PARPI,lastmem
110
111! COMMON/W5051Ixx/CALCPIO
112 REAL XPDF(7)
113 DATA ZEROD/0.D0/
114!----------------------------------------------------------------------
115 DATA ISTART/0/
116 SAVE ISTART,OWLAM2,Q02PI
117!
118 if(imem.ne.lastmem) then
119 istart = 0
120 lastmem = imem
121 endif
122 IF (ISTART.EQ.0) THEN
123 ISTART=1
124 DO 11 K=1,25
125 DO 11 I=1,20
126 DO 11 M=1,8
127 11 CALCPIO(M,I,K) = CALCPI(M,I,K,imem)
128 OWLAM=PARPI(1,imem)
129 OWLAM2=OWLAM**2
130 Q02PI=PARPI(39,imem)
131 Q2MAX=PARPI(40,imem)
132 ENDIF
133!
134! the conventions are : q(1)=x*u, q(2)=x*d, q(3)=x*str, q(4)=x*usea,
135! q(5)=x*dsea, q(6)=x*charm, q(7)=x*gluon
136!
137 X = DX
138 Q = DQ
139 Q2 = Q*Q
140 IDQ2=2
141 SB=0.
142 IF((Q2-Q02PI).LE.0) THEN
143 GO TO 1
144 ELSE
145 GO TO 2
146 ENDIF
147 2 IF((IDQ2-1).LE.0) THEN
148 GO TO 1
149 ELSE
150 GO TO 3
151 ENDIF
152 3 SB= LOG( LOG( MAX(Q02PI,Q2)/OWLAM2)/ LOG(Q02PI/OWLAM2))
153 1 CALL AURPIx(1,0,X,SB,XPDF(1))
154 CALL AURPIx(2,0,X,SB,XPDF(2))
155 CALL AURPIx(3,0,X,SB,XPDF(3))
156 CALL AURPIx(4,0,X,SB,XPDF(4))
157 CALL AURPIx(5,0,X,SB,XPDF(5))
158 CALL AURPIx(8,0,X,SB,XPDF(6))
159 CALL AURPIx(7,0,X,SB,XPDF(7))
160!
161 DUPV=XPDF(1) - XPDF(4)
162 DDNV=XPDF(2) - XPDF(5)
163 DUSEA=XPDF(4)
164 DDSEA=XPDF(5)
165 DSTR=XPDF(3)
166 DCHM=XPDF(6)
167 DGL =XPDF(7)
168!
169 RETURN
170 END
171!==============================================================
172!
173! $Id: wrapabfkwpi.f 356 2008-08-28 15:58:02Z buckley $
174!
175! $Log$
176! Revision 1.2 2005/10/07 15:15:05 whalley
177! Changes to most files for V5 - multiset initializations
178!
179! Revision 1.1.1.1 2005/05/06 14:54:43 whalley
180! Initial CVS import of the LHAPDF code and data sets
181!
182! Revision 1.1.1.2 1996/10/30 08:27:36 cernlib
183! Version 7.04
184!
185! Revision 1.1.1.1 1996/04/12 15:29:03 plothow
186! Version 7.01
187!
188!
189!
190 SUBROUTINE AURPIx(I,NDRV,X,S,ANS)
191 double precision &
192 & CALCPI(8,20,25,3),CALCPIO(8,20,25),parpi(40,3)
193 common /ABFKWP/CALCPI,CALCPIO,parpi,lastmem
194! COMMON/W5051I4/CALCPIO
195 REAL F1(25),F2(25)
196 DATA DELTA/.10/
197 ANS=0.
198 IF(X.GT.0.9985) RETURN
199 IF(I.EQ.3.AND.X.GT.0.95) RETURN
200 IF(I.EQ.8.AND.X.GT.0.95) RETURN
201 IS=S/DELTA+1
202 IS1=IS+1
203 DO 1 L=1,25
204 KL=L+NDRV*25
205 F1(L)=CALCPIO(I,IS,KL)
206 F2(L)=CALCPIO(I,IS1,KL)
207 1 END DO
208 A1=AUGETFV(X,F1)
209 A2=AUGETFV(X,F2)
210 S1=(IS-1)*DELTA
211 S2=S1+DELTA
212 ANS=A1*(S-S2)/(S1-S2)+A2*(S-S1)/(S2-S1)
213 RETURN
214 END
215!===============================================================
216!
217! $Id: wrapabfkwpi.f 356 2008-08-28 15:58:02Z buckley $
218!
219! $Log$
220! Revision 1.2 2005/10/07 15:15:05 whalley
221! Changes to most files for V5 - multiset initializations
222!
223! Revision 1.1.1.1 2005/05/06 14:54:43 whalley
224! Initial CVS import of the LHAPDF code and data sets
225!
226! Revision 1.1.1.2 1996/10/30 08:27:34 cernlib
227! Version 7.04
228!
229! Revision 1.1.1.1 1996/04/12 15:29:02 plothow
230! Version 7.01
231!
232!
233!
234 FUNCTION AUGETFV(X,FVL)
235! LOGARITHMIC INTERPOLATOR - WATCH OUT FOR NEGATIVE
236! FUNCTIONS AND/OR X VALUES OUTSIDE THE RANGE 0 TO 1.
237! NOTE: DIMENSION OF FVL IS OVERWRITTEN BY VALUE USED
238! IN MAIN ROUTINE.
239 DIMENSION FVL(25),XGRID(25)
240 DATA NX,XGRID/25,.001,.002,.004,.008,.016,.032,.064,.1,.15, &
241 &.2,.25,.3,.35,.4,.45,.5,.55,.6,.65,.7,.75,.8,.85,.9,.95/
242 AUGETFV=0.
243 DO 1 I=1,NX
244 IF(X.LT.XGRID(I)) GO TO 2
245 1 END DO
246 2 I=I-1
247 IF(I.EQ.0) THEN
248 I=I+1
249 ELSE IF(I.GT.23) THEN
250 I=23
251 ENDIF
252 J=I+1
253 K=J+1
254 AXI= LOG(XGRID(I))
255 BXI= LOG(1.-XGRID(I))
256 AXJ= LOG(XGRID(J))
257 BXJ= LOG(1.-XGRID(J))
258 AXK= LOG(XGRID(K))
259 BXK= LOG(1.-XGRID(K))
260 FI= LOG(ABS(FVL(I)) +1.E-15)
261 FJ= LOG(ABS(FVL(J)) +1.E-16)
262 FK= LOG(ABS(FVL(K)) +1.E-17)
263 DET=AXI*(BXJ-BXK)+AXJ*(BXK-BXI)+AXK*(BXI-BXJ)
264 ALOGA=(FI*(AXJ*BXK-AXK*BXJ)+FJ*(AXK*BXI-AXI*BXK)+FK*(AXI*BXJ-AXJ* &
265 & BXI))/DET
266 ALPHA=(FI*(BXJ-BXK)+FJ*(BXK-BXI)+FK*(BXI-BXJ))/DET
267 BETA=(FI*(AXK-AXJ)+FJ*(AXI-AXK)+FK*(AXJ-AXI))/DET
268 IF(ABS(ALPHA).GT.99..OR.ABS(BETA).GT.99..OR.ABS(ALOGA).GT.99.) &
269 &RETURN
270! IF(ALPHA.GT.50..OR.BETA.GT.50.) THEN
271! WRITE(6,2001) X,FVL
272! 2001 FORMAT(8E12.4)
273! WRITE(6,2001) ALPHA,BETA,ALOGA,DET
274! ENDIF
275 AUGETFV=EXP(ALOGA)*X**ALPHA*(1.-X)**BETA
276 RETURN
277 END