159 {
161 if ( p->
getId() != myvpho )
162 {
163 std::cout << "Parent particle is required to be vpho for Phokhara model" << std::endl;
164 abort();
165 }
168 std::cout << "PHOKHARA : K0K0bar mode " << std::endl;
169
171 int ntrials = 0;
172 int tr_old[3];
173 tr_old[0] = (int)
maxima_.tr[0];
174 tr_old[1] = (int)
maxima_.tr[1];
175 tr_old[2] = (int)
maxima_.tr[2];
176
177 while ( ntrials < 1000000 )
178 {
179 ievent++;
181 Ar[1] = Ar_r[0];
182
183 if ( Ar[1] <=
185 {
188 }
191 {
193 GEN_1PH( 2, qqmin, qqmax, cos1min, cos1max, cos3min, cos3max );
194 }
195 else
196 {
198 GEN_2PH( 2, qqmin, cos1min, cos1max, cos2min, cos2max, cos3min, cos3max );
199 }
200
202 ( tr_old[0] + tr_old[1] + tr_old[2] ) )
203 { goto storedEvents; }
204 ntrials++;
205 }
206 std::cout << "FATAL: Could not satisfy cuts after " << ntrials << "trials. Terminate."
207 << std::endl;
208
209storedEvents:
210 int more = 0;
211 int numstable = 0;
212 int numparton = 0;
213 EvtId evtnumstable[100];
214 EvtVector4R p4[20];
215
216
218 {
219
222 ctes_.momenta[3][5] );
223 numstable++;
224
227 ctes_.momenta[3][6] );
228 numstable++;
229 }
231 {
232
235 ctes_.momenta[3][5] );
236 numstable++;
237
240 ctes_.momenta[3][6] );
241 numstable++;
242 }
244 {
245
248 ctes_.momenta[3][5] );
249 numstable++;
250
253 ctes_.momenta[3][6] );
254 numstable++;
255
258 ctes_.momenta[3][7] );
259 numstable++;
260
263 ctes_.momenta[3][8] );
264 numstable++;
265 }
267 {
268
271 ctes_.momenta[3][5] );
272 numstable++;
273
276 ctes_.momenta[3][6] );
277 numstable++;
278
281 ctes_.momenta[3][7] );
282 numstable++;
283
286 ctes_.momenta[3][8] );
287 numstable++;
288 }
290 {
291
294 ctes_.momenta[3][5] );
295 numstable++;
296
299 ctes_.momenta[3][6] );
300 numstable++;
301 }
303 {
304
307 ctes_.momenta[3][5] );
308 numstable++;
309
312 ctes_.momenta[3][6] );
313 numstable++;
314 }
316 {
317
320 ctes_.momenta[3][5] );
321 numstable++;
322
325 ctes_.momenta[3][6] );
326 numstable++;
327 }
329 {
330
333 ctes_.momenta[3][5] );
334 numstable++;
335
338 ctes_.momenta[3][6] );
339 numstable++;
340 }
342 {
343
346 ctes_.momenta[3][5] );
347 numstable++;
348
351 ctes_.momenta[3][6] );
352 numstable++;
353
356 ctes_.momenta[3][7] );
357 numstable++;
358 }
360 {
361
364 ctes_.momenta[3][7] );
365 numstable++;
366
369 ctes_.momenta[3][8] );
370 numstable++;
371
374 ctes_.momenta[3][9] );
375 numstable++;
376
379 ctes_.momenta[3][10] );
380 numstable++;
381 }
382
383
386 ctes_.momenta[3][2] );
387 numstable++;
388 if (
ctes_.momenta[0][3] != 0 )
389 {
392 ctes_.momenta[3][3] );
393 numstable++;
394 }
395
397 more = ( channel != -1 );
398 if ( more )
399 {
400 std::cout << "Existence of mode " << channel
401 << " in exclusive decay list has the same final state as this one" << std::endl;
402 abort();
403 }
404
406
407
408 int ndaugFound = 0;
409 EvtVector4R SUMP4( 0, 0, 0, 0 );
410 for ( int i = 0; i < numstable; i++ )
411 {
413 ndaugFound++;
414 }
415 if ( ndaugFound == 0 )
416 {
417 report(
ERROR,
"EvtGen" ) <<
"Phokhara has failed to do a decay ";
419 << endl;
420 assert( 0 );
421 }
422
423 nevtgen++;
424 return;
425}
struct @053254170326070136226344307237142165176240334330 ctes_
struct @027003056066344010031101102046265032310161340072 maxima_
#define GEN_1PH(I, QQMIN, QQMAX, COS1MIN, COS1MAX, COS3MIN, COS3MAX)
#define GEN_0PH(I, QQMIN, SP, COS3MIN, COS3MAX)
#define GEN_2PH(I, QQMIN, COS1MIN, COS1MAX, COS2MIN, COS2MAX, COS3MIN, COS3MAX)
struct @366025114004024134344043225357106161032107165361 flags_
static int inChannelList(EvtId parent, int ndaug, EvtId *daugs)
static int getStdHep(EvtId id)
static EvtId evtIdFromStdHep(int stdhep)
static std::string name(EvtId i)
static EvtId getId(const std::string &name)
void makeDaughters(int ndaug, EvtId *id)
virtual void init(EvtId part_n, const EvtVector4R &p4)=0
EvtParticle * getDaug(int i)
void init_mode(EvtParticle *p)
void init_evt(EvtParticle *p)
void set(int i, double d)