162 if ( p->
getId() != myvpho )
164 std::cout <<
"Parent particle is required to be vpho for Phokhara model" << std::endl;
170 std::cout <<
"PHOKHARA : Lambda anti-Lambda mode " << std::endl;
175 if ( debug ) cout <<
"init_evt works!" << endl;
180 std::cout <<
"flags "
181 ":ph0,nlo,pion,fsr,fsrnlo,ivac,FF_pion,f0_model,FF_kaon,narr_res,FF_pp,chi_"
182 "sw,chi_pion,FF_Pgg,nlo2 "
189 std::cout <<
"ctes: Sp = " <<
ctes_.Sp << std::endl;
190 std::cout <<
"cuts : w,q2min,q2_min_c,gmin,phot1cut,phot2cut,pi1cut,pi2cut" << std::endl
191 <<
"= " <<
cuts_.w <<
"," <<
cuts_.q2min <<
"," <<
cuts_.q2_min_c <<
","
193 <<
cuts_.pi1cut <<
"," <<
cuts_.pi2cut << std::endl;
199 tr_old[0] = (int)
maxima_.tr[0];
200 tr_old[1] = (int)
maxima_.tr[1];
201 tr_old[2] = (int)
maxima_.tr[2];
203 while ( ntrials < 1000000 )
219 GEN_1PH( 2, qqmin, qqmax, cos1min, cos1max, cos3min, cos3max );
224 GEN_2PH( 2, qqmin, cos1min, cos1max, cos2min, cos2max, cos3min, cos3max );
228 ( tr_old[0] + tr_old[1] + tr_old[2] ) )
229 {
goto storedEvents; }
232 std::cout <<
"FATAL: Could not satisfy cuts after " << ntrials <<
"trials. Terminate."
239 EvtId evtnumstable[100];
248 ctes_.momenta[3][5] );
253 ctes_.momenta[3][6] );
261 ctes_.momenta[3][5] );
266 ctes_.momenta[3][6] );
274 ctes_.momenta[3][5] );
279 ctes_.momenta[3][6] );
284 ctes_.momenta[3][7] );
289 ctes_.momenta[3][8] );
297 ctes_.momenta[3][5] );
302 ctes_.momenta[3][6] );
307 ctes_.momenta[3][7] );
312 ctes_.momenta[3][8] );
320 ctes_.momenta[3][5] );
325 ctes_.momenta[3][6] );
333 ctes_.momenta[3][5] );
338 ctes_.momenta[3][6] );
346 ctes_.momenta[3][5] );
351 ctes_.momenta[3][6] );
359 ctes_.momenta[3][5] );
364 ctes_.momenta[3][6] );
372 ctes_.momenta[3][5] );
377 ctes_.momenta[3][6] );
382 ctes_.momenta[3][7] );
404 EvtId LambdaMode[100];
414 ctes_.momenta[3][5] );
416 std::cout <<
"Phokhara_Lambda: anti-Lambda0 p4[numstable] = " << p4[numstable]
422 ctes_.momenta[3][6] );
424 std::cout <<
"Phokhara_Lambda: Lambda0 p4[numstable] = " << p4[numstable] << std::endl;
429 Lambdap4[LambdaDaus].
set(
ctes_.momenta[0][7],
ctes_.momenta[1][7],
ctes_.momenta[2][7],
430 ctes_.momenta[3][7] );
432 std::cout <<
"Phokhara_Lambda: Pi+ p4[numstable] = " << Lambdap4[LambdaDaus]
436 tmp.
set( p4[0].get( 0 ), -p4[0].get( 1 ), -p4[0].get( 2 ), -p4[0].get( 3 ) );
437 Lambdap4[LambdaDaus] =
boostTo( Lambdap4[LambdaDaus], tmp );
439 std::cout <<
"Phokhara_Lambda:Boosted Pi+ p4[numstable] = " << Lambdap4[LambdaDaus]
444 Lambdap4[LambdaDaus].
set(
ctes_.momenta[0][8],
ctes_.momenta[1][8],
ctes_.momenta[2][8],
445 ctes_.momenta[3][8] );
447 std::cout <<
"Phokhara_Lambda: pbar p4[numstable] = " << Lambdap4[LambdaDaus]
452 tmp.
set( p4[0].get( 0 ), -p4[0].get( 1 ), -p4[0].get( 2 ), -p4[0].get( 3 ) );
453 Lambdap4[LambdaDaus] =
boostTo( Lambdap4[LambdaDaus], tmp );
455 std::cout <<
"Phokhara_Lambda:Boosted pbar p4[numstable] = " << Lambdap4[LambdaDaus]
460 Lambdap4[LambdaDaus].
set(
ctes_.momenta[0][9],
ctes_.momenta[1][9],
ctes_.momenta[2][9],
461 ctes_.momenta[3][9] );
463 std::cout <<
"Phokhara_Lambda: pi- p4[numstable] = " << Lambdap4[LambdaDaus]
468 tmp.
set( p4[1].get( 0 ), -p4[1].get( 1 ), -p4[1].get( 2 ), -p4[1].get( 3 ) );
469 Lambdap4[LambdaDaus] =
boostTo( Lambdap4[LambdaDaus], tmp );
471 std::cout <<
"Phokhara_Lambda:Boosted pi- p4[numstable] = " << Lambdap4[LambdaDaus]
476 Lambdap4[LambdaDaus].
set(
ctes_.momenta[0][10],
ctes_.momenta[1][10],
ctes_.momenta[2][10],
477 ctes_.momenta[3][10] );
479 std::cout <<
"Phokhara_Lambda: p p4[numstable] = " << Lambdap4[LambdaDaus] << std::endl;
483 tmp.
set( p4[1].get( 0 ), -p4[1].get( 1 ), -p4[1].get( 2 ), -p4[1].get( 3 ) );
484 Lambdap4[LambdaDaus] =
boostTo( Lambdap4[LambdaDaus], tmp );
486 std::cout <<
"Phokhara_Lambda:Boosted p p4[numstable] = " << Lambdap4[LambdaDaus]
494 ctes_.momenta[3][2] );
496 std::cout <<
"Phokhara_Lambda: first gamma p4[numstable] = " << p4[numstable] << std::endl;
498 if (
ctes_.momenta[0][3] != 0 )
502 ctes_.momenta[3][3] );
504 std::cout <<
"Phokhara_Lambda: second gamma p4[numstable] = " << p4[numstable]
510 more = ( channel != -1 );
513 std::cout <<
"EvtPhokhara_Lambda:Existence of mode " << channel
514 <<
" in exclusive decay list has the same final state as this one" << std::endl;
524 for (
int i = 0; i < LambdaDaus; i++ )
532 for (
int i = 0; i < numstable; i++ )
537 if ( ndaugFound == 0 )
539 report(
ERROR,
"EvtGen" ) <<
"Phokhara has failed to do a decay ";
545 std::cout <<
"EvtPhokhara_Lambda SUMMARY: part p4" << p->
getP4Lab() << std::endl;
547 std::cout <<
"EvtPhokhara_Lambda SUMMARY: Daug0 p4" << p->
getDaug( 0 )->
getP4Lab()
550 std::cout <<
"EvtPhokhara_Lambda SUMMARY: Daug1 p4" << p->
getDaug( 1 )->
getP4Lab()
553 std::cout <<
"EvtPhokhara_Lambda SUMMARY: Daug2 p4" << p->
getDaug( 2 )->
getP4Lab()
#define GEN_2PH(I, QQMIN, COS1MIN, COS1MAX, COS2MIN, COS2MAX, COS3MIN, COS3MAX)
void makeDaughters(int ndaug, EvtId *id)
virtual void init(EvtId part_n, const EvtVector4R &p4)=0
static EvtId _NextLevelId[20]
static int _NextLevelDauNum
EvtParticle * getDaug(int i)
static EvtVector4R _NextLevelP4[20]