#include <EvtPhokhara.hh>
Inheritance diagram for EvtPhokhara:
Public Member Functions | |
EvtPhokhara () | |
virtual | ~EvtPhokhara () |
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 |
std::vector< std::vector< double > > | theMmax |
std::vector< int > | nevtgen |
std::vector< std::string > | Vfs |
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 |
Definition at line 33 of file EvtPhokhara.hh.
EvtPhokhara::EvtPhokhara | ( | ) |
EvtPhokhara::~EvtPhokhara | ( | ) | [virtual] |
Definition at line 67 of file EvtPhokhara.cc.
References commands, dsigm, dsigm1, dsigm2, calibUtil::ERROR, flags_, genRecEmupikp::i, ievent, lambda_par_, maxima_, nphokharadecays, phokharadecays, report(), sigma, sigma1, and sigma2.
00067 { 00068 00069 //print out message 00070 // ================================================= 00071 if(flags_.pion == 9) 00072 maxima_.Mmax[1] = maxima_.Mmax[1] * (1.0 + lambda_par_.alpha_lamb)*(1.0 + lambda_par_.alpha_lamb) 00073 * lambda_par_.ratio_lamb*lambda_par_.ratio_lamb; 00074 00075 // --- value of the cross section ------------------ 00076 if (flags_.nlo == 0) { 00077 sigma = maxima_.Mmax[0]/maxima_.count[0]*maxima_.tr[0]; 00078 dsigm = maxima_.Mmax[0]*sqrt((maxima_.tr[0]/maxima_.count[0]-(maxima_.tr[0]/maxima_.count[0])*(maxima_.tr[0]/maxima_.count[0]))/maxima_.count[0]); 00079 } else { 00080 sigma1 = maxima_.Mmax[0]/maxima_.count[0]*maxima_.tr[0]; 00081 sigma2 = maxima_.Mmax[1]/maxima_.count[1]*maxima_.tr[1]; 00082 dsigm1 = maxima_.Mmax[0]*sqrt((maxima_.tr[0]/maxima_.count[0]-(maxima_.tr[0]/maxima_.count[0])*(maxima_.tr[0]/maxima_.count[0]))/maxima_.count[0]); 00083 dsigm2 = maxima_.Mmax[1]*sqrt((maxima_.tr[1]/maxima_.count[1]-(maxima_.tr[1]/maxima_.count[1])*(maxima_.tr[1]/maxima_.count[1]))/maxima_.count[1]); 00084 00085 sigma = sigma1+sigma2; 00086 dsigm = sqrt(dsigm1*dsigm1 + dsigm2*dsigm2); 00087 } 00088 // --- output -------------------------------------- 00089 cout << "-------------------------------------------------------------" << endl; 00090 cout << " PHOKHARA 7.0 Final Statistics " << endl; 00091 cout << "-------------------------------------------------------------" << endl; 00092 cout << int(maxima_.tr[0]+maxima_.tr[1]) << " total events accepted of " << endl; 00093 cout << int(ievent) << " total events generated" << endl; 00094 cout << int(maxima_.tr[0]) << " one photon events accepted of " << endl; 00095 cout << int(maxima_.count[0]) << " events generated" << endl; 00096 cout << int(maxima_.tr[1]) << " two photon events accepted of " << endl; 00097 cout << int(maxima_.count[1]) << " events generated" << endl; 00098 cout << endl; 00099 if (flags_.nlo != 0) cout << "sigma1(nbarn) = " << sigma1 << " +- " << dsigm1 << endl; 00100 if (flags_.nlo != 0) cout << "sigma2(nbarn) = " << sigma2 << " +- " << dsigm2 << endl; 00101 cout << "sigma (nbarn) = " << sigma << " +- " << dsigm << endl; 00102 cout << endl; 00103 cout << "maximum1 = " << maxima_.gross[0] << " minimum1 = " << maxima_.klein[0] << endl; 00104 cout << "Mmax1 = " << maxima_.Mmax[0] << endl; 00105 cout << "maximum2 = " << maxima_.gross[1] << " minimum2 = " << maxima_.klein[1] << endl; 00106 cout << "Mmax2 = " << maxima_.Mmax[1] << endl; 00107 cout << "-------------------------------------------------------------" << endl; 00108 00109 00110 int i; 00111 //the deletion of commands is really uggly! 00112 00113 if (nphokharadecays==0) { 00114 delete [] commands; 00115 commands=0; 00116 return; 00117 } 00118 00119 for(i=0;i<nphokharadecays;i++){ 00120 if (phokharadecays[i]==this){ 00121 phokharadecays[i]=phokharadecays[nphokharadecays-1]; 00122 nphokharadecays--; 00123 if (nphokharadecays==0) { 00124 delete [] commands; 00125 commands=0; 00126 } 00127 return; 00128 } 00129 } 00130 00131 report(ERROR,"EvtGen") << "Error in destroying Phokhara model!"<<endl; 00132 00133 }
void EvtDecayBase::checkNArg | ( | int | a1, | |
int | a2 = -1 , |
|||
int | a3 = -1 , |
|||
int | a4 = -1 | |||
) | [inherited] |
Definition at line 482 of file EvtDecayBase.cc.
References EvtDecayBase::_modelname, EvtDecayBase::_narg, calibUtil::ERROR, EvtDecayBase::printSummary(), and report().
Referenced by EvtVVSPwave::init(), EvtVVPIPI_WEIGHTED::init(), EvtVVpipi::init(), EvtVVP::init(), EvtVSSMix::init(), EvtVSSBMixCPT::init(), EvtVSS::init(), EvtVSPPwave::init(), EvtVPHOtoVISRHi::init(), EvtVPHOtoVISR::init(), EvtVll::init(), EvtVectorIsr::init(), EvtTVSPwave::init(), EvtTSS::init(), EvtTrackGen::init(), EvtTauVectornu::init(), EvtTauScalarnu::init(), EvtTaulnunu::init(), EvtTauHadnu::init(), EvtTauGamMu::init(), EvtT2GV::init(), EvtSVVNONCPEIGEN::init(), EvtSVVHelAmp::init(), EvtSVVCPLH::init(), EvtSVVCP::init(), EvtSVSNONCPEIGEN::init(), EvtSVSCPLH::init(), EvtSVSCPiso::init(), EvtSVSCP::init(), EvtSVS::init(), EvtSVPHelAmp::init(), EvtSVPCP::init(), EvtSTSCP::init(), EvtSTS::init(), EvtSSSCPT::init(), EvtSSSCPpng::init(), EvtSSSCP::init(), EvtSSDCP::init(), EvtSLN::init(), EvtSll::init(), EvtS2GV::init(), EvtRexc::init(), EvtPythia::init(), EvtPyGaGa::init(), EvtPycont::init(), EvtPi0Dalitz::init(), EvtPhsp::init(), EvtPhokhara_ppbar::init(), EvtPhokhara_pipipi0::init(), EvtPhokhara_pipi::init(), EvtPhokhara_pi0pi0pipi::init(), EvtPhokhara_nnbar::init(), EvtPhokhara_LLB::init(), EvtPhokhara_KK::init(), EvtPhokhara_K0K0::init(), EvtPhokhara_4pi::init(), 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(), 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::clone | ( | ) | [virtual] |
Implements EvtDecayBase.
Definition at line 142 of file EvtPhokhara.cc.
00142 { 00143 00144 return new EvtPhokhara; 00145 00146 }
void EvtPhokhara::command | ( | std::string | cmd | ) | [virtual] |
Reimplemented from EvtDecayBase.
Definition at line 586 of file EvtPhokhara.cc.
References commands, genRecEmupikp::i, lcommand, ncommand, and deljobs::string.
00586 { 00587 00588 if (ncommand==lcommand){ 00589 00590 lcommand=10+2*lcommand; 00591 00592 std::string* newcommands=new std::string[lcommand]; 00593 00594 int i; 00595 00596 for(i=0;i<ncommand;i++){ 00597 newcommands[i]=commands[i]; 00598 } 00599 00600 delete [] commands; 00601 00602 commands=newcommands; 00603 00604 } 00605 00606 commands[ncommand]=cmd; 00607 00608 ncommand++; 00609 00610 }
std::string EvtPhokhara::commandName | ( | ) | [virtual] |
Reimplemented from EvtDecayBase.
Definition at line 580 of file EvtPhokhara.cc.
References deljobs::string.
00580 { 00581 00582 return std::string("PhokharaPar"); 00583 00584 }
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::decay | ( | EvtParticle * | p | ) | [virtual] |
Implements EvtDecayBase.
Definition at line 614 of file EvtPhokhara.cc.
References Ar, Ar_r, EvtCyclic3::c_str(), cos1max, cos1min, cos2max, cos2min, cos3max, cos3min, ctes_, calibUtil::ERROR, EvtPDL::evtIdFromStdHep(), flags_, GEN_1PH, GEN_2PH, EvtDecayBase::getArg(), EvtParticle::getDaug(), EvtParticle::getId(), EvtPDL::getId(), EvtPDL::getStdHep(), genRecEmupikp::i, ievent, EvtDecayTable::inChannelList(), EvtParticle::init(), init_evt(), init_mode(), m_pion, EvtParticle::makeDaughters(), EvtParticle::mass(), maxima_, EvtPDL::name(), nevtgen, qqmax, qqmin, RANLXDF, report(), EvtVector4R::set(), and Vfs.
00614 { 00615 EvtId myvpho=EvtPDL::getId("vpho"); 00616 if(p->getId()!=myvpho) {std::cout<<"Parent particle is required to be vpho for Phokhara model"<<std::endl;abort();} 00617 m_pion=getArg(0); 00618 if(nevtgen[m_pion]==0) {init_mode(p);} 00619 else{init_evt(p);} 00620 std::cout<<"PHOKHARA : "<<Vfs[m_pion]<<" mode "<<std::endl; 00621 00622 int istdheppar=EvtPDL::getStdHep(p->getId()); 00623 int ntrials = 0; 00624 int tr_old[2]; 00625 tr_old[0] = (int)maxima_.tr[0]; 00626 tr_old[1] = (int)maxima_.tr[1]; 00627 00628 while( ntrials < 10000) 00629 { 00630 ievent++; 00631 RANLXDF(Ar_r,1); 00632 Ar[1] = Ar_r[0]; 00633 00634 if (Ar[1] <= (maxima_.Mmax[0]/(maxima_.Mmax[0]+maxima_.Mmax[1]))) { 00635 maxima_.count[0] = maxima_.count[0]+1.0; 00636 GEN_1PH(2,qqmin,qqmax,cos1min,cos1max,cos3min,cos3max); 00637 } 00638 else { 00639 maxima_.count[1] = maxima_.count[1]+1.0; 00640 GEN_2PH(2,qqmin,cos1min,cos1max,cos2min,cos2max,cos3min,cos3max); 00641 } 00642 00643 if( ((int)maxima_.tr[0]+(int)maxima_.tr[1]) > (tr_old[0]+tr_old[1]) ) // event accepted after cuts 00644 { 00645 goto storedEvents; 00646 } 00647 ntrials ++; 00648 } 00649 00650 std::cout <<"FATAL: Could not satisfy cuts after " << ntrials << "trials. Terminate." <<std::endl; 00651 //---- 00652 storedEvents: 00653 int more=0; 00654 int numstable=0; 00655 int numparton=0; 00656 EvtId evtnumstable[100];// 00657 EvtVector4R p4[20]; 00658 00659 // except ISR photos, products depending on channel 00660 if (flags_.pion == 0) { // mu+ mu- 00661 // mu+ 00662 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(-13); 00663 p4[numstable].set(ctes_.momenta[0][5],ctes_.momenta[1][5], ctes_.momenta[2][5], ctes_.momenta[3][5]); 00664 numstable++; 00665 // mu - 00666 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(13); 00667 p4[numstable].set(ctes_.momenta[0][6],ctes_.momenta[1][6], ctes_.momenta[2][6], ctes_.momenta[3][6]); 00668 numstable++; 00669 } 00670 if (flags_.pion == 1) { // pi+ pi- 00671 // pi+ 00672 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(211); 00673 p4[numstable].set(ctes_.momenta[0][5],ctes_.momenta[1][5], ctes_.momenta[2][5], ctes_.momenta[3][5]); 00674 numstable++; 00675 // pi - 00676 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(-211); 00677 p4[numstable].set(ctes_.momenta[0][6],ctes_.momenta[1][6], ctes_.momenta[2][6], ctes_.momenta[3][6]); 00678 numstable++; 00679 } 00680 if (flags_.pion == 2) { // pi+ pi-2pi0 00681 // pi0 00682 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(111); 00683 p4[numstable].set(ctes_.momenta[0][5],ctes_.momenta[1][5], ctes_.momenta[2][5], ctes_.momenta[3][5]); 00684 numstable++; 00685 // pi0 00686 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(111); 00687 p4[numstable].set(ctes_.momenta[0][6],ctes_.momenta[1][6], ctes_.momenta[2][6], ctes_.momenta[3][6]); 00688 numstable++; 00689 // pi- 00690 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(-211); 00691 p4[numstable].set(ctes_.momenta[0][7],ctes_.momenta[1][7], ctes_.momenta[2][7], ctes_.momenta[3][7]); 00692 numstable++; 00693 // pi + 00694 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(211); 00695 p4[numstable].set(ctes_.momenta[0][8],ctes_.momenta[1][8], ctes_.momenta[2][8], ctes_.momenta[3][8]); 00696 numstable++; 00697 } 00698 if (flags_.pion == 3) { // 2(pi+ pi-) 00699 // pi+ 00700 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(211); 00701 p4[numstable].set(ctes_.momenta[0][5],ctes_.momenta[1][5], ctes_.momenta[2][5], ctes_.momenta[3][5]); 00702 numstable++; 00703 // pi- 00704 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(-211); 00705 p4[numstable].set(ctes_.momenta[0][6],ctes_.momenta[1][6], ctes_.momenta[2][6], ctes_.momenta[3][6]); 00706 numstable++; 00707 // pi+ 00708 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(-211); 00709 p4[numstable].set(ctes_.momenta[0][7],ctes_.momenta[1][7], ctes_.momenta[2][7], ctes_.momenta[3][7]); 00710 numstable++; 00711 // pi - 00712 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(211); 00713 p4[numstable].set(ctes_.momenta[0][8],ctes_.momenta[1][8], ctes_.momenta[2][8], ctes_.momenta[3][8]); 00714 numstable++; 00715 } 00716 if (flags_.pion == 4) { // ppbar 00717 // pbar 00718 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(-2212); 00719 p4[numstable].set(ctes_.momenta[0][5],ctes_.momenta[1][5], ctes_.momenta[2][5], ctes_.momenta[3][5]); 00720 numstable++; 00721 // p 00722 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(2212); 00723 p4[numstable].set(ctes_.momenta[0][6],ctes_.momenta[1][6], ctes_.momenta[2][6], ctes_.momenta[3][6]); 00724 numstable++; 00725 } 00726 if (flags_.pion == 5) { // nnbar 00727 // pbar 00728 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(-2112); 00729 p4[numstable].set(ctes_.momenta[0][5],ctes_.momenta[1][5], ctes_.momenta[2][5], ctes_.momenta[3][5]); 00730 numstable++; 00731 // p 00732 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(2112); 00733 p4[numstable].set(ctes_.momenta[0][6],ctes_.momenta[1][6], ctes_.momenta[2][6], ctes_.momenta[3][6]); 00734 numstable++; 00735 } 00736 if (flags_.pion == 6) { // K+ K- 00737 // K+ 00738 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(321); 00739 p4[numstable].set(ctes_.momenta[0][5],ctes_.momenta[1][5], ctes_.momenta[2][5], ctes_.momenta[3][5]); 00740 numstable++; 00741 // K - 00742 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(-321); 00743 p4[numstable].set(ctes_.momenta[0][6],ctes_.momenta[1][6], ctes_.momenta[2][6], ctes_.momenta[3][6]); 00744 numstable++; 00745 } 00746 if (flags_.pion == 7) { // K0K0bar 00747 // Kbar 00748 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(310); 00749 p4[numstable].set(ctes_.momenta[0][5],ctes_.momenta[1][5], ctes_.momenta[2][5], ctes_.momenta[3][5]); 00750 numstable++; 00751 // K0 00752 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(130); 00753 p4[numstable].set(ctes_.momenta[0][6],ctes_.momenta[1][6], ctes_.momenta[2][6], ctes_.momenta[3][6]); 00754 numstable++; 00755 } 00756 if (flags_.pion == 8) { // pi+ pi-pi0 00757 // pi+ 00758 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(211); 00759 p4[numstable].set(ctes_.momenta[0][5],ctes_.momenta[1][5], ctes_.momenta[2][5], ctes_.momenta[3][5]); 00760 numstable++; 00761 // pi- 00762 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(-211); 00763 p4[numstable].set(ctes_.momenta[0][6],ctes_.momenta[1][6], ctes_.momenta[2][6], ctes_.momenta[3][6]); 00764 numstable++; 00765 // pi0 00766 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(111); 00767 p4[numstable].set(ctes_.momenta[0][7],ctes_.momenta[1][7], ctes_.momenta[2][7], ctes_.momenta[3][7]); 00768 numstable++; 00769 } 00770 if (flags_.pion == 9) { //Lambda Lambdabar-> pi+ pi- ppbar 00771 // pi+ 00772 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(211); 00773 p4[numstable].set(ctes_.momenta[0][7],ctes_.momenta[1][7], ctes_.momenta[2][7], ctes_.momenta[3][7]); 00774 numstable++; 00775 // pbar 00776 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(-2212); 00777 p4[numstable].set(ctes_.momenta[0][8],ctes_.momenta[1][8], ctes_.momenta[2][8], ctes_.momenta[3][8]); 00778 numstable++; 00779 // pi- 00780 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(-211); 00781 p4[numstable].set(ctes_.momenta[0][9],ctes_.momenta[1][9], ctes_.momenta[2][9], ctes_.momenta[3][9]); 00782 numstable++; 00783 // p 00784 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(2212); 00785 p4[numstable].set(ctes_.momenta[0][10],ctes_.momenta[1][10], ctes_.momenta[2][10], ctes_.momenta[3][10]); 00786 numstable++; 00787 } 00788 00789 // ISR gamma 00790 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(22); 00791 p4[numstable].set(ctes_.momenta[0][2],ctes_.momenta[1][2], ctes_.momenta[2][2], ctes_.momenta[3][2]); 00792 numstable++; 00793 if( ctes_.momenta[0][3] != 0 ) // second photon exists 00794 { 00795 evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(22); 00796 p4[numstable].set(ctes_.momenta[0][3],ctes_.momenta[1][3], ctes_.momenta[2][3], ctes_.momenta[3][3]); 00797 numstable++; 00798 } 00799 00800 int channel=EvtDecayTable::inChannelList(p->getId(),numstable,evtnumstable); 00801 more=(channel!=-1); 00802 if(more) {std::cout<<"Existence of mode "<<channel<<" in exclusive decay list has the same final state as this one"<<std::endl;abort(); } 00803 00804 p->makeDaughters(numstable,evtnumstable); 00805 00806 int ndaugFound=0; 00807 EvtVector4R SUMP4(0,0,0,0); 00808 for(int i=0;i<numstable;i++){ 00809 p->getDaug(i)->init(evtnumstable[i],p4[i]); 00810 ndaugFound++; 00811 } 00812 if ( ndaugFound == 0 ) { 00813 report(ERROR,"EvtGen") << "Phokhara has failed to do a decay "; 00814 report(ERROR,"EvtGen") << EvtPDL::name(p->getId()).c_str() << " " << p->mass()<<endl; 00815 assert(0); 00816 } 00817 00818 nevtgen[m_pion]++; 00819 return ; 00820 00821 }
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::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(), 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(), init_evt(), 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::getName | ( | std::string & | name | ) | [virtual] |
int EvtDecayBase::getNArg | ( | ) | [inline, inherited] |
Definition at line 67 of file EvtDecayBase.hh.
References EvtDecayBase::_narg.
Referenced by EvtParticleDecay::chargeConj(), EvtVPHOtoVISRHi::decay(), EvtVPHOtoVISR::decay(), EvtRhoPi::decay(), EvtOpenCharm::decay(), EvtmPhsp::decay(), EvtLunda::decay(), EvtJscont::decay(), EvtJ2BB3::decay(), EvtJ2BB2::decay(), EvtJ2BB1::decay(), EvtConExc::decay(), EvtCalHelAmp::decay(), EvtBtoXsgamma::decay(), EvtAngSamX::decay(), EvtAngSamLab::decay(), EvtAngSam3::decay(), EvtAngSam::decay(), EvtPto3P::dp(), EvtParticleDecayList::EvtParticleDecayList(), EvtDecayTable::findChannel(), EvtVubNLO::init(), EvtVubHybrid::init(), EvtVub::init(), EvtVSSBMixCPT::init(), EvtSVVNONCPEIGEN::init(), EvtSVSNONCPEIGEN::init(), EvtSSDCP::init(), EvtSLPole::init(), EvtSLBKPole::init(), EvtSinglePoint::init(), EvtSingleParticle2::init(), EvtSingleParticle::init(), EvtPycont::init(), EvtMultibody::init(), EvtmPhsp::init(), EvtLunda::init(), EvtLNuGamma::init(), EvtKKLambdaC::init(), EvtIntervalDecayAmp< EvtDalitzPoint >::init(), EvtHypNonLepton::init(), EvtHQET2::init(), EvtHQET::init(), EvtD0mixDalitz::init(), EvtConExc::init(), EvtCalHelAmp::init(), EvtBtoXsll::init(), EvtBtoXsgamma::init(), EvtAngSamX::init(), EvtAngSamLab::init(), EvtAngSam3::init(), and EvtAngSam::init().
00067 {return _narg;}
int EvtDecayBase::getNDaug | ( | ) | [inline, inherited] |
Definition at line 64 of file EvtDecayBase.hh.
References EvtDecayBase::_ndaug.
Referenced by EvtParticleDecayList::addMode(), EvtParticleDecay::chargeConj(), EvtVVSPwave::decay(), EvtVVPIPI_WEIGHTED::decay(), EvtVVpipi::decay(), EvtVVP::decay(), EvtVubNLO::decay(), EvtVubHybrid::decay(), EvtVub::decay(), EvtVSSMix::decay(), EvtVSSBMixCPT::decay(), EvtVSS::decay(), EvtVSPPwave::decay(), EvtVll::decay(), EvtVectorIsr::decay(), EvtTVSPwave::decay(), EvtTSS::decay(), EvtTrackGen::decay(), EvtTauVectornu::decay(), EvtTauScalarnu::decay(), EvtTaulnunu::decay(), EvtTauHadnu::decay(), EvtTauGamMu::decay(), EvtT2GV::decay(), EvtSVSCPLH::decay(), EvtSVSCPiso::decay(), EvtSVSCP::decay(), EvtSVS::decay(), EvtSVPHelAmp::decay(), EvtSVPCP::decay(), EvtSTSCP::decay(), EvtSTS::decay(), EvtSSSCPT::decay(), EvtSSSCPpng::decay(), EvtSSSCP::decay(), EvtSPL::decay(), EvtSLPole::decay(), EvtSLN::decay(), EvtSll::decay(), EvtSLBKPole::decay(), EvtSinglePoint::decay(), EvtSingleParticle2::decay(), EvtSingleParticle::decay(), EvtS2GV::decay(), EvtRhoPi::decay(), EvtPi0Dalitz::decay(), EvtPhsp::decay(), EvtPhiDalitz::decay(), EvtPBB2::decay(), EvtPBB1::decay(), EvtPartWave::decay(), EvtP2GC2::decay(), EvtP2GC1::decay(), EvtP2GC0::decay(), EvtOmegaDalitz::decay(), EvtMultibody::decay(), EvtmPhsp::decay(), EvtmH2::decay(), EvtMelikhov::decay(), EvtMBody3::decay(), EvtMassH2::decay(), EvtMassH1::decay(), EvtLNuGamma::decay(), EvtLambdaP_BarGamma::decay(), EvtLambdac2pKpi::decay(), EvtKstarstargamma::decay(), EvtKstarnunu::decay(), EvtKKLambdaC::decay(), EvtJTO3P::decay(), EvtJpipi::decay(), EvtJPE::decay(), EvtJ2BB3::decay(), EvtJ2BB2::decay(), EvtJ2BB1::decay(), EvtISGW2::decay(), EvtISGW::decay(), EvtHypWK::decay(), EvtHypNonLepton::decay(), EvtHQET2::decay(), EvtHQET::decay(), EvtHelPPJ::decay(), EvtHelAmp::decay(), EvtHAngSam3::decay(), EvtFlatQ2::decay(), EvtEtaDalitz::decay(), EvtEDM::decay(), EvtDMix::decay(), EvtDIY::decay(), EvtDeBD::decay(), EvtDDalitz::decay(), EvtD0mixDalitz::decay(), EvtChi2BB2::decay(), EvtChi2BB1::decay(), EvtChi1BB2::decay(), EvtChi1BB1::decay(), EvtChi0BB2::decay(), EvtChi0BB1::decay(), EvtCBTo3piP00::decay(), EvtCBTo3piMPP::decay(), EvtCalHelAmp::decay(), EvtBtoXsll::decay(), EvtBtoXsgamma::decay(), EvtBtoXsEtap::decay(), EvtbTosllBall::decay(), EvtbTosllAli::decay(), EvtBToKpipiCP::decay(), EvtBtoKpiCPiso::decay(), EvtBtoKD3P::decay(), EvtBTo4piCP::decay(), EvtBTo3piCP::decay(), EvtBto2piCPiso::decay(), EvtBsquark::decay(), EvtBody3::decay(), EvtBHadronic::decay(), EvtAV2GV::decay(), EvtAngSamX::decay(), EvtAngSamLab::decay(), EvtAngSam3::decay(), EvtAngSam::decay(), EvtAngH2::decay(), EvtGoityRoberts::DecayBDpilnuGR(), EvtGoityRoberts::DecayBDstarpilnuGR(), EvtPto3P::dp(), EvtParticleDecayList::EvtParticleDecayList(), EvtDecayTable::findChannel(), EvtDecayTable::inChannelList(), EvtVSSBMixCPT::init(), EvtTrackGen::init(), EvtTauHadnu::init(), EvtMultibody::init(), EvtHypNonLepton::init(), EvtConExc::init(), EvtTauHadnu::initProbMax(), EvtDecayAmp::makeDecay(), and EvtParticleDecayList::removeMode().
00064 {return _ndaug;}
EvtId EvtDecayBase::getParentId | ( | ) | [inline, inherited] |
Definition at line 60 of file EvtDecayBase.hh.
References EvtDecayBase::_parent.
Referenced by EvtParticleDecayList::addMode(), EvtParticleDecay::chargeConj(), EvtDecayBase::checkSpinParent(), EvtTauola::decay(), EvtPythia::decay(), EvtOpenCharm::decay(), EvtMultibody::decay(), EvtLundCharm::decay(), EvtLunda::decay(), EvtJPE::decay(), EvtJetSet::decay(), EvtJ2BB3::decay(), EvtJ2BB2::decay(), EvtJ2BB1::decay(), EvtPto3P::dp(), EvtParticleDecayList::EvtParticleDecayList(), EvtTauola::fixPolarizations(), EvtVSSBMixCPT::init(), EvtTauola::init(), EvtSSDCP::init(), EvtRhoPi::init(), EvtPythia::init(), EvtPhokhara_ppbar::init(), EvtPhokhara_pipipi0::init(), EvtPhokhara_pipi::init(), EvtPhokhara_pi0pi0pipi::init(), EvtPhokhara_nnbar::init(), EvtPhokhara_LLB::init(), EvtPhokhara_KK::init(), EvtPhokhara_K0K0::init(), EvtPhokhara_4pi::init(), 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::getTotalEvt | ( | ) | [inline] |
void EvtPhokhara::init | ( | ) | [virtual] |
Reimplemented from EvtDecayBase.
Definition at line 540 of file EvtPhokhara.cc.
References EvtDecayBase::checkNArg(), EvtDecayBase::checkNDaug(), calibUtil::ERROR, EvtDecayBase::getParentId(), genRecEmupikp::i, EvtPDL::name(), nevtgen, report(), deljobs::string, theMmax, and Vfs.
00540 { 00541 checkNDaug(0); 00542 checkNArg(1); 00543 nevtgen.resize(10); 00544 theMmax.resize(10); 00545 for(int i=0;i<=10;i++){ theMmax[i].resize(2); nevtgen[i]=0;} 00546 00547 Vfs.push_back(" mu+mu-"); 00548 Vfs.push_back(" pi+pi-"); 00549 Vfs.push_back(" 2pi0pi+pi-"); 00550 Vfs.push_back(" 2pi+2pi-"); 00551 Vfs.push_back(" ppbar"); 00552 Vfs.push_back(" nnbar"); 00553 Vfs.push_back(" K+K-"); 00554 Vfs.push_back(" K0K0bar"); 00555 Vfs.push_back(" pi+pi-pi0"); 00556 Vfs.push_back(" Lambda Lambdabar"); 00557 00558 std::string locvp=getenv("BESEVTGENROOT"); 00559 system("cat $BESEVTGENROOT/share/phokhara.param>phokhara.param"); 00560 00561 00562 if (getParentId().isAlias()){ 00563 00564 report(ERROR,"EvtGen") << "EvtPhokhara finds that you are decaying the"<<endl 00565 << " aliased particle " 00566 << EvtPDL::name(getParentId()).c_str() 00567 << " with the Phokhara model"<<endl 00568 << " this does not work, please modify decay table." 00569 << endl; 00570 report(ERROR,"EvtGen") << "Will terminate execution!"<<endl; 00571 ::abort(); 00572 00573 } 00574 00575 //store(this); 00576 00577 }
void EvtPhokhara::init_evt | ( | EvtParticle * | p | ) |
Definition at line 859 of file EvtPhokhara.cc.
References cos(), cos1max, cos1min, cos2max, cos2min, cos3max, cos3min, ctes_, cuts_, flags_, EvtDecayBase::getArg(), 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, and theMmax.
Referenced by decay().
00859 { 00860 m_pion=getArg(0); 00861 // mu+mu-(0),pi+pi-(1),2pi0pi+pi-(2), 00862 // 2pi+2pi-(3),ppbar(4),nnbar(5), 00863 // K+K-(6),K0K0bar(7),pi+pi-pi0(8), 00864 // Lamb Lambbar->pi-pi+ppbar(9) 00865 if(m_pion<0 || m_pion>9){std::cout<<"mode index for phokhar 0~9, but you give "<<m_pion<<std::endl;abort();} 00866 EvtId myvpho=EvtPDL::getId("vpho"); 00867 m_E = p->mass();//EvtPDL::getMeanMass(myvpho); 00869 m_tagged = 0; 00870 m_nm = 50000 ; // # of events to determine the maximum 00871 m_nlo = 1; // Born(0), NLO(1) 00872 m_w = 0.0001; // soft photon cutoff 00873 m_fsr = 1; // ISR only(0), ISR+FSR(1), ISR+INT+FSR(2) 00874 m_fsrnlo = 1 ; // yes(1), no(0) 00875 m_NarrowRes = 1 ;// none(0) jpsi(1) psip(2) 00876 m_FF_Kaon = 1 ; // constrained (0), unconstrained (1), Kuhn-Khodjamirian-Bruch (2) 00877 m_ivac = 0; // yes(1), no(0) 00878 m_FF_Pion = 0 ; // KS Pionformfactor(0), GS Pionformfactor old(1) and new(2) 00879 m_f0_model = 0 ; // f0+f0(600): KK model(0), no structure(1), no f0+f0(600)(2), f0 KLOE(3) 00880 m_q2min = 0.0; // minimal hadrons(muons)-gamma-inv mass squared (GeV^2) 00881 m_q2_min_c = 0.0447 ; // minimal inv. mass squared of the hadrons(muons)(GeV^2) 00882 m_q2_max_c = m_E*m_E; // maximal inv. mass squared of the hadrons(muons)(GeV^2) 00883 m_gmin = 0.001; // minimal photon energy/missing energy (GeV) 00884 m_phot1cut = 0.0; // maximal photon angle/missing momentum angle (grad) 00885 m_phot2cut = 180.0; // maximal photon angle/missing momentum angle (grad) 00886 m_pi1cut = 0.0 ; // minimal hadrons(muons) angle (grad) 00887 m_pi2cut = 180.0; // maximal hadrons(muons) angle (grad) 00888 00889 if(!(m_pion==0 || m_pion==1 || m_pion==6)){m_fsr = 0; m_fsrnlo = 0 ;} 00890 if( m_pion==9 ){m_nlo = 0 ;} 00891 // --- input parameter initialization ----------- 00892 maxima_.iprint = 0; 00893 flags_.nlo = m_nlo; 00894 flags_.pion = m_pion; 00895 flags_.fsr = m_fsr; 00896 flags_.fsrnlo = m_fsrnlo; 00897 flags_.ivac = m_ivac; 00898 flags_.FF_pion = m_FF_Pion; 00899 flags_.f0_model = m_f0_model; 00900 flags_.FF_kaon = m_FF_Kaon; 00901 flags_.narr_res = m_NarrowRes; 00902 00903 ctes_.Sp = m_E*m_E; ; 00904 00905 cuts_.w = m_w; 00906 cuts_.q2min = m_q2min; 00907 cuts_.q2_min_c = m_q2_min_c; 00908 cuts_.q2_max_c = m_q2_max_c; 00909 cuts_.gmin = m_gmin; 00910 cuts_.phot1cut = m_phot1cut; 00911 cuts_.phot2cut = m_phot2cut; 00912 cuts_.pi1cut = m_pi1cut; 00913 cuts_.pi2cut = m_pi2cut; 00914 00915 INPUT(); 00916 00917 cos1min = cos(cuts_.phot2cut*ctes_.pi/180.0); // photon1 angle cuts in the 00918 cos1max = cos(cuts_.phot1cut*ctes_.pi/180.0); // LAB rest frame 00919 cos2min = -1.0; // photon2 angle limits 00920 cos2max = 1.0; // 00921 cos3min = -1.0; // hadrons/muons angle limits 00922 cos3max = 1.0; // in their rest frame 00923 if (flags_.pion == 0) // virtual photon energy cut 00924 qqmin = 4.0*ctes_.mmu*ctes_.mmu; 00925 else if (flags_.pion == 1) 00926 qqmin = 4.0*ctes_.mpi*ctes_.mpi; 00927 else if (flags_.pion == 2) 00928 qqmin = 4.0*(ctes_.mpi+ctes_.mpi0)*(ctes_.mpi+ctes_.mpi0); 00929 else if (flags_.pion == 3) 00930 qqmin = 16.0*ctes_.mpi*ctes_.mpi; 00931 else if (flags_.pion == 4) 00932 qqmin = 4.0*ctes_.mp*ctes_.mp; 00933 else if (flags_.pion == 5) 00934 qqmin = 4.0*ctes_.mnt*ctes_.mnt; 00935 else if (flags_.pion == 6) 00936 qqmin = 4.0*ctes_.mKp*ctes_.mKp; 00937 else if (flags_.pion == 7) 00938 qqmin = 4.0*ctes_.mKn*ctes_.mKn; 00939 else if (flags_.pion == 8) 00940 qqmin = (2.0*ctes_.mpi+ctes_.mpi0)*(2.0*ctes_.mpi+ctes_.mpi0); 00941 else if (flags_.pion == 9) 00942 qqmin = 4.0*ctes_.mlamb*ctes_.mlamb; 00943 qqmax = ctes_.Sp-2.0*sqrt(ctes_.Sp)*cuts_.gmin; // if only one photon 00944 if (cuts_.q2_max_c < qqmax) 00945 qqmax=cuts_.q2_max_c; // external cuts 00946 00947 // ------------------- 00948 if ( (cuts_.q2_min_c > qqmin) && (cuts_.q2_min_c < (ctes_.Sp*(1.0-2.0*(cuts_.gmin/sqrt(ctes_.Sp)+cuts_.w))) ) ) 00949 qqmin = cuts_.q2_min_c; 00950 else { 00951 } 00952 00953 00954 // ================================================= 00955 // --- finding the maximum ------------------------- 00956 for(int i = 0; i<2; i++) 00957 { 00958 maxima_.Mmax[i] = 1.0; 00959 maxima_.gross[i] = 0.0; 00960 maxima_.klein[i] = 0.0; 00961 } 00962 00963 if (flags_.nlo == 0) 00964 maxima_.Mmax[1]=0.0; // only 1 photon events generated 00965 00966 maxima_.tr[0] = 0.0; 00967 maxima_.tr[1] = 0.0; 00968 maxima_.count[0] = 0.0; 00969 maxima_.count[1] = 0.0; 00970 00971 // ================================================= 00972 // --- for the second run --- 00973 maxima_.Mmax[0] = theMmax[m_pion][0]; 00974 maxima_.Mmax[1] = theMmax[m_pion][1]; 00975 if((flags_.pion == 1) && (flags_.fsrnlo == 1)) 00976 maxima_.Mmax[1]=maxima_.Mmax[1]*1.5; 00977 if((flags_.pion == 0) && (flags_.fsrnlo == 1)) 00978 maxima_.Mmax[1]=maxima_.Mmax[1]*1.5; 00979 00980 if((flags_.pion == 0) && (flags_.fsr == 1) && (flags_.fsrnlo == 0)) 00981 maxima_.Mmax[1]=maxima_.Mmax[1]*1.2; 00982 00983 if((flags_.pion == 2) || (flags_.pion == 3)){ 00984 maxima_.Mmax[0]=maxima_.Mmax[0]*1.1; 00985 maxima_.Mmax[1]=maxima_.Mmax[1]*1.1; 00986 } 00987 00988 if(flags_.pion == 8){ 00989 maxima_.Mmax[0]=maxima_.Mmax[0]*1.08; 00990 maxima_.Mmax[1]=maxima_.Mmax[1]*1.1; 00991 } 00992 // --- end of the second run ----------------------- 00993 00994 maxima_.tr[0] = 0.0; 00995 maxima_.tr[1] = 0.0; 00996 maxima_.count[0] = 0.0; 00997 maxima_.count[1] = 0.0; 00998 }
void EvtPhokhara::init_mode | ( | EvtParticle * | p | ) |
Definition at line 156 of file EvtPhokhara.cc.
References Ar, Ar_r, cos(), cos1max, cos1min, cos2max, cos2min, cos3max, cos3min, ctes_, cuts_, flags_, GEN_1PH, EvtDecayBase::getArg(), 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().
00156 { 00157 m_pion=getArg(0); 00158 // mu+mu-(0),pi+pi-(1),2pi0pi+pi-(2), 00159 // 2pi+2pi-(3),ppbar(4),nnbar(5), 00160 // K+K-(6),K0K0bar(7),pi+pi-pi0(8), 00161 // Lamb Lambbar->pi-pi+ppbar(9) 00162 if(m_pion<0 || m_pion>9){std::cout<<"mode index for phokhar 0~9, but you give "<<m_pion<<std::endl;abort();} 00163 EvtId myvpho=EvtPDL::getId("vpho"); 00164 m_E = p->mass();//EvtPDL::getMeanMass(myvpho); 00166 m_tagged = 0; 00167 m_nm = 50000 ; // # of events to determine the maximum 00168 m_nlo = 1; // Born(0), NLO(1) 00169 m_w = 0.0001; // soft photon cutoff 00170 m_fsr = 1; // ISR only(0), ISR+FSR(1), ISR+INT+FSR(2) 00171 m_fsrnlo = 1 ; // yes(1), no(0) 00172 m_NarrowRes = 1 ;// none(0) jpsi(1) psip(2) 00173 m_FF_Kaon = 1 ; // constrained (0), unconstrained (1), Kuhn-Khodjamirian-Bruch (2) 00174 m_ivac = 0; // yes(1), no(0) 00175 m_FF_Pion = 0 ; // KS Pionformfactor(0), GS Pionformfactor old(1) and new(2) 00176 m_f0_model = 0 ; // f0+f0(600): KK model(0), no structure(1), no f0+f0(600)(2), f0 KLOE(3) 00177 m_q2min = 0.0; // minimal hadrons(muons)-gamma-inv mass squared (GeV^2) 00178 m_q2_min_c = 0.0447 ; // minimal inv. mass squared of the hadrons(muons)(GeV^2) 00179 m_q2_max_c = m_E*m_E; // maximal inv. mass squared of the hadrons(muons)(GeV^2) 00180 m_gmin = 0.001; // minimal photon energy/missing energy (GeV) 00181 m_phot1cut = 0.0; // maximal photon angle/missing momentum angle (grad) 00182 m_phot2cut = 180.0; // maximal photon angle/missing momentum angle (grad) 00183 m_pi1cut = 0.0 ; // minimal hadrons(muons) angle (grad) 00184 m_pi2cut = 180.0; // maximal hadrons(muons) angle (grad) 00185 00186 if(!(m_pion==0 || m_pion==1 || m_pion==6)){m_fsr = 0; m_fsrnlo = 0 ;} 00187 if( m_pion==9 ){m_nlo = 0 ;} 00188 // --- input parameter initialization ----------- 00189 m_initSeed = 123456789; 00190 RLXDINIT(1, m_initSeed); 00191 maxima_.iprint = 0; 00192 flags_.nlo = m_nlo; 00193 flags_.pion = m_pion; 00194 flags_.fsr = m_fsr; 00195 flags_.fsrnlo = m_fsrnlo; 00196 flags_.ivac = m_ivac; 00197 flags_.FF_pion = m_FF_Pion; 00198 flags_.f0_model = m_f0_model; 00199 flags_.FF_kaon = m_FF_Kaon; 00200 flags_.narr_res = m_NarrowRes; 00201 00202 ctes_.Sp = m_E*m_E; ; 00203 00204 cuts_.w = m_w; 00205 cuts_.q2min = m_q2min; 00206 cuts_.q2_min_c = m_q2_min_c; 00207 cuts_.q2_max_c = m_q2_max_c; 00208 cuts_.gmin = m_gmin; 00209 cuts_.phot1cut = m_phot1cut; 00210 cuts_.phot2cut = m_phot2cut; 00211 cuts_.pi1cut = m_pi1cut; 00212 cuts_.pi2cut = m_pi2cut; 00213 00214 INPUT(); 00215 00216 // --- print run data ------------------------------ 00217 cout << "-------------------------------------------------------------" << endl; 00218 if (flags_.pion == 0) 00219 cout << " PHOKHARA 7.0 : e^+ e^- -> mu^+ mu^- gamma" << endl; 00220 else if (flags_.pion == 1) 00221 cout << " PHOKHARA 7.0: e^+ e^- -> pi^+ pi^- gamma" << endl; 00222 else if (flags_.pion == 2) 00223 cout << " PHOKHARA 7.0: e^+ e^- -> pi^+ pi^- 2pi^0 gamma" << endl; 00224 else if (flags_.pion == 3) 00225 cout << " PHOKHARA 7.0: e^+ e^- -> 2pi^+ 2pi^- gamma" << endl; 00226 else if (flags_.pion == 4) 00227 cout << " PHOKHARA 7.0: e^+ e^- -> p pbar gamma" << endl; 00228 else if (flags_.pion == 5) 00229 cout << " PHOKHARA 7.0: e^+ e^- -> n nbar gamma" << endl; 00230 else if (flags_.pion == 6) 00231 cout << " PHOKHARA 7.0: e^+ e^- -> K^+ K^- gamma" << endl; 00232 else if (flags_.pion == 7) 00233 cout << " PHOKHARA 7.0: e^+ e^- -> K_0 K_0bar gamma" << endl; 00234 else if (flags_.pion == 8) 00235 cout << " PHOKHARA 7.0: e^+ e^- -> pi^+ pi^- pi^0 gamma" << endl; 00236 else if (flags_.pion == 9) { 00237 cout << "PHOKHARA 7.0 : e^+ e^- ->" << endl; 00238 cout << " Lambda (-> pi^- p) Lambda bar (-> pi^+ pbar) gamma" << endl; 00239 } else 00240 cout << " PHOKHARA 7.0: not yet implemented" << endl; 00241 00242 // -------------------------------- 00243 cout << "--------------------------------------------------------------" << endl; 00244 printf(" %s %f %s\n","cms total energy = ",sqrt(ctes_.Sp)," GeV "); 00245 00246 //if((cuts_.gmin/2.0/ctes_.ebeam) < 0.000098){ 00247 if(cuts_.gmin<0.001){ 00248 cerr << " minimal missing energy set too small" << endl; 00249 abort(); 00250 } 00251 printf(" %s %f %s\n","minimal tagged photon energy = ",cuts_.gmin," GeV "); 00252 printf(" %s %f,%f\n","angular cuts on tagged photon = ",cuts_.phot1cut,cuts_.phot2cut); 00253 00254 // -------------------------------- 00255 if (flags_.pion == 0) 00256 printf(" %s %f,%f\n","angular cuts on muons = ",cuts_.pi1cut,cuts_.pi2cut); 00257 else if (flags_.pion == 4) 00258 printf(" %s %f,%f\n","angular cuts on protons = ",cuts_.pi1cut,cuts_.pi2cut); 00259 else if (flags_.pion == 5) 00260 printf(" %s %f,%f\n","angular cuts on neutrons = ", cuts_.pi1cut,cuts_.pi2cut); 00261 else if ((flags_.pion == 6)||(flags_.pion == 7)) 00262 printf(" %s %f,%f\n","angular cuts on kaons = ", cuts_.pi1cut,cuts_.pi2cut); 00263 else if (flags_.pion == 9) 00264 printf(" %s %f,%f\n","angular cuts on pions and protons = ", cuts_.pi1cut,cuts_.pi2cut); 00265 else 00266 printf(" %s %f,%f\n","angular cuts on pions = ", cuts_.pi1cut,cuts_.pi2cut); 00267 if (flags_.pion == 0) 00268 printf(" %s %f %s\n","min. muons-tagged photon inv.mass^2 = ", cuts_.q2min," GeV^2"); 00269 else if (flags_.pion == 4) 00270 printf(" %s %f %s\n","min. protons-tagged photon inv.mass^2 = ", cuts_.q2min," GeV^2" ); 00271 else if (flags_.pion == 5) 00272 printf(" %s %f %s\n","min. neutrons-tagged photon inv.mass^2 = ", cuts_.q2min," GeV^2" ); 00273 else if ((flags_.pion == 6)||(flags_.pion == 7)) 00274 printf(" %s %f %s\n","min. kaons-tagged photon inv.mass^2 = ", cuts_.q2min," GeV^2" ); 00275 else if (flags_.pion == 9) 00276 printf(" %s %f %s\n"," min. lambdas-tagged photon inv.mass^2 = ", cuts_.q2min," GeV^2" ); 00277 else 00278 printf(" %s %f %s\n","min. pions-tagged photon inv.mass^2 = ", cuts_.q2min," GeV^2" ); 00279 cos1min = cos(cuts_.phot2cut*ctes_.pi/180.0); // photon1 angle cuts in the 00280 cos1max = cos(cuts_.phot1cut*ctes_.pi/180.0); // LAB rest frame 00281 cos2min = -1.0; // photon2 angle limits 00282 cos2max = 1.0; // 00283 cos3min = -1.0; // hadrons/muons angle limits 00284 cos3max = 1.0; // in their rest frame 00285 if (flags_.pion == 0) // virtual photon energy cut 00286 qqmin = 4.0*ctes_.mmu*ctes_.mmu; 00287 else if (flags_.pion == 1) 00288 qqmin = 4.0*ctes_.mpi*ctes_.mpi; 00289 else if (flags_.pion == 2) 00290 qqmin = 4.0*(ctes_.mpi+ctes_.mpi0)*(ctes_.mpi+ctes_.mpi0); 00291 else if (flags_.pion == 3) 00292 qqmin = 16.0*ctes_.mpi*ctes_.mpi; 00293 else if (flags_.pion == 4) 00294 qqmin = 4.0*ctes_.mp*ctes_.mp; 00295 else if (flags_.pion == 5) 00296 qqmin = 4.0*ctes_.mnt*ctes_.mnt; 00297 else if (flags_.pion == 6) 00298 qqmin = 4.0*ctes_.mKp*ctes_.mKp; 00299 else if (flags_.pion == 7) 00300 qqmin = 4.0*ctes_.mKn*ctes_.mKn; 00301 else if (flags_.pion == 8) 00302 qqmin = (2.0*ctes_.mpi+ctes_.mpi0)*(2.0*ctes_.mpi+ctes_.mpi0); 00303 else if (flags_.pion == 9) 00304 qqmin = 4.0*ctes_.mlamb*ctes_.mlamb; 00305 qqmax = ctes_.Sp-2.0*sqrt(ctes_.Sp)*cuts_.gmin; // if only one photon 00306 if (cuts_.q2_max_c < qqmax) 00307 qqmax=cuts_.q2_max_c; // external cuts 00308 00309 // ------------------- 00310 if ( (cuts_.q2_min_c > qqmin) && (cuts_.q2_min_c < (ctes_.Sp*(1.0-2.0*(cuts_.gmin/sqrt(ctes_.Sp)+cuts_.w))) ) ) 00311 qqmin = cuts_.q2_min_c; 00312 else { 00313 cerr << "------------------------------" << endl; 00314 cerr << " Q^2_min TOO SMALL" << endl; 00315 cerr << " Q^2_min CHANGED BY PHOKHARA = " << qqmin << " GeV^2" << endl; 00316 cerr << "------------------------------" << endl; 00317 } 00318 // ------------------- 00319 if(qqmax <= qqmin){ 00320 cerr << " Q^2_max to small " << endl; 00321 cerr << " Q^2_max = " << qqmax << endl; 00322 cerr << " Q^2_min = " << qqmin << endl; 00323 abort(); 00324 } 00325 00326 // ------------------- 00327 if (flags_.pion == 0) { 00328 printf(" %s %f %s\n", "minimal muon-pair invariant mass^2 = ", qqmin," GeV^2"); 00329 printf(" %s %f %s\n", "maximal muon-pair invariant mass^2 = ", qqmax," GeV^2"); 00330 } else if (flags_.pion == 1) { 00331 printf(" %s %f %s\n", "minimal pion-pair invariant mass^2 = ", qqmin," GeV^2"); 00332 printf(" %s %f %s\n", "maximal pion-pair invariant mass^2 = ", qqmax," GeV^2"); 00333 } else if (flags_.pion == 4) { 00334 printf(" %s %f %s\n", "minimal proton-pair invariant mass^2 = ", qqmin," GeV^2"); 00335 printf(" %s %f %s\n", "maximal proton-pair invariant mass^2 = ", qqmax," GeV^2"); 00336 } else if (flags_.pion == 5) { 00337 printf(" %s %f %s\n", "minimal neutron-pair invariant mass^2 = ", qqmin," GeV^2"); 00338 printf(" %s %f %s\n", "maximal neutron-pair invariant mass^2 = ", qqmax," GeV^2"); 00339 } else if ((flags_.pion == 6) || (flags_.pion == 7)) { 00340 printf(" %s %f %s\n", "minimal kaon-pair invariant mass^2 = ", qqmin," GeV^2"); 00341 printf(" %s %f %s\n", "maximal kaon-pair invariant mass^2 = ", qqmax," GeV^2"); 00342 } else if(flags_.pion == 8){ 00343 printf(" %s %f %s\n", "minimal three-pion invariant mass^2 = ", qqmin," GeV^2"); 00344 printf(" %s %f %s\n", "maximal three-pion invariant mass^2 = ", qqmax," GeV^2"); 00345 } else if(flags_.pion == 9){ 00346 printf(" %s %f %s\n", "minimal lambda-pair invariant mass^2 = ", qqmin," GeV^2"); 00347 printf(" %s %f %s\n", "maximal lambda-pair invariant mass^2 = ", qqmax," GeV^2"); 00348 } else { 00349 printf(" %s %f %s\n", "minimal four-pion invariant mass^2 = ", qqmin," GeV^2" ); 00350 printf(" %s %f %s\n", "maximal four-pion invariant mass^2 = ", qqmax," GeV^2"); 00351 } 00352 // ------------------- 00353 if (flags_.nlo == 0) { 00354 cout << "Born" << endl; 00355 if(flags_.fsrnlo != 0){ 00356 cerr << "WRONG FSRNLO flag - only fsrnlo=0 allowed for Born" << endl; 00357 abort(); 00358 } 00359 } 00360 // ------------------- 00361 if((flags_.pion == 9) && (flags_.nlo != 0)) { 00362 cerr << "WRONG NLO flag - only Born allowed for Lambdas"<< endl; 00363 cerr << "If you feel that you need NLO"<< endl; 00364 cerr << "please contact the authors"<< endl; 00365 abort(); 00366 } 00367 // ------------------- 00368 if (flags_.nlo == 1) printf(" %s %f\n", "NLO: soft photon cutoff w = ",cuts_.w); 00369 if ((flags_.pion <= 1) || (flags_.pion == 6)) 00370 { 00371 00372 if( ! ((flags_.fsr == 1) || (flags_.fsr == 2) || (flags_.fsrnlo == 0) 00373 || (flags_.fsr == 1) || (flags_.fsrnlo == 1) 00374 || (flags_.fsr == 0) || (flags_.fsrnlo == 0))) { 00375 cerr << "WRONG combination of FSR, FSRNLO flags" <<endl; 00376 abort(); 00377 } 00378 // ------------------ 00379 if (flags_.fsr == 0) 00380 cout << "ISR only" << endl; 00381 else if (flags_.fsr == 1) 00382 cout << "ISR+FSR" << endl; 00383 else if (flags_.fsr == 2) { 00384 if (flags_.nlo == 0) 00385 cout << "ISR+INT+FSR" << endl; 00386 else { 00387 cerr << "WRONG FSR flag: interference is included only for nlo=0" << endl; 00388 abort(); 00389 } 00390 } 00391 else { 00392 cerr << "WRONG FSR flag" << flags_.fsr << endl; 00393 abort(); 00394 } 00395 if(flags_.fsrnlo == 1) 00396 cout << "IFSNLO included" << endl; 00397 } 00398 else 00399 { 00400 if((flags_.fsr == 0) && (flags_.fsrnlo == 0)) 00401 cout << "ISR only" << endl; 00402 else { 00403 cerr << "FSR is implemented only for pi+pi-, mu+mu- and K+K- modes" << endl; 00404 abort(); 00405 } 00406 } 00407 // ------------------ 00408 if(flags_.ivac == 0){ 00409 cout << "Vacuum polarization is NOT included" << endl;} 00410 else if(flags_.ivac == 1){ 00411 cout << "Vacuum polarization by Fred Jegerlehner (http://www-com.physik.hu-berlin.de/fjeger/alphaQEDn.uu)" << endl;} 00412 else if(flags_.ivac == 2){ 00413 cout << "Vacuum polarization (VP_HLMNT_v1_3nonr) by Daisuke Nomura and Thomas Teubner" << endl;} 00414 else { 00415 cout << "WRONG vacuum polarization switch" << endl; 00416 abort(); 00417 } 00418 00419 // ----------------- 00420 if(flags_.pion == 1){ 00421 if(flags_.FF_pion == 0) 00422 cout << "Kuhn-Santamaria PionFormFactor" << endl; 00423 else if(flags_.FF_pion == 1) 00424 cout << "Gounaris-Sakurai PionFormFactor old" << endl; 00425 else if(flags_.FF_pion == 2) 00426 cout << "Gounaris-Sakurai PionFormFactor new" << endl; 00427 else { 00428 cout << "WRONG PionFormFactor switch" << endl; 00429 abort(); 00430 } 00431 if(flags_.fsr != 0){ 00432 if(flags_.f0_model == 0) 00433 cout << "f0+f0(600): K+K- model" << endl; 00434 else if(flags_.f0_model == 1) 00435 cout << "f0+f0(600): \"no structure\" model" << endl; 00436 else if(flags_.f0_model == 2) 00437 cout << "NO f0+f0(600)" << endl; 00438 else if(flags_.f0_model == 3) 00439 cout << "only f0, KLOE: Cesare Bini-private communication" << endl; 00440 else { 00441 cout << "WRONG f0+f0(600) switch" << endl; 00442 abort(); 00443 } 00444 } 00445 } 00446 //------- 00447 if((flags_.pion == 6) || (flags_.pion==7)){ 00448 if(flags_.FF_kaon == 0) 00449 cout << "constrained KaonFormFactor" << endl; 00450 else if(flags_.FF_kaon == 1) { 00451 cout << "unconstrained KaonFormFactor" << endl;} 00452 else if(flags_.FF_kaon == 2) { 00453 cout << "Kuhn-Khodjamirian-Bruch KaonFormFactor" << endl;} 00454 else{ 00455 cout << "WRONG KaonFormFactor switch" << endl; 00456 abort(); 00457 } 00458 } 00459 // -------------------- 00460 if((flags_.pion == 0) || (flags_.pion==1) || (flags_.pion == 6) || (flags_.pion == 7)){ 00461 if(flags_.narr_res == 1){ 00462 cout << "THE NARROW RESONANCE J/PSI INCLUDED" << endl;} 00463 else if(flags_.narr_res == 2){ 00464 cout << "THE NARROW RESONANCE PSI(2S) INCLUDED" << endl;} 00465 else if(flags_.narr_res != 0){ 00466 cout << "wrong flag narr_res: only 0, 1 or 2 allowed" << endl; 00467 abort(); 00468 } 00469 } 00470 // ------ 00471 cout << "--------------------------------------------------------------" << endl; 00472 // 00473 // ================================================= 00474 // --- finding the maximum ------------------------- 00475 for(int i = 0; i<2; i++) 00476 { 00477 maxima_.Mmax[i] = 1.0; 00478 maxima_.gross[i] = 0.0; 00479 maxima_.klein[i] = 0.0; 00480 } 00481 00482 if (flags_.nlo == 0) 00483 maxima_.Mmax[1]=0.0; // only 1 photon events generated 00484 00485 maxima_.tr[0] = 0.0; 00486 maxima_.tr[1] = 0.0; 00487 maxima_.count[0] = 0.0; 00488 maxima_.count[1] = 0.0; 00489 00490 // ================================================= 00491 // --- beginning the MC loop event generation ------ 00492 for(int j = 1; j <= m_nm; j++) 00493 { 00494 RANLXDF(Ar_r,1); 00495 Ar[1] = Ar_r[0]; 00496 if (Ar[1] <= (maxima_.Mmax[0]/(maxima_.Mmax[0]+maxima_.Mmax[1]))) { 00497 maxima_.count[0] = maxima_.count[0]+1.0; 00498 GEN_1PH(1,qqmin,qqmax,cos1min,cos1max,cos3min,cos3max); 00499 } 00500 else { 00501 maxima_.count[1] = maxima_.count[1]+1.0; 00502 GEN_2PH(1,qqmin,cos1min,cos1max,cos2min,cos2max,cos3min,cos3max); 00503 } 00504 } 00505 // --- end of the MC loop -------------------------- 00506 // ================================================= 00507 // --- for the second run --- 00508 maxima_.Mmax[0] = maxima_.gross[0]+.05*sqrt(maxima_.gross[0]*maxima_.gross[0]); 00509 maxima_.Mmax[1] = maxima_.gross[1]+(.03+.02*ctes_.Sp)*sqrt(maxima_.gross[1]*maxima_.gross[1]); 00510 theMmax[m_pion][0]=maxima_.Mmax[0]; 00511 theMmax[m_pion][1]=maxima_.Mmax[1]; 00512 00513 if((flags_.pion == 1) && (flags_.fsrnlo == 1)) 00514 maxima_.Mmax[1]=maxima_.Mmax[1]*1.5; 00515 if((flags_.pion == 0) && (flags_.fsrnlo == 1)) 00516 maxima_.Mmax[1]=maxima_.Mmax[1]*1.5; 00517 00518 if((flags_.pion == 0) && (flags_.fsr == 1) && (flags_.fsrnlo == 0)) 00519 maxima_.Mmax[1]=maxima_.Mmax[1]*1.2; 00520 00521 if((flags_.pion == 2) || (flags_.pion == 3)){ 00522 maxima_.Mmax[0]=maxima_.Mmax[0]*1.1; 00523 maxima_.Mmax[1]=maxima_.Mmax[1]*1.1; 00524 } 00525 00526 if(flags_.pion == 8){ 00527 maxima_.Mmax[0]=maxima_.Mmax[0]*1.08; 00528 maxima_.Mmax[1]=maxima_.Mmax[1]*1.1; 00529 } 00530 // --- end of the second run ----------------------- 00531 00532 maxima_.tr[0] = 0.0; 00533 maxima_.tr[1] = 0.0; 00534 maxima_.count[0] = 0.0; 00535 maxima_.count[1] = 0.0; 00536 }
void EvtPhokhara::initProbMax | ( | ) | [virtual] |
Reimplemented from EvtDecayBase.
Definition at line 149 of file EvtPhokhara.cc.
References EvtDecayBase::noProbMax().
00149 { 00150 00151 noProbMax(); 00152 00153 }
int EvtDecayIncoherent::isDaughterSpinDensitySet | ( | int | daughter | ) | [inline, inherited] |
Definition at line 39 of file EvtDecayIncoherent.hh.
References EvtDecayIncoherent::spinDensitySet.
Referenced by EvtDecayIncoherent::makeDecay().
00040 {return spinDensitySet[daughter];}
void EvtDecayIncoherent::makeDecay | ( | EvtParticle * | p | ) | [virtual, inherited] |
Implements EvtDecayBase.
Definition at line 29 of file EvtDecayIncoherent.cc.
References EvtDecayBase::_daugsDecayedByParentModel, EvtRadCorr::alwaysRadCorr(), EvtDecayBase::daugsDecayedByParentModel(), EvtParticle::decay(), EvtDecayBase::decay(), EvtRadCorr::doRadCorr(), EvtParticle::getDaug(), EvtParticle::getNDaug(), EvtDecayBase::getPHOTOS(), EvtParticle::getSpinDensityForward(), EvtParticle::getSpinStates(), genRecEmupikp::i, EvtDecayIncoherent::isDaughterSpinDensitySet(), MAX_DAUG, EvtParticle::setDecayProb(), EvtSpinDensity::SetDiag(), EvtParticle::setSpinDensityBackward(), EvtParticle::setSpinDensityForward(), EvtDecayIncoherent::spinDensitySet, and subSeperate::temp.
00029 { 00030 00031 int i; 00032 //initialize this the hard way.. 00033 //Lange June 26, 2000 00034 for (i=0; i<MAX_DAUG; i++ ) { spinDensitySet[i]=0;} 00035 _daugsDecayedByParentModel=false; 00036 00037 decay(p); 00038 p->setDecayProb(1.); 00039 00040 EvtSpinDensity rho; 00041 00042 rho.SetDiag(p->getSpinStates()); 00043 00044 p->setSpinDensityBackward(rho); 00045 00046 if (getPHOTOS() || EvtRadCorr::alwaysRadCorr()) { 00047 EvtRadCorr::doRadCorr(p); 00048 } 00049 00050 //Now decay the daughters. 00051 00052 if ( !daugsDecayedByParentModel()) { 00053 00054 for(i=0;i<p->getNDaug();i++){ 00055 //Need to set the spin density of the daughters to be 00056 //diagonal. 00057 rho.SetDiag(p->getDaug(i)->getSpinStates()); 00058 //if (p->getDaug(i)->getNDaug()==0){ 00059 //only do this if the user has not already set the 00060 //spin density matrix herself. 00061 //Lange June 26, 2000 00062 if ( isDaughterSpinDensitySet(i)==0 ) { 00063 p->getDaug(i)->setSpinDensityForward(rho); 00064 } 00065 else{ 00066 //report(INFO,"EvtGen") << "spinDensitymatrix already set!!!\n"; 00067 EvtSpinDensity temp=p->getDaug(i)->getSpinDensityForward(); 00068 // report(INFO,"EvtGen") <<temp<<endl; 00069 } 00070 //Now decay the daughter. Really! 00071 p->getDaug(i)->decay(); 00072 } 00073 00074 } 00075 }
bool EvtDecayBase::matchingDecay | ( | const EvtDecayBase & | other | ) | const [virtual, inherited] |
Definition at line 587 of file EvtDecayBase.cc.
References EvtDecayBase::_daug, EvtDecayBase::_ndaug, EvtDecayBase::_parent, genRecEmupikp::i, ganga-rec::j, and EvtCyclic3::other().
Referenced by EvtParticleDecayList::addMode(), and EvtParticleDecayList::removeMode().
00587 { 00588 00589 if ( _ndaug != other._ndaug) return false; 00590 if ( _parent != other._parent) return false; 00591 00592 std::vector<int> useDs; 00593 for ( unsigned int i=0; i<_ndaug; i++) useDs.push_back(0); 00594 00595 for ( unsigned int i=0; i<_ndaug; i++) { 00596 bool foundIt=false; 00597 for ( unsigned int j=0; j<_ndaug; j++) { 00598 if ( useDs[j] == 1 ) continue; 00599 if ( _daug[i] == other._daug[j] && _daug[i].getAlias() == other._daug[j].getAlias()) { 00600 foundIt=true; 00601 useDs[j]=1; 00602 break; 00603 } 00604 } 00605 if ( foundIt==false) return false; 00606 } 00607 for ( unsigned int i=0; i<_ndaug; i++) if ( useDs[i]==0) return false; 00608 00609 return true; 00610 00611 }
void EvtDecayBase::noProbMax | ( | ) | [inherited] |
Definition at line 304 of file EvtDecayBase.cc.
References EvtDecayBase::defaultprobmax.
Referenced by EvtVubNLO::initProbMax(), EvtVubHybrid::initProbMax(), EvtVub::initProbMax(), EvtVectorIsr::initProbMax(), EvtTrackGen::initProbMax(), EvtTauola::initProbMax(), EvtRhoPi::initProbMax(), EvtRexc::initProbMax(), EvtPythia::initProbMax(), EvtPyGaGa::initProbMax(), EvtPycont::initProbMax(), EvtPhsp::initProbMax(), EvtPhokhara_ppbar::initProbMax(), EvtPhokhara_pipipi0::initProbMax(), EvtPhokhara_pipi::initProbMax(), EvtPhokhara_pi0pi0pipi::initProbMax(), EvtPhokhara_nnbar::initProbMax(), EvtPhokhara_LLB::initProbMax(), EvtPhokhara_KK::initProbMax(), EvtPhokhara_K0K0::initProbMax(), EvtPhokhara_4pi::initProbMax(), 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::PhokharaInit | ( | int | dummy | ) |
Definition at line 846 of file EvtPhokhara.cc.
References first.
00846 { 00847 static int first=1; 00848 if (first){ 00849 00850 first=0; 00851 //for(int i=0;i<ncommand;i++) 00852 // lugive0_(commands[i].c_str(),strlen(commands[i].c_str())); 00853 } 00854 00855 }
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::store | ( | EvtDecayBase * | jsdecay | ) | [private] |
Definition at line 825 of file EvtPhokhara.cc.
References genRecEmupikp::i, nphokharadecays, ntable, and phokharadecays.
00825 { 00826 00827 if (nphokharadecays==ntable){ 00828 00829 EvtDecayBasePtr* newphokharadecays=new EvtDecayBasePtr[2*ntable+10]; 00830 int i; 00831 for(i=0;i<ntable;i++){ 00832 newphokharadecays[i]=phokharadecays[i]; 00833 } 00834 ntable=2*ntable+10; 00835 delete [] phokharadecays; 00836 phokharadecays=newphokharadecays; 00837 } 00838 00839 phokharadecays[nphokharadecays++]=jsdecay; 00840 00841 00842 00843 }
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::Ar[14] [private] |
double EvtPhokhara::Ar_r[14] [private] |
std::string * EvtPhokhara::commands = 0 [static, private] |
double EvtPhokhara::cos1max [private] |
double EvtPhokhara::cos1min [private] |
double EvtPhokhara::cos2max [private] |
double EvtPhokhara::cos2min [private] |
double EvtPhokhara::cos3max [private] |
double EvtPhokhara::cos3min [private] |
double EvtPhokhara::dsigm [private] |
double EvtPhokhara::dsigm1 [private] |
double EvtPhokhara::dsigm2 [private] |
int EvtPhokhara::ievent [private] |
int EvtPhokhara::lcommand = 0 [static, private] |
double EvtPhokhara::m_E [private] |
int EvtPhokhara::m_f0_model [private] |
int EvtPhokhara::m_FF_Kaon [private] |
int EvtPhokhara::m_FF_Pion [private] |
int EvtPhokhara::m_fsr [private] |
int EvtPhokhara::m_fsrnlo [private] |
double EvtPhokhara::m_gmin [private] |
long int EvtPhokhara::m_initSeed [private] |
int EvtPhokhara::m_ivac [private] |
int EvtPhokhara::m_NarrowRes [private] |
int EvtPhokhara::m_nlo [private] |
int EvtPhokhara::m_nm [private] |
double EvtPhokhara::m_phot1cut [private] |
double EvtPhokhara::m_phot2cut [private] |
double EvtPhokhara::m_pi1cut [private] |
double EvtPhokhara::m_pi2cut [private] |
int EvtPhokhara::m_pion [private] |
double EvtPhokhara::m_q2_max_c [private] |
double EvtPhokhara::m_q2_min_c [private] |
double EvtPhokhara::m_q2min [private] |
int EvtPhokhara::m_tagged [private] |
double EvtPhokhara::m_w [private] |
int EvtPhokhara::ncommand = 0 [static, private] |
int EvtPhokhara::nevt = 0 [static, private] |
std::vector<int> EvtPhokhara::nevtgen [private] |
int EvtPhokhara::nphokharadecays = 0 [static, private] |
int EvtPhokhara::ntable = 0 [static, private] |
EvtDecayBasePtr * EvtPhokhara::phokharadecays = 0 [static, private] |
double EvtPhokhara::qqmax [private] |
double EvtPhokhara::qqmin [private] |
double EvtPhokhara::sigma [private] |
double EvtPhokhara::sigma1 [private] |
double EvtPhokhara::sigma2 [private] |
std::vector<std::vector<double> > EvtPhokhara::theMmax [private] |
std::vector<std::string> EvtPhokhara::Vfs [private] |