13 #include "TClonesArray.h"
25 gSystem->Load(
"libEG");
26 gSystem->Load(
"libPythia6");
27 gSystem->Load(
"libEGPythia6");
43 TString
filename(
"pythia6.ep.dis.e");
52 TFile *
f =
new TFile(filename,
"recreate");
54 TPythia6* pythia =
new TPythia6;
60 pythia->SetMSTP(14, 30);
61 pythia->SetMSTP(15, 0);
62 pythia->SetMSTP(16, 1);
63 pythia->SetMSTP(17, 4);
64 pythia->SetMSTP(18, 3);
65 pythia->SetMSTP(19, 1);
66 pythia->SetMSTP(20, 0);
67 pythia->SetMSTP(32, 8);
68 pythia->SetMSTP(38, 4);
71 pythia->SetMSTP(53, 3);
72 pythia->SetMSTP(54, 1);
73 pythia->SetMSTP(55, 5);
74 pythia->SetMSTP(56, 1);
75 pythia->SetMSTP(57, 1);
76 pythia->SetMSTP(58, 5);
77 pythia->SetMSTP(59, 1);
78 pythia->SetMSTP(60, 7);
79 pythia->SetMSTP(61, 2);
80 pythia->SetMSTP(71, 1);
81 pythia->SetMSTP(81, 0);
82 pythia->SetMSTP(82, 0);
83 pythia->SetMSTP(91, 1);
84 pythia->SetMSTP(92, 3);
85 pythia->SetMSTP(93, 1);
86 pythia->SetMSTP(101, 3);
87 pythia->SetMSTP(102, 1);
88 pythia->SetMSTP(111, 1);
89 pythia->SetMSTP(121, 0);
90 pythia->SetMSTP(127, 1);
93 pythia->SetPARP(13, 1);
94 pythia->SetPARP(18, 0.40);
95 pythia->SetPARP(81, 1.9);
96 pythia->SetPARP(89, 1800);
97 pythia->SetPARP(90, 0.16);
98 pythia->SetPARP(91, 0.40);
99 pythia->SetPARP(93, 5.);
100 pythia->SetPARP(99, 0.40);
101 pythia->SetPARP(100 ,5);
102 pythia->SetPARP(102, 0.28);
103 pythia->SetPARP(103, 1.0);
104 pythia->SetPARP(104, 0.8);
105 pythia->SetPARP(111, 2.);
106 pythia->SetPARP(161, 3.00);
107 pythia->SetPARP(162, 24.6);
108 pythia->SetPARP(163, 18.8);
109 pythia->SetPARP(164, 11.5);
110 pythia->SetPARP(165, 0.47679);
111 pythia->SetPARP(166, 0.67597);
114 pythia->SetMSTJ(1, 1);
115 pythia->SetMSTJ(12, 1);
116 pythia->SetMSTJ(45, 5);
118 pythia->SetMSTU(16, 2);
119 pythia->SetMSTU(112, 5);
120 pythia->SetMSTU(113, 5);
121 pythia->SetMSTU(114, 5);
124 pythia->SetPARJ(1, 0.100);
125 pythia->SetPARJ(2, 0.300);
126 pythia->SetPARJ(11, 0.5);
127 pythia->SetPARJ(12, 0.6);
128 pythia->SetPARJ(21, 0.40);
129 pythia->SetPARJ(32, 1.0);
130 pythia->SetPARJ(33, 0.80);
131 pythia->SetPARJ(41, 0.30);
132 pythia->SetPARJ(42, 0.58);
133 pythia->SetPARJ(45, 0.5);
136 pythia->SetCKIN(1, 1.);
137 pythia->SetCKIN(2, -1.);
138 pythia->SetCKIN(3, 0.);
139 pythia->SetCKIN(4, -1.);
140 pythia->SetCKIN(5, 1.00);
141 pythia->SetCKIN(6, 1.00);
142 pythia->SetCKIN(7, -10.);
143 pythia->SetCKIN(8, 10.);
144 pythia->SetCKIN(9, -40.);
145 pythia->SetCKIN(10, 40.);
146 pythia->SetCKIN(11, -40.);
147 pythia->SetCKIN(12, 40.);
148 pythia->SetCKIN(13, -40.);
149 pythia->SetCKIN(14, 40.);
150 pythia->SetCKIN(15, -40.);
151 pythia->SetCKIN(16, 40.);
152 pythia->SetCKIN(17, -1.);
153 pythia->SetCKIN(18, 1.);
154 pythia->SetCKIN(19, -1.);
155 pythia->SetCKIN(20, 1.);
156 pythia->SetCKIN(21, 0.);
157 pythia->SetCKIN(22, 1.);
158 pythia->SetCKIN(23, 0.);
159 pythia->SetCKIN(24, 1.);
160 pythia->SetCKIN(25, -1.);
161 pythia->SetCKIN(26, 1.);
162 pythia->SetCKIN(27, -1.);
163 pythia->SetCKIN(28, 1.);
164 pythia->SetCKIN(31, 2.);
165 pythia->SetCKIN(32, -1.);
166 pythia->SetCKIN(35, 0.);
167 pythia->SetCKIN(36, -1.);
168 pythia->SetCKIN(37, 0.);
169 pythia->SetCKIN(38, -1.);
170 pythia->SetCKIN(39, 4.);
171 pythia->SetCKIN(40, -1.);
172 pythia->SetCKIN(65, 1.
e-09);
173 pythia->SetCKIN(66, -1.);
174 pythia->SetCKIN(67, 0.);
175 pythia->SetCKIN(68, -1.);
176 pythia->SetCKIN(77, 2.0);
177 pythia->SetCKIN(78, -1.);
180 pythia->SetP(1, 1, 0.);
181 pythia->SetP(1, 2, 0.);
182 pythia->SetP(1, 3, -eELEC);
183 pythia->SetP(2, 1, 0.);
184 pythia->SetP(2, 2, 0.);
185 pythia->SetP(2, 3, ePROT);
186 pythia->Initialize(
"3MOM",
"e-",
"p", 0.);
188 TTree*
tree =
new TTree(
"tree",
"Pythia 6 tree");
192 TClonesArray*
p = (TClonesArray*)pythia->GetListOfParticles();
193 tree->Branch(
"p", &p);
194 TBranch *b_nPart = tree->Branch(
"nPart", &nPart,
"nPart/I");
195 TBranch *b_Q2 = tree->Branch(
"Q2", &Q2,
"Q2/D");
196 TBranch *
b_y = tree->Branch(
"y", &y,
"y/D");
197 TBranch *
b_x = tree->Branch(
"x", &x,
"x/D");
204 if (
i % 1000 == 0) cout <<
"Event # " <<
i << endl;
206 pythia->GenerateEvent();
208 nPart = pythia->GetN();
209 Q2 = pythia->GetPARI(22);
210 x = pythia->GetPARI(32);
211 y = Q2 / (4.*x*eELEC*ePROT);