#include <EvtPhokhara_4pi.hh>
Inheritance diagram for EvtPhokhara_4pi:
Public Member Functions | |
EvtPhokhara_4pi () | |
virtual | ~EvtPhokhara_4pi () |
void | getName (std::string &name) |
EvtDecayBase * | clone () |
void | decay (EvtParticle *p) |
std::string | commandName () |
void | command (std::string cmd) |
void | init () |
void | init_mode (EvtParticle *p) |
void | init_evt (EvtParticle *p) |
void | initProbMax () |
int | getTotalEvt () |
void | PhokharaInit (int dummy) |
void | ExclusiveDecay (EvtParticle *p) |
void | init_pars () |
void | makeDecay (EvtParticle *p) |
void | setDaughterSpinDensity (int daughter) |
int | isDaughterSpinDensitySet (int daughter) |
double | getProbMax (double prob) |
double | resetProbMax (double prob) |
virtual bool | matchingDecay (const EvtDecayBase &other) const |
EvtId | getParentId () |
double | getBranchingFraction () |
void | disableCheckQ () |
void | checkQ () |
int | getNDaug () |
EvtId * | getDaugs () |
EvtId | getDaug (int i) |
int | getNArg () |
int | getPHOTOS () |
void | setPHOTOS () |
void | setVerbose () |
void | setSummary () |
double * | getArgs () |
std::string * | getArgsStr () |
double | getArg (int j) |
std::string | getArgStr (int j) |
std::string | getModelName () |
int | getDSum () |
int | summary () |
int | verbose () |
void | saveDecayInfo (EvtId ipar, int ndaug, EvtId *daug, int narg, std::vector< std::string > &args, std::string name, double brfr) |
void | printSummary () |
void | setProbMax (double prbmx) |
void | noProbMax () |
void | checkNArg (int a1, int a2=-1, int a3=-1, int a4=-1) |
void | checkNDaug (int d1, int d2=-1) |
void | checkSpinParent (EvtSpinType::spintype sp) |
void | checkSpinDaughter (int d1, EvtSpinType::spintype sp) |
virtual int | nRealDaughters () |
Static Public Member Functions | |
static void | findMasses (EvtParticle *p, int ndaugs, EvtId daugs[10], double masses[10]) |
static void | findMass (EvtParticle *p) |
static double | findMaxMass (EvtParticle *p) |
Protected Member Functions | |
bool | daugsDecayedByParentModel () |
Protected Attributes | |
bool | _daugsDecayedByParentModel |
Private Member Functions | |
void | store (EvtDecayBase *jsdecay) |
Private Attributes | |
int | m_nm |
int | m_nlo |
double | m_w |
int | m_pion |
int | m_fsr |
int | m_fsrnlo |
int | m_ivac |
int | m_tagged |
int | m_NarrowRes |
int | m_FF_Kaon |
int | m_FF_Pion |
int | m_f0_model |
double | m_E |
double | m_q2min |
double | m_q2_min_c |
double | m_q2_max_c |
double | m_gmin |
double | m_phot1cut |
double | m_phot2cut |
double | m_pi1cut |
double | m_pi2cut |
double | qqmin |
double | qqmax |
double | cos1min |
double | cos1max |
double | cos2min |
double | cos2max |
double | cos3min |
double | cos3max |
double | dsigm1 |
double | dsigm2 |
double | sigma1 |
double | sigma2 |
double | sigma |
double | dsigm |
double | Ar [14] |
double | Ar_r [14] |
int | ievent |
long int | m_initSeed |
double | theMmax0 |
double | theMmax1 |
Static Private Attributes | |
static int | nphokharadecays = 0 |
static EvtDecayBasePtr * | phokharadecays = 0 |
static int | ntable = 0 |
static int | ncommand = 0 |
static int | lcommand = 0 |
static std::string * | commands = 0 |
static int | nevt = 0 |
static int | nevtgen = 0 |
Definition at line 33 of file EvtPhokhara_4pi.hh.
EvtPhokhara_4pi::EvtPhokhara_4pi | ( | ) |
EvtPhokhara_4pi::~EvtPhokhara_4pi | ( | ) | [virtual] |
Definition at line 68 of file EvtPhokhara_4pi.cc.
References commands, calibUtil::ERROR, genRecEmupikp::i, nphokharadecays, phokharadecays, and report().
00068 { 00069 int i; 00070 //the deletion of commands is really uggly! 00071 00072 if (nphokharadecays==0) { 00073 delete [] commands; 00074 commands=0; 00075 return; 00076 } 00077 00078 for(i=0;i<nphokharadecays;i++){ 00079 if (phokharadecays[i]==this){ 00080 phokharadecays[i]=phokharadecays[nphokharadecays-1]; 00081 nphokharadecays--; 00082 if (nphokharadecays==0) { 00083 delete [] commands; 00084 commands=0; 00085 } 00086 return; 00087 } 00088 } 00089 00090 report(ERROR,"EvtGen") << "Error in destroying Phokhara model!"<<endl; 00091 00092 }
void EvtDecayBase::checkNArg | ( | int | a1, | |
int | a2 = -1 , |
|||
int | a3 = -1 , |
|||
int | a4 = -1 | |||
) | [inherited] |
Definition at line 482 of file EvtDecayBase.cc.
References EvtDecayBase::_modelname, EvtDecayBase::_narg, calibUtil::ERROR, EvtDecayBase::printSummary(), and report().
Referenced by EvtVVSPwave::init(), EvtVVPIPI_WEIGHTED::init(), EvtVVpipi::init(), EvtVVP::init(), EvtVSSMix::init(), EvtVSSBMixCPT::init(), EvtVSS::init(), EvtVSPPwave::init(), EvtVPHOtoVISRHi::init(), EvtVPHOtoVISR::init(), EvtVll::init(), EvtVectorIsr::init(), EvtTVSPwave::init(), EvtTSS::init(), EvtTrackGen::init(), EvtTauVectornu::init(), EvtTauScalarnu::init(), EvtTaulnunu::init(), EvtTauHadnu::init(), EvtTauGamMu::init(), EvtT2GV::init(), EvtSVVNONCPEIGEN::init(), EvtSVVHelAmp::init(), EvtSVVCPLH::init(), EvtSVVCP::init(), EvtSVSNONCPEIGEN::init(), EvtSVSCPLH::init(), EvtSVSCPiso::init(), EvtSVSCP::init(), EvtSVS::init(), EvtSVPHelAmp::init(), EvtSVPCP::init(), EvtSTSCP::init(), EvtSTS::init(), EvtSSSCPT::init(), EvtSSSCPpng::init(), EvtSSSCP::init(), EvtSSDCP::init(), EvtSLN::init(), EvtSll::init(), EvtS2GV::init(), EvtRexc::init(), EvtPythia::init(), EvtPyGaGa::init(), EvtPycont::init(), EvtPi0Dalitz::init(), EvtPhsp::init(), EvtPhokhara_ppbar::init(), EvtPhokhara_pipipi0::init(), EvtPhokhara_pipi::init(), EvtPhokhara_pi0pi0pipi::init(), EvtPhokhara_nnbar::init(), EvtPhokhara_LLB::init(), EvtPhokhara_KK::init(), EvtPhokhara_K0K0::init(), init(), EvtPhokhara::init(), EvtPhiDalitz::init(), EvtPartWave::init(), EvtP2GC2::init(), EvtP2GC1::init(), EvtP2GC0::init(), EvtOmegaDalitz::init(), EvtmH2::init(), EvtMelikhov::init(), EvtMBody3::init(), EvtMassH2::init(), EvtMassH1::init(), EvtLNuGamma::init(), EvtLambdaP_BarGamma::init(), EvtLambdac2pKpi::init(), EvtKstarstargamma::init(), EvtKstarnunu::init(), EvtJscont::init(), EvtJpipi::init(), EvtJPE::init(), EvtJetSet::init(), EvtISGW2::init(), EvtISGW::init(), EvtHypWK::init(), EvtHQET::init(), EvtHelPPJ::init(), EvtHelAmp::init(), EvtHAngSam3::init(), EvtGoityRoberts::init(), EvtFlatQ2::init(), EvtEtaDalitz::init(), EvtEDM::init(), EvtDMix::init(), EvtDeBD::init(), EvtDDalitz::init(), EvtChi2BB2::init(), EvtChi2BB1::init(), EvtChi1BB2::init(), EvtChi1BB1::init(), EvtChi0BB2::init(), EvtCBTo3piP00::init(), EvtCBTo3piMPP::init(), EvtCalHelAmp::init(), EvtBtoXsll::init(), EvtBtoXsEtap::init(), EvtbTosllBall::init(), EvtbTosllAli::init(), EvtBToKpipiCP::init(), EvtBtoKpiCPiso::init(), EvtBtoKD3P::init(), EvtBTo4piCP::init(), EvtBTo3piCP::init(), EvtBto2piCPiso::init(), EvtBsquark::init(), EvtBody3::init(), EvtBHadronic::init(), EvtAV2GV::init(), and EvtAngH2::init().
00482 { 00483 00484 if ( _narg != a1 && _narg != a2 && _narg != a3 && _narg != a4 ) { 00485 report(ERROR,"EvtGen") << _modelname.c_str() << " generator expected "<<endl; 00486 report(ERROR,"EvtGen") << a1<<endl;; 00487 if ( a2>-1) { 00488 report(ERROR,"EvtGen") << " or " << a2<<endl; 00489 } 00490 if ( a3>-1) { 00491 report(ERROR,"EvtGen") << " or " << a3<<endl; 00492 } 00493 if ( a4>-1) { 00494 report(ERROR,"EvtGen") << " or " << a4<<endl; 00495 } 00496 report(ERROR,"EvtGen") << " arguments but found:"<< _narg << endl; 00497 printSummary(); 00498 report(ERROR,"EvtGen") << "Will terminate execution!"<<endl; 00499 ::abort(); 00500 00501 } 00502 00503 }
void EvtDecayBase::checkNDaug | ( | int | d1, | |
int | d2 = -1 | |||
) | [inherited] |
Definition at line 504 of file EvtDecayBase.cc.
References EvtDecayBase::_modelname, EvtDecayBase::_ndaug, calibUtil::ERROR, EvtDecayBase::printSummary(), and report().
Referenced by EvtVVSPwave::init(), EvtVVPIPI_WEIGHTED::init(), EvtVVpipi::init(), EvtVVP::init(), EvtVubNLO::init(), EvtVubHybrid::init(), EvtVub::init(), EvtVSSMix::init(), EvtVSSBMixCPT::init(), EvtVSS::init(), EvtVSPPwave::init(), EvtVPHOtoVISRHi::init(), EvtVPHOtoVISR::init(), EvtVll::init(), EvtVectorIsr::init(), EvtTVSPwave::init(), EvtTSS::init(), EvtTauVectornu::init(), EvtTauScalarnu::init(), EvtTaulnunu::init(), EvtTauGamMu::init(), EvtSVVNONCPEIGEN::init(), EvtSVVHelAmp::init(), EvtSVVCPLH::init(), EvtSVVCP::init(), EvtSVSNONCPEIGEN::init(), EvtSVSCPLH::init(), EvtSVSCPiso::init(), EvtSVSCP::init(), EvtSVS::init(), EvtSVPHelAmp::init(), EvtSVPCP::init(), EvtSTSCP::init(), EvtSTS::init(), EvtSSSCPT::init(), EvtSSSCPpng::init(), EvtSSSCP::init(), EvtSSDCP::init(), EvtSPL::init(), EvtSLPole::init(), EvtSLN::init(), EvtSll::init(), EvtSLBKPole::init(), EvtS2GV::init(), EvtPi0Dalitz::init(), EvtPhokhara::init(), EvtPhiDalitz::init(), EvtPBB2::init(), EvtPBB1::init(), EvtPartWave::init(), EvtP2GC2::init(), EvtP2GC1::init(), EvtP2GC0::init(), EvtOmegaDalitz::init(), EvtMelikhov::init(), EvtLNuGamma::init(), EvtLambdaP_BarGamma::init(), EvtKstarstargamma::init(), EvtKstarnunu::init(), EvtKKLambdaC::init(), EvtJTO3P::init(), EvtJpipi::init(), EvtJPE::init(), EvtJ2BB3::init(), EvtJ2BB2::init(), EvtJ2BB1::init(), EvtISGW2::init(), EvtISGW::init(), EvtHypWK::init(), EvtHQET2::init(), EvtHQET::init(), EvtHelPPJ::init(), EvtHelAmp::init(), EvtGoityRoberts::init(), EvtFlatQ2::init(), EvtEtaDalitz::init(), EvtEDM::init(), EvtDeBD::init(), EvtDDalitz::init(), EvtD0mixDalitz::init(), EvtChi2BB2::init(), EvtChi2BB1::init(), EvtChi1BB2::init(), EvtChi1BB1::init(), EvtChi0BB2::init(), EvtChi0BB1::init(), EvtCBTo3piP00::init(), EvtCBTo3piMPP::init(), EvtBtoXsll::init(), EvtbTosllBall::init(), EvtbTosllAli::init(), EvtBToKpipiCP::init(), EvtBtoKpiCPiso::init(), EvtBtoKD3P::init(), EvtBTo4piCP::init(), EvtBTo3piCP::init(), EvtBto2piCPiso::init(), EvtAV2GV::init(), EvtAngSamLab::init(), EvtAngSam3::init(), and EvtAngSam::init().
00504 { 00505 00506 if ( _ndaug != d1 && _ndaug != d2 ) { 00507 report(ERROR,"EvtGen") << _modelname.c_str() << " generator expected "; 00508 report(ERROR,"EvtGen") << d1; 00509 if ( d2>-1) { 00510 report(ERROR,"EvtGen") << " or " << d2; 00511 } 00512 report(ERROR,"EvtGen") << " daughters but found:"<< _ndaug << endl; 00513 printSummary(); 00514 report(ERROR,"EvtGen") << "Will terminate execution!"<<endl; 00515 ::abort(); 00516 } 00517 00518 }
void EvtDecayBase::checkQ | ( | ) | [inherited] |
Definition at line 35 of file EvtDecayBase.cc.
References EvtDecayBase::_daug, EvtDecayBase::_modelname, EvtDecayBase::_ndaug, EvtDecayBase::_parent, EvtCyclic3::c_str(), EvtPDL::chg3(), calibUtil::ERROR, genRecEmupikp::i, EvtPDL::name(), q, and report().
Referenced by EvtDecayBase::saveDecayInfo().
00035 { 00036 int i; 00037 int q=0; 00038 int qpar; 00039 00040 //If there are no daughters (jetset etc) then we do not 00041 //want to do this test. Why? Because sometimes the parent 00042 //will have a nonzero charge. 00043 00044 if ( _ndaug != 0) { 00045 for(i=0; i<_ndaug; i++ ) { 00046 q += EvtPDL::chg3(_daug[i]); 00047 } 00048 qpar = EvtPDL::chg3(_parent); 00049 00050 if ( q != qpar ) { 00051 report(ERROR,"EvtGen") <<_modelname.c_str()<< " generator expected " 00052 << " charge to be conserved, found:"<<endl; 00053 report(ERROR,"EvtGen") << "Parent charge of "<<(qpar/3)<<endl; 00054 report(ERROR,"EvtGen") << "Sum of daughter charge of "<<(q/3)<<endl; 00055 report(ERROR,"EvtGen") << "The parent is "<< EvtPDL::name(_parent).c_str()<<endl; 00056 for(i=0; i<_ndaug; i++ ) { 00057 report(ERROR,"EvtGen") << "Daughter "<< EvtPDL::name(_daug[i]).c_str()<<endl; 00058 } 00059 report(ERROR,"EvtGen") << "Will terminate execution!"<<endl; 00060 00061 ::abort(); 00062 } 00063 } 00064 }
void EvtDecayBase::checkSpinDaughter | ( | int | d1, | |
EvtSpinType::spintype | sp | |||
) | [inherited] |
Definition at line 533 of file EvtDecayBase.cc.
References EvtDecayBase::_modelname, calibUtil::ERROR, EvtDecayBase::getDaug(), EvtPDL::getSpinType(), EvtDecayBase::printSummary(), and report().
Referenced by EvtVVSPwave::init(), EvtVVPIPI_WEIGHTED::init(), EvtVVpipi::init(), EvtVVP::init(), EvtVSSMix::init(), EvtVSSBMixCPT::init(), EvtVSS::init(), EvtVSPPwave::init(), EvtVPHOtoVISRHi::init(), EvtVPHOtoVISR::init(), EvtVll::init(), EvtVectorIsr::init(), EvtTVSPwave::init(), EvtTSS::init(), EvtTauVectornu::init(), EvtTauScalarnu::init(), EvtTaulnunu::init(), EvtTauHadnu::init(), EvtTauGamMu::init(), EvtSVVNONCPEIGEN::init(), EvtSVVHelAmp::init(), EvtSVVCPLH::init(), EvtSVVCP::init(), EvtSVSNONCPEIGEN::init(), EvtSVSCPLH::init(), EvtSVSCPiso::init(), EvtSVSCP::init(), EvtSVS::init(), EvtSVPHelAmp::init(), EvtSVPCP::init(), EvtSTSCP::init(), EvtSTS::init(), EvtSSSCPpng::init(), EvtSSSCP::init(), EvtSPL::init(), EvtSLPole::init(), EvtSLN::init(), EvtSll::init(), EvtSLBKPole::init(), EvtS2GV::init(), EvtPi0Dalitz::init(), EvtPhiDalitz::init(), EvtPBB2::init(), EvtPBB1::init(), EvtP2GC2::init(), EvtP2GC1::init(), EvtP2GC0::init(), EvtOmegaDalitz::init(), EvtMelikhov::init(), EvtLNuGamma::init(), EvtLambdaP_BarGamma::init(), EvtKstarstargamma::init(), EvtKstarnunu::init(), EvtKKLambdaC::init(), EvtJTO3P::init(), EvtJpipi::init(), EvtJPE::init(), EvtJ2BB3::init(), EvtJ2BB2::init(), EvtJ2BB1::init(), EvtISGW2::init(), EvtISGW::init(), EvtHypWK::init(), EvtHQET2::init(), EvtHQET::init(), EvtHelPPJ::init(), EvtGoityRoberts::init(), EvtFlatQ2::init(), EvtEtaDalitz::init(), EvtEDM::init(), EvtDeBD::init(), EvtDDalitz::init(), EvtD0mixDalitz::init(), EvtChi2BB2::init(), EvtChi2BB1::init(), EvtChi1BB2::init(), EvtChi1BB1::init(), EvtChi0BB2::init(), EvtChi0BB1::init(), EvtCBTo3piP00::init(), EvtCBTo3piMPP::init(), EvtbTosllBall::init(), EvtbTosllAli::init(), EvtBToKpipiCP::init(), EvtBtoKpiCPiso::init(), EvtBtoKD3P::init(), EvtBTo4piCP::init(), EvtBTo3piCP::init(), EvtBto2piCPiso::init(), and EvtAV2GV::init().
00533 { 00534 00535 EvtSpinType::spintype parenttype = EvtPDL::getSpinType(getDaug(d1)); 00536 if ( parenttype != sp ) { 00537 report(ERROR,"EvtGen") << _modelname.c_str() 00538 << " did not get the correct daughter spin d=" 00539 << d1 << endl; 00540 printSummary(); 00541 report(ERROR,"EvtGen") << "Will terminate execution!"<<endl; 00542 ::abort(); 00543 } 00544 00545 }
void EvtDecayBase::checkSpinParent | ( | EvtSpinType::spintype | sp | ) | [inherited] |
Definition at line 520 of file EvtDecayBase.cc.
References EvtDecayBase::_modelname, calibUtil::ERROR, EvtDecayBase::getParentId(), EvtPDL::getSpinType(), EvtDecayBase::printSummary(), and report().
Referenced by EvtVVSPwave::init(), EvtVVPIPI_WEIGHTED::init(), EvtVVpipi::init(), EvtVVP::init(), EvtVSSMix::init(), EvtVSSBMixCPT::init(), EvtVSS::init(), EvtVSPPwave::init(), EvtVPHOtoVISRHi::init(), EvtVPHOtoVISR::init(), EvtVll::init(), EvtVectorIsr::init(), EvtTVSPwave::init(), EvtTSS::init(), EvtTauVectornu::init(), EvtTauScalarnu::init(), EvtTaulnunu::init(), EvtTauHadnu::init(), EvtTauGamMu::init(), EvtSVVHelAmp::init(), EvtSVVCPLH::init(), EvtSVVCP::init(), EvtSVSCPLH::init(), EvtSVSCPiso::init(), EvtSVSCP::init(), EvtSVS::init(), EvtSVPHelAmp::init(), EvtSVPCP::init(), EvtSTSCP::init(), EvtSTS::init(), EvtSSSCPpng::init(), EvtSSSCP::init(), EvtSPL::init(), EvtSLPole::init(), EvtSLN::init(), EvtSll::init(), EvtSLBKPole::init(), EvtS2GV::init(), EvtPi0Dalitz::init(), EvtPhiDalitz::init(), EvtPBB2::init(), EvtPBB1::init(), EvtP2GC2::init(), EvtP2GC1::init(), EvtP2GC0::init(), EvtOmegaDalitz::init(), EvtMelikhov::init(), EvtLNuGamma::init(), EvtLambdaP_BarGamma::init(), EvtKstarstargamma::init(), EvtKstarnunu::init(), EvtKKLambdaC::init(), EvtJTO3P::init(), EvtJpipi::init(), EvtJPE::init(), EvtJ2BB3::init(), EvtJ2BB2::init(), EvtJ2BB1::init(), EvtISGW2::init(), EvtISGW::init(), EvtHypWK::init(), EvtHQET2::init(), EvtHQET::init(), EvtHelPPJ::init(), EvtGoityRoberts::init(), EvtFlatQ2::init(), EvtEtaDalitz::init(), EvtEDM::init(), EvtDeBD::init(), EvtDDalitz::init(), EvtD0mixDalitz::init(), EvtChi2BB2::init(), EvtChi2BB1::init(), EvtChi1BB2::init(), EvtChi1BB1::init(), EvtChi0BB2::init(), EvtChi0BB1::init(), EvtCBTo3piP00::init(), EvtCBTo3piMPP::init(), EvtbTosllBall::init(), EvtbTosllAli::init(), EvtBToKpipiCP::init(), EvtBtoKpiCPiso::init(), EvtBtoKD3P::init(), EvtBTo4piCP::init(), EvtBTo3piCP::init(), EvtBto2piCPiso::init(), and EvtAV2GV::init().
00520 { 00521 00522 EvtSpinType::spintype parenttype = EvtPDL::getSpinType(getParentId()); 00523 if ( parenttype != sp ) { 00524 report(ERROR,"EvtGen") << _modelname.c_str() 00525 << " did not get the correct parent spin\n"; 00526 printSummary(); 00527 report(ERROR,"EvtGen") << "Will terminate execution!"<<endl; 00528 ::abort(); 00529 } 00530 00531 }
EvtDecayBase * EvtPhokhara_4pi::clone | ( | ) | [virtual] |
Implements EvtDecayBase.
Definition at line 101 of file EvtPhokhara_4pi.cc.
00101 { 00102 00103 return new EvtPhokhara_4pi; 00104 00105 }
void EvtPhokhara_4pi::command | ( | std::string | cmd | ) | [virtual] |
Reimplemented from EvtDecayBase.
Definition at line 508 of file EvtPhokhara_4pi.cc.
References commands, genRecEmupikp::i, lcommand, ncommand, and deljobs::string.
00508 { 00509 00510 if (ncommand==lcommand){ 00511 00512 lcommand=10+2*lcommand; 00513 00514 std::string* newcommands=new std::string[lcommand]; 00515 00516 int i; 00517 00518 for(i=0;i<ncommand;i++){ 00519 newcommands[i]=commands[i]; 00520 } 00521 00522 delete [] commands; 00523 00524 commands=newcommands; 00525 00526 } 00527 00528 commands[ncommand]=cmd; 00529 00530 ncommand++; 00531 00532 }
std::string EvtPhokhara_4pi::commandName | ( | ) | [virtual] |
Reimplemented from EvtDecayBase.
Definition at line 502 of file EvtPhokhara_4pi.cc.
References deljobs::string.
00502 { 00503 00504 return std::string("PhokharaPar"); 00505 00506 }
bool EvtDecayBase::daugsDecayedByParentModel | ( | ) | [inline, protected, inherited] |
Definition at line 110 of file EvtDecayBase.hh.
References EvtDecayBase::_daugsDecayedByParentModel.
Referenced by EvtDecayProb::makeDecay(), EvtDecayIncoherent::makeDecay(), and EvtDecayAmp::makeDecay().
00110 {return _daugsDecayedByParentModel;}
void EvtPhokhara_4pi::decay | ( | EvtParticle * | p | ) | [virtual] |
Implements EvtDecayBase.
Definition at line 536 of file EvtPhokhara_4pi.cc.
References Ar, Ar_r, EvtCyclic3::c_str(), cos1max, cos1min, cos2max, cos2min, cos3max, cos3min, ctes_, calibUtil::ERROR, EvtPDL::evtIdFromStdHep(), flags_, GEN_1PH, GEN_2PH, EvtParticle::getDaug(), EvtParticle::getId(), EvtPDL::getId(), EvtPDL::getStdHep(), genRecEmupikp::i, ievent, EvtDecayTable::inChannelList(), EvtParticle::init(), init_evt(), init_mode(), EvtParticle::makeDaughters(), EvtParticle::mass(), maxima_, EvtPDL::name(), nevtgen, qqmax, qqmin, RANLXDF, report(), and EvtVector4R::set().
00536 { 00537 EvtId myvpho=EvtPDL::getId("vpho"); 00538 if(p->getId()!=myvpho) {std::cout<<"Parent particle is required to be vpho for Phokhara model"<<std::endl;abort();} 00539 if(nevtgen==0) {init_mode(p);} 00540 else{init_evt(p);} 00541 std::cout<<"PHOKHARA : 2(pi+pi-) mode "<<std::endl; 00542 00543 00544 int istdheppar=EvtPDL::getStdHep(p->getId()); 00545 int ntrials = 0; 00546 int tr_old[2]; 00547 tr_old[0] = (int)maxima_.tr[0]; 00548 tr_old[1] = (int)maxima_.tr[1]; 00549 00550 while( ntrials < 10000) 00551 { 00552 ievent++; 00553 RANLXDF(Ar_r,1); 00554 Ar[1] = Ar_r[0]; 00555 00556 if (Ar[1] <= (maxima_.Mmax[0]/(maxima_.Mmax[0]+maxima_.Mmax[1]))) { 00557 maxima_.count[0] = maxima_.count[0]+1.0; 00558 GEN_1PH(2,qqmin,qqmax,cos1min,cos1max,cos3min,cos3max); 00559 } 00560 else { 00561 maxima_.count[1] = maxima_.count[1]+1.0; 00562 GEN_2PH(2,qqmin,cos1min,cos1max,cos2min,cos2max,cos3min,cos3max); 00563 } 00564 00565 if( ((int)maxima_.tr[0]+(int)maxima_.tr[1]) > (tr_old[0]+tr_old[1]) ) // event accepted after cuts 00566 { 00567 goto storedEvents; 00568 } 00569 ntrials ++; 00570 } 00571 00572 std::cout <<"FATAL: Could not satisfy cuts after " << ntrials << "trials. Terminate." <<std::endl; 00573 //---- 00574 storedEvents: 00575 int more=0; 00576 int numstable=0; 00577 int numparton=0; 00578 EvtId evtnumstable[100];// 00579 EvtVector4R p4[20]; 00580 00581 // except ISR photos, products depending on channel 00582 if (flags_.pion == 0) { // mu+ mu- 00583 // mu+ 00584 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(-13); 00585 p4[numstable].set(ctes_.momenta[0][5],ctes_.momenta[1][5], ctes_.momenta[2][5], ctes_.momenta[3][5]); 00586 numstable++; 00587 // mu - 00588 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(13); 00589 p4[numstable].set(ctes_.momenta[0][6],ctes_.momenta[1][6], ctes_.momenta[2][6], ctes_.momenta[3][6]); 00590 numstable++; 00591 } 00592 if (flags_.pion == 1) { // pi+ pi- 00593 // pi+ 00594 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(211); 00595 p4[numstable].set(ctes_.momenta[0][5],ctes_.momenta[1][5], ctes_.momenta[2][5], ctes_.momenta[3][5]); 00596 numstable++; 00597 // pi - 00598 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(-211); 00599 p4[numstable].set(ctes_.momenta[0][6],ctes_.momenta[1][6], ctes_.momenta[2][6], ctes_.momenta[3][6]); 00600 numstable++; 00601 } 00602 if (flags_.pion == 2) { // pi+ pi-2pi0 00603 // pi0 00604 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(111); 00605 p4[numstable].set(ctes_.momenta[0][5],ctes_.momenta[1][5], ctes_.momenta[2][5], ctes_.momenta[3][5]); 00606 numstable++; 00607 // pi0 00608 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(111); 00609 p4[numstable].set(ctes_.momenta[0][6],ctes_.momenta[1][6], ctes_.momenta[2][6], ctes_.momenta[3][6]); 00610 numstable++; 00611 // pi- 00612 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(-211); 00613 p4[numstable].set(ctes_.momenta[0][7],ctes_.momenta[1][7], ctes_.momenta[2][7], ctes_.momenta[3][7]); 00614 numstable++; 00615 // pi + 00616 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(211); 00617 p4[numstable].set(ctes_.momenta[0][8],ctes_.momenta[1][8], ctes_.momenta[2][8], ctes_.momenta[3][8]); 00618 numstable++; 00619 } 00620 if (flags_.pion == 3) { // 2(pi+ pi-) 00621 // pi+ 00622 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(211); 00623 p4[numstable].set(ctes_.momenta[0][5],ctes_.momenta[1][5], ctes_.momenta[2][5], ctes_.momenta[3][5]); 00624 numstable++; 00625 // pi- 00626 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(-211); 00627 p4[numstable].set(ctes_.momenta[0][6],ctes_.momenta[1][6], ctes_.momenta[2][6], ctes_.momenta[3][6]); 00628 numstable++; 00629 // pi+ 00630 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(-211); 00631 p4[numstable].set(ctes_.momenta[0][7],ctes_.momenta[1][7], ctes_.momenta[2][7], ctes_.momenta[3][7]); 00632 numstable++; 00633 // pi - 00634 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(211); 00635 p4[numstable].set(ctes_.momenta[0][8],ctes_.momenta[1][8], ctes_.momenta[2][8], ctes_.momenta[3][8]); 00636 numstable++; 00637 } 00638 if (flags_.pion == 4) { // ppbar 00639 // pbar 00640 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(-2212); 00641 p4[numstable].set(ctes_.momenta[0][5],ctes_.momenta[1][5], ctes_.momenta[2][5], ctes_.momenta[3][5]); 00642 numstable++; 00643 // p 00644 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(2212); 00645 p4[numstable].set(ctes_.momenta[0][6],ctes_.momenta[1][6], ctes_.momenta[2][6], ctes_.momenta[3][6]); 00646 numstable++; 00647 } 00648 if (flags_.pion == 5) { // nnbar 00649 // pbar 00650 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(-2112); 00651 p4[numstable].set(ctes_.momenta[0][5],ctes_.momenta[1][5], ctes_.momenta[2][5], ctes_.momenta[3][5]); 00652 numstable++; 00653 // p 00654 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(2112); 00655 p4[numstable].set(ctes_.momenta[0][6],ctes_.momenta[1][6], ctes_.momenta[2][6], ctes_.momenta[3][6]); 00656 numstable++; 00657 } 00658 if (flags_.pion == 6) { // K+ K- 00659 // K+ 00660 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(321); 00661 p4[numstable].set(ctes_.momenta[0][5],ctes_.momenta[1][5], ctes_.momenta[2][5], ctes_.momenta[3][5]); 00662 numstable++; 00663 // K - 00664 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(-321); 00665 p4[numstable].set(ctes_.momenta[0][6],ctes_.momenta[1][6], ctes_.momenta[2][6], ctes_.momenta[3][6]); 00666 numstable++; 00667 } 00668 if (flags_.pion == 7) { // K0K0bar 00669 // Kbar 00670 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(311); 00671 p4[numstable].set(ctes_.momenta[0][5],ctes_.momenta[1][5], ctes_.momenta[2][5], ctes_.momenta[3][5]); 00672 numstable++; 00673 // K0 00674 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(-311); 00675 p4[numstable].set(ctes_.momenta[0][6],ctes_.momenta[1][6], ctes_.momenta[2][6], ctes_.momenta[3][6]); 00676 numstable++; 00677 } 00678 if (flags_.pion == 8) { // pi+ pi-pi0 00679 // pi+ 00680 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(211); 00681 p4[numstable].set(ctes_.momenta[0][5],ctes_.momenta[1][5], ctes_.momenta[2][5], ctes_.momenta[3][5]); 00682 numstable++; 00683 // pi- 00684 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(-211); 00685 p4[numstable].set(ctes_.momenta[0][6],ctes_.momenta[1][6], ctes_.momenta[2][6], ctes_.momenta[3][6]); 00686 numstable++; 00687 // pi0 00688 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(111); 00689 p4[numstable].set(ctes_.momenta[0][7],ctes_.momenta[1][7], ctes_.momenta[2][7], ctes_.momenta[3][7]); 00690 numstable++; 00691 } 00692 if (flags_.pion == 9) { //Lambda Lambdabar-> pi+ pi- ppbar 00693 // pi+ 00694 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(211); 00695 p4[numstable].set(ctes_.momenta[0][7],ctes_.momenta[1][7], ctes_.momenta[2][7], ctes_.momenta[3][7]); 00696 numstable++; 00697 // pbar 00698 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(-2212); 00699 p4[numstable].set(ctes_.momenta[0][8],ctes_.momenta[1][8], ctes_.momenta[2][8], ctes_.momenta[3][8]); 00700 numstable++; 00701 // pi- 00702 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(-211); 00703 p4[numstable].set(ctes_.momenta[0][9],ctes_.momenta[1][9], ctes_.momenta[2][9], ctes_.momenta[3][9]); 00704 numstable++; 00705 // p 00706 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(2212); 00707 p4[numstable].set(ctes_.momenta[0][10],ctes_.momenta[1][10], ctes_.momenta[2][10], ctes_.momenta[3][10]); 00708 numstable++; 00709 } 00710 00711 // ISR gamma 00712 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(22); 00713 p4[numstable].set(ctes_.momenta[0][2],ctes_.momenta[1][2], ctes_.momenta[2][2], ctes_.momenta[3][2]); 00714 numstable++; 00715 if( ctes_.momenta[0][3] != 0 ) // second photon exists 00716 { 00717 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(22); 00718 p4[numstable].set(ctes_.momenta[0][3],ctes_.momenta[1][3], ctes_.momenta[2][3], ctes_.momenta[3][3]); 00719 numstable++; 00720 } 00721 00722 int channel=EvtDecayTable::inChannelList(p->getId(),numstable,evtnumstable); 00723 more=(channel!=-1); 00724 if(more) {std::cout<<"Existence of mode "<<channel<<" in exclusive decay list has the same final state as this one"<<std::endl;abort(); } 00725 00726 p->makeDaughters(numstable,evtnumstable); 00727 //double weight = p->initializePhaseSpace(getNDaug(),getDaugs()); 00728 00729 int ndaugFound=0; 00730 EvtVector4R SUMP4(0,0,0,0); 00731 for(int i=0;i<numstable;i++){ 00732 p->getDaug(i)->init(evtnumstable[i],p4[i]); 00733 ndaugFound++; 00734 } 00735 if ( ndaugFound == 0 ) { 00736 report(ERROR,"EvtGen") << "Phokhara has failed to do a decay "; 00737 report(ERROR,"EvtGen") << EvtPDL::name(p->getId()).c_str() << " " << p->mass()<<endl; 00738 assert(0); 00739 } 00740 00741 nevtgen++; 00742 return ; 00743 00744 }
void EvtDecayBase::disableCheckQ | ( | ) | [inline, inherited] |
Definition at line 62 of file EvtDecayBase.hh.
References EvtDecayBase::_chkCharge.
Referenced by EvtSinglePoint::init(), EvtSingleParticle2::init(), and EvtSingleParticle::init().
00062 {_chkCharge=0;};
void EvtPhokhara_4pi::ExclusiveDecay | ( | EvtParticle * | p | ) |
void EvtDecayBase::findMass | ( | EvtParticle * | p | ) | [static, inherited] |
Definition at line 346 of file EvtDecayBase.cc.
References EvtCyclic3::c_str(), count, EvtDecayBase::findMaxMass(), EvtParticle::getDaug(), EvtParticle::getId(), EvtPDL::getMass(), EvtPDL::getMaxMass(), EvtPDL::getMinMass(), EvtParticle::getNDaug(), EvtParticle::getParent(), genRecEmupikp::i, Bes_Common::INFO, EvtParticle::mass(), mass, EvtPDL::name(), EvtParticle::printTree(), report(), and EvtParticle::setMass().
00346 { 00347 00348 //Need to also check that this mass does not screw 00349 //up the parent 00350 //This code assumes that for the ith daughter, 0..i-1 00351 //already have a mass 00352 double maxOkMass=findMaxMass(p); 00353 00354 int count=0; 00355 double mass; 00356 bool massOk=false; 00357 int i; 00358 while (!massOk) { 00359 count++; 00360 if ( count > 10000 ) { 00361 report(INFO,"EvtGen") << "Can not find a valid mass for: " << EvtPDL::name(p->getId()).c_str() <<endl; 00362 report(INFO,"EvtGen") << "Now printing parent and/or grandparent tree\n"; 00363 if ( p->getParent() ) { 00364 if ( p->getParent()->getParent() ) { 00365 p->getParent()->getParent()->printTree(); 00366 report(INFO,"EvtGen") << p->getParent()->getParent()->mass() <<endl; 00367 report(INFO,"EvtGen") << p->getParent()->mass() <<endl; 00368 } 00369 else{ 00370 p->getParent()->printTree(); 00371 report(INFO,"EvtGen") << p->getParent()->mass() <<endl; 00372 } 00373 } 00374 else p->printTree(); 00375 report(INFO,"EvtGen") << "maxokmass=" << maxOkMass << " " << EvtPDL::getMinMass(p->getId()) << " " << EvtPDL::getMaxMass(p->getId())<<endl; 00376 if ( p->getNDaug() ) { 00377 for (i=0; i<p->getNDaug(); i++) { 00378 report(INFO,"EvtGen") << p->getDaug(i)->mass()<<" "; 00379 } 00380 report(INFO,"EvtGen") << endl; 00381 } 00382 if ( maxOkMass >= EvtPDL::getMinMass(p->getId()) ) { 00383 report(INFO,"EvtGen") << "taking a default value\n"; 00384 p->setMass(maxOkMass); 00385 return; 00386 } 00387 assert(0); 00388 } 00389 mass = EvtPDL::getMass(p->getId()); 00390 //Just need to check that this mass is > than 00391 //the mass of all daughters 00392 double massSum=0.; 00393 if ( p->getNDaug() ) { 00394 for (i=0; i<p->getNDaug(); i++) { 00395 massSum+= p->getDaug(i)->mass(); 00396 } 00397 } 00398 //some special cases are handled with 0 (stable) or 1 (k0->ks/kl) daughters 00399 if (p->getNDaug()<2) massOk=true; 00400 if ( p->getParent() ) { 00401 if ( p->getParent()->getNDaug()==1 ) massOk=true; 00402 } 00403 if ( !massOk ) { 00404 if (massSum < mass) massOk=true; 00405 if ( mass> maxOkMass) massOk=false; 00406 } 00407 } 00408 00409 p->setMass(mass); 00410 00411 }
void EvtDecayBase::findMasses | ( | EvtParticle * | p, | |
int | ndaugs, | |||
EvtId | daugs[10], | |||
double | masses[10] | |||
) | [static, inherited] |
Definition at line 414 of file EvtDecayBase.cc.
References EvtCyclic3::c_str(), count, calibUtil::ERROR, EvtParticle::firstornot(), EvtParticle::getDaug(), EvtParticle::getId(), EvtPDL::getMass(), EvtPDL::getMinMass(), genRecEmupikp::i, EvtParticle::mass(), EvtPDL::name(), report(), EvtParticle::setFirstOrNot(), and EvtStatus::setRejectFlag().
Referenced by EvtBtoXsll::decay().
00415 { 00416 00417 int i; 00418 double mass_sum; 00419 00420 int count=0; 00421 00422 if (!( p->firstornot() )) { 00423 for (i = 0; i < ndaugs; i++ ) { 00424 masses[i] = p->getDaug(i)->mass(); 00425 } //for 00426 } //if 00427 else { 00428 p->setFirstOrNot(); 00429 // if only one daughter do it 00430 00431 if (ndaugs==1) { 00432 masses[0]=p->mass(); 00433 return; 00434 } 00435 00436 //until we get a combo whose masses are less than _parent mass. 00437 do { 00438 mass_sum = 0.0; 00439 00440 for (i = 0; i < ndaugs; i++ ) { 00441 masses[i] = EvtPDL::getMass(daugs[i]); 00442 mass_sum = mass_sum + masses[i]; 00443 } 00444 00445 count++; 00446 00447 00448 if(count==10000) { 00449 report(ERROR,"EvtGen") <<"Decaying particle:"<< 00450 EvtPDL::name(p->getId()).c_str()<<" (m="<<p->mass()<<")"<<endl; 00451 report(ERROR,"EvtGen") <<"To the following daugthers"<<endl; 00452 for (i = 0; i < ndaugs; i++ ) { 00453 report(ERROR,"EvtGen") << 00454 EvtPDL::name(daugs[i]).c_str() << endl; 00455 } 00456 report(ERROR,"EvtGen") << "Has been rejected "<<count 00457 << " times, will now take minimal masses " 00458 << " of daugthers"<<endl; 00459 00460 mass_sum=0.; 00461 for (i = 0; i < ndaugs; i++ ) { 00462 masses[i] = EvtPDL::getMinMass(daugs[i]); 00463 mass_sum = mass_sum + masses[i]; 00464 } 00465 if (mass_sum > p->mass()){ 00466 report(ERROR,"EvtGen") << "Parent mass="<<p->mass() 00467 << "to light for daugthers."<<endl 00468 << "Will throw the event away."<<endl; 00469 //dont terminate - start over on the event. 00470 EvtStatus::setRejectFlag(); 00471 mass_sum=0.; 00472 // ::abort(); 00473 } 00474 00475 } 00476 } while ( mass_sum > p->mass()); 00477 } //else 00478 00479 return; 00480 }
double EvtDecayBase::findMaxMass | ( | EvtParticle * | p | ) | [static, inherited] |
Definition at line 311 of file EvtDecayBase.cc.
References EvtParticle::getDaug(), EvtParticle::getId(), EvtPDL::getMaxMass(), EvtPDL::getMinMass(), EvtParticle::getNDaug(), EvtParticle::getParent(), EvtParticle::hasValidP4(), genRecEmupikp::i, and EvtParticle::mass().
Referenced by EvtDecayBase::findMass().
00311 { 00312 00313 00314 double maxOkMass=EvtPDL::getMaxMass(p->getId()); 00315 00316 //protect against vphotons 00317 if ( maxOkMass < 0.0000000001 ) return 10000000.; 00318 //and against already determined masses 00319 if ( p->hasValidP4() ) maxOkMass=p->mass(); 00320 00321 EvtParticle *par=p->getParent(); 00322 if ( par ) { 00323 double maxParMass=findMaxMass(par); 00324 int i; 00325 double minDaugMass=0.; 00326 for(i=0;i<par->getNDaug();i++){ 00327 EvtParticle *dau=par->getDaug(i); 00328 if ( dau!=p) { 00329 // it might already have a mass 00330 if ( dau->isInitialized() || dau->hasValidP4() ) 00331 minDaugMass+=dau->mass(); 00332 else 00333 //give it a bit of phase space 00334 minDaugMass+=1.000001*EvtPDL::getMinMass(dau->getId()); 00335 } 00336 } 00337 if ( maxOkMass>(maxParMass-minDaugMass)) maxOkMass=maxParMass-minDaugMass; 00338 } 00339 return maxOkMass; 00340 }
double EvtDecayBase::getArg | ( | int | j | ) | [inherited] |
Definition at line 564 of file EvtDecayBase.cc.
References EvtDecayBase::_args, EvtCyclic3::c_str(), genRecEmupikp::i, Bes_Common::INFO, and report().
Referenced by EvtVVSPwave::decay(), EvtVSSMix::decay(), EvtVPHOtoVISRHi::decay(), EvtVPHOtoVISR::decay(), EvtTVSPwave::decay(), EvtTauGamMu::decay(), EvtSVVNONCPEIGEN::decay(), EvtSVVHelAmp::decay(), EvtSVVCPLH::decay(), EvtSVVCP::decay(), EvtSVSCPiso::decay(), EvtSVSCP::decay(), EvtSVPHelAmp::decay(), EvtSVPCP::decay(), EvtSTSCP::decay(), EvtSSSCPT::decay(), EvtSSSCPpng::decay(), EvtSSSCP::decay(), EvtRhoPi::decay(), EvtPhokhara::decay(), EvtPBB2::decay(), EvtPBB1::decay(), EvtOpenCharm::decay(), EvtLunda::decay(), EvtJscont::decay(), EvtJ2BB3::decay(), EvtJ2BB2::decay(), EvtJ2BB1::decay(), EvtEDM::decay(), EvtDDalitz::decay(), EvtConExc::decay(), EvtChi2BB2::decay(), EvtChi2BB1::decay(), EvtChi1BB2::decay(), EvtChi1BB1::decay(), EvtChi0BB2::decay(), EvtCBTo3piP00::decay(), EvtCBTo3piMPP::decay(), EvtCalHelAmp::decay(), EvtBtoXsgamma::decay(), EvtBToKpipiCP::decay(), EvtBtoKpiCPiso::decay(), EvtBTo4piCP::decay(), EvtBTo3piCP::decay(), EvtBto2piCPiso::decay(), EvtBsquark::decay(), EvtBHadronic::decay(), EvtAngSamX::decay(), EvtAngSamLab::decay(), EvtAngSam3::decay(), EvtAngSam::decay(), EvtCalHelAmp::firstder(), EvtLNuGamma::getFormFactor(), EvtVubNLO::init(), EvtVubHybrid::init(), EvtVub::init(), EvtVSSBMixCPT::init(), EvtVectorIsr::init(), EvtTrackGen::init(), EvtTauHadnu::init(), EvtSVVNONCPEIGEN::init(), EvtSVSNONCPEIGEN::init(), EvtSVSCPLH::init(), EvtSSDCP::init(), EvtSinglePoint::init(), EvtSingleParticle2::init(), EvtSingleParticle::init(), EvtPycont::init(), EvtPartWave::init(), EvtmPhsp::init(), EvtmH2::init(), EvtMelikhov::init(), EvtLNuGamma::init(), EvtHypNonLepton::init(), EvtHQET2::init(), EvtHQET::init(), EvtHelAmp::init(), EvtDMix::init(), EvtD0mixDalitz::init(), EvtConExc::init(), EvtBtoXsll::init(), EvtBtoKD3P::init(), EvtPhokhara::init_evt(), EvtPhokhara::init_mode(), EvtSVVHelAmp::initProbMax(), EvtSVVCPLH::initProbMax(), EvtSVVCP::initProbMax(), EvtSVSCPLH::initProbMax(), EvtSVSCPiso::initProbMax(), EvtSVSCP::initProbMax(), EvtSVPHelAmp::initProbMax(), EvtSVPCP::initProbMax(), EvtSTSCP::initProbMax(), EvtSSSCPpng::initProbMax(), EvtSSSCP::initProbMax(), EvtPBB2::initProbMax(), EvtBtoKpiCPiso::initProbMax(), EvtBto2piCPiso::initProbMax(), and EvtVubHybrid::readWeights().
00564 { 00565 00566 // Verify string 00567 00568 const char* str = _args[j].c_str(); 00569 int i = 0; 00570 while(str[i]!=0){ 00571 if (isalpha(str[i]) && str[i]!='e') { 00572 00573 report(INFO,"EvtGen") << "String " << str << " is not a number" << endl; 00574 assert(0); 00575 } 00576 i++; 00577 } 00578 00579 char** tc=0; 00580 return strtod(_args[j].c_str(),tc); 00581 }
double * EvtDecayBase::getArgs | ( | ) | [inherited] |
Definition at line 547 of file EvtDecayBase.cc.
References EvtDecayBase::_args, EvtDecayBase::_argsD, EvtDecayBase::_narg, EvtCyclic3::c_str(), and genRecEmupikp::i.
Referenced by EvtBtoXsgamma::decay(), EvtSLPole::init(), EvtSLBKPole::init(), and EvtKKLambdaC::init().
00547 { 00548 00549 if ( _argsD ) return _argsD; 00550 //The user has asked for a list of doubles - the arguments 00551 //better all be doubles... 00552 if ( _narg==0 ) return _argsD; 00553 00554 _argsD = new double[_narg]; 00555 00556 int i; 00557 char * tc; 00558 for(i=0;i<_narg;i++) { 00559 _argsD[i] = strtod(_args[i].c_str(),&tc); 00560 } 00561 return _argsD; 00562 }
std::string* EvtDecayBase::getArgsStr | ( | ) | [inline, inherited] |
std::string EvtDecayBase::getArgStr | ( | int | j | ) | [inline, inherited] |
Definition at line 75 of file EvtDecayBase.hh.
References EvtDecayBase::_args.
Referenced by EvtParticleDecay::chargeConj(), EvtParticleDecayList::EvtParticleDecayList(), EvtDecayTable::findChannel(), EvtMultibody::init(), and EvtIntervalDecayAmp< EvtDalitzPoint >::init().
double EvtDecayBase::getBranchingFraction | ( | ) | [inline, inherited] |
Definition at line 61 of file EvtDecayBase.hh.
References EvtDecayBase::_brfr.
Referenced by EvtParticleDecay::chargeConj(), and EvtParticleDecayList::EvtParticleDecayList().
00061 {return _brfr;}
EvtId EvtDecayBase::getDaug | ( | int | i | ) | [inline, inherited] |
Definition at line 66 of file EvtDecayBase.hh.
References EvtDecayBase::_daug.
Referenced by EvtParticleDecayList::addMode(), EvtParticleDecay::chargeConj(), EvtDecayBase::checkSpinDaughter(), EvtVubNLO::decay(), EvtVubHybrid::decay(), EvtVub::decay(), EvtVSSBMixCPT::decay(), EvtVPHOtoVISRHi::decay(), EvtVPHOtoVISR::decay(), EvtVectorIsr::decay(), EvtTauHadnu::decay(), EvtSVVNONCPEIGEN::decay(), EvtSVVHelAmp::decay(), EvtSVVCPLH::decay(), EvtSVVCP::decay(), EvtSVSNONCPEIGEN::decay(), EvtSVSCPiso::decay(), EvtSSDCP::decay(), EvtSLN::decay(), EvtSinglePoint::decay(), EvtSingleParticle2::decay(), EvtSingleParticle::decay(), EvtKstarnunu::decay(), EvtJ2BB3::decay(), EvtJ2BB1::decay(), EvtGoityRoberts::decay(), EvtCBTo3piP00::decay(), EvtCBTo3piMPP::decay(), EvtBtoXsll::decay(), EvtBtoXsgamma::decay(), EvtBtoXsEtap::decay(), EvtBToKpipiCP::decay(), EvtBtoKpiCPiso::decay(), EvtBtoKD3P::decay(), EvtBTo3piCP::decay(), EvtPto3P::dp(), EvtDecayTable::findChannel(), EvtConExc::gamHXSection(), EvtVVPIPI_WEIGHTED::init(), EvtVVpipi::init(), EvtVSSBMixCPT::init(), EvtTrackGen::init(), EvtTauHadnu::init(), EvtSSDCP::init(), EvtSLPole::init(), EvtSLBKPole::init(), EvtS2GV::init(), EvtPartWave::init(), EvtP2GC2::init(), EvtP2GC1::init(), EvtP2GC0::init(), EvtJpipi::init(), EvtJPE::init(), EvtISGW2::init(), EvtISGW::init(), EvtHypNonLepton::init(), EvtHQET2::init(), EvtHQET::init(), EvtHelAmp::init(), EvtDDalitz::init(), EvtD0mixDalitz::init(), EvtBtoXsll::init(), EvtbTosllBall::init(), EvtbTosllAli::init(), EvtAV2GV::init(), EvtSVSCPiso::initProbMax(), EvtSSDCP::initProbMax(), EvtSLPole::initProbMax(), EvtSLN::initProbMax(), EvtSLBKPole::initProbMax(), EvtKKLambdaC::initProbMax(), EvtISGW2::initProbMax(), EvtHypNonLepton::initProbMax(), EvtHQET2::initProbMax(), EvtHQET::initProbMax(), EvtbTosllBall::initProbMax(), EvtbTosllAli::initProbMax(), EvtBtoKpiCPiso::initProbMax(), EvtTauHadnu::pi3G(), and EvtParticleDecayList::removeMode().
EvtId* EvtDecayBase::getDaugs | ( | ) | [inline, inherited] |
Definition at line 65 of file EvtDecayBase.hh.
References EvtDecayBase::_daug.
Referenced by EvtVVSPwave::decay(), EvtVVPIPI_WEIGHTED::decay(), EvtVVpipi::decay(), EvtVVP::decay(), EvtVubNLO::decay(), EvtVubHybrid::decay(), EvtVub::decay(), EvtVSSMix::decay(), EvtVSSBMixCPT::decay(), EvtVSS::decay(), EvtVSPPwave::decay(), EvtVll::decay(), EvtVectorIsr::decay(), EvtTVSPwave::decay(), EvtTSS::decay(), EvtTrackGen::decay(), EvtTauVectornu::decay(), EvtTauScalarnu::decay(), EvtTaulnunu::decay(), EvtTauHadnu::decay(), EvtTauGamMu::decay(), EvtT2GV::decay(), EvtSVSCPLH::decay(), EvtSVSCP::decay(), EvtSVS::decay(), EvtSVPHelAmp::decay(), EvtSVPCP::decay(), EvtSTSCP::decay(), EvtSTS::decay(), EvtSSSCPT::decay(), EvtSSSCPpng::decay(), EvtSSSCP::decay(), EvtSPL::decay(), EvtSLPole::decay(), EvtSLN::decay(), EvtSll::decay(), EvtSLBKPole::decay(), EvtSinglePoint::decay(), EvtSingleParticle2::decay(), EvtSingleParticle::decay(), EvtS2GV::decay(), EvtRhoPi::decay(), EvtPi0Dalitz::decay(), EvtPhsp::decay(), EvtPhiDalitz::decay(), EvtPBB2::decay(), EvtPBB1::decay(), EvtPartWave::decay(), EvtP2GC2::decay(), EvtP2GC1::decay(), EvtP2GC0::decay(), EvtOmegaDalitz::decay(), EvtMultibody::decay(), EvtmPhsp::decay(), EvtmH2::decay(), EvtMelikhov::decay(), EvtMBody3::decay(), EvtMassH2::decay(), EvtMassH1::decay(), EvtLNuGamma::decay(), EvtLambdaP_BarGamma::decay(), EvtLambdac2pKpi::decay(), EvtKstarstargamma::decay(), EvtKstarnunu::decay(), EvtKKLambdaC::decay(), EvtJTO3P::decay(), EvtJpipi::decay(), EvtJPE::decay(), EvtJ2BB3::decay(), EvtJ2BB2::decay(), EvtJ2BB1::decay(), EvtISGW2::decay(), EvtISGW::decay(), EvtIntervalDecayAmp< EvtDalitzPoint >::decay(), EvtHypWK::decay(), EvtHypNonLepton::decay(), EvtHQET2::decay(), EvtHQET::decay(), EvtHelPPJ::decay(), EvtHelAmp::decay(), EvtHAngSam3::decay(), EvtFlatQ2::decay(), EvtEtaDalitz::decay(), EvtEDM::decay(), EvtDMix::decay(), EvtDIY::decay(), EvtDeBD::decay(), EvtDDalitz::decay(), EvtD0mixDalitz::decay(), EvtChi2BB2::decay(), EvtChi2BB1::decay(), EvtChi1BB2::decay(), EvtChi1BB1::decay(), EvtChi0BB2::decay(), EvtChi0BB1::decay(), EvtCBTo3piP00::decay(), EvtCBTo3piMPP::decay(), EvtCalHelAmp::decay(), EvtBtoXsll::decay(), EvtBtoXsgamma::decay(), EvtBtoXsEtap::decay(), EvtbTosllBall::decay(), EvtbTosllAli::decay(), EvtBToKpipiCP::decay(), EvtBtoKpiCPiso::decay(), EvtBtoKD3P::decay(), EvtBTo4piCP::decay(), EvtBTo3piCP::decay(), EvtBto2piCPiso::decay(), EvtBsquark::decay(), EvtBody3::decay(), EvtBHadronic::decay(), EvtAV2GV::decay(), EvtAngSamX::decay(), EvtAngSamLab::decay(), EvtAngSam3::decay(), EvtAngSam::decay(), EvtAngH2::decay(), EvtGoityRoberts::DecayBDpilnuGR(), EvtGoityRoberts::DecayBDstarpilnuGR(), EvtParticleDecayList::EvtParticleDecayList(), EvtConExc::get_mode(), EvtMultibody::init(), EvtLambdac2pKpi::init(), EvtConExc::init(), EvtConExc::init_mode(), EvtBto2piCPiso::initProbMax(), and EvtDecayAmp::makeDecay().
00065 {return _daug;}
int EvtDecayBase::getDSum | ( | ) | [inline, inherited] |
Definition at line 77 of file EvtDecayBase.hh.
References EvtDecayBase::_dsum.
00077 {return _dsum; }
std::string EvtDecayBase::getModelName | ( | ) | [inline, inherited] |
Definition at line 76 of file EvtDecayBase.hh.
References EvtDecayBase::_modelname.
Referenced by EvtParticleDecayList::addMode(), EvtParticleDecayList::EvtParticleDecayList(), EvtDecayTable::findChannel(), and EvtDecay::getModel().
00076 {return _modelname; }
void EvtPhokhara_4pi::getName | ( | std::string & | name | ) | [virtual] |
int EvtDecayBase::getNArg | ( | ) | [inline, inherited] |
Definition at line 67 of file EvtDecayBase.hh.
References EvtDecayBase::_narg.
Referenced by EvtParticleDecay::chargeConj(), EvtVPHOtoVISRHi::decay(), EvtVPHOtoVISR::decay(), EvtRhoPi::decay(), EvtOpenCharm::decay(), EvtmPhsp::decay(), EvtLunda::decay(), EvtJscont::decay(), EvtJ2BB3::decay(), EvtJ2BB2::decay(), EvtJ2BB1::decay(), EvtConExc::decay(), EvtCalHelAmp::decay(), EvtBtoXsgamma::decay(), EvtAngSamX::decay(), EvtAngSamLab::decay(), EvtAngSam3::decay(), EvtAngSam::decay(), EvtPto3P::dp(), EvtParticleDecayList::EvtParticleDecayList(), EvtDecayTable::findChannel(), EvtVubNLO::init(), EvtVubHybrid::init(), EvtVub::init(), EvtVSSBMixCPT::init(), EvtSVVNONCPEIGEN::init(), EvtSVSNONCPEIGEN::init(), EvtSSDCP::init(), EvtSLPole::init(), EvtSLBKPole::init(), EvtSinglePoint::init(), EvtSingleParticle2::init(), EvtSingleParticle::init(), EvtPycont::init(), EvtMultibody::init(), EvtmPhsp::init(), EvtLunda::init(), EvtLNuGamma::init(), EvtKKLambdaC::init(), EvtIntervalDecayAmp< EvtDalitzPoint >::init(), EvtHypNonLepton::init(), EvtHQET2::init(), EvtHQET::init(), EvtD0mixDalitz::init(), EvtConExc::init(), EvtCalHelAmp::init(), EvtBtoXsll::init(), EvtBtoXsgamma::init(), EvtAngSamX::init(), EvtAngSamLab::init(), EvtAngSam3::init(), and EvtAngSam::init().
00067 {return _narg;}
int EvtDecayBase::getNDaug | ( | ) | [inline, inherited] |
Definition at line 64 of file EvtDecayBase.hh.
References EvtDecayBase::_ndaug.
Referenced by EvtParticleDecayList::addMode(), EvtParticleDecay::chargeConj(), EvtVVSPwave::decay(), EvtVVPIPI_WEIGHTED::decay(), EvtVVpipi::decay(), EvtVVP::decay(), EvtVubNLO::decay(), EvtVubHybrid::decay(), EvtVub::decay(), EvtVSSMix::decay(), EvtVSSBMixCPT::decay(), EvtVSS::decay(), EvtVSPPwave::decay(), EvtVll::decay(), EvtVectorIsr::decay(), EvtTVSPwave::decay(), EvtTSS::decay(), EvtTrackGen::decay(), EvtTauVectornu::decay(), EvtTauScalarnu::decay(), EvtTaulnunu::decay(), EvtTauHadnu::decay(), EvtTauGamMu::decay(), EvtT2GV::decay(), EvtSVSCPLH::decay(), EvtSVSCPiso::decay(), EvtSVSCP::decay(), EvtSVS::decay(), EvtSVPHelAmp::decay(), EvtSVPCP::decay(), EvtSTSCP::decay(), EvtSTS::decay(), EvtSSSCPT::decay(), EvtSSSCPpng::decay(), EvtSSSCP::decay(), EvtSPL::decay(), EvtSLPole::decay(), EvtSLN::decay(), EvtSll::decay(), EvtSLBKPole::decay(), EvtSinglePoint::decay(), EvtSingleParticle2::decay(), EvtSingleParticle::decay(), EvtS2GV::decay(), EvtRhoPi::decay(), EvtPi0Dalitz::decay(), EvtPhsp::decay(), EvtPhiDalitz::decay(), EvtPBB2::decay(), EvtPBB1::decay(), EvtPartWave::decay(), EvtP2GC2::decay(), EvtP2GC1::decay(), EvtP2GC0::decay(), EvtOmegaDalitz::decay(), EvtMultibody::decay(), EvtmPhsp::decay(), EvtmH2::decay(), EvtMelikhov::decay(), EvtMBody3::decay(), EvtMassH2::decay(), EvtMassH1::decay(), EvtLNuGamma::decay(), EvtLambdaP_BarGamma::decay(), EvtLambdac2pKpi::decay(), EvtKstarstargamma::decay(), EvtKstarnunu::decay(), EvtKKLambdaC::decay(), EvtJTO3P::decay(), EvtJpipi::decay(), EvtJPE::decay(), EvtJ2BB3::decay(), EvtJ2BB2::decay(), EvtJ2BB1::decay(), EvtISGW2::decay(), EvtISGW::decay(), EvtHypWK::decay(), EvtHypNonLepton::decay(), EvtHQET2::decay(), EvtHQET::decay(), EvtHelPPJ::decay(), EvtHelAmp::decay(), EvtHAngSam3::decay(), EvtFlatQ2::decay(), EvtEtaDalitz::decay(), EvtEDM::decay(), EvtDMix::decay(), EvtDIY::decay(), EvtDeBD::decay(), EvtDDalitz::decay(), EvtD0mixDalitz::decay(), EvtChi2BB2::decay(), EvtChi2BB1::decay(), EvtChi1BB2::decay(), EvtChi1BB1::decay(), EvtChi0BB2::decay(), EvtChi0BB1::decay(), EvtCBTo3piP00::decay(), EvtCBTo3piMPP::decay(), EvtCalHelAmp::decay(), EvtBtoXsll::decay(), EvtBtoXsgamma::decay(), EvtBtoXsEtap::decay(), EvtbTosllBall::decay(), EvtbTosllAli::decay(), EvtBToKpipiCP::decay(), EvtBtoKpiCPiso::decay(), EvtBtoKD3P::decay(), EvtBTo4piCP::decay(), EvtBTo3piCP::decay(), EvtBto2piCPiso::decay(), EvtBsquark::decay(), EvtBody3::decay(), EvtBHadronic::decay(), EvtAV2GV::decay(), EvtAngSamX::decay(), EvtAngSamLab::decay(), EvtAngSam3::decay(), EvtAngSam::decay(), EvtAngH2::decay(), EvtGoityRoberts::DecayBDpilnuGR(), EvtGoityRoberts::DecayBDstarpilnuGR(), EvtPto3P::dp(), EvtParticleDecayList::EvtParticleDecayList(), EvtDecayTable::findChannel(), EvtDecayTable::inChannelList(), EvtVSSBMixCPT::init(), EvtTrackGen::init(), EvtTauHadnu::init(), EvtMultibody::init(), EvtHypNonLepton::init(), EvtConExc::init(), EvtTauHadnu::initProbMax(), EvtDecayAmp::makeDecay(), and EvtParticleDecayList::removeMode().
00064 {return _ndaug;}
EvtId EvtDecayBase::getParentId | ( | ) | [inline, inherited] |
Definition at line 60 of file EvtDecayBase.hh.
References EvtDecayBase::_parent.
Referenced by EvtParticleDecayList::addMode(), EvtParticleDecay::chargeConj(), EvtDecayBase::checkSpinParent(), EvtTauola::decay(), EvtPythia::decay(), EvtOpenCharm::decay(), EvtMultibody::decay(), EvtLundCharm::decay(), EvtLunda::decay(), EvtJPE::decay(), EvtJetSet::decay(), EvtJ2BB3::decay(), EvtJ2BB2::decay(), EvtJ2BB1::decay(), EvtPto3P::dp(), EvtParticleDecayList::EvtParticleDecayList(), EvtTauola::fixPolarizations(), EvtVSSBMixCPT::init(), EvtTauola::init(), EvtSSDCP::init(), EvtRhoPi::init(), EvtPythia::init(), EvtPhokhara_ppbar::init(), EvtPhokhara_pipipi0::init(), EvtPhokhara_pipi::init(), EvtPhokhara_pi0pi0pipi::init(), EvtPhokhara_nnbar::init(), EvtPhokhara_LLB::init(), EvtPhokhara_KK::init(), EvtPhokhara_K0K0::init(), init(), EvtPhokhara::init(), EvtPartWave::init(), EvtOpenCharm::init(), EvtmH2::init(), EvtMassH2::init(), EvtMassH1::init(), EvtLundCharm::init(), EvtLunda::init(), EvtJetSet::init(), EvtHypNonLepton::init(), EvtHelAmp::init(), EvtHAngSam3::init(), EvtDIY::init(), EvtDDalitz::init(), EvtD0mixDalitz::init(), EvtBody3::init(), EvtAngSamX::init(), EvtAngSamLab::init(), EvtAngSam3::init(), EvtAngSam::init(), EvtAngH2::init(), EvtSLPole::initProbMax(), EvtSLN::initProbMax(), EvtSLBKPole::initProbMax(), EvtKKLambdaC::initProbMax(), EvtISGW2::initProbMax(), EvtHypNonLepton::initProbMax(), EvtHQET2::initProbMax(), EvtHQET::initProbMax(), EvtbTosllBall::initProbMax(), EvtbTosllAli::initProbMax(), and EvtParticleDecayList::removeMode().
00060 {return _parent;}
int EvtDecayBase::getPHOTOS | ( | ) | [inline, inherited] |
Definition at line 68 of file EvtDecayBase.hh.
References EvtDecayBase::_photos.
Referenced by EvtParticleDecay::chargeConj(), EvtParticleDecayList::EvtParticleDecayList(), EvtDecayProb::makeDecay(), EvtDecayIncoherent::makeDecay(), and EvtDecayAmp::makeDecay().
00068 {return _photos;}
double EvtDecayBase::getProbMax | ( | double | prob | ) | [inherited] |
Definition at line 67 of file EvtDecayBase.cc.
References EvtDecayBase::_daug, EvtDecayBase::_modelname, EvtDecayBase::_ndaug, EvtDecayBase::_parent, EvtCyclic3::c_str(), EvtDecayBase::defaultprobmax, genRecEmupikp::i, Bes_Common::INFO, EvtDecayBase::max_prob, EvtPDL::name(), EvtDecayBase::ntimes_prob, EvtDecayBase::probmax, report(), and EvtDecayBase::sum_prob.
Referenced by EvtBtoKD3P::decay(), EvtDecayProb::makeDecay(), and EvtDecayAmp::makeDecay().
00067 { 00068 00069 int i; 00070 00071 //diagnostics 00072 sum_prob+=prob; 00073 if (prob>max_prob) max_prob=prob; 00074 00075 00076 if ( defaultprobmax && ntimes_prob<=500 ) { 00077 //We are building up probmax with this iteration 00078 ntimes_prob += 1; 00079 if ( prob > probmax ) { probmax = prob;} 00080 if (ntimes_prob==500) { 00081 probmax*=1.2; 00082 } 00083 return 1000000.0*prob; 00084 } 00085 00086 if ( prob> probmax*1.0001) { 00087 00088 report(INFO,"EvtGen") << "prob > probmax:("<<prob<<">"<<probmax<<")"; 00089 report(INFO,"") << "("<<_modelname.c_str()<<") "; 00090 report(INFO,"") << EvtPDL::name(_parent).c_str()<<" -> "; 00091 for(i=0;i<_ndaug;i++){ 00092 report(INFO,"") << EvtPDL::name(_daug[i]).c_str() << " "; 00093 } 00094 report(INFO,"") << endl; 00095 00096 if (defaultprobmax) probmax = prob; 00097 00098 } 00099 00100 ntimes_prob += 1; 00101 00102 00103 return probmax; 00104 00105 } //getProbMax
int EvtPhokhara_4pi::getTotalEvt | ( | ) | [inline] |
void EvtPhokhara_4pi::init | ( | ) | [virtual] |
Reimplemented from EvtDecayBase.
Definition at line 477 of file EvtPhokhara_4pi.cc.
References EvtDecayBase::checkNArg(), calibUtil::ERROR, EvtDecayBase::getParentId(), EvtPDL::name(), report(), store(), and deljobs::string.
00477 { 00478 checkNArg(0); 00479 00480 std::string locvp=getenv("BESEVTGENROOT"); 00481 system("cat $BESEVTGENROOT/share/phokhara.param>phokhara.param"); 00482 00483 00484 if (getParentId().isAlias()){ 00485 00486 report(ERROR,"EvtGen") << "EvtPhokhara finds that you are decaying the"<<endl 00487 << " aliased particle " 00488 << EvtPDL::name(getParentId()).c_str() 00489 << " with the Phokhara model"<<endl 00490 << " this does not work, please modify decay table." 00491 << endl; 00492 report(ERROR,"EvtGen") << "Will terminate execution!"<<endl; 00493 ::abort(); 00494 00495 } 00496 00497 store(this); 00498 00499 }
void EvtPhokhara_4pi::init_evt | ( | EvtParticle * | p | ) |
Definition at line 782 of file EvtPhokhara_4pi.cc.
References cos(), cos1max, cos1min, cos2max, cos2min, cos3max, cos3min, ctes_, cuts_, flags_, EvtPDL::getId(), genRecEmupikp::i, init_pars(), INPUT, m_E, m_f0_model, m_FF_Kaon, m_FF_Pion, m_fsr, m_fsrnlo, m_gmin, m_ivac, m_NarrowRes, m_nlo, m_phot1cut, m_phot2cut, m_pi1cut, m_pi2cut, m_pion, m_q2_max_c, m_q2_min_c, m_q2min, m_w, EvtParticle::mass(), maxima_, qqmax, qqmin, theMmax0, and theMmax1.
Referenced by decay().
00782 { 00783 m_pion=3; 00784 // mu+mu-(0),pi+pi-(1),2pi0pi+pi-(2), 00785 // 2pi+2pi-(3),ppbar(4),nnbar(5), 00786 // K+K-(6),K0K0bar(7),pi+pi-pi0(8), 00787 // Lamb Lambbar->pi-pi+ppbar(9) 00788 if(m_pion<0 || m_pion>9){std::cout<<"mode index for phokhar 0~9, but you give "<<m_pion<<std::endl;abort();} 00789 EvtId myvpho=EvtPDL::getId("vpho"); 00790 m_E = p->mass();//EvtPDL::getMeanMass(myvpho); 00792 init_pars(); 00793 // --- input parameter initialization ----------- 00794 maxima_.iprint = 0; 00795 flags_.nlo = m_nlo; 00796 flags_.pion = m_pion; 00797 flags_.fsr = m_fsr; 00798 flags_.fsrnlo = m_fsrnlo; 00799 flags_.ivac = m_ivac; 00800 flags_.FF_pion = m_FF_Pion; 00801 flags_.f0_model = m_f0_model; 00802 flags_.FF_kaon = m_FF_Kaon; 00803 flags_.narr_res = m_NarrowRes; 00804 00805 ctes_.Sp = m_E*m_E; ; 00806 00807 cuts_.w = m_w; 00808 cuts_.q2min = m_q2min; 00809 cuts_.q2_min_c = m_q2_min_c; 00810 cuts_.q2_max_c = m_q2_max_c; 00811 cuts_.gmin = m_gmin; 00812 cuts_.phot1cut = m_phot1cut; 00813 cuts_.phot2cut = m_phot2cut; 00814 cuts_.pi1cut = m_pi1cut; 00815 cuts_.pi2cut = m_pi2cut; 00816 00817 INPUT(); 00818 00819 cos1min = cos(cuts_.phot2cut*ctes_.pi/180.0); // photon1 angle cuts in the 00820 cos1max = cos(cuts_.phot1cut*ctes_.pi/180.0); // LAB rest frame 00821 cos2min = -1.0; // photon2 angle limits 00822 cos2max = 1.0; // 00823 cos3min = -1.0; // hadrons/muons angle limits 00824 cos3max = 1.0; // in their rest frame 00825 if (flags_.pion == 0) // virtual photon energy cut 00826 qqmin = 4.0*ctes_.mmu*ctes_.mmu; 00827 else if (flags_.pion == 1) 00828 qqmin = 4.0*ctes_.mpi*ctes_.mpi; 00829 else if (flags_.pion == 2) 00830 qqmin = 4.0*(ctes_.mpi+ctes_.mpi0)*(ctes_.mpi+ctes_.mpi0); 00831 else if (flags_.pion == 3) 00832 qqmin = 16.0*ctes_.mpi*ctes_.mpi; 00833 else if (flags_.pion == 4) 00834 qqmin = 4.0*ctes_.mp*ctes_.mp; 00835 else if (flags_.pion == 5) 00836 qqmin = 4.0*ctes_.mnt*ctes_.mnt; 00837 else if (flags_.pion == 6) 00838 qqmin = 4.0*ctes_.mKp*ctes_.mKp; 00839 else if (flags_.pion == 7) 00840 qqmin = 4.0*ctes_.mKn*ctes_.mKn; 00841 else if (flags_.pion == 8) 00842 qqmin = (2.0*ctes_.mpi+ctes_.mpi0)*(2.0*ctes_.mpi+ctes_.mpi0); 00843 else if (flags_.pion == 9) 00844 qqmin = 4.0*ctes_.mlamb*ctes_.mlamb; 00845 qqmax = ctes_.Sp-2.0*sqrt(ctes_.Sp)*cuts_.gmin; // if only one photon 00846 if (cuts_.q2_max_c < qqmax) 00847 qqmax=cuts_.q2_max_c; // external cuts 00848 00849 // ------------------- 00850 if ( (cuts_.q2_min_c > qqmin) && (cuts_.q2_min_c < (ctes_.Sp*(1.0-2.0*(cuts_.gmin/sqrt(ctes_.Sp)+cuts_.w))) ) ) 00851 qqmin = cuts_.q2_min_c; 00852 else { 00853 } 00854 00855 00856 // ================================================= 00857 // --- finding the maximum ------------------------- 00858 for(int i = 0; i<2; i++) 00859 { 00860 maxima_.Mmax[i] = 1.0; 00861 maxima_.gross[i] = 0.0; 00862 maxima_.klein[i] = 0.0; 00863 } 00864 if (flags_.nlo == 0) 00865 maxima_.Mmax[1]=0.0; // only 1 photon events generated 00866 00867 maxima_.tr[0] = 0.0; 00868 maxima_.tr[1] = 0.0; 00869 maxima_.count[0] = 0.0; 00870 maxima_.count[1] = 0.0; 00871 00872 // ================================================= 00873 // --- for the second run --- 00874 maxima_.Mmax[0] = theMmax0; 00875 maxima_.Mmax[1] = theMmax1; 00876 if((flags_.pion == 1) && (flags_.fsrnlo == 1)) 00877 maxima_.Mmax[1]=maxima_.Mmax[1]*1.5; 00878 if((flags_.pion == 0) && (flags_.fsrnlo == 1)) 00879 maxima_.Mmax[1]=maxima_.Mmax[1]*1.5; 00880 00881 if((flags_.pion == 0) && (flags_.fsr == 1) && (flags_.fsrnlo == 0)) 00882 maxima_.Mmax[1]=maxima_.Mmax[1]*1.2; 00883 00884 if((flags_.pion == 2) || (flags_.pion == 3)){ 00885 maxima_.Mmax[0]=maxima_.Mmax[0]*1.1; 00886 maxima_.Mmax[1]=maxima_.Mmax[1]*1.1; 00887 } 00888 00889 if(flags_.pion == 8){ 00890 maxima_.Mmax[0]=maxima_.Mmax[0]*1.08; 00891 maxima_.Mmax[1]=maxima_.Mmax[1]*1.1; 00892 } 00893 // --- end of the second run ----------------------- 00894 00895 maxima_.tr[0] = 0.0; 00896 maxima_.tr[1] = 0.0; 00897 maxima_.count[0] = 0.0; 00898 maxima_.count[1] = 0.0; 00899 }
void EvtPhokhara_4pi::init_mode | ( | EvtParticle * | p | ) |
Definition at line 115 of file EvtPhokhara_4pi.cc.
References Ar, Ar_r, cos(), cos1max, cos1min, cos2max, cos2min, cos3max, cos3min, ctes_, cuts_, flags_, GEN_1PH, EvtPDL::getId(), genRecEmupikp::i, init_pars(), INPUT, ganga-rec::j, m_E, m_f0_model, m_FF_Kaon, m_FF_Pion, m_fsr, m_fsrnlo, m_gmin, m_initSeed, m_ivac, m_NarrowRes, m_nlo, m_nm, m_phot1cut, m_phot2cut, m_pi1cut, m_pi2cut, m_pion, m_q2_max_c, m_q2_min_c, m_q2min, m_w, EvtParticle::mass(), maxima_, qqmax, qqmin, RANLXDF, and RLXDINIT.
Referenced by decay().
00115 { 00116 m_pion=3; 00117 // mu+mu-(0),pi+pi-(1),2pi0pi+pi-(2), 00118 // 2pi+2pi-(3),ppbar(4),nnbar(5), 00119 // K+K-(6),K0K0bar(7),pi+pi-pi0(8), 00120 // Lamb Lambbar->pi-pi+ppbar(9) 00121 if(m_pion<0 || m_pion>9){std::cout<<"mode index for phokhar 0~9, but you give "<<m_pion<<std::endl;abort();} 00122 EvtId myvpho=EvtPDL::getId("vpho"); 00123 m_E = p->mass();//EvtPDL::getMeanMass(myvpho); 00125 init_pars(); 00126 // --- input parameter initialization ----------- 00127 m_initSeed = 123456789; 00128 RLXDINIT(1, m_initSeed); 00129 maxima_.iprint = 0; 00130 flags_.nlo = m_nlo; 00131 flags_.pion = m_pion; 00132 flags_.fsr = m_fsr; 00133 flags_.fsrnlo = m_fsrnlo; 00134 flags_.ivac = m_ivac; 00135 flags_.FF_pion = m_FF_Pion; 00136 flags_.f0_model = m_f0_model; 00137 flags_.FF_kaon = m_FF_Kaon; 00138 flags_.narr_res = m_NarrowRes; 00139 00140 ctes_.Sp = m_E*m_E; ; 00141 00142 cuts_.w = m_w; 00143 cuts_.q2min = m_q2min; 00144 cuts_.q2_min_c = m_q2_min_c; 00145 cuts_.q2_max_c = m_q2_max_c; 00146 cuts_.gmin = m_gmin; 00147 cuts_.phot1cut = m_phot1cut; 00148 cuts_.phot2cut = m_phot2cut; 00149 cuts_.pi1cut = m_pi1cut; 00150 cuts_.pi2cut = m_pi2cut; 00151 00152 INPUT(); 00153 00154 // --- print run data ------------------------------ 00155 cout << "-------------------------------------------------------------" << endl; 00156 if (flags_.pion == 0) 00157 cout << " PHOKHARA 7.0 : e^+ e^- -> mu^+ mu^- gamma" << endl; 00158 else if (flags_.pion == 1) 00159 cout << " PHOKHARA 7.0: e^+ e^- -> pi^+ pi^- gamma" << endl; 00160 else if (flags_.pion == 2) 00161 cout << " PHOKHARA 7.0: e^+ e^- -> pi^+ pi^- 2pi^0 gamma" << endl; 00162 else if (flags_.pion == 3) 00163 cout << " PHOKHARA 7.0: e^+ e^- -> 2pi^+ 2pi^- gamma" << endl; 00164 else if (flags_.pion == 4) 00165 cout << " PHOKHARA 7.0: e^+ e^- -> p pbar gamma" << endl; 00166 else if (flags_.pion == 5) 00167 cout << " PHOKHARA 7.0: e^+ e^- -> n nbar gamma" << endl; 00168 else if (flags_.pion == 6) 00169 cout << " PHOKHARA 7.0: e^+ e^- -> K^+ K^- gamma" << endl; 00170 else if (flags_.pion == 7) 00171 cout << " PHOKHARA 7.0: e^+ e^- -> K_0 K_0bar gamma" << endl; 00172 else if (flags_.pion == 8) 00173 cout << " PHOKHARA 7.0: e^+ e^- -> pi^+ pi^- pi^0 gamma" << endl; 00174 else if (flags_.pion == 9) { 00175 cout << "PHOKHARA 7.0 : e^+ e^- ->" << endl; 00176 cout << " Lambda (-> pi^- p) Lambda bar (-> pi^+ pbar) gamma" << endl; 00177 } else 00178 cout << " PHOKHARA 7.0: not yet implemented" << endl; 00179 00180 // -------------------------------- 00181 cout << "--------------------------------------------------------------" << endl; 00182 printf(" %s %f %s\n","cms total energy = ",sqrt(ctes_.Sp)," GeV "); 00183 00184 //if((cuts_.gmin/2.0/ctes_.ebeam) < 0.000098){ 00185 if(cuts_.gmin<0.001){ 00186 cerr << " minimal missing energy set too small, abort" << endl; 00187 abort(); 00188 } 00189 printf(" %s %f %s\n","minimal tagged photon energy = ",cuts_.gmin," GeV "); 00190 printf(" %s %f,%f\n","angular cuts on tagged photon = ",cuts_.phot1cut,cuts_.phot2cut); 00191 00192 // -------------------------------- 00193 if (flags_.pion == 0) 00194 printf(" %s %f,%f\n","angular cuts on muons = ",cuts_.pi1cut,cuts_.pi2cut); 00195 else if (flags_.pion == 4) 00196 printf(" %s %f,%f\n","angular cuts on protons = ",cuts_.pi1cut,cuts_.pi2cut); 00197 else if (flags_.pion == 5) 00198 printf(" %s %f,%f\n","angular cuts on neutrons = ", cuts_.pi1cut,cuts_.pi2cut); 00199 else if ((flags_.pion == 6)||(flags_.pion == 7)) 00200 printf(" %s %f,%f\n","angular cuts on kaons = ", cuts_.pi1cut,cuts_.pi2cut); 00201 else if (flags_.pion == 9) 00202 printf(" %s %f,%f\n","angular cuts on pions and protons = ", cuts_.pi1cut,cuts_.pi2cut); 00203 else 00204 printf(" %s %f,%f\n","angular cuts on pions = ", cuts_.pi1cut,cuts_.pi2cut); 00205 if (flags_.pion == 0) 00206 printf(" %s %f %s\n","min. muons-tagged photon inv.mass^2 = ", cuts_.q2min," GeV^2"); 00207 else if (flags_.pion == 4) 00208 printf(" %s %f %s\n","min. protons-tagged photon inv.mass^2 = ", cuts_.q2min," GeV^2" ); 00209 else if (flags_.pion == 5) 00210 printf(" %s %f %s\n","min. neutrons-tagged photon inv.mass^2 = ", cuts_.q2min," GeV^2" ); 00211 else if ((flags_.pion == 6)||(flags_.pion == 7)) 00212 printf(" %s %f %s\n","min. kaons-tagged photon inv.mass^2 = ", cuts_.q2min," GeV^2" ); 00213 else if (flags_.pion == 9) 00214 printf(" %s %f %s\n"," min. lambdas-tagged photon inv.mass^2 = ", cuts_.q2min," GeV^2" ); 00215 else 00216 printf(" %s %f %s\n","min. pions-tagged photon inv.mass^2 = ", cuts_.q2min," GeV^2" ); 00217 cos1min = cos(cuts_.phot2cut*ctes_.pi/180.0); // photon1 angle cuts in the 00218 cos1max = cos(cuts_.phot1cut*ctes_.pi/180.0); // LAB rest frame 00219 cos2min = -1.0; // photon2 angle limits 00220 cos2max = 1.0; // 00221 cos3min = -1.0; // hadrons/muons angle limits 00222 cos3max = 1.0; // in their rest frame 00223 if (flags_.pion == 0) // virtual photon energy cut 00224 qqmin = 4.0*ctes_.mmu*ctes_.mmu; 00225 else if (flags_.pion == 1) 00226 qqmin = 4.0*ctes_.mpi*ctes_.mpi; 00227 else if (flags_.pion == 2) 00228 qqmin = 4.0*(ctes_.mpi+ctes_.mpi0)*(ctes_.mpi+ctes_.mpi0); 00229 else if (flags_.pion == 3) 00230 qqmin = 16.0*ctes_.mpi*ctes_.mpi; 00231 else if (flags_.pion == 4) 00232 qqmin = 4.0*ctes_.mp*ctes_.mp; 00233 else if (flags_.pion == 5) 00234 qqmin = 4.0*ctes_.mnt*ctes_.mnt; 00235 else if (flags_.pion == 6) 00236 qqmin = 4.0*ctes_.mKp*ctes_.mKp; 00237 else if (flags_.pion == 7) 00238 qqmin = 4.0*ctes_.mKn*ctes_.mKn; 00239 else if (flags_.pion == 8) 00240 qqmin = (2.0*ctes_.mpi+ctes_.mpi0)*(2.0*ctes_.mpi+ctes_.mpi0); 00241 else if (flags_.pion == 9) 00242 qqmin = 4.0*ctes_.mlamb*ctes_.mlamb; 00243 qqmax = ctes_.Sp-2.0*sqrt(ctes_.Sp)*cuts_.gmin; // if only one photon 00244 if (cuts_.q2_max_c < qqmax) 00245 qqmax=cuts_.q2_max_c; // external cuts 00246 00247 // ------------------- 00248 if ( (cuts_.q2_min_c > qqmin) && (cuts_.q2_min_c < (ctes_.Sp*(1.0-2.0*(cuts_.gmin/sqrt(ctes_.Sp)+cuts_.w))) ) ) 00249 qqmin = cuts_.q2_min_c; 00250 else { 00251 cerr << "------------------------------" << endl; 00252 cerr << " Q^2_min TOO SMALL" << endl; 00253 cerr << " Q^2_min CHANGED BY PHOKHARA = " << qqmin << " GeV^2" << endl; 00254 cerr << "------------------------------" << endl; 00255 } 00256 // ------------------- 00257 if(qqmax <= qqmin){ 00258 cerr << " Q^2_max to small " << endl; 00259 cerr << " Q^2_max = " << qqmax << endl; 00260 cerr << " Q^2_min = " << qqmin << endl; 00261 abort(); 00262 } 00263 00264 // ------------------- 00265 if (flags_.pion == 0) { 00266 printf(" %s %f %s\n", "minimal muon-pair invariant mass^2 = ", qqmin," GeV^2"); 00267 printf(" %s %f %s\n", "maximal muon-pair invariant mass^2 = ", qqmax," GeV^2"); 00268 } else if (flags_.pion == 1) { 00269 printf(" %s %f %s\n", "minimal pion-pair invariant mass^2 = ", qqmin," GeV^2"); 00270 printf(" %s %f %s\n", "maximal pion-pair invariant mass^2 = ", qqmax," GeV^2"); 00271 } else if (flags_.pion == 4) { 00272 printf(" %s %f %s\n", "minimal proton-pair invariant mass^2 = ", qqmin," GeV^2"); 00273 printf(" %s %f %s\n", "maximal proton-pair invariant mass^2 = ", qqmax," GeV^2"); 00274 } else if (flags_.pion == 5) { 00275 printf(" %s %f %s\n", "minimal neutron-pair invariant mass^2 = ", qqmin," GeV^2"); 00276 printf(" %s %f %s\n", "maximal neutron-pair invariant mass^2 = ", qqmax," GeV^2"); 00277 } else if ((flags_.pion == 6) || (flags_.pion == 7)) { 00278 printf(" %s %f %s\n", "minimal kaon-pair invariant mass^2 = ", qqmin," GeV^2"); 00279 printf(" %s %f %s\n", "maximal kaon-pair invariant mass^2 = ", qqmax," GeV^2"); 00280 } else if(flags_.pion == 8){ 00281 printf(" %s %f %s\n", "minimal three-pion invariant mass^2 = ", qqmin," GeV^2"); 00282 printf(" %s %f %s\n", "maximal three-pion invariant mass^2 = ", qqmax," GeV^2"); 00283 } else if(flags_.pion == 9){ 00284 printf(" %s %f %s\n", "minimal lambda-pair invariant mass^2 = ", qqmin," GeV^2"); 00285 printf(" %s %f %s\n", "maximal lambda-pair invariant mass^2 = ", qqmax," GeV^2"); 00286 } else { 00287 printf(" %s %f %s\n", "minimal four-pion invariant mass^2 = ", qqmin," GeV^2" ); 00288 printf(" %s %f %s\n", "maximal four-pion invariant mass^2 = ", qqmax," GeV^2"); 00289 } 00290 // ------------------- 00291 if (flags_.nlo == 0) { 00292 cout << "Born" << endl; 00293 if(flags_.fsrnlo != 0){ 00294 cerr << "WRONG FSRNLO flag - only fsrnlo=0 allowed for Born" << endl; 00295 abort(); 00296 } 00297 } 00298 // ------------------- 00299 if((flags_.pion == 9) && (flags_.nlo != 0)) { 00300 cerr << "WRONG NLO flag - only Born allowed for Lambdas"<< endl; 00301 cerr << "If you feel that you need NLO"<< endl; 00302 cerr << "please contact the authors"<< endl; 00303 abort(); 00304 } 00305 // ------------------- 00306 if (flags_.nlo == 1) printf(" %s %f\n", "NLO: soft photon cutoff w = ",cuts_.w); 00307 if ((flags_.pion <= 1) || (flags_.pion == 6)) 00308 { 00309 00310 if( ! ((flags_.fsr == 1) || (flags_.fsr == 2) || (flags_.fsrnlo == 0) 00311 || (flags_.fsr == 1) || (flags_.fsrnlo == 1) 00312 || (flags_.fsr == 0) || (flags_.fsrnlo == 0))) { 00313 cerr << "WRONG combination of FSR, FSRNLO flags" <<endl; 00314 abort(); 00315 } 00316 // ------------------ 00317 if (flags_.fsr == 0) 00318 cout << "ISR only" << endl; 00319 else if (flags_.fsr == 1) 00320 cout << "ISR+FSR" << endl; 00321 else if (flags_.fsr == 2) { 00322 if (flags_.nlo == 0) 00323 cout << "ISR+INT+FSR" << endl; 00324 else { 00325 cerr << "WRONG FSR flag: interference is included only for nlo=0" << endl; 00326 abort(); 00327 } 00328 } 00329 else { 00330 cerr << "WRONG FSR flag" << flags_.fsr << endl; 00331 abort(); 00332 } 00333 if(flags_.fsrnlo == 1) 00334 cout << "IFSNLO included" << endl; 00335 } 00336 else 00337 { 00338 if((flags_.fsr == 0) && (flags_.fsrnlo == 0)) 00339 cout << "ISR only" << endl; 00340 else { 00341 cerr << "FSR is implemented only for pi+pi-, mu+mu- and K+K- modes" << endl; 00342 abort(); 00343 } 00344 } 00345 // ------------------ 00346 if(flags_.ivac == 0){ 00347 cout << "Vacuum polarization is NOT included" << endl;} 00348 else if(flags_.ivac == 1){ 00349 cout << "Vacuum polarization by Fred Jegerlehner (http://www-com.physik.hu-berlin.de/fjeger/alphaQEDn.uu)" << endl;} 00350 else if(flags_.ivac == 2){ 00351 cout << "Vacuum polarization (VP_HLMNT_v1_3nonr) by Daisuke Nomura and Thomas Teubner" << endl;} 00352 else { 00353 cout << "WRONG vacuum polarization switch" << endl; 00354 abort(); 00355 } 00356 00357 // ----------------- 00358 if(flags_.pion == 1){ 00359 if(flags_.FF_pion == 0) 00360 cout << "Kuhn-Santamaria PionFormFactor" << endl; 00361 else if(flags_.FF_pion == 1) 00362 cout << "Gounaris-Sakurai PionFormFactor old" << endl; 00363 else if(flags_.FF_pion == 2) 00364 cout << "Gounaris-Sakurai PionFormFactor new" << endl; 00365 else { 00366 cout << "WRONG PionFormFactor switch" << endl; 00367 abort(); 00368 } 00369 if(flags_.fsr != 0){ 00370 if(flags_.f0_model == 0) 00371 cout << "f0+f0(600): K+K- model" << endl; 00372 else if(flags_.f0_model == 1) 00373 cout << "f0+f0(600): \"no structure\" model" << endl; 00374 else if(flags_.f0_model == 2) 00375 cout << "NO f0+f0(600)" << endl; 00376 else if(flags_.f0_model == 3) 00377 cout << "only f0, KLOE: Cesare Bini-private communication" << endl; 00378 else { 00379 cout << "WRONG f0+f0(600) switch" << endl; 00380 abort(); 00381 } 00382 } 00383 } 00384 //------- 00385 if((flags_.pion == 6) || (flags_.pion==7)){ 00386 if(flags_.FF_kaon == 0) 00387 cout << "constrained KaonFormFactor" << endl; 00388 else if(flags_.FF_kaon == 1) { 00389 cout << "unconstrained KaonFormFactor" << endl;} 00390 else if(flags_.FF_kaon == 2) { 00391 cout << "Kuhn-Khodjamirian-Bruch KaonFormFactor" << endl;} 00392 else{ 00393 cout << "WRONG KaonFormFactor switch" << endl; 00394 abort(); 00395 } 00396 } 00397 // -------------------- 00398 if((flags_.pion == 0) || (flags_.pion==1) || (flags_.pion == 6) || (flags_.pion == 7)){ 00399 if(flags_.narr_res == 1){ 00400 cout << "THE NARROW RESONANCE J/PSI INCLUDED" << endl;} 00401 else if(flags_.narr_res == 2){ 00402 cout << "THE NARROW RESONANCE PSI(2S) INCLUDED" << endl;} 00403 else if(flags_.narr_res != 0){ 00404 cout << "wrong flag narr_res: only 0, 1 or 2 allowed" << endl; 00405 abort(); 00406 } 00407 } 00408 // ------ 00409 cout << "--------------------------------------------------------------" << endl; 00410 // 00411 // ================================================= 00412 // --- finding the maximum ------------------------- 00413 for(int i = 0; i<2; i++) 00414 { 00415 maxima_.Mmax[i] = 1.0; 00416 maxima_.gross[i] = 0.0; 00417 maxima_.klein[i] = 0.0; 00418 } 00419 00420 if (flags_.nlo == 0) 00421 maxima_.Mmax[1]=0.0; // only 1 photon events generated 00422 00423 maxima_.tr[0] = 0.0; 00424 maxima_.tr[1] = 0.0; 00425 maxima_.count[0] = 0.0; 00426 maxima_.count[1] = 0.0; 00427 00428 // ================================================= 00429 // --- beginning the MC loop event generation ------ 00430 for(int j = 1; j <= m_nm; j++) 00431 { 00432 RANLXDF(Ar_r,1); 00433 Ar[1] = Ar_r[0]; 00434 if (Ar[1] <= (maxima_.Mmax[0]/(maxima_.Mmax[0]+maxima_.Mmax[1]))) { 00435 maxima_.count[0] = maxima_.count[0]+1.0; 00436 GEN_1PH(1,qqmin,qqmax,cos1min,cos1max,cos3min,cos3max); 00437 } 00438 else { 00439 maxima_.count[1] = maxima_.count[1]+1.0; 00440 GEN_2PH(1,qqmin,cos1min,cos1max,cos2min,cos2max,cos3min,cos3max); 00441 } 00442 } 00443 // --- end of the MC loop -------------------------- 00444 // ================================================= 00445 // --- for the second run --- 00446 maxima_.Mmax[0] = maxima_.gross[0]+.05*sqrt(maxima_.gross[0]*maxima_.gross[0]); 00447 maxima_.Mmax[1] = maxima_.gross[1]+(.03+.02*ctes_.Sp)*sqrt(maxima_.gross[1]*maxima_.gross[1]); 00448 theMmax0=maxima_.Mmax[0]; 00449 theMmax1=maxima_.Mmax[1]; 00450 if((flags_.pion == 1) && (flags_.fsrnlo == 1)) 00451 maxima_.Mmax[1]=maxima_.Mmax[1]*1.5; 00452 if((flags_.pion == 0) && (flags_.fsrnlo == 1)) 00453 maxima_.Mmax[1]=maxima_.Mmax[1]*1.5; 00454 00455 if((flags_.pion == 0) && (flags_.fsr == 1) && (flags_.fsrnlo == 0)) 00456 maxima_.Mmax[1]=maxima_.Mmax[1]*1.2; 00457 00458 if((flags_.pion == 2) || (flags_.pion == 3)){ 00459 maxima_.Mmax[0]=maxima_.Mmax[0]*1.1; 00460 maxima_.Mmax[1]=maxima_.Mmax[1]*1.1; 00461 } 00462 00463 if(flags_.pion == 8){ 00464 maxima_.Mmax[0]=maxima_.Mmax[0]*1.08; 00465 maxima_.Mmax[1]=maxima_.Mmax[1]*1.1; 00466 } 00467 // --- end of the second run ----------------------- 00468 00469 maxima_.tr[0] = 0.0; 00470 maxima_.tr[1] = 0.0; 00471 maxima_.count[0] = 0.0; 00472 maxima_.count[1] = 0.0; 00473 }
void EvtPhokhara_4pi::init_pars | ( | ) |
Definition at line 902 of file EvtPhokhara_4pi.cc.
References m_E, m_f0_model, m_FF_Kaon, m_FF_Pion, m_fsr, m_fsrnlo, m_gmin, m_ivac, m_NarrowRes, m_nlo, m_nm, m_phot1cut, m_phot2cut, m_pi1cut, m_pi2cut, m_pion, m_q2_max_c, m_q2_min_c, m_q2min, m_tagged, and m_w.
Referenced by init_evt(), and init_mode().
00902 { 00903 m_tagged = 0; 00904 m_nm = 50000 ; // # of events to determine the maximum 00905 m_nlo = 1; // Born(0), NLO(1) 00906 m_w = 0.00001; // soft photon cutoff 00907 m_fsr = 0; // ISR only(0), ISR+FSR(1), ISR+INT+FSR(2) 00908 m_fsrnlo = 0 ; // yes(1), no(0) 00909 m_NarrowRes = 0 ;// none(0) jpsi(1) psip(2) 00910 m_FF_Kaon = 1 ; // constrained (0), unconstrained (1), Kuhn-Khodjamirian-Bruch (2) 00911 m_ivac = 0; // yes(1), no(0) 00912 m_FF_Pion = 0 ; // KS Pionformfactor(0), GS Pionformfactor old(1) and new(2) 00913 m_f0_model = 0 ; // f0+f0(600): KK model(0), no structure(1), no f0+f0(600)(2), f0 KLOE(3) 00914 m_q2min = (4*0.135)*(4*0.135); // minimal hadrons(muons)-gamma-inv mass squared (GeV^2) 00915 m_q2_min_c = m_q2min ; // minimal inv. mass squared of the hadrons(muons)(GeV^2) 00916 m_q2_max_c = m_E*m_E; // maximal inv. mass squared of the hadrons(muons)(GeV^2) 00917 m_gmin = 0.001; // minimal photon energy/missing energy (GeV) //total Ecm will reduce m_gmin 00918 m_phot1cut = 0.0; // maximal photon angle/missing momentum angle (grad) 00919 m_phot2cut = 180.0; // maximal photon angle/missing momentum angle (grad) 00920 m_pi1cut = 0.0 ; // minimal hadrons(muons) angle (grad) 00921 m_pi2cut = 180.0; // maximal hadrons(muons) angle (grad) 00922 if(!(m_pion==0 || m_pion==1 || m_pion==6)){m_fsr = 0; m_fsrnlo = 0 ;} 00923 if( m_pion==9 ){m_nlo = 0 ;} 00924 }
void EvtPhokhara_4pi::initProbMax | ( | ) | [virtual] |
Reimplemented from EvtDecayBase.
Definition at line 108 of file EvtPhokhara_4pi.cc.
References EvtDecayBase::noProbMax().
00108 { 00109 00110 noProbMax(); 00111 00112 }
int EvtDecayIncoherent::isDaughterSpinDensitySet | ( | int | daughter | ) | [inline, inherited] |
Definition at line 39 of file EvtDecayIncoherent.hh.
References EvtDecayIncoherent::spinDensitySet.
Referenced by EvtDecayIncoherent::makeDecay().
00040 {return spinDensitySet[daughter];}
void EvtDecayIncoherent::makeDecay | ( | EvtParticle * | p | ) | [virtual, inherited] |
Implements EvtDecayBase.
Definition at line 29 of file EvtDecayIncoherent.cc.
References EvtDecayBase::_daugsDecayedByParentModel, EvtRadCorr::alwaysRadCorr(), EvtDecayBase::daugsDecayedByParentModel(), EvtParticle::decay(), EvtDecayBase::decay(), EvtRadCorr::doRadCorr(), EvtParticle::getDaug(), EvtParticle::getNDaug(), EvtDecayBase::getPHOTOS(), EvtParticle::getSpinDensityForward(), EvtParticle::getSpinStates(), genRecEmupikp::i, EvtDecayIncoherent::isDaughterSpinDensitySet(), MAX_DAUG, EvtParticle::setDecayProb(), EvtSpinDensity::SetDiag(), EvtParticle::setSpinDensityBackward(), EvtParticle::setSpinDensityForward(), EvtDecayIncoherent::spinDensitySet, and subSeperate::temp.
00029 { 00030 00031 int i; 00032 //initialize this the hard way.. 00033 //Lange June 26, 2000 00034 for (i=0; i<MAX_DAUG; i++ ) { spinDensitySet[i]=0;} 00035 _daugsDecayedByParentModel=false; 00036 00037 decay(p); 00038 p->setDecayProb(1.); 00039 00040 EvtSpinDensity rho; 00041 00042 rho.SetDiag(p->getSpinStates()); 00043 00044 p->setSpinDensityBackward(rho); 00045 00046 if (getPHOTOS() || EvtRadCorr::alwaysRadCorr()) { 00047 EvtRadCorr::doRadCorr(p); 00048 } 00049 00050 //Now decay the daughters. 00051 00052 if ( !daugsDecayedByParentModel()) { 00053 00054 for(i=0;i<p->getNDaug();i++){ 00055 //Need to set the spin density of the daughters to be 00056 //diagonal. 00057 rho.SetDiag(p->getDaug(i)->getSpinStates()); 00058 //if (p->getDaug(i)->getNDaug()==0){ 00059 //only do this if the user has not already set the 00060 //spin density matrix herself. 00061 //Lange June 26, 2000 00062 if ( isDaughterSpinDensitySet(i)==0 ) { 00063 p->getDaug(i)->setSpinDensityForward(rho); 00064 } 00065 else{ 00066 //report(INFO,"EvtGen") << "spinDensitymatrix already set!!!\n"; 00067 EvtSpinDensity temp=p->getDaug(i)->getSpinDensityForward(); 00068 // report(INFO,"EvtGen") <<temp<<endl; 00069 } 00070 //Now decay the daughter. Really! 00071 p->getDaug(i)->decay(); 00072 } 00073 00074 } 00075 }
bool EvtDecayBase::matchingDecay | ( | const EvtDecayBase & | other | ) | const [virtual, inherited] |
Definition at line 587 of file EvtDecayBase.cc.
References EvtDecayBase::_daug, EvtDecayBase::_ndaug, EvtDecayBase::_parent, genRecEmupikp::i, ganga-rec::j, and EvtCyclic3::other().
Referenced by EvtParticleDecayList::addMode(), and EvtParticleDecayList::removeMode().
00587 { 00588 00589 if ( _ndaug != other._ndaug) return false; 00590 if ( _parent != other._parent) return false; 00591 00592 std::vector<int> useDs; 00593 for ( unsigned int i=0; i<_ndaug; i++) useDs.push_back(0); 00594 00595 for ( unsigned int i=0; i<_ndaug; i++) { 00596 bool foundIt=false; 00597 for ( unsigned int j=0; j<_ndaug; j++) { 00598 if ( useDs[j] == 1 ) continue; 00599 if ( _daug[i] == other._daug[j] && _daug[i].getAlias() == other._daug[j].getAlias()) { 00600 foundIt=true; 00601 useDs[j]=1; 00602 break; 00603 } 00604 } 00605 if ( foundIt==false) return false; 00606 } 00607 for ( unsigned int i=0; i<_ndaug; i++) if ( useDs[i]==0) return false; 00608 00609 return true; 00610 00611 }
void EvtDecayBase::noProbMax | ( | ) | [inherited] |
Definition at line 304 of file EvtDecayBase.cc.
References EvtDecayBase::defaultprobmax.
Referenced by EvtVubNLO::initProbMax(), EvtVubHybrid::initProbMax(), EvtVub::initProbMax(), EvtVectorIsr::initProbMax(), EvtTrackGen::initProbMax(), EvtTauola::initProbMax(), EvtRhoPi::initProbMax(), EvtRexc::initProbMax(), EvtPythia::initProbMax(), EvtPyGaGa::initProbMax(), EvtPycont::initProbMax(), EvtPhsp::initProbMax(), EvtPhokhara_ppbar::initProbMax(), EvtPhokhara_pipipi0::initProbMax(), EvtPhokhara_pipi::initProbMax(), EvtPhokhara_pi0pi0pipi::initProbMax(), EvtPhokhara_nnbar::initProbMax(), EvtPhokhara_LLB::initProbMax(), EvtPhokhara_KK::initProbMax(), EvtPhokhara_K0K0::initProbMax(), initProbMax(), EvtPhokhara::initProbMax(), EvtOpenCharm::initProbMax(), EvtmPhsp::initProbMax(), EvtmH2::initProbMax(), EvtMBody3::initProbMax(), EvtMassH2::initProbMax(), EvtMassH1::initProbMax(), EvtLundCharm::initProbMax(), EvtLunda::initProbMax(), EvtLambdac2pKpi::initProbMax(), EvtJscont::initProbMax(), EvtJetSet::initProbMax(), EvtHAngSam3::initProbMax(), EvtDMix::initProbMax(), EvtDIY::initProbMax(), EvtConExc::initProbMax(), EvtCalHelAmp::initProbMax(), EvtBtoXsll::initProbMax(), EvtBtoXsgamma::initProbMax(), EvtBtoXsEtap::initProbMax(), EvtBody3::initProbMax(), EvtAngSamX::initProbMax(), EvtAngSamLab::initProbMax(), EvtAngSam3::initProbMax(), EvtAngSam::initProbMax(), and EvtAngH2::initProbMax().
00304 { 00305 00306 defaultprobmax=0; 00307 00308 }
virtual int EvtDecayBase::nRealDaughters | ( | ) | [inline, virtual, inherited] |
Reimplemented in EvtBtoKD3P, and EvtVSSBMixCPT.
Definition at line 105 of file EvtDecayBase.hh.
References EvtDecayBase::_ndaug.
Referenced by EvtDecayTable::readDecayFile().
00105 { return _ndaug;}
void EvtPhokhara_4pi::PhokharaInit | ( | int | dummy | ) |
Definition at line 769 of file EvtPhokhara_4pi.cc.
References first.
00769 { 00770 static int first=1; 00771 if (first){ 00772 00773 first=0; 00774 //for(int i=0;i<ncommand;i++) 00775 // lugive0_(commands[i].c_str(),strlen(commands[i].c_str())); 00776 } 00777 00778 }
void EvtDecayBase::printSummary | ( | ) | [inherited] |
Definition at line 259 of file EvtDecayBase.cc.
References EvtDecayBase::_daug, EvtDecayBase::_modelname, EvtDecayBase::_ndaug, EvtDecayBase::_parent, EvtCyclic3::c_str(), genRecEmupikp::i, Bes_Common::INFO, EvtDecayBase::max_prob, EvtPDL::name(), EvtDecayBase::ntimes_prob, EvtDecayBase::probmax, report(), and EvtDecayBase::sum_prob.
Referenced by EvtDecayBase::checkNArg(), EvtDecayBase::checkNDaug(), EvtDecayBase::checkSpinDaughter(), EvtDecayBase::checkSpinParent(), and EvtParticleDecay::printSummary().
00259 { 00260 00261 int i; 00262 00263 if (ntimes_prob>0) { 00264 00265 report(INFO,"EvtGen") << "Calls="<<ntimes_prob<<" eff:"<< 00266 sum_prob/(probmax*ntimes_prob)<<" frac. max:"<<max_prob/probmax; 00267 report(INFO,"") <<" probmax:"<<probmax<<" max:"<<max_prob<<" : "; 00268 } 00269 00270 report(INFO,"") << EvtPDL::name(_parent).c_str()<<" -> "; 00271 for(i=0;i<_ndaug;i++){ 00272 report(INFO,"") << EvtPDL::name(_daug[i]).c_str() << " "; 00273 } 00274 report(INFO,"") << " ("<<_modelname.c_str()<<"):"<< endl; 00275 00276 00277 00278 }
double EvtDecayBase::resetProbMax | ( | double | prob | ) | [inherited] |
Definition at line 108 of file EvtDecayBase.cc.
References EvtDecayBase::_daug, EvtDecayBase::_modelname, EvtDecayBase::_ndaug, EvtDecayBase::_parent, EvtDecayBase::defaultprobmax, EvtPDL::getStdHep(), genRecEmupikp::i, Bes_Common::INFO, EvtDecayBase::ntimes_prob, EvtDecayBase::probmax, and report().
00108 { 00109 00110 report(INFO,"EvtGen") << "Reseting prob max\n"; 00111 report(INFO,"EvtGen") << "prob > probmax:("<<prob<<">"<<probmax<<")"; 00112 report(INFO,"") << "("<<_modelname.c_str()<<")"; 00113 report(INFO,"") << EvtPDL::getStdHep(_parent)<<"->"; 00114 00115 for( int i=0;i<_ndaug;i++){ 00116 report(INFO,"") << EvtPDL::getStdHep(_daug[i]) << " "; 00117 } 00118 report(INFO,"") << endl; 00119 00120 probmax = 0.0; 00121 defaultprobmax = 0; 00122 ntimes_prob = 0; 00123 00124 return prob; 00125 00126 }
void EvtDecayBase::saveDecayInfo | ( | EvtId | ipar, | |
int | ndaug, | |||
EvtId * | daug, | |||
int | narg, | |||
std::vector< std::string > & | args, | |||
std::string | name, | |||
double | brfr | |||
) | [inherited] |
Definition at line 167 of file EvtDecayBase.cc.
References EvtDecayBase::_args, EvtDecayBase::_brfr, EvtDecayBase::_chkCharge, EvtDecayBase::_daug, EvtDecayBase::_dsum, EvtDecayBase::_modelname, EvtDecayBase::_narg, EvtDecayBase::_ndaug, EvtDecayBase::_parent, EvtCyclic3::c_str(), EvtDecayBase::checkQ(), EvtDecayBase::defaultprobmax, EvtId::getAlias(), genRecEmupikp::i, Bes_Common::INFO, EvtDecayBase::init(), EvtDecayBase::initProbMax(), EvtPDL::name(), report(), and deljobs::string.
Referenced by EvtParticleDecay::chargeConj(), EvtParticleDecayList::EvtParticleDecayList(), and EvtDecayTable::readDecayFile().
00170 { 00171 00172 int i; 00173 00174 _brfr=brfr; 00175 _ndaug=ndaug; 00176 _narg=narg; 00177 _parent=ipar; 00178 00179 _dsum=0; 00180 00181 if (_ndaug>0) { 00182 _daug=new EvtId [_ndaug]; 00183 for(i=0;i<_ndaug;i++){ 00184 _daug[i]=daug[i]; 00185 _dsum+=daug[i].getAlias(); 00186 } 00187 } 00188 else{ 00189 _daug=0; 00190 } 00191 00192 if (_narg>0) { 00193 _args=new std::string[_narg+1]; 00194 for(i=0;i<_narg;i++){ 00195 _args[i]=args[i]; 00196 } 00197 } 00198 else{ 00199 _args = 0; 00200 } 00201 00202 _modelname=name; 00203 00204 this->init(); 00205 this->initProbMax(); 00206 00207 if (_chkCharge){ 00208 this->checkQ(); 00209 } 00210 00211 00212 if (defaultprobmax){ 00213 report(INFO,"EvtGen") << "No default probmax for "; 00214 report(INFO,"") << "("<<_modelname.c_str()<<") "; 00215 report(INFO,"") << EvtPDL::name(_parent).c_str()<<" -> "; 00216 for(i=0;i<_ndaug;i++){ 00217 report(INFO,"") << EvtPDL::name(_daug[i]).c_str() << " "; 00218 } 00219 report(INFO,"") << endl; 00220 report(INFO,"") << "This is fine for development, but must be provided for production."<<endl; 00221 report(INFO,"EvtGen") << "Never fear though - the decay will use the \n"; 00222 report(INFO,"EvtGen") << "500 iterations to build up a good probmax \n"; 00223 report(INFO,"EvtGen") << "before accepting a decay. "<<endl; 00224 } 00225 00226 }
void EvtDecayIncoherent::setDaughterSpinDensity | ( | int | daughter | ) | [inline, inherited] |
Definition at line 36 of file EvtDecayIncoherent.hh.
References EvtDecayIncoherent::spinDensitySet.
Referenced by EvtVectorIsr::decay(), EvtTauola::fixPolarizations(), EvtPythia::fixPolarizations(), EvtOpenCharm::fixPolarizations(), EvtLundCharm::fixPolarizations(), EvtLunda::fixPolarizations(), and EvtJetSet::fixPolarizations().
00037 { spinDensitySet[daughter]=1; return;}
void EvtDecayBase::setPHOTOS | ( | ) | [inline, inherited] |
Definition at line 69 of file EvtDecayBase.hh.
References EvtDecayBase::_photos.
Referenced by EvtParticleDecay::chargeConj(), EvtParticleDecayList::EvtParticleDecayList(), and EvtDecayTable::readDecayFile().
00069 {_photos=1;}
void EvtDecayBase::setProbMax | ( | double | prbmx | ) | [inherited] |
Definition at line 297 of file EvtDecayBase.cc.
References EvtDecayBase::defaultprobmax, and EvtDecayBase::probmax.
Referenced by EvtBtoKD3P::decay(), EvtVVSPwave::initProbMax(), EvtVVPIPI_WEIGHTED::initProbMax(), EvtVVpipi::initProbMax(), EvtVVP::initProbMax(), EvtVSSMix::initProbMax(), EvtVSSBMixCPT::initProbMax(), EvtVSS::initProbMax(), EvtVSPPwave::initProbMax(), EvtVPHOtoVISRHi::initProbMax(), EvtVll::initProbMax(), EvtTVSPwave::initProbMax(), EvtTSS::initProbMax(), EvtTauVectornu::initProbMax(), EvtTauScalarnu::initProbMax(), EvtTaulnunu::initProbMax(), EvtTauHadnu::initProbMax(), EvtT2GV::initProbMax(), EvtSVVNONCPEIGEN::initProbMax(), EvtSVVHelAmp::initProbMax(), EvtSVVCPLH::initProbMax(), EvtSVVCP::initProbMax(), EvtSVSNONCPEIGEN::initProbMax(), EvtSVSCPLH::initProbMax(), EvtSVSCPiso::initProbMax(), EvtSVSCP::initProbMax(), EvtSVS::initProbMax(), EvtSVPHelAmp::initProbMax(), EvtSVPCP::initProbMax(), EvtSTSCP::initProbMax(), EvtSTS::initProbMax(), EvtSSSCPpng::initProbMax(), EvtSSSCP::initProbMax(), EvtSSDCP::initProbMax(), EvtSPL::initProbMax(), EvtSLPole::initProbMax(), EvtSLN::initProbMax(), EvtSLBKPole::initProbMax(), EvtS2GV::initProbMax(), EvtPi0Dalitz::initProbMax(), EvtPBB2::initProbMax(), EvtPBB1::initProbMax(), EvtPartWave::initProbMax(), EvtP2GC2::initProbMax(), EvtP2GC1::initProbMax(), EvtP2GC0::initProbMax(), EvtOmegaDalitz::initProbMax(), EvtLNuGamma::initProbMax(), EvtLambdaP_BarGamma::initProbMax(), EvtKKLambdaC::initProbMax(), EvtJpipi::initProbMax(), EvtISGW2::initProbMax(), EvtIntervalDecayAmp< EvtDalitzPoint >::initProbMax(), EvtHypNonLepton::initProbMax(), EvtHQET2::initProbMax(), EvtHQET::initProbMax(), EvtHelAmp::initProbMax(), EvtGoityRoberts::initProbMax(), EvtFlatQ2::initProbMax(), EvtEtaDalitz::initProbMax(), EvtEDM::initProbMax(), EvtDDalitz::initProbMax(), EvtD0mixDalitz::initProbMax(), EvtCBTo3piP00::initProbMax(), EvtCBTo3piMPP::initProbMax(), EvtbTosllBall::initProbMax(), EvtbTosllAli::initProbMax(), EvtBtoKpiCPiso::initProbMax(), EvtBtoKD3P::initProbMax(), EvtBTo3piCP::initProbMax(), EvtBto2piCPiso::initProbMax(), and EvtAV2GV::initProbMax().
00297 { 00298 00299 defaultprobmax=0; 00300 probmax=prbmx; 00301 00302 }
void EvtDecayBase::setSummary | ( | ) | [inline, inherited] |
Definition at line 71 of file EvtDecayBase.hh.
References EvtDecayBase::_summary.
Referenced by EvtParticleDecayList::EvtParticleDecayList(), and EvtDecayTable::readDecayFile().
00071 {_summary=1;}
void EvtDecayBase::setVerbose | ( | ) | [inline, inherited] |
Definition at line 70 of file EvtDecayBase.hh.
References EvtDecayBase::_verbose.
Referenced by EvtParticleDecayList::EvtParticleDecayList(), and EvtDecayTable::readDecayFile().
00070 {_verbose=1;}
void EvtPhokhara_4pi::store | ( | EvtDecayBase * | jsdecay | ) | [private] |
Definition at line 748 of file EvtPhokhara_4pi.cc.
References genRecEmupikp::i, nphokharadecays, ntable, and phokharadecays.
Referenced by init().
00748 { 00749 00750 if (nphokharadecays==ntable){ 00751 00752 EvtDecayBasePtr* newphokharadecays=new EvtDecayBasePtr[2*ntable+10]; 00753 int i; 00754 for(i=0;i<ntable;i++){ 00755 newphokharadecays[i]=phokharadecays[i]; 00756 } 00757 ntable=2*ntable+10; 00758 delete [] phokharadecays; 00759 phokharadecays=newphokharadecays; 00760 } 00761 00762 phokharadecays[nphokharadecays++]=jsdecay; 00763 00764 00765 00766 }
int EvtDecayBase::summary | ( | ) | [inline, inherited] |
Definition at line 78 of file EvtDecayBase.hh.
References EvtDecayBase::_summary.
Referenced by EvtParticleDecayList::EvtParticleDecayList().
00078 {return _summary; }
int EvtDecayBase::verbose | ( | ) | [inline, inherited] |
Definition at line 79 of file EvtDecayBase.hh.
References EvtDecayBase::_verbose.
Referenced by EvtParticleDecayList::EvtParticleDecayList(), EvtSVSCPLH::init(), EvtSSDCP::init(), EvtPartWave::init(), EvtHelAmp::init(), EvtBtoXsll::init(), EvtPartWave::initProbMax(), and EvtHelAmp::initProbMax().
00079 {return _verbose; }
bool EvtDecayBase::_daugsDecayedByParentModel [protected, inherited] |
Definition at line 109 of file EvtDecayBase.hh.
Referenced by EvtDecayBase::daugsDecayedByParentModel(), EvtBtoKD3P::decay(), EvtDecayProb::makeDecay(), EvtDecayIncoherent::makeDecay(), and EvtDecayAmp::makeDecay().
double EvtPhokhara_4pi::Ar[14] [private] |
double EvtPhokhara_4pi::Ar_r[14] [private] |
std::string * EvtPhokhara_4pi::commands = 0 [static, private] |
double EvtPhokhara_4pi::cos1max [private] |
Definition at line 96 of file EvtPhokhara_4pi.hh.
Referenced by decay(), init_evt(), and init_mode().
double EvtPhokhara_4pi::cos1min [private] |
Definition at line 96 of file EvtPhokhara_4pi.hh.
Referenced by decay(), init_evt(), and init_mode().
double EvtPhokhara_4pi::cos2max [private] |
Definition at line 96 of file EvtPhokhara_4pi.hh.
Referenced by decay(), init_evt(), and init_mode().
double EvtPhokhara_4pi::cos2min [private] |
Definition at line 96 of file EvtPhokhara_4pi.hh.
Referenced by decay(), init_evt(), and init_mode().
double EvtPhokhara_4pi::cos3max [private] |
Definition at line 96 of file EvtPhokhara_4pi.hh.
Referenced by decay(), init_evt(), and init_mode().
double EvtPhokhara_4pi::cos3min [private] |
Definition at line 96 of file EvtPhokhara_4pi.hh.
Referenced by decay(), init_evt(), and init_mode().
double EvtPhokhara_4pi::dsigm [private] |
Definition at line 97 of file EvtPhokhara_4pi.hh.
double EvtPhokhara_4pi::dsigm1 [private] |
Definition at line 97 of file EvtPhokhara_4pi.hh.
double EvtPhokhara_4pi::dsigm2 [private] |
Definition at line 97 of file EvtPhokhara_4pi.hh.
int EvtPhokhara_4pi::ievent [private] |
int EvtPhokhara_4pi::lcommand = 0 [static, private] |
double EvtPhokhara_4pi::m_E [private] |
Definition at line 85 of file EvtPhokhara_4pi.hh.
Referenced by init_evt(), init_mode(), and init_pars().
int EvtPhokhara_4pi::m_f0_model [private] |
Definition at line 84 of file EvtPhokhara_4pi.hh.
Referenced by init_evt(), init_mode(), and init_pars().
int EvtPhokhara_4pi::m_FF_Kaon [private] |
Definition at line 82 of file EvtPhokhara_4pi.hh.
Referenced by init_evt(), init_mode(), and init_pars().
int EvtPhokhara_4pi::m_FF_Pion [private] |
Definition at line 83 of file EvtPhokhara_4pi.hh.
Referenced by init_evt(), init_mode(), and init_pars().
int EvtPhokhara_4pi::m_fsr [private] |
Definition at line 77 of file EvtPhokhara_4pi.hh.
Referenced by init_evt(), init_mode(), and init_pars().
int EvtPhokhara_4pi::m_fsrnlo [private] |
Definition at line 78 of file EvtPhokhara_4pi.hh.
Referenced by init_evt(), init_mode(), and init_pars().
double EvtPhokhara_4pi::m_gmin [private] |
Definition at line 89 of file EvtPhokhara_4pi.hh.
Referenced by init_evt(), init_mode(), and init_pars().
long int EvtPhokhara_4pi::m_initSeed [private] |
int EvtPhokhara_4pi::m_ivac [private] |
Definition at line 79 of file EvtPhokhara_4pi.hh.
Referenced by init_evt(), init_mode(), and init_pars().
int EvtPhokhara_4pi::m_NarrowRes [private] |
Definition at line 81 of file EvtPhokhara_4pi.hh.
Referenced by init_evt(), init_mode(), and init_pars().
int EvtPhokhara_4pi::m_nlo [private] |
Definition at line 73 of file EvtPhokhara_4pi.hh.
Referenced by init_evt(), init_mode(), and init_pars().
int EvtPhokhara_4pi::m_nm [private] |
double EvtPhokhara_4pi::m_phot1cut [private] |
Definition at line 90 of file EvtPhokhara_4pi.hh.
Referenced by init_evt(), init_mode(), and init_pars().
double EvtPhokhara_4pi::m_phot2cut [private] |
Definition at line 91 of file EvtPhokhara_4pi.hh.
Referenced by init_evt(), init_mode(), and init_pars().
double EvtPhokhara_4pi::m_pi1cut [private] |
Definition at line 92 of file EvtPhokhara_4pi.hh.
Referenced by init_evt(), init_mode(), and init_pars().
double EvtPhokhara_4pi::m_pi2cut [private] |
Definition at line 93 of file EvtPhokhara_4pi.hh.
Referenced by init_evt(), init_mode(), and init_pars().
int EvtPhokhara_4pi::m_pion [private] |
Definition at line 75 of file EvtPhokhara_4pi.hh.
Referenced by init_evt(), init_mode(), and init_pars().
double EvtPhokhara_4pi::m_q2_max_c [private] |
Definition at line 88 of file EvtPhokhara_4pi.hh.
Referenced by init_evt(), init_mode(), and init_pars().
double EvtPhokhara_4pi::m_q2_min_c [private] |
Definition at line 87 of file EvtPhokhara_4pi.hh.
Referenced by init_evt(), init_mode(), and init_pars().
double EvtPhokhara_4pi::m_q2min [private] |
Definition at line 86 of file EvtPhokhara_4pi.hh.
Referenced by init_evt(), init_mode(), and init_pars().
int EvtPhokhara_4pi::m_tagged [private] |
double EvtPhokhara_4pi::m_w [private] |
Definition at line 74 of file EvtPhokhara_4pi.hh.
Referenced by init_evt(), init_mode(), and init_pars().
int EvtPhokhara_4pi::ncommand = 0 [static, private] |
int EvtPhokhara_4pi::nevt = 0 [static, private] |
int EvtPhokhara_4pi::nevtgen = 0 [static, private] |
int EvtPhokhara_4pi::nphokharadecays = 0 [static, private] |
int EvtPhokhara_4pi::ntable = 0 [static, private] |
EvtDecayBasePtr * EvtPhokhara_4pi::phokharadecays = 0 [static, private] |
double EvtPhokhara_4pi::qqmax [private] |
Definition at line 95 of file EvtPhokhara_4pi.hh.
Referenced by decay(), init_evt(), and init_mode().
double EvtPhokhara_4pi::qqmin [private] |
Definition at line 95 of file EvtPhokhara_4pi.hh.
Referenced by decay(), init_evt(), and init_mode().
double EvtPhokhara_4pi::sigma [private] |
Definition at line 97 of file EvtPhokhara_4pi.hh.
double EvtPhokhara_4pi::sigma1 [private] |
Definition at line 97 of file EvtPhokhara_4pi.hh.
double EvtPhokhara_4pi::sigma2 [private] |
Definition at line 97 of file EvtPhokhara_4pi.hh.
double EvtPhokhara_4pi::theMmax0 [private] |
double EvtPhokhara_4pi::theMmax1 [private] |