forked from EIC-Detector/LQGENEP
-
Notifications
You must be signed in to change notification settings - Fork 0
/
LQguser.f_last
145 lines (131 loc) · 4 KB
/
LQguser.f_last
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
*-----------------
* File: LQguser.f
*-----------------
*
Program LQGUSER
*******************************************
* Generates 1000 events of the subprocess *
* e+ qi --> S_1/2L --> mu+ qj *
* at the HERA energies *
* *
* LQ mass = 200 GeV *
* LQ couplings = 0.3 *
* first generation quark involved *
*******************************************
Implicit None
*
double precision mass,cross_max,
> ptnt,phnt,ptt,pht,pth,phh,
> ppnt,ppt,pph,
> ptx,pty,ptz,phx,phy,phz,
> ptid,phid,ppid,pxid,pyid,pzid,lam
integer lqtype,Nevt,qi,qj,iproc,id,
> Nevtdown,Nevtup
logical first
data first /.true./
save first
*
C...LQGENEP run setup parameters
double precision BEAMPAR,LQGPAR3
integer LQGPAR1,LQGPAR2
COMMON/LQGDATA/BEAMPAR(3),LQGPAR1(10),LQGPAR2(10),LQGPAR3(20)
C...LQGENEP event informations
double precision LQGKPAR,LQGDDX
integer LQGPID
COMMON/LQGEVT/LQGKPAR(3),LQGDDX(3),LQGPID(3)
*
integer NeV,i
*
c Nevt=5
OPEN(UNIT=22,FILE='inputfile',STATUS='OLD')
Read(22,*)Nevt
close(22)
Mass=200.d0
qi=1
qj=1
iproc=0
cross_max=2.d-5
*
* Charge of lepton beam (+1/-1 positron/electron)
beampar(1)=+1.
* Energy of lepton beam
beampar(2)=10.
* Energy of proton beam
beampar(3)=250.
* Number of events to generate
lqgpar1(1)=Nevt
* Number of events which will be fully listed in the output
lqgpar1(2)=10
* Histogram flag (if 1 some histograms will be produced)
cc lqgpar1(3)=0
* Current event number (first generated event will be lqgpar1(4)+1)
lqgpar1(4)=0
* Pythia process number (should be > 400, if = 0 it will be set
* to 401, first value available for external processes)
lqgpar1(5)=iproc
* LQ type
lqgpar2(1)=14
* generation of the input quark in the s-channel process
lqgpar2(2)=qi
* generation of the output quark in the s-channel process
lqgpar2(3)=qj
* generation of the output lepton
lqgpar2(4)=3
* LQ mass in GeV
lqgpar3(1)=Mass
* Initial state s-channel coupling
lqgpar3(2)=0.3
* Final state s-channel coupling (in case of process eq -> LQ -> eq
* the two couplings should be the same)
lqgpar3(3)=0.3
* x range low limit
lqgpar3(4)=0.
* x range high limit
lqgpar3(5)=1.
* y range low limit
lqgpar3(6)=0.
* y range high limit
lqgpar3(7)=1.
* minimum allowed Q^2 in Gev^2
lqgpar3(8)=500.
* Parton distribution type according to PDFLIB
lqgpar3(9)=1.
* Parton distribution group according to PDFLIB
lqgpar3(10)=4.
* Parton distribution set according to PDFLIB
lqgpar3(11)=32.
* Max cross section
lqgpar3(12)=cross_max
* Eventually switch off initial state QCD and QED radiation
* setting to 0 the following Pythia parameters
c MSTP(61)=0
c MSTP(71)=0
* Eventually switch off multiple interaction
c MSTP(81)=0
* Eventually switch off fragmentation and decay
c MSTP(111)=0
* LQGENEP Initialization
cc call LQGENEP(0,ptnt,phnt,ptt,pht,pth,phh,ppnt,ppt,pph)
cc call LQGENEP(0,ptx,pty,ptz,phx,phy,phz)
call LQGENEP(0,ptid,pxid,pyid,pzid)
Nev=lqgpar1(1)
* LQGENEP generation loop
do i=1,Nevt
cc call LQGENEP(1,id,ptnt,phnt,ptt,pht,pth,phh,ppnt,ppt,pph)
cc call LQGENEP(1,ptx,pty,ptz,phx,phy,phz)
if (i.EQ.Nevt) then
call LQGENEP(1,ptid,pxid,pyid,pzid)
write(8,10)i,ptid,pxid,pyid,pzid
10 FORMAT(I3,4(1PE14.6))
else
CALL PYEVNT
endif
enddo
c write(8,10)lqgpar1(4),ptid,pxid,pyid,pzid
c10 FORMAT(I3,4(1PE14.6))
* LQGENEP termination
cc call LQGENEP(2,ptnt,phnt,ptt,pht,pth,phh,ppnt,ppt,pph)
cc call LQGENEP(2,ptx,pty,ptz,phx,phy,phz)
call LQGENEP(2,ptid,pxid,pyid,pzid)
stop
end