#include <EvtPhokhara_nnbar.hh>
Inheritance diagram for EvtPhokhara_nnbar:
Public Member Functions | |
EvtPhokhara_nnbar () | |
virtual | ~EvtPhokhara_nnbar () |
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 | 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_nnbar.hh.
EvtPhokhara_nnbar::EvtPhokhara_nnbar | ( | ) |
EvtPhokhara_nnbar::~EvtPhokhara_nnbar | ( | ) | [virtual] |
Definition at line 68 of file EvtPhokhara_nnbar.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(), init(), EvtPhokhara_LLB::init(), EvtPhokhara_KK::init(), EvtPhokhara_K0K0::init(), EvtPhokhara_4pi::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_nnbar::clone | ( | ) | [virtual] |
Implements EvtDecayBase.
Definition at line 101 of file EvtPhokhara_nnbar.cc.
00101 { 00102 00103 return new EvtPhokhara_nnbar; 00104 00105 }
void EvtPhokhara_nnbar::command | ( | std::string | cmd | ) | [virtual] |
Reimplemented from EvtDecayBase.
Definition at line 529 of file EvtPhokhara_nnbar.cc.
References commands, genRecEmupikp::i, lcommand, ncommand, and deljobs::string.
00529 { 00530 00531 if (ncommand==lcommand){ 00532 00533 lcommand=10+2*lcommand; 00534 00535 std::string* newcommands=new std::string[lcommand]; 00536 00537 int i; 00538 00539 for(i=0;i<ncommand;i++){ 00540 newcommands[i]=commands[i]; 00541 } 00542 00543 delete [] commands; 00544 00545 commands=newcommands; 00546 00547 } 00548 00549 commands[ncommand]=cmd; 00550 00551 ncommand++; 00552 00553 }
std::string EvtPhokhara_nnbar::commandName | ( | ) | [virtual] |
Reimplemented from EvtDecayBase.
Definition at line 523 of file EvtPhokhara_nnbar.cc.
References deljobs::string.
00523 { 00524 00525 return std::string("PhokharaPar"); 00526 00527 }
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_nnbar::decay | ( | EvtParticle * | p | ) | [virtual] |
Implements EvtDecayBase.
Definition at line 557 of file EvtPhokhara_nnbar.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().
00557 { 00558 EvtId myvpho=EvtPDL::getId("vpho"); 00559 if(p->getId()!=myvpho) {std::cout<<"Parent particle is required to be vpho for Phokhara model"<<std::endl;abort();} 00560 if(nevtgen==0) {init_mode(p);} 00561 else{init_evt(p);} 00562 std::cout<<"PHOKHARA : nnbar mode "<<std::endl; 00563 00564 00565 int istdheppar=EvtPDL::getStdHep(p->getId()); 00566 int ntrials = 0; 00567 int tr_old[2]; 00568 tr_old[0] = (int)maxima_.tr[0]; 00569 tr_old[1] = (int)maxima_.tr[1]; 00570 00571 while( ntrials < 10000) 00572 { 00573 ievent++; 00574 RANLXDF(Ar_r,1); 00575 Ar[1] = Ar_r[0]; 00576 00577 if (Ar[1] <= (maxima_.Mmax[0]/(maxima_.Mmax[0]+maxima_.Mmax[1]))) { 00578 maxima_.count[0] = maxima_.count[0]+1.0; 00579 GEN_1PH(2,qqmin,qqmax,cos1min,cos1max,cos3min,cos3max); 00580 } 00581 else { 00582 maxima_.count[1] = maxima_.count[1]+1.0; 00583 GEN_2PH(2,qqmin,cos1min,cos1max,cos2min,cos2max,cos3min,cos3max); 00584 } 00585 00586 if( ((int)maxima_.tr[0]+(int)maxima_.tr[1]) > (tr_old[0]+tr_old[1]) ) // event accepted after cuts 00587 { 00588 goto storedEvents; 00589 } 00590 ntrials ++; 00591 } 00592 00593 std::cout <<"FATAL: Could not satisfy cuts after " << ntrials << "trials. Terminate." <<std::endl; 00594 //---- 00595 storedEvents: 00596 int more=0; 00597 int numstable=0; 00598 int numparton=0; 00599 EvtId evtnumstable[100];// 00600 EvtVector4R p4[20]; 00601 00602 // except ISR photos, products depending on channel 00603 if (flags_.pion == 0) { // mu+ mu- 00604 // mu+ 00605 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(-13); 00606 p4[numstable].set(ctes_.momenta[0][5],ctes_.momenta[1][5], ctes_.momenta[2][5], ctes_.momenta[3][5]); 00607 numstable++; 00608 // mu - 00609 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(13); 00610 p4[numstable].set(ctes_.momenta[0][6],ctes_.momenta[1][6], ctes_.momenta[2][6], ctes_.momenta[3][6]); 00611 numstable++; 00612 } 00613 if (flags_.pion == 1) { // pi+ pi- 00614 // pi+ 00615 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(211); 00616 p4[numstable].set(ctes_.momenta[0][5],ctes_.momenta[1][5], ctes_.momenta[2][5], ctes_.momenta[3][5]); 00617 numstable++; 00618 // pi - 00619 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(-211); 00620 p4[numstable].set(ctes_.momenta[0][6],ctes_.momenta[1][6], ctes_.momenta[2][6], ctes_.momenta[3][6]); 00621 numstable++; 00622 } 00623 if (flags_.pion == 2) { // pi+ pi-2pi0 00624 // pi0 00625 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(111); 00626 p4[numstable].set(ctes_.momenta[0][5],ctes_.momenta[1][5], ctes_.momenta[2][5], ctes_.momenta[3][5]); 00627 numstable++; 00628 // pi0 00629 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(111); 00630 p4[numstable].set(ctes_.momenta[0][6],ctes_.momenta[1][6], ctes_.momenta[2][6], ctes_.momenta[3][6]); 00631 numstable++; 00632 // pi- 00633 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(-211); 00634 p4[numstable].set(ctes_.momenta[0][7],ctes_.momenta[1][7], ctes_.momenta[2][7], ctes_.momenta[3][7]); 00635 numstable++; 00636 // pi + 00637 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(211); 00638 p4[numstable].set(ctes_.momenta[0][8],ctes_.momenta[1][8], ctes_.momenta[2][8], ctes_.momenta[3][8]); 00639 numstable++; 00640 } 00641 if (flags_.pion == 3) { // 2(pi+ pi-) 00642 // pi+ 00643 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(211); 00644 p4[numstable].set(ctes_.momenta[0][5],ctes_.momenta[1][5], ctes_.momenta[2][5], ctes_.momenta[3][5]); 00645 numstable++; 00646 // pi- 00647 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(-211); 00648 p4[numstable].set(ctes_.momenta[0][6],ctes_.momenta[1][6], ctes_.momenta[2][6], ctes_.momenta[3][6]); 00649 numstable++; 00650 // pi+ 00651 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(-211); 00652 p4[numstable].set(ctes_.momenta[0][7],ctes_.momenta[1][7], ctes_.momenta[2][7], ctes_.momenta[3][7]); 00653 numstable++; 00654 // pi - 00655 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(211); 00656 p4[numstable].set(ctes_.momenta[0][8],ctes_.momenta[1][8], ctes_.momenta[2][8], ctes_.momenta[3][8]); 00657 numstable++; 00658 } 00659 if (flags_.pion == 4) { // ppbar 00660 // pbar 00661 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(-2212); 00662 p4[numstable].set(ctes_.momenta[0][5],ctes_.momenta[1][5], ctes_.momenta[2][5], ctes_.momenta[3][5]); 00663 numstable++; 00664 // p 00665 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(2212); 00666 p4[numstable].set(ctes_.momenta[0][6],ctes_.momenta[1][6], ctes_.momenta[2][6], ctes_.momenta[3][6]); 00667 numstable++; 00668 } 00669 if (flags_.pion == 5) { // nnbar 00670 // pbar 00671 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(-2112); 00672 p4[numstable].set(ctes_.momenta[0][5],ctes_.momenta[1][5], ctes_.momenta[2][5], ctes_.momenta[3][5]); 00673 numstable++; 00674 // p 00675 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(2112); 00676 p4[numstable].set(ctes_.momenta[0][6],ctes_.momenta[1][6], ctes_.momenta[2][6], ctes_.momenta[3][6]); 00677 numstable++; 00678 } 00679 if (flags_.pion == 6) { // K+ K- 00680 // K+ 00681 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(321); 00682 p4[numstable].set(ctes_.momenta[0][5],ctes_.momenta[1][5], ctes_.momenta[2][5], ctes_.momenta[3][5]); 00683 numstable++; 00684 // K - 00685 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(-321); 00686 p4[numstable].set(ctes_.momenta[0][6],ctes_.momenta[1][6], ctes_.momenta[2][6], ctes_.momenta[3][6]); 00687 numstable++; 00688 } 00689 if (flags_.pion == 7) { // K0K0bar 00690 // Kbar 00691 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(311); 00692 p4[numstable].set(ctes_.momenta[0][5],ctes_.momenta[1][5], ctes_.momenta[2][5], ctes_.momenta[3][5]); 00693 numstable++; 00694 // K0 00695 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(-311); 00696 p4[numstable].set(ctes_.momenta[0][6],ctes_.momenta[1][6], ctes_.momenta[2][6], ctes_.momenta[3][6]); 00697 numstable++; 00698 } 00699 if (flags_.pion == 8) { // pi+ pi-pi0 00700 // pi+ 00701 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(211); 00702 p4[numstable].set(ctes_.momenta[0][5],ctes_.momenta[1][5], ctes_.momenta[2][5], ctes_.momenta[3][5]); 00703 numstable++; 00704 // pi- 00705 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(-211); 00706 p4[numstable].set(ctes_.momenta[0][6],ctes_.momenta[1][6], ctes_.momenta[2][6], ctes_.momenta[3][6]); 00707 numstable++; 00708 // pi0 00709 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(111); 00710 p4[numstable].set(ctes_.momenta[0][7],ctes_.momenta[1][7], ctes_.momenta[2][7], ctes_.momenta[3][7]); 00711 numstable++; 00712 } 00713 if (flags_.pion == 9) { //Lambda Lambdabar-> pi+ pi- ppbar 00714 // pi+ 00715 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(211); 00716 p4[numstable].set(ctes_.momenta[0][7],ctes_.momenta[1][7], ctes_.momenta[2][7], ctes_.momenta[3][7]); 00717 numstable++; 00718 // pbar 00719 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(-2212); 00720 p4[numstable].set(ctes_.momenta[0][8],ctes_.momenta[1][8], ctes_.momenta[2][8], ctes_.momenta[3][8]); 00721 numstable++; 00722 // pi- 00723 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(-211); 00724 p4[numstable].set(ctes_.momenta[0][9],ctes_.momenta[1][9], ctes_.momenta[2][9], ctes_.momenta[3][9]); 00725 numstable++; 00726 // p 00727 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(2212); 00728 p4[numstable].set(ctes_.momenta[0][10],ctes_.momenta[1][10], ctes_.momenta[2][10], ctes_.momenta[3][10]); 00729 numstable++; 00730 } 00731 00732 // ISR gamma 00733 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(22); 00734 p4[numstable].set(ctes_.momenta[0][2],ctes_.momenta[1][2], ctes_.momenta[2][2], ctes_.momenta[3][2]); 00735 numstable++; 00736 if( ctes_.momenta[0][3] != 0 ) // second photon exists 00737 { 00738 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(22); 00739 p4[numstable].set(ctes_.momenta[0][3],ctes_.momenta[1][3], ctes_.momenta[2][3], ctes_.momenta[3][3]); 00740 numstable++; 00741 } 00742 00743 int channel=EvtDecayTable::inChannelList(p->getId(),numstable,evtnumstable); 00744 more=(channel!=-1); 00745 if(more) {std::cout<<"Existence of mode "<<channel<<" in exclusive decay list has the same final state as this one"<<std::endl;abort(); } 00746 00747 p->makeDaughters(numstable,evtnumstable); 00748 //double weight = p->initializePhaseSpace(getNDaug(),getDaugs()); 00749 00750 int ndaugFound=0; 00751 EvtVector4R SUMP4(0,0,0,0); 00752 for(int i=0;i<numstable;i++){ 00753 p->getDaug(i)->init(evtnumstable[i],p4[i]); 00754 ndaugFound++; 00755 } 00756 if ( ndaugFound == 0 ) { 00757 report(ERROR,"EvtGen") << "Phokhara has failed to do a decay "; 00758 report(ERROR,"EvtGen") << EvtPDL::name(p->getId()).c_str() << " " << p->mass()<<endl; 00759 assert(0); 00760 } 00761 00762 nevtgen++; 00763 return ; 00764 00765 }
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_nnbar::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_nnbar::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(), init(), EvtPhokhara_LLB::init(), EvtPhokhara_KK::init(), EvtPhokhara_K0K0::init(), EvtPhokhara_4pi::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_nnbar::getTotalEvt | ( | ) | [inline] |
void EvtPhokhara_nnbar::init | ( | ) | [virtual] |
Reimplemented from EvtDecayBase.
Definition at line 498 of file EvtPhokhara_nnbar.cc.
References EvtDecayBase::checkNArg(), calibUtil::ERROR, EvtDecayBase::getParentId(), EvtPDL::name(), report(), store(), and deljobs::string.
00498 { 00499 checkNArg(0); 00500 00501 std::string locvp=getenv("BESEVTGENROOT"); 00502 system("cat $BESEVTGENROOT/share/phokhara.param>phokhara.param"); 00503 00504 00505 if (getParentId().isAlias()){ 00506 00507 report(ERROR,"EvtGen") << "EvtPhokhara finds that you are decaying the"<<endl 00508 << " aliased particle " 00509 << EvtPDL::name(getParentId()).c_str() 00510 << " with the Phokhara model"<<endl 00511 << " this does not work, please modify decay table." 00512 << endl; 00513 report(ERROR,"EvtGen") << "Will terminate execution!"<<endl; 00514 ::abort(); 00515 00516 } 00517 00518 store(this); 00519 00520 }
void EvtPhokhara_nnbar::init_evt | ( | EvtParticle * | p | ) |
Definition at line 803 of file EvtPhokhara_nnbar.cc.
References cos(), cos1max, cos1min, cos2max, cos2min, cos3max, cos3min, ctes_, cuts_, flags_, EvtPDL::getId(), genRecEmupikp::i, 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_nm, m_phot1cut, m_phot2cut, m_pi1cut, m_pi2cut, m_pion, m_q2_max_c, m_q2_min_c, m_q2min, m_tagged, m_w, EvtParticle::mass(), maxima_, qqmax, qqmin, theMmax0, and theMmax1.
Referenced by decay().
00803 { 00804 m_pion=5; 00805 // mu+mu-(0),pi+pi-(1),2pi0pi+pi-(2), 00806 // 2pi+2pi-(3),ppbar(4),nnbar(5), 00807 // K+K-(6),K0K0bar(7),pi+pi-pi0(8), 00808 // Lamb Lambbar->pi-pi+ppbar(9) 00809 if(m_pion<0 || m_pion>9){std::cout<<"mode index for phokhar 0~9, but you give "<<m_pion<<std::endl;abort();} 00810 EvtId myvpho=EvtPDL::getId("vpho"); 00811 m_E = p->mass();//EvtPDL::getMeanMass(myvpho); 00813 m_tagged = 0; 00814 m_nm = 50000 ; // # of events to determine the maximum 00815 m_nlo = 1; // Born(0), NLO(1) 00816 m_w = 0.0001; // soft photon cutoff 00817 m_fsr = 1; // ISR only(0), ISR+FSR(1), ISR+INT+FSR(2) 00818 m_fsrnlo = 1 ; // yes(1), no(0) 00819 m_NarrowRes = 0 ;// none(0) jpsi(1) psip(2) 00820 m_FF_Kaon = 1 ; // constrained (0), unconstrained (1), Kuhn-Khodjamirian-Bruch (2) 00821 m_ivac = 0; // yes(1), no(0) 00822 m_FF_Pion = 0 ; // KS Pionformfactor(0), GS Pionformfactor old(1) and new(2) 00823 m_f0_model = 0 ; // f0+f0(600): KK model(0), no structure(1), no f0+f0(600)(2), f0 KLOE(3) 00824 m_q2min = 0.0; // minimal hadrons(muons)-gamma-inv mass squared (GeV^2) 00825 m_q2_min_c = 0.0447 ; // minimal inv. mass squared of the hadrons(muons)(GeV^2) 00826 m_q2_max_c = m_E*m_E; // maximal inv. mass squared of the hadrons(muons)(GeV^2) 00827 m_gmin = 0.001; // minimal photon energy/missing energy (GeV) 00828 m_phot1cut = 0.0; // maximal photon angle/missing momentum angle (grad) 00829 m_phot2cut = 180.0; // maximal photon angle/missing momentum angle (grad) 00830 m_pi1cut = 0.0 ; // minimal hadrons(muons) angle (grad) 00831 m_pi2cut = 180.0; // maximal hadrons(muons) angle (grad) 00832 00833 if(!(m_pion==0 || m_pion==1 || m_pion==6)){m_fsr = 0; m_fsrnlo = 0 ;} 00834 if( m_pion==9 ){m_nlo = 0 ;} 00835 // --- input parameter initialization ----------- 00836 maxima_.iprint = 0; 00837 flags_.nlo = m_nlo; 00838 flags_.pion = m_pion; 00839 flags_.fsr = m_fsr; 00840 flags_.fsrnlo = m_fsrnlo; 00841 flags_.ivac = m_ivac; 00842 flags_.FF_pion = m_FF_Pion; 00843 flags_.f0_model = m_f0_model; 00844 flags_.FF_kaon = m_FF_Kaon; 00845 flags_.narr_res = m_NarrowRes; 00846 00847 ctes_.Sp = m_E*m_E; ; 00848 00849 cuts_.w = m_w; 00850 cuts_.q2min = m_q2min; 00851 cuts_.q2_min_c = m_q2_min_c; 00852 cuts_.q2_max_c = m_q2_max_c; 00853 cuts_.gmin = m_gmin; 00854 cuts_.phot1cut = m_phot1cut; 00855 cuts_.phot2cut = m_phot2cut; 00856 cuts_.pi1cut = m_pi1cut; 00857 cuts_.pi2cut = m_pi2cut; 00858 00859 INPUT(); 00860 00861 cos1min = cos(cuts_.phot2cut*ctes_.pi/180.0); // photon1 angle cuts in the 00862 cos1max = cos(cuts_.phot1cut*ctes_.pi/180.0); // LAB rest frame 00863 cos2min = -1.0; // photon2 angle limits 00864 cos2max = 1.0; // 00865 cos3min = -1.0; // hadrons/muons angle limits 00866 cos3max = 1.0; // in their rest frame 00867 if (flags_.pion == 0) // virtual photon energy cut 00868 qqmin = 4.0*ctes_.mmu*ctes_.mmu; 00869 else if (flags_.pion == 1) 00870 qqmin = 4.0*ctes_.mpi*ctes_.mpi; 00871 else if (flags_.pion == 2) 00872 qqmin = 4.0*(ctes_.mpi+ctes_.mpi0)*(ctes_.mpi+ctes_.mpi0); 00873 else if (flags_.pion == 3) 00874 qqmin = 16.0*ctes_.mpi*ctes_.mpi; 00875 else if (flags_.pion == 4) 00876 qqmin = 4.0*ctes_.mp*ctes_.mp; 00877 else if (flags_.pion == 5) 00878 qqmin = 4.0*ctes_.mnt*ctes_.mnt; 00879 else if (flags_.pion == 6) 00880 qqmin = 4.0*ctes_.mKp*ctes_.mKp; 00881 else if (flags_.pion == 7) 00882 qqmin = 4.0*ctes_.mKn*ctes_.mKn; 00883 else if (flags_.pion == 8) 00884 qqmin = (2.0*ctes_.mpi+ctes_.mpi0)*(2.0*ctes_.mpi+ctes_.mpi0); 00885 else if (flags_.pion == 9) 00886 qqmin = 4.0*ctes_.mlamb*ctes_.mlamb; 00887 qqmax = ctes_.Sp-2.0*sqrt(ctes_.Sp)*cuts_.gmin; // if only one photon 00888 if (cuts_.q2_max_c < qqmax) 00889 qqmax=cuts_.q2_max_c; // external cuts 00890 00891 // ------------------- 00892 if ( (cuts_.q2_min_c > qqmin) && (cuts_.q2_min_c < (ctes_.Sp*(1.0-2.0*(cuts_.gmin/sqrt(ctes_.Sp)+cuts_.w))) ) ) 00893 qqmin = cuts_.q2_min_c; 00894 else { 00895 } 00896 00897 00898 // ================================================= 00899 // --- finding the maximum ------------------------- 00900 for(int i = 0; i<2; i++) 00901 { 00902 maxima_.Mmax[i] = 1.0; 00903 maxima_.gross[i] = 0.0; 00904 maxima_.klein[i] = 0.0; 00905 } 00906 00907 if (flags_.nlo == 0) 00908 maxima_.Mmax[1]=0.0; // only 1 photon events generated 00909 00910 maxima_.tr[0] = 0.0; 00911 maxima_.tr[1] = 0.0; 00912 maxima_.count[0] = 0.0; 00913 maxima_.count[1] = 0.0; 00914 00915 // ================================================= 00916 // --- for the second run --- 00917 maxima_.Mmax[0] = theMmax0; 00918 maxima_.Mmax[1] = theMmax1; 00919 if((flags_.pion == 1) && (flags_.fsrnlo == 1)) 00920 maxima_.Mmax[1]=maxima_.Mmax[1]*1.5; 00921 if((flags_.pion == 0) && (flags_.fsrnlo == 1)) 00922 maxima_.Mmax[1]=maxima_.Mmax[1]*1.5; 00923 00924 if((flags_.pion == 0) && (flags_.fsr == 1) && (flags_.fsrnlo == 0)) 00925 maxima_.Mmax[1]=maxima_.Mmax[1]*1.2; 00926 00927 if((flags_.pion == 2) || (flags_.pion == 3)){ 00928 maxima_.Mmax[0]=maxima_.Mmax[0]*1.1; 00929 maxima_.Mmax[1]=maxima_.Mmax[1]*1.1; 00930 } 00931 00932 if(flags_.pion == 8){ 00933 maxima_.Mmax[0]=maxima_.Mmax[0]*1.08; 00934 maxima_.Mmax[1]=maxima_.Mmax[1]*1.1; 00935 } 00936 // --- end of the second run ----------------------- 00937 00938 maxima_.tr[0] = 0.0; 00939 maxima_.tr[1] = 0.0; 00940 maxima_.count[0] = 0.0; 00941 maxima_.count[1] = 0.0; 00942 }
void EvtPhokhara_nnbar::init_mode | ( | EvtParticle * | p | ) |
Definition at line 115 of file EvtPhokhara_nnbar.cc.
References Ar, Ar_r, cos(), cos1max, cos1min, cos2max, cos2min, cos3max, cos3min, ctes_, cuts_, flags_, GEN_1PH, EvtPDL::getId(), genRecEmupikp::i, 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_tagged, m_w, EvtParticle::mass(), maxima_, qqmax, qqmin, RANLXDF, and RLXDINIT.
Referenced by decay().
00115 { 00116 m_pion=5; 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 m_tagged = 0; 00126 m_nm = 50000 ; // # of events to determine the maximum 00127 m_nlo = 1; // Born(0), NLO(1) 00128 m_w = 0.0001; // soft photon cutoff 00129 m_fsr = 1; // ISR only(0), ISR+FSR(1), ISR+INT+FSR(2) 00130 m_fsrnlo = 1 ; // yes(1), no(0) 00131 m_NarrowRes = 0 ;// none(0) jpsi(1) psip(2) 00132 m_FF_Kaon = 1 ; // constrained (0), unconstrained (1), Kuhn-Khodjamirian-Bruch (2) 00133 m_ivac = 0; // yes(1), no(0) 00134 m_FF_Pion = 0 ; // KS Pionformfactor(0), GS Pionformfactor old(1) and new(2) 00135 m_f0_model = 0 ; // f0+f0(600): KK model(0), no structure(1), no f0+f0(600)(2), f0 KLOE(3) 00136 m_q2min = 0.0; // minimal hadrons(muons)-gamma-inv mass squared (GeV^2) 00137 m_q2_min_c = 0.0447 ; // minimal inv. mass squared of the hadrons(muons)(GeV^2) 00138 m_q2_max_c = m_E*m_E; // maximal inv. mass squared of the hadrons(muons)(GeV^2) 00139 m_gmin = 0.001; // minimal photon energy/missing energy (GeV) 00140 m_phot1cut = 0.0; // maximal photon angle/missing momentum angle (grad) 00141 m_phot2cut = 180.0; // maximal photon angle/missing momentum angle (grad) 00142 m_pi1cut = 0.0 ; // minimal hadrons(muons) angle (grad) 00143 m_pi2cut = 180.0; // maximal hadrons(muons) angle (grad) 00144 00145 if(!(m_pion==0 || m_pion==1 || m_pion==6)){m_fsr = 0; m_fsrnlo = 0 ;} 00146 if( m_pion==9 ){m_nlo = 0 ;} 00147 // --- input parameter initialization ----------- 00148 m_initSeed = 123456789; 00149 RLXDINIT(1, m_initSeed); 00150 maxima_.iprint = 0; 00151 flags_.nlo = m_nlo; 00152 flags_.pion = m_pion; 00153 flags_.fsr = m_fsr; 00154 flags_.fsrnlo = m_fsrnlo; 00155 flags_.ivac = m_ivac; 00156 flags_.FF_pion = m_FF_Pion; 00157 flags_.f0_model = m_f0_model; 00158 flags_.FF_kaon = m_FF_Kaon; 00159 flags_.narr_res = m_NarrowRes; 00160 00161 ctes_.Sp = m_E*m_E; ; 00162 00163 cuts_.w = m_w; 00164 cuts_.q2min = m_q2min; 00165 cuts_.q2_min_c = m_q2_min_c; 00166 cuts_.q2_max_c = m_q2_max_c; 00167 cuts_.gmin = m_gmin; 00168 cuts_.phot1cut = m_phot1cut; 00169 cuts_.phot2cut = m_phot2cut; 00170 cuts_.pi1cut = m_pi1cut; 00171 cuts_.pi2cut = m_pi2cut; 00172 00173 INPUT(); 00174 00175 // --- print run data ------------------------------ 00176 cout << "-------------------------------------------------------------" << endl; 00177 if (flags_.pion == 0) 00178 cout << " PHOKHARA 7.0 : e^+ e^- -> mu^+ mu^- gamma" << endl; 00179 else if (flags_.pion == 1) 00180 cout << " PHOKHARA 7.0: e^+ e^- -> pi^+ pi^- gamma" << endl; 00181 else if (flags_.pion == 2) 00182 cout << " PHOKHARA 7.0: e^+ e^- -> pi^+ pi^- 2pi^0 gamma" << endl; 00183 else if (flags_.pion == 3) 00184 cout << " PHOKHARA 7.0: e^+ e^- -> 2pi^+ 2pi^- gamma" << endl; 00185 else if (flags_.pion == 4) 00186 cout << " PHOKHARA 7.0: e^+ e^- -> p pbar gamma" << endl; 00187 else if (flags_.pion == 5) 00188 cout << " PHOKHARA 7.0: e^+ e^- -> n nbar gamma" << endl; 00189 else if (flags_.pion == 6) 00190 cout << " PHOKHARA 7.0: e^+ e^- -> K^+ K^- gamma" << endl; 00191 else if (flags_.pion == 7) 00192 cout << " PHOKHARA 7.0: e^+ e^- -> K_0 K_0bar gamma" << endl; 00193 else if (flags_.pion == 8) 00194 cout << " PHOKHARA 7.0: e^+ e^- -> pi^+ pi^- pi^0 gamma" << endl; 00195 else if (flags_.pion == 9) { 00196 cout << "PHOKHARA 7.0 : e^+ e^- ->" << endl; 00197 cout << " Lambda (-> pi^- p) Lambda bar (-> pi^+ pbar) gamma" << endl; 00198 } else 00199 cout << " PHOKHARA 7.0: not yet implemented" << endl; 00200 00201 // -------------------------------- 00202 cout << "--------------------------------------------------------------" << endl; 00203 printf(" %s %f %s\n","cms total energy = ",sqrt(ctes_.Sp)," GeV "); 00204 00205 //if((cuts_.gmin/2.0/ctes_.ebeam) < 0.000098){ 00206 if(cuts_.gmin<0.001){ 00207 cerr << " minimal missing energy set too small" << endl; 00208 abort(); 00209 } 00210 printf(" %s %f %s\n","minimal tagged photon energy = ",cuts_.gmin," GeV "); 00211 printf(" %s %f,%f\n","angular cuts on tagged photon = ",cuts_.phot1cut,cuts_.phot2cut); 00212 00213 // -------------------------------- 00214 if (flags_.pion == 0) 00215 printf(" %s %f,%f\n","angular cuts on muons = ",cuts_.pi1cut,cuts_.pi2cut); 00216 else if (flags_.pion == 4) 00217 printf(" %s %f,%f\n","angular cuts on protons = ",cuts_.pi1cut,cuts_.pi2cut); 00218 else if (flags_.pion == 5) 00219 printf(" %s %f,%f\n","angular cuts on neutrons = ", cuts_.pi1cut,cuts_.pi2cut); 00220 else if ((flags_.pion == 6)||(flags_.pion == 7)) 00221 printf(" %s %f,%f\n","angular cuts on kaons = ", cuts_.pi1cut,cuts_.pi2cut); 00222 else if (flags_.pion == 9) 00223 printf(" %s %f,%f\n","angular cuts on pions and protons = ", cuts_.pi1cut,cuts_.pi2cut); 00224 else 00225 printf(" %s %f,%f\n","angular cuts on pions = ", cuts_.pi1cut,cuts_.pi2cut); 00226 if (flags_.pion == 0) 00227 printf(" %s %f %s\n","min. muons-tagged photon inv.mass^2 = ", cuts_.q2min," GeV^2"); 00228 else if (flags_.pion == 4) 00229 printf(" %s %f %s\n","min. protons-tagged photon inv.mass^2 = ", cuts_.q2min," GeV^2" ); 00230 else if (flags_.pion == 5) 00231 printf(" %s %f %s\n","min. neutrons-tagged photon inv.mass^2 = ", cuts_.q2min," GeV^2" ); 00232 else if ((flags_.pion == 6)||(flags_.pion == 7)) 00233 printf(" %s %f %s\n","min. kaons-tagged photon inv.mass^2 = ", cuts_.q2min," GeV^2" ); 00234 else if (flags_.pion == 9) 00235 printf(" %s %f %s\n"," min. lambdas-tagged photon inv.mass^2 = ", cuts_.q2min," GeV^2" ); 00236 else 00237 printf(" %s %f %s\n","min. pions-tagged photon inv.mass^2 = ", cuts_.q2min," GeV^2" ); 00238 cos1min = cos(cuts_.phot2cut*ctes_.pi/180.0); // photon1 angle cuts in the 00239 cos1max = cos(cuts_.phot1cut*ctes_.pi/180.0); // LAB rest frame 00240 cos2min = -1.0; // photon2 angle limits 00241 cos2max = 1.0; // 00242 cos3min = -1.0; // hadrons/muons angle limits 00243 cos3max = 1.0; // in their rest frame 00244 if (flags_.pion == 0) // virtual photon energy cut 00245 qqmin = 4.0*ctes_.mmu*ctes_.mmu; 00246 else if (flags_.pion == 1) 00247 qqmin = 4.0*ctes_.mpi*ctes_.mpi; 00248 else if (flags_.pion == 2) 00249 qqmin = 4.0*(ctes_.mpi+ctes_.mpi0)*(ctes_.mpi+ctes_.mpi0); 00250 else if (flags_.pion == 3) 00251 qqmin = 16.0*ctes_.mpi*ctes_.mpi; 00252 else if (flags_.pion == 4) 00253 qqmin = 4.0*ctes_.mp*ctes_.mp; 00254 else if (flags_.pion == 5) 00255 qqmin = 4.0*ctes_.mnt*ctes_.mnt; 00256 else if (flags_.pion == 6) 00257 qqmin = 4.0*ctes_.mKp*ctes_.mKp; 00258 else if (flags_.pion == 7) 00259 qqmin = 4.0*ctes_.mKn*ctes_.mKn; 00260 else if (flags_.pion == 8) 00261 qqmin = (2.0*ctes_.mpi+ctes_.mpi0)*(2.0*ctes_.mpi+ctes_.mpi0); 00262 else if (flags_.pion == 9) 00263 qqmin = 4.0*ctes_.mlamb*ctes_.mlamb; 00264 qqmax = ctes_.Sp-2.0*sqrt(ctes_.Sp)*cuts_.gmin; // if only one photon 00265 if (cuts_.q2_max_c < qqmax) 00266 qqmax=cuts_.q2_max_c; // external cuts 00267 00268 // ------------------- 00269 if ( (cuts_.q2_min_c > qqmin) && (cuts_.q2_min_c < (ctes_.Sp*(1.0-2.0*(cuts_.gmin/sqrt(ctes_.Sp)+cuts_.w))) ) ) 00270 qqmin = cuts_.q2_min_c; 00271 else { 00272 cerr << "------------------------------" << endl; 00273 cerr << " Q^2_min TOO SMALL" << endl; 00274 cerr << " Q^2_min CHANGED BY PHOKHARA = " << qqmin << " GeV^2" << endl; 00275 cerr << "------------------------------" << endl; 00276 } 00277 // ------------------- 00278 if(qqmax <= qqmin){ 00279 cerr << " Q^2_max to small " << endl; 00280 cerr << " Q^2_max = " << qqmax << endl; 00281 cerr << " Q^2_min = " << qqmin << endl; 00282 abort(); 00283 } 00284 00285 // ------------------- 00286 if (flags_.pion == 0) { 00287 printf(" %s %f %s\n", "minimal muon-pair invariant mass^2 = ", qqmin," GeV^2"); 00288 printf(" %s %f %s\n", "maximal muon-pair invariant mass^2 = ", qqmax," GeV^2"); 00289 } else if (flags_.pion == 1) { 00290 printf(" %s %f %s\n", "minimal pion-pair invariant mass^2 = ", qqmin," GeV^2"); 00291 printf(" %s %f %s\n", "maximal pion-pair invariant mass^2 = ", qqmax," GeV^2"); 00292 } else if (flags_.pion == 4) { 00293 printf(" %s %f %s\n", "minimal proton-pair invariant mass^2 = ", qqmin," GeV^2"); 00294 printf(" %s %f %s\n", "maximal proton-pair invariant mass^2 = ", qqmax," GeV^2"); 00295 } else if (flags_.pion == 5) { 00296 printf(" %s %f %s\n", "minimal neutron-pair invariant mass^2 = ", qqmin," GeV^2"); 00297 printf(" %s %f %s\n", "maximal neutron-pair invariant mass^2 = ", qqmax," GeV^2"); 00298 } else if ((flags_.pion == 6) || (flags_.pion == 7)) { 00299 printf(" %s %f %s\n", "minimal kaon-pair invariant mass^2 = ", qqmin," GeV^2"); 00300 printf(" %s %f %s\n", "maximal kaon-pair invariant mass^2 = ", qqmax," GeV^2"); 00301 } else if(flags_.pion == 8){ 00302 printf(" %s %f %s\n", "minimal three-pion invariant mass^2 = ", qqmin," GeV^2"); 00303 printf(" %s %f %s\n", "maximal three-pion invariant mass^2 = ", qqmax," GeV^2"); 00304 } else if(flags_.pion == 9){ 00305 printf(" %s %f %s\n", "minimal lambda-pair invariant mass^2 = ", qqmin," GeV^2"); 00306 printf(" %s %f %s\n", "maximal lambda-pair invariant mass^2 = ", qqmax," GeV^2"); 00307 } else { 00308 printf(" %s %f %s\n", "minimal four-pion invariant mass^2 = ", qqmin," GeV^2" ); 00309 printf(" %s %f %s\n", "maximal four-pion invariant mass^2 = ", qqmax," GeV^2"); 00310 } 00311 // ------------------- 00312 if (flags_.nlo == 0) { 00313 cout << "Born" << endl; 00314 if(flags_.fsrnlo != 0){ 00315 cerr << "WRONG FSRNLO flag - only fsrnlo=0 allowed for Born" << endl; 00316 abort(); 00317 } 00318 } 00319 // ------------------- 00320 if((flags_.pion == 9) && (flags_.nlo != 0)) { 00321 cerr << "WRONG NLO flag - only Born allowed for Lambdas"<< endl; 00322 cerr << "If you feel that you need NLO"<< endl; 00323 cerr << "please contact the authors"<< endl; 00324 abort(); 00325 } 00326 // ------------------- 00327 if (flags_.nlo == 1) printf(" %s %f\n", "NLO: soft photon cutoff w = ",cuts_.w); 00328 if ((flags_.pion <= 1) || (flags_.pion == 6)) 00329 { 00330 00331 if( ! ((flags_.fsr == 1) || (flags_.fsr == 2) || (flags_.fsrnlo == 0) 00332 || (flags_.fsr == 1) || (flags_.fsrnlo == 1) 00333 || (flags_.fsr == 0) || (flags_.fsrnlo == 0))) { 00334 cerr << "WRONG combination of FSR, FSRNLO flags" <<endl; 00335 abort(); 00336 } 00337 // ------------------ 00338 if (flags_.fsr == 0) 00339 cout << "ISR only" << endl; 00340 else if (flags_.fsr == 1) 00341 cout << "ISR+FSR" << endl; 00342 else if (flags_.fsr == 2) { 00343 if (flags_.nlo == 0) 00344 cout << "ISR+INT+FSR" << endl; 00345 else { 00346 cerr << "WRONG FSR flag: interference is included only for nlo=0" << endl; 00347 abort(); 00348 } 00349 } 00350 else { 00351 cerr << "WRONG FSR flag" << flags_.fsr << endl; 00352 abort(); 00353 } 00354 if(flags_.fsrnlo == 1) 00355 cout << "IFSNLO included" << endl; 00356 } 00357 else 00358 { 00359 if((flags_.fsr == 0) && (flags_.fsrnlo == 0)) 00360 cout << "ISR only" << endl; 00361 else { 00362 cerr << "FSR is implemented only for pi+pi-, mu+mu- and K+K- modes" << endl; 00363 abort(); 00364 } 00365 } 00366 // ------------------ 00367 if(flags_.ivac == 0){ 00368 cout << "Vacuum polarization is NOT included" << endl;} 00369 else if(flags_.ivac == 1){ 00370 cout << "Vacuum polarization by Fred Jegerlehner (http://www-com.physik.hu-berlin.de/fjeger/alphaQEDn.uu)" << endl;} 00371 else if(flags_.ivac == 2){ 00372 cout << "Vacuum polarization (VP_HLMNT_v1_3nonr) by Daisuke Nomura and Thomas Teubner" << endl;} 00373 else { 00374 cout << "WRONG vacuum polarization switch" << endl; 00375 abort(); 00376 } 00377 00378 // ----------------- 00379 if(flags_.pion == 1){ 00380 if(flags_.FF_pion == 0) 00381 cout << "Kuhn-Santamaria PionFormFactor" << endl; 00382 else if(flags_.FF_pion == 1) 00383 cout << "Gounaris-Sakurai PionFormFactor old" << endl; 00384 else if(flags_.FF_pion == 2) 00385 cout << "Gounaris-Sakurai PionFormFactor new" << endl; 00386 else { 00387 cout << "WRONG PionFormFactor switch" << endl; 00388 abort(); 00389 } 00390 if(flags_.fsr != 0){ 00391 if(flags_.f0_model == 0) 00392 cout << "f0+f0(600): K+K- model" << endl; 00393 else if(flags_.f0_model == 1) 00394 cout << "f0+f0(600): \"no structure\" model" << endl; 00395 else if(flags_.f0_model == 2) 00396 cout << "NO f0+f0(600)" << endl; 00397 else if(flags_.f0_model == 3) 00398 cout << "only f0, KLOE: Cesare Bini-private communication" << endl; 00399 else { 00400 cout << "WRONG f0+f0(600) switch" << endl; 00401 abort(); 00402 } 00403 } 00404 } 00405 //------- 00406 if((flags_.pion == 6) || (flags_.pion==7)){ 00407 if(flags_.FF_kaon == 0) 00408 cout << "constrained KaonFormFactor" << endl; 00409 else if(flags_.FF_kaon == 1) { 00410 cout << "unconstrained KaonFormFactor" << endl;} 00411 else if(flags_.FF_kaon == 2) { 00412 cout << "Kuhn-Khodjamirian-Bruch KaonFormFactor" << endl;} 00413 else{ 00414 cout << "WRONG KaonFormFactor switch" << endl; 00415 abort(); 00416 } 00417 } 00418 // -------------------- 00419 if((flags_.pion == 0) || (flags_.pion==1) || (flags_.pion == 6) || (flags_.pion == 7)){ 00420 if(flags_.narr_res == 1){ 00421 cout << "THE NARROW RESONANCE J/PSI INCLUDED" << endl;} 00422 else if(flags_.narr_res == 2){ 00423 cout << "THE NARROW RESONANCE PSI(2S) INCLUDED" << endl;} 00424 else if(flags_.narr_res != 0){ 00425 cout << "wrong flag narr_res: only 0, 1 or 2 allowed" << endl; 00426 abort(); 00427 } 00428 } 00429 // ------ 00430 cout << "--------------------------------------------------------------" << endl; 00431 // 00432 // ================================================= 00433 // --- finding the maximum ------------------------- 00434 for(int i = 0; i<2; i++) 00435 { 00436 maxima_.Mmax[i] = 1.0; 00437 maxima_.gross[i] = 0.0; 00438 maxima_.klein[i] = 0.0; 00439 } 00440 00441 if (flags_.nlo == 0) 00442 maxima_.Mmax[1]=0.0; // only 1 photon events generated 00443 00444 maxima_.tr[0] = 0.0; 00445 maxima_.tr[1] = 0.0; 00446 maxima_.count[0] = 0.0; 00447 maxima_.count[1] = 0.0; 00448 00449 // ================================================= 00450 // --- beginning the MC loop event generation ------ 00451 for(int j = 1; j <= m_nm; j++) 00452 { 00453 RANLXDF(Ar_r,1); 00454 Ar[1] = Ar_r[0]; 00455 if (Ar[1] <= (maxima_.Mmax[0]/(maxima_.Mmax[0]+maxima_.Mmax[1]))) { 00456 maxima_.count[0] = maxima_.count[0]+1.0; 00457 GEN_1PH(1,qqmin,qqmax,cos1min,cos1max,cos3min,cos3max); 00458 } 00459 else { 00460 maxima_.count[1] = maxima_.count[1]+1.0; 00461 GEN_2PH(1,qqmin,cos1min,cos1max,cos2min,cos2max,cos3min,cos3max); 00462 } 00463 } 00464 // --- end of the MC loop -------------------------- 00465 // ================================================= 00466 // --- for the second run --- 00467 maxima_.Mmax[0] = maxima_.gross[0]+.05*sqrt(maxima_.gross[0]*maxima_.gross[0]); 00468 maxima_.Mmax[1] = maxima_.gross[1]+(.03+.02*ctes_.Sp)*sqrt(maxima_.gross[1]*maxima_.gross[1]); 00469 theMmax0=maxima_.Mmax[0]; 00470 theMmax1=maxima_.Mmax[1]; 00471 if((flags_.pion == 1) && (flags_.fsrnlo == 1)) 00472 maxima_.Mmax[1]=maxima_.Mmax[1]*1.5; 00473 if((flags_.pion == 0) && (flags_.fsrnlo == 1)) 00474 maxima_.Mmax[1]=maxima_.Mmax[1]*1.5; 00475 00476 if((flags_.pion == 0) && (flags_.fsr == 1) && (flags_.fsrnlo == 0)) 00477 maxima_.Mmax[1]=maxima_.Mmax[1]*1.2; 00478 00479 if((flags_.pion == 2) || (flags_.pion == 3)){ 00480 maxima_.Mmax[0]=maxima_.Mmax[0]*1.1; 00481 maxima_.Mmax[1]=maxima_.Mmax[1]*1.1; 00482 } 00483 00484 if(flags_.pion == 8){ 00485 maxima_.Mmax[0]=maxima_.Mmax[0]*1.08; 00486 maxima_.Mmax[1]=maxima_.Mmax[1]*1.1; 00487 } 00488 // --- end of the second run ----------------------- 00489 00490 maxima_.tr[0] = 0.0; 00491 maxima_.tr[1] = 0.0; 00492 maxima_.count[0] = 0.0; 00493 maxima_.count[1] = 0.0; 00494 }
void EvtPhokhara_nnbar::initProbMax | ( | ) | [virtual] |
Reimplemented from EvtDecayBase.
Definition at line 108 of file EvtPhokhara_nnbar.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(), initProbMax(), EvtPhokhara_LLB::initProbMax(), EvtPhokhara_KK::initProbMax(), EvtPhokhara_K0K0::initProbMax(), EvtPhokhara_4pi::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_nnbar::PhokharaInit | ( | int | dummy | ) |
Definition at line 790 of file EvtPhokhara_nnbar.cc.
References first.
00790 { 00791 static int first=1; 00792 if (first){ 00793 00794 first=0; 00795 //for(int i=0;i<ncommand;i++) 00796 // lugive0_(commands[i].c_str(),strlen(commands[i].c_str())); 00797 } 00798 00799 }
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_nnbar::store | ( | EvtDecayBase * | jsdecay | ) | [private] |
Definition at line 769 of file EvtPhokhara_nnbar.cc.
References genRecEmupikp::i, nphokharadecays, ntable, and phokharadecays.
Referenced by init().
00769 { 00770 00771 if (nphokharadecays==ntable){ 00772 00773 EvtDecayBasePtr* newphokharadecays=new EvtDecayBasePtr[2*ntable+10]; 00774 int i; 00775 for(i=0;i<ntable;i++){ 00776 newphokharadecays[i]=phokharadecays[i]; 00777 } 00778 ntable=2*ntable+10; 00779 delete [] phokharadecays; 00780 phokharadecays=newphokharadecays; 00781 } 00782 00783 phokharadecays[nphokharadecays++]=jsdecay; 00784 00785 00786 00787 }
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_nnbar::Ar[14] [private] |
double EvtPhokhara_nnbar::Ar_r[14] [private] |
std::string * EvtPhokhara_nnbar::commands = 0 [static, private] |
Definition at line 66 of file EvtPhokhara_nnbar.hh.
Referenced by command(), and ~EvtPhokhara_nnbar().
double EvtPhokhara_nnbar::cos1max [private] |
Definition at line 95 of file EvtPhokhara_nnbar.hh.
Referenced by decay(), init_evt(), and init_mode().
double EvtPhokhara_nnbar::cos1min [private] |
Definition at line 95 of file EvtPhokhara_nnbar.hh.
Referenced by decay(), init_evt(), and init_mode().
double EvtPhokhara_nnbar::cos2max [private] |
Definition at line 95 of file EvtPhokhara_nnbar.hh.
Referenced by decay(), init_evt(), and init_mode().
double EvtPhokhara_nnbar::cos2min [private] |
Definition at line 95 of file EvtPhokhara_nnbar.hh.
Referenced by decay(), init_evt(), and init_mode().
double EvtPhokhara_nnbar::cos3max [private] |
Definition at line 95 of file EvtPhokhara_nnbar.hh.
Referenced by decay(), init_evt(), and init_mode().
double EvtPhokhara_nnbar::cos3min [private] |
Definition at line 95 of file EvtPhokhara_nnbar.hh.
Referenced by decay(), init_evt(), and init_mode().
double EvtPhokhara_nnbar::dsigm [private] |
Definition at line 96 of file EvtPhokhara_nnbar.hh.
double EvtPhokhara_nnbar::dsigm1 [private] |
Definition at line 96 of file EvtPhokhara_nnbar.hh.
double EvtPhokhara_nnbar::dsigm2 [private] |
Definition at line 96 of file EvtPhokhara_nnbar.hh.
int EvtPhokhara_nnbar::ievent [private] |
int EvtPhokhara_nnbar::lcommand = 0 [static, private] |
double EvtPhokhara_nnbar::m_E [private] |
int EvtPhokhara_nnbar::m_f0_model [private] |
int EvtPhokhara_nnbar::m_FF_Kaon [private] |
int EvtPhokhara_nnbar::m_FF_Pion [private] |
int EvtPhokhara_nnbar::m_fsr [private] |
int EvtPhokhara_nnbar::m_fsrnlo [private] |
double EvtPhokhara_nnbar::m_gmin [private] |
long int EvtPhokhara_nnbar::m_initSeed [private] |
int EvtPhokhara_nnbar::m_ivac [private] |
int EvtPhokhara_nnbar::m_NarrowRes [private] |
int EvtPhokhara_nnbar::m_nlo [private] |
int EvtPhokhara_nnbar::m_nm [private] |
double EvtPhokhara_nnbar::m_phot1cut [private] |
double EvtPhokhara_nnbar::m_phot2cut [private] |
double EvtPhokhara_nnbar::m_pi1cut [private] |
double EvtPhokhara_nnbar::m_pi2cut [private] |
int EvtPhokhara_nnbar::m_pion [private] |
double EvtPhokhara_nnbar::m_q2_max_c [private] |
double EvtPhokhara_nnbar::m_q2_min_c [private] |
double EvtPhokhara_nnbar::m_q2min [private] |
int EvtPhokhara_nnbar::m_tagged [private] |
double EvtPhokhara_nnbar::m_w [private] |
int EvtPhokhara_nnbar::ncommand = 0 [static, private] |
int EvtPhokhara_nnbar::nevt = 0 [static, private] |
int EvtPhokhara_nnbar::nevtgen = 0 [static, private] |
int EvtPhokhara_nnbar::nphokharadecays = 0 [static, private] |
Definition at line 60 of file EvtPhokhara_nnbar.hh.
Referenced by store(), and ~EvtPhokhara_nnbar().
int EvtPhokhara_nnbar::ntable = 0 [static, private] |
EvtDecayBasePtr * EvtPhokhara_nnbar::phokharadecays = 0 [static, private] |
Definition at line 61 of file EvtPhokhara_nnbar.hh.
Referenced by store(), and ~EvtPhokhara_nnbar().
double EvtPhokhara_nnbar::qqmax [private] |
Definition at line 94 of file EvtPhokhara_nnbar.hh.
Referenced by decay(), init_evt(), and init_mode().
double EvtPhokhara_nnbar::qqmin [private] |
Definition at line 94 of file EvtPhokhara_nnbar.hh.
Referenced by decay(), init_evt(), and init_mode().
double EvtPhokhara_nnbar::sigma [private] |
Definition at line 96 of file EvtPhokhara_nnbar.hh.
double EvtPhokhara_nnbar::sigma1 [private] |
Definition at line 96 of file EvtPhokhara_nnbar.hh.
double EvtPhokhara_nnbar::sigma2 [private] |
Definition at line 96 of file EvtPhokhara_nnbar.hh.
double EvtPhokhara_nnbar::theMmax0 [private] |
double EvtPhokhara_nnbar::theMmax1 [private] |