11 include
"radgenkeys.inc"
13 logical buselut,bgenlut
45 if( mcset_tara .eq. 1 .and. mcset_tarz .eq. 0 )
then
47 elseif( mcset_tara .eq. 1 .and. mcset_tarz .eq. 1 )
then
49 elseif( mcset_tara .eq. 2 .and. mcset_tarz .eq. 1 )
then
51 elseif( mcset_tara .eq. 3 .and. mcset_tarz .eq. 2 )
then
53 elseif( mcset_tara .eq. 4 .and. mcset_tarz .eq. 2 )
then
55 elseif( mcset_tara .eq. 14 .and. mcset_tarz .eq. 7 )
then
57 elseif( mcset_tara .eq. 20 .and. mcset_tarz .eq. 10 )
then
59 elseif( mcset_tara .eq. 84 .and. mcset_tarz .eq. 36 )
then
62 write(*,*)(
'RADGEN_INIT: invalid target selection' )
67 if (mcset_pbeam(1:1).ne.
'L')
then
68 write(*,*)(
'RADGEN_INIT: '//
69 +
'Only longitudinal polarized Beam (PBeam) makes sense')
71 if ((mcset_ptarget(1:1).ne.
'L').and.
72 + (mcset_ptarget(1:1).ne.
'T').and.
73 + (mcset_ptarget(1:2).ne.
'DT'))
then
74 write(*,*)(
'RADGEN_INIT: '//
75 +
'Check your value for the Target polarization(PTarget)')
85 IF (((mcset_pbvalue*mcset_ptvalue).lt.0).and.
86 & (mcset_ptarget(1:1).eq.
'L'))
THEN
90 tname=
'radgen/xytab0ant.ee.ppp.dat'
91 ELSEIF (((mcset_pbvalue*mcset_ptvalue).gt.0).and.
92 & (mcset_ptarget(1:1).eq.
'L'))
THEN
96 tname=
'radgen/xytab0par.ee.ppp.dat'
97 ELSEIF (((mcset_pbvalue*mcset_ptvalue).eq.0).and.
98 & (mcset_ptarget(1:2).eq.
'DT'))
THEN
101 pnrun = mcset_ptvalue * 2.
102 if (mcset_ptvalue.lt.0.)
then
103 tname=
'radgen/xytab0tenant.dat'
104 elseif (mcset_ptvalue.gt.0.)
then
105 tname=
'radgen/xytab0tenpar.dat'
107 ELSEIF (((mcset_pbvalue*mcset_ptvalue).lt.0.).and.
108 + (mcset_ptarget(1:1).eq.
'T'))
THEN
112 tname=
'radgen/xyten0ant.ee.ppp.dat'
113 ELSEIF (((mcset_pbvalue*mcset_ptvalue).gt.0.).and.
114 + (mcset_ptarget(1:1).eq.
'T'))
THEN
118 tname=
'radgen/xyten0par.ee.ppp.dat'
123 tname=
'radgen/xytab0unp.ee.ppp.dat'
125 tname=
'radgen/xytab00unp.ee.ppp.dat'
130 write(tname(13:13),
'(i1)')ire
131 if ((ebeam.gt.0).and.(ebeam.lt.10))
then
132 write(tname(18:18),
'(i1)')aaa
133 write(tname(19:19),
'(i1)')int(ebeam)
135 if (ebeam.ge.10)
then
136 write(tname(18:19),
'(i2)')int(ebeam)
138 if ((pbeam.ge.10).and.(pbeam.lt.100))
then
139 write(tname(21:21),
'(i1)')aaa
140 write(tname(22:23),
'(i2)')int(pbeam)
142 if (pbeam.ge.100)
then
143 write(tname(21:23),
'(i3)')int(pbeam)
146 write(tname(13:14),
'(i2)')ire
147 if ((ebeam.gt.0).and.(ebeam.lt.10))
then
148 write(tname(19:19),
'(i1)')aaa
149 write(tname(20:20),
'(i1)')int(ebeam)
151 if (ebeam.ge.10)
then
152 write(tname(19:20),
'(i2)')int(ebeam)
154 if ((pbeam.ge.10).and.(pbeam.lt.100))
then
155 write(tname(22:22),
'(i1)')aaa
156 write(tname(23:24),
'(i2)')int(pbeam)
158 if (pbeam.ge.100)
then
159 write(tname(22:24),
'(i3)')int(pbeam)
181 if(kill_elas_res.eq.1)amc2=4d0
208 elseif(ire.eq.14)
then
214 elseif(ire.eq.20)
then
220 elseif(ire.eq.84)
then
229 if (mcset_xmin.ge. 0.002)
then
232 & (
'Radiative corrections for DIS kinematics (xmin=0.002)')
233 elseif (mcset_xmin.ge. 1.e-09)
then
236 & (
'Radiative corrections for photoproduction (xmin=1.e-09)')
238 & (
'Elastic and quesielastric contributions set to ZERO !')
239 if(ixytest.gt.0 .and. mcset_xmin.lt.1.e-07)
then
241 & (
'Xmin in lookup table = 1.e-07 --> extrapolation to 1.e-09')
243 if(ixytest.eq.0 .and. mcset_xmin.lt.1.e-07)
then
245 & (
'Xmin in lookup table = 1.e-07 --> change minimum x')
250 & (
'Minimum x value below minimum value of 10**-9 ! ')
255 if(ixytest.ge.0)
then
261 write(*,*) (
'*********************************************')
263 & (
'Make sure that you did create the correct lookup table')
264 write(6,*)
'number of x bins in RC table = ',ntx
265 write(6,*)
'size of x bins in RC table depending on x'
267 write(6,*)
'number of y bins in RC table = ',nty
268 write(6,*)
'size of y bins in RC table = ',
269 & (radgen_ymax-radgen_ymin)/(nty-1)
270 write(*,*) (
'*********************************************')
272 if(ixytest.eq.0)
then
273 write(*,*)(
'RADGEN_INIT: Creating lookup table '//tname)
274 elseif (ixytest.eq.2)
then
276 + (
'RADGEN_INIT: Loading lookup table '//tname)
278 call
xytabl(tname,mcset_enebeam,plrun,pnrun,ixytest,ire)