EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
flintg.F
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file flintg.F
1 
2 C **********************************************************************
3 
4  SUBROUTINE flintg(CFLQ,CFLG,CFLM)
5 
6  IMPLICIT NONE
7 
8 C...Event-by-event calculation of contribution to longitudinal
9 C...structure function from QCD and target mass effects.
10 
11 *
12 * to avoid variable conflictions, a second keep element is necessary
13 * with the same common block name (see LPTOU2)
14 *
15  COMMON /leptou/ cut(14),lst(40),parl(30),
16  & x,y,w2,q2,u
17  REAL cut,parl,x,y,w2,q2,u
18  INTEGER lst
19  SAVE /leptou/
20 
21  COMMON /linteg/ ntot,npass
22  INTEGER ntot,npass
23  SAVE /linteg/
24 
25 
26  INTEGER ltm,lht,it,lqcd
27  REAL flqint,flgint,fltint,cflq,cflg,cflm,eps,accur
28  REAL ulalps
29  EXTERNAL flqint,flgint,fltint
30 
31  lqcd=mod(lst(11),10)
32  ltm=mod(lst(11)/10,10)
33  lht=lst(11)/100
34  parl(25)=ulalps(q2)
35  IF(lqcd.EQ.2) THEN
36 C...FL from QCD, quark and gluon contributions.
37  accur=parl(11)
38  it=0
39  100 it=it+1
40  ntot=0
41  npass=0
42  eps=accur
43  CALL gadap(x,1.,flqint,eps,cflq)
44  IF(cflq.LT.1) THEN
45  accur=cflq*parl(11)
46  IF(it.LT.2) goto 100
47  ENDIF
48  accur=parl(11)
49  it=0
50  200 it=it+1
51  ntot=0
52  npass=0
53  eps=accur
54  CALL gadap(x,1.,flgint,eps,cflg)
55  IF(cflg.LT.1.) THEN
56  accur=cflg*parl(11)
57  IF(it.LT.2) goto 200
58  ENDIF
59  ENDIF
60  IF(ltm.EQ.2) THEN
61  accur=parl(11)
62  it=0
63  300 it=it+1
64  ntot=0
65  npass=0
66  eps=accur
67  CALL gadap(x,1.,fltint,eps,cflm)
68  IF(cflm.LT.1.) THEN
69  accur=cflm*parl(11)
70  IF(it.LT.2) goto 300
71  ENDIF
72  ENDIF
73 
74  RETURN
75  END