-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgener_evt.f
89 lines (55 loc) · 1.63 KB
/
gener_evt.f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
*CMZ : 02/06/2004 07.53.41 by H1 Saclay
*-- Author : Unknown 17/12/2003
subroutine gener_evt
implicit double precision (a-h,o-z)
include 'dvcs.common'
include 'forpaw.common'
external fdvcs
common /counter1/ icountxq,icountt
dimension res(100)
common/dvcs_OUT/res
common/dvcs_VAR/x_main,q_main,phi_main,t_main,ym_main
real*8 MPY
integer ibad,ioutkin,isca
logical FIRST
data FIRST/.TRUE./
* --- COMMON FOR THE NTUPLE : -> DVCSPaw.
* ----------------------------------------------------------
MXTRY = 50
*---Define the ntuple :
NTID = 1
if (FIRST) then
if (stIELAS.eq.0) call DEFINE_RESO
FIRST=.FALSE.
endif
100 continue
icountxq = 1
icountt = 1
CALL SPRING( FDVCS, MXTRY )
if (i_outrange.eq.1) goto 100
xntp = sngl(x_main)
qntp = sngl(q_main)
phintp = sngl(phi_main)
tntp = sngl(t_main)
bhsq = res(4)
dvcssq = res(2)
xintdvcsbh = res(3)
tot = bhsq+dvcssq+xintdvcsbh
if (stFIXED) then
call calc_kinem2_fixed(ibad,ioutkin,isca)
else
call calc_kinem2(ibad,ioutkin,isca)
endif
wbhntp = sngl(bhsq)
wdvcsntp = sngl(dvcssq)
wintntp = sngl(xintdvcsbh)
wtotntp = sngl(tot)
ym = sngl(ym_main)
cls print *,'gen : prglab(4) , xntp ',prglab(4), xntp
if (ibad.ne.0) goto 100
if (ioutkin.ne.0) goto 100
if (isca.ne.0) goto 100
call filllujet(ifail)
call hfnt(NTID)
return
end