#include <EvtDDalitz.hh>
Inheritance diagram for EvtDDalitz:
Public Member Functions | |
EvtDDalitz () | |
virtual | ~EvtDDalitz () |
void | getName (std::string &name) |
EvtDecayBase * | clone () |
void | init () |
void | initProbMax () |
void | decay (EvtParticle *p) |
void | makeDecay (EvtParticle *p) |
void | setWeight (double weight) |
void | vertex (const EvtComplex &) |
void | vertex (int i1, const EvtComplex &) |
void | vertex (int i1, int i2, const EvtComplex &) |
void | vertex (int i1, int i2, int i3, const EvtComplex &) |
void | vertex (int *i1, const EvtComplex &) |
virtual std::string | commandName () |
virtual void | command (std::string cmd) |
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 | |
EvtAmp | _amp2 |
bool | _daugsDecayedByParentModel |
Private Member Functions | |
EvtComplex | amplDtoK0PiPi (EvtVector4R p4_p, EvtVector4R moms1, EvtVector4R moms2, EvtVector4R moms3) |
EvtComplex | amplDtoK0KK (EvtVector4R p4_p, EvtVector4R moms1, EvtVector4R moms2, EvtVector4R moms3) |
Private Attributes | |
int | _d1 |
int | _d2 |
int | _d3 |
int | _flag |
vector< EvtFlatteParam > | _kkpi_params |
Definition at line 30 of file EvtDDalitz.hh.
EvtDDalitz::EvtDDalitz | ( | ) | [inline] |
EvtDDalitz::~EvtDDalitz | ( | ) | [virtual] |
EvtComplex EvtDDalitz::amplDtoK0KK | ( | EvtVector4R | p4_p, | |
EvtVector4R | moms1, | |||
EvtVector4R | moms2, | |||
EvtVector4R | moms3 | |||
) | [private] |
Definition at line 595 of file EvtDDalitz.cc.
References EvtResonance::resAmpl().
Referenced by decay().
00596 { 00597 00598 //phi 00599 EvtResonance DK0KKRes1( p4_p, moms2, moms3, 113.75, -40.0, 0.0043, 00600 1.019456, 1 ) ; 00601 //a0(980) 00602 EvtResonance DK0KKRes2( p4_p, moms2, moms3, 152.25, 69.0, 0.1196 , 0.9847, 00603 0 ) ; 00604 //f0(980) 00605 EvtResonance DK0KKRes3( p4_p, moms2, moms3, 30.5, -201.0, 0.05, 0.980 , 00606 0 ) ; 00607 //a0(980)+ 00608 EvtResonance DK0KKRes4( p4_p, moms1, moms2, 85.75, -93.0, 0.1196 , 0.9847, 00609 0 ) ; 00610 //a0(980)- 00611 EvtResonance DK0KKRes5( p4_p, moms3, moms1, 8. , -53.0 ,0.1196, 0.9847, 00612 0 ) ; 00613 00614 00615 return EvtComplex(1.0,0.0) + 00616 00617 DK0KKRes1.resAmpl() + DK0KKRes2.resAmpl() + 00618 00619 DK0KKRes3.resAmpl() + DK0KKRes4.resAmpl() + 00620 00621 DK0KKRes5.resAmpl() ; 00622 00623 00624 }
EvtComplex EvtDDalitz::amplDtoK0PiPi | ( | EvtVector4R | p4_p, | |
EvtVector4R | moms1, | |||
EvtVector4R | moms2, | |||
EvtVector4R | moms3 | |||
) | [private] |
Definition at line 552 of file EvtDDalitz.cc.
References EvtResonance2::resAmpl().
Referenced by decay().
00553 { 00554 00555 //K*(892)- 00556 EvtResonance2 DK2piRes1(p4_p,moms1,moms2,1.418,-190.0,0.0508,0.89166,1); 00557 //K0*(1430) 00558 EvtResonance2 DK2piRes2(p4_p,moms1,moms2,1.818,-337.0,0.294 ,1.412 ,0); 00559 //K2*(1430) 00560 EvtResonance2 DK2piRes3(p4_p,moms1,moms2,0.909, -5.0,0.0985,1.4256 ,2); 00561 //K*(1680) 00562 EvtResonance2 DK2piRes4(p4_p,moms1,moms2,5.091,-166.0,0.322 ,1.717 ,1); 00563 //DCS K*(892) 00564 EvtResonance2 DK2piRes5(p4_p,moms1,moms3,0.100, -19.0,0.0508,0.89166,1); 00565 00566 //Rho 00567 EvtResonance2 DK2piRes6(p4_p,moms3,moms2,0.909,-340.0,0.1502,0.7693,1); 00568 //Omega 00569 EvtResonance2 DK2piRes7(p4_p,moms3,moms2,.0336,-226.0,0.00844,0.78257,1); 00570 //f0(980) 00571 EvtResonance2 DK2piRes8(p4_p,moms3,moms2,0.309,-152.0,0.05,0.977,0); 00572 //f0(1370) 00573 EvtResonance2 DK2piRes9(p4_p,moms3,moms2,1.636,-255.0,0.272,1.31,0); 00574 //f2(1270) 00575 EvtResonance2 DK2piRes10(p4_p,moms3,moms2,0.636,-32.0,0.1851,1.2754,2); 00576 00577 return EvtComplex(1.0,0.0) + 00578 DK2piRes1.resAmpl() + DK2piRes2.resAmpl() + 00579 DK2piRes3.resAmpl() + DK2piRes4.resAmpl() + 00580 DK2piRes5.resAmpl() + DK2piRes6.resAmpl() + 00581 DK2piRes7.resAmpl() + DK2piRes8.resAmpl() + 00582 DK2piRes9.resAmpl() + DK2piRes10.resAmpl(); 00583 }
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(), EvtPhokhara::init(), EvtPhiDalitz::init(), EvtPartWave::init(), EvtP2GC2::init(), EvtP2GC1::init(), EvtP2GC0::init(), EvtOmegaDalitz::init(), EvtmH2::init(), EvtMelikhov::init(), EvtMBody3::init(), EvtMassH2::init(), EvtMassH1::init(), EvtLNuGamma::init(), EvtLambdaP_BarGamma::init(), EvtLambdac2pKpi::init(), EvtKstarstargamma::init(), EvtKstarnunu::init(), EvtJscont::init(), EvtJpipi::init(), EvtJPE::init(), EvtJetSet::init(), EvtISGW2::init(), EvtISGW::init(), EvtHypWK::init(), EvtHQET::init(), EvtHelPPJ::init(), EvtHelAmp::init(), EvtHAngSam3::init(), EvtGoityRoberts::init(), EvtFlatQ2::init(), EvtEtaDalitz::init(), EvtEDM::init(), EvtDMix::init(), EvtDeBD::init(), init(), EvtChi2BB2::init(), EvtChi2BB1::init(), EvtChi1BB2::init(), EvtChi1BB1::init(), EvtChi0BB2::init(), EvtCBTo3piP00::init(), EvtCBTo3piMPP::init(), EvtCalHelAmp::init(), EvtBtoXsll::init(), EvtBtoXsEtap::init(), EvtbTosllBall::init(), EvtbTosllAli::init(), EvtBToKpipiCP::init(), EvtBtoKpiCPiso::init(), EvtBtoKD3P::init(), EvtBTo4piCP::init(), EvtBTo3piCP::init(), EvtBto2piCPiso::init(), EvtBsquark::init(), EvtBody3::init(), EvtBHadronic::init(), EvtAV2GV::init(), and EvtAngH2::init().
00482 { 00483 00484 if ( _narg != a1 && _narg != a2 && _narg != a3 && _narg != a4 ) { 00485 report(ERROR,"EvtGen") << _modelname.c_str() << " generator expected "<<endl; 00486 report(ERROR,"EvtGen") << a1<<endl;; 00487 if ( a2>-1) { 00488 report(ERROR,"EvtGen") << " or " << a2<<endl; 00489 } 00490 if ( a3>-1) { 00491 report(ERROR,"EvtGen") << " or " << a3<<endl; 00492 } 00493 if ( a4>-1) { 00494 report(ERROR,"EvtGen") << " or " << a4<<endl; 00495 } 00496 report(ERROR,"EvtGen") << " arguments but found:"<< _narg << endl; 00497 printSummary(); 00498 report(ERROR,"EvtGen") << "Will terminate execution!"<<endl; 00499 ::abort(); 00500 00501 } 00502 00503 }
void EvtDecayBase::checkNDaug | ( | int | d1, | |
int | d2 = -1 | |||
) | [inherited] |
Definition at line 504 of file EvtDecayBase.cc.
References EvtDecayBase::_modelname, EvtDecayBase::_ndaug, calibUtil::ERROR, EvtDecayBase::printSummary(), and report().
Referenced by EvtVVSPwave::init(), EvtVVPIPI_WEIGHTED::init(), EvtVVpipi::init(), EvtVVP::init(), EvtVubNLO::init(), EvtVubHybrid::init(), EvtVub::init(), EvtVSSMix::init(), EvtVSSBMixCPT::init(), EvtVSS::init(), EvtVSPPwave::init(), EvtVPHOtoVISRHi::init(), EvtVPHOtoVISR::init(), EvtVll::init(), EvtVectorIsr::init(), EvtTVSPwave::init(), EvtTSS::init(), EvtTauVectornu::init(), EvtTauScalarnu::init(), EvtTaulnunu::init(), EvtTauGamMu::init(), EvtSVVNONCPEIGEN::init(), EvtSVVHelAmp::init(), EvtSVVCPLH::init(), EvtSVVCP::init(), EvtSVSNONCPEIGEN::init(), EvtSVSCPLH::init(), EvtSVSCPiso::init(), EvtSVSCP::init(), EvtSVS::init(), EvtSVPHelAmp::init(), EvtSVPCP::init(), EvtSTSCP::init(), EvtSTS::init(), EvtSSSCPT::init(), EvtSSSCPpng::init(), EvtSSSCP::init(), EvtSSDCP::init(), EvtSPL::init(), EvtSLPole::init(), EvtSLN::init(), EvtSll::init(), EvtSLBKPole::init(), EvtS2GV::init(), EvtPi0Dalitz::init(), EvtPhokhara::init(), EvtPhiDalitz::init(), EvtPBB2::init(), EvtPBB1::init(), EvtPartWave::init(), EvtP2GC2::init(), EvtP2GC1::init(), EvtP2GC0::init(), EvtOmegaDalitz::init(), EvtMelikhov::init(), EvtLNuGamma::init(), EvtLambdaP_BarGamma::init(), EvtKstarstargamma::init(), EvtKstarnunu::init(), EvtKKLambdaC::init(), EvtJTO3P::init(), EvtJpipi::init(), EvtJPE::init(), EvtJ2BB3::init(), EvtJ2BB2::init(), EvtJ2BB1::init(), EvtISGW2::init(), EvtISGW::init(), EvtHypWK::init(), EvtHQET2::init(), EvtHQET::init(), EvtHelPPJ::init(), EvtHelAmp::init(), EvtGoityRoberts::init(), EvtFlatQ2::init(), EvtEtaDalitz::init(), EvtEDM::init(), EvtDeBD::init(), 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(), 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(), 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 * EvtDDalitz::clone | ( | ) | [virtual] |
Implements EvtDecayBase.
Definition at line 45 of file EvtDDalitz.cc.
00045 { 00046 00047 return new EvtDDalitz; 00048 00049 }
void EvtDecayBase::command | ( | std::string | cmd | ) | [virtual, inherited] |
Reimplemented in EvtJetSet, EvtLunda, EvtLundCharm, EvtOpenCharm, EvtPhokhara, EvtPhokhara_4pi, EvtPhokhara_K0K0, EvtPhokhara_KK, EvtPhokhara_LLB, EvtPhokhara_nnbar, EvtPhokhara_pi0pi0pipi, EvtPhokhara_pipi, EvtPhokhara_pipipi0, EvtPhokhara_ppbar, EvtPythia, and EvtTauola.
Definition at line 132 of file EvtDecayBase.cc.
References calibUtil::ERROR, and report().
Referenced by EvtModel::storeCommand().
00132 { 00133 report(ERROR,"EvtGen") << "Should never call EvtDecayBase::command"<<endl; 00134 ::abort(); 00135 }
std::string EvtDecayBase::commandName | ( | ) | [virtual, inherited] |
Reimplemented in EvtJetSet, EvtLunda, EvtLundCharm, EvtOpenCharm, EvtPhokhara, EvtPhokhara_4pi, EvtPhokhara_K0K0, EvtPhokhara_KK, EvtPhokhara_LLB, EvtPhokhara_nnbar, EvtPhokhara_pi0pi0pipi, EvtPhokhara_pipi, EvtPhokhara_pipipi0, EvtPhokhara_ppbar, EvtPythia, and EvtTauola.
Definition at line 129 of file EvtDecayBase.cc.
References deljobs::string.
Referenced by EvtModel::Register().
00129 { 00130 return std::string(""); 00131 }
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 EvtDDalitz::decay | ( | EvtParticle * | p | ) | [virtual] |
Implements EvtDecayBase.
Definition at line 292 of file EvtDDalitz.cc.
References _d1, _d2, _d3, _flag, _kkpi_params, EvtCyclic3::A, amplDtoK0KK(), amplDtoK0PiPi(), cos(), EvtDecayBase::getArg(), EvtParticle::getDaug(), EvtDecayBase::getDaugs(), EvtDecayTable::getDecayFunc(), EvtParticle::getId(), EvtPDL::getId(), getName(), EvtDecayBase::getNDaug(), EvtParticle::getP4(), EvtParticle::getParent(), EvtParticle::initializePhaseSpace(), EvtParticle::mass(), EvtConst::radToDegrees, EvtResonance::relBrWig(), EvtFlatte::resAmpl(), EvtResonance2::resAmpl(), EvtResonance::resAmpl(), EvtVector4R::set(), sin(), deljobs::string, and EvtDecayAmp::vertex().
00292 { 00293 00294 //added by Lange Jan4,2000 00295 static EvtId BP = EvtPDL::getId("B+"); 00296 static EvtId BM = EvtPDL::getId("B-"); 00297 static EvtId B0 = EvtPDL::getId("B0"); 00298 static EvtId B0B = EvtPDL::getId("anti-B0"); 00299 static EvtId DM=EvtPDL::getId("D-"); 00300 static EvtId DP=EvtPDL::getId("D+"); 00301 static EvtId D0=EvtPDL::getId("D0"); 00302 static EvtId D0B=EvtPDL::getId("anti-D0"); 00303 static EvtId KM=EvtPDL::getId("K-"); 00304 static EvtId KP=EvtPDL::getId("K+"); 00305 static EvtId K0=EvtPDL::getId("K0"); 00306 static EvtId KB=EvtPDL::getId("anti-K0"); 00307 static EvtId PIM=EvtPDL::getId("pi-"); 00308 static EvtId PIP=EvtPDL::getId("pi+"); 00309 static EvtId PI0=EvtPDL::getId("pi0"); 00310 00311 double oneby2 = 0.707106782; 00312 00313 bool isBToDK=false; 00314 if ( p -> getParent () ) { 00315 std::string name1; 00316 EvtDecayTable::getDecayFunc(p->getParent())->getName(name1); 00317 00318 EvtId parId = p -> getParent()->getId (); 00319 if ( ( BP == parId ) || ( BM == parId ) || ( B0 == parId ) || 00320 ( B0B == parId ) ) 00321 if (name1 == "BTODDALITZCPK") isBToDK=true; 00322 } 00323 00324 00325 //same structure for all of these decays 00326 00327 p->initializePhaseSpace(getNDaug(),getDaugs()); 00328 EvtVector4R moms1 = p->getDaug(_d1)->getP4(); 00329 EvtVector4R moms2 = p->getDaug(_d2)->getP4(); 00330 EvtVector4R moms3 = p->getDaug(_d3)->getP4(); 00331 00332 EvtVector4R p4_p; 00333 p4_p.set(p->mass(),0.0,0.0,0.0); 00334 00335 EvtComplex amp(1.0,0.0); 00336 00337 //now determine which D and which decay 00338 00339 //data from Anjos et al, Phys.Rev.D 1993, v.48,num.1,p.56 (E691 resuls) 00340 //for D+ -> K- pi+ pi+, and from Adler et al, Phys.Lett. B196 (1987), 107 00341 //(Mark III results) for D+ -> K0bar pi+ pi0. 00342 //CLEO results for D0->k-pi+pi0 00343 00344 if ( _flag==1) { 00345 00346 //have a D+ -> K- pi+ pi+ decay, or charge conjugate 00347 //Anjos etal e691 - Phys Rev D48, 56 (1993) 00348 EvtResonance DplusRes11(p4_p,moms1,moms2,0.78,-60.0,0.0498,0.89610,1); 00349 EvtResonance DplusRes12(p4_p,moms3,moms1,0.78,-60.0,0.0498,0.89610,1);//K*(892) 00350 00351 EvtResonance DplusRes21(p4_p,moms1,moms2,0.53,132.0,0.287,1.429,0); 00352 EvtResonance DplusRes22(p4_p,moms3,moms1,0.53,132.0,0.287,1.429,0);//K*(1430) 00353 00354 EvtResonance DplusRes31(p4_p,moms1,moms2,0.47,-51.0,0.323,1.714,1); 00355 EvtResonance DplusRes32(p4_p,moms3,moms1,0.47,-51.0,0.323,1.714,1);//K*(1680) 00356 00357 amp = amp + oneby2*(-DplusRes11.resAmpl()+DplusRes12.resAmpl()) + oneby2*(DplusRes21.resAmpl() + DplusRes22.resAmpl()) + oneby2*(-DplusRes31.resAmpl()+ DplusRes32.resAmpl()); 00358 00359 } 00360 00361 if ( _flag==2) { 00362 00363 //have a D+ -> K0bar pi+ pi0 decay (daughters must be listed in this order!) 00364 //adler etal MarkIII - Phys Lett B196, 107 (1987) 00365 // Results in this paper: 00366 // Kbar rho+ FitFraction = 68+/-8+/-12 Phase 0 00367 // Kbar* pi+ 19+/-6+/-6 43+/-23 00368 // nonres 13+/-7+/-8 250+/-19 00369 // These numbers below seem not to be exactly the same 00370 // the phases are equiv to -106=254 and 41 00371 // 00372 EvtResonance DplusKpipi0Res1(p4_p,moms2,moms3,1.00,0.00,0.1512,0.7699,1); //rho+ 00373 EvtResonance DplusKpipi0Res2(p4_p,moms3,moms1,0.8695,0.7191,0.0498,0.89159,1); //K*0 00374 00375 amp = 0.9522*EvtComplex(cos(-1.8565),sin(-1.8565)) + 1.00*DplusKpipi0Res1.relBrWig(0) + 0.8695*EvtComplex(cos(0.7191),sin(0.7191))*DplusKpipi0Res2.relBrWig(1); 00376 00377 } 00378 00379 if(_flag==3) { 00380 00381 //know it's a D0 -> K0_bar pi+ pi- or charge conjugate 00382 00383 // EvtResonance DK2piRes1(p4_p,moms1,moms2,2.31,109.0,0.0498,0.89610,1);//K*(892) 00384 // EvtResonance DK2piRes2(p4_p,moms3,moms2,1.59,-123.0,0.1491,0.7683,1);//RHO(770) 00385 00386 // amp = amp + DK2piRes1.resAmpl() + DK2piRes2.resAmpl(); 00387 00388 00389 // D0 -> K0 pi+ pi- + CC 00390 // If it does not come from a B->DK, decay it as D0 or D0bar separatly 00391 // if p4_p is D0, moms1 is K0, moms2 is pi-, moms3 is pi+ 00392 // if p4_p is D0bar, moms1 is K0, moms2 is pi+, moms3 is pi- 00393 00394 if ( isBToDK ) { 00395 // Gamma angle in rad. 00396 double gamma = EvtDecayTable::getDecayFunc( p->getParent() ) 00397 -> getArg( 0 ) ; 00398 // Strong phase in rad. 00399 double delta = EvtDecayTable::getDecayFunc( p->getParent() ) 00400 -> getArg( 1 ) ; 00401 // Ratio between B->D0K and B->D0barK 00402 double A = EvtDecayTable::getDecayFunc( p->getParent() ) 00403 -> getArg( 2 ) ; 00404 00405 EvtComplex Factor( fabs( A ) * cos ( delta ) , 00406 fabs( A ) * sin ( delta ) ) ; 00407 00408 if ( ( p->getParent()->getId() == BP ) || 00409 ( p->getParent()->getId() == B0 ) ) { 00410 // the ratio D/Dbar 00411 Factor = Factor * EvtComplex( cos ( gamma ) , sin ( gamma ) ) ; 00412 if ( p->getId() == D0 ) { 00413 // the flavor of the particle has no meaning. But we need 00414 // it to know which daughter is pi+ or pi- 00415 // M( B+ or B0 ) = f(Dbar) + factor * f(D) 00416 // f(Dbar) = amplDtoK0PiPi(pD, K0, pi+, pi-) 00417 // f(D) = amplDtoK0PiPi(pD, K0, pi-, pi+) 00418 // Then ... 00419 amp = amplDtoK0PiPi( p4_p , moms1 , moms3 , moms2 ) + 00420 Factor * amplDtoK0PiPi( p4_p , moms1 , moms2 , moms3 ) ; 00421 } 00422 else { 00423 amp = amplDtoK0PiPi( p4_p , moms1 , moms2 , moms3 ) + 00424 Factor * amplDtoK0PiPi( p4_p , moms1 , moms3 , moms2 ) ; 00425 } 00426 } 00427 else if ( ( p->getParent() -> getId() == BM ) || 00428 ( p->getParent() -> getId() == B0B ) ) { 00429 Factor = Factor * EvtComplex( cos ( gamma ) , - sin ( gamma ) ) ; 00430 // here M( B- or B0bar ) = f(D) + factor * f(Dbar) then ... 00431 if ( p->getId() == D0 ) { 00432 amp = amplDtoK0PiPi( p4_p , moms1 , moms2 , moms3 ) + 00433 Factor * amplDtoK0PiPi( p4_p , moms1 , moms3 , moms2 ) ; 00434 } 00435 else { 00436 amp = amplDtoK0PiPi( p4_p , moms1 , moms3 , moms2 ) + 00437 Factor * amplDtoK0PiPi( p4_p , moms1 , moms2 , moms3 ) ; 00438 } 00439 } 00440 } 00441 else { 00442 amp = amplDtoK0PiPi( p4_p , moms1 , moms2 , moms3 ) ; 00443 } 00444 } 00445 00446 00447 if(_flag==4) { 00448 00449 EvtResonance2 DKpipi0Res1(p4_p,moms2,moms3,1.0 ,0.0 ,0.1507,0.770 ,1); //rho 00450 EvtResonance2 DKpipi0Res2(p4_p,moms1,moms2,0.39, -0.2 ,0.0505,0.8961,1); //k*0 00451 EvtResonance2 DKpipi0Res3(p4_p,moms1,moms3,0.44, 163.0 ,0.050 ,0.8915,1); //k*- 00452 00453 EvtResonance2 DKpipi0Res4(p4_p,moms1,moms3,0.77 ,55.5 ,0.294 ,1.412 ,0); //k01430- 00454 EvtResonance2 DKpipi0Res5(p4_p,moms1,moms2,0.85 ,166.0 ,0.294 ,1.412 ,0); //k01430bar 00455 EvtResonance2 DKpipi0Res6(p4_p,moms2,moms3,2.5 ,171.0 ,0.240 ,1.700 ,1); //rho1700 00456 EvtResonance2 DKpipi0Res7(p4_p,moms1,moms3,2.5 ,103.0 ,0.322 ,1.717 ,1); //K*1680- 00457 00458 00459 00460 double pi180inv = 1.0/EvtConst::radToDegrees; 00461 00462 amp = EvtComplex(1.75*cos(31.2*pi180inv),1.75*sin(31.2*pi180inv)) 00463 + DKpipi0Res1.resAmpl() + DKpipi0Res2.resAmpl() + DKpipi0Res3.resAmpl() 00464 + DKpipi0Res4.resAmpl() + DKpipi0Res5.resAmpl() 00465 + DKpipi0Res6.resAmpl() 00466 + DKpipi0Res7.resAmpl(); 00467 00468 } 00469 00470 00471 if(_flag==5) { 00472 00473 // D0 -> K0 K+ K- + CC 00474 // If it does not come from a B->DK, decay it as D0 or D0bar separatly 00475 // if p4_p is D0, moms1 is K0, moms2 is pi-, moms3 is pi+ 00476 // if p4_p is D0bar, moms1 is K0, moms2 is pi+, moms3 is pi- 00477 00478 if ( isBToDK ){ 00479 // Gamma angle in rad. 00480 double gamma = EvtDecayTable::getDecayFunc( p->getParent() ) 00481 -> getArg( 0 ) ; 00482 // Strong phase in rad. 00483 double delta = EvtDecayTable::getDecayFunc( p->getParent() ) 00484 -> getArg( 1 ) ; 00485 // Ratio between B->D0K and B->D0barK 00486 double A = EvtDecayTable::getDecayFunc( p->getParent() ) 00487 -> getArg( 2 ) ; 00488 00489 EvtComplex Factor( fabs( A ) * cos ( delta ) , 00490 fabs( A ) * sin ( delta ) ) ; 00491 00492 if ( ( p->getParent()->getId() == BP ) || 00493 ( p->getParent()->getId() == B0 ) ) { 00494 // the ratio D/Dbar 00495 Factor = Factor * EvtComplex( cos ( gamma ) , sin ( gamma ) ) ; 00496 if ( p->getId() == D0 ) { 00497 // the flavor of the particle has no meaning. But we need 00498 // it to know which daughter is pi+ or pi- 00499 // M( B+ or B0 ) = f(Dbar) + factor * f(D) 00500 // f(Dbar) = amplDtoK0PiPi(pD, K0, K+, K-) 00501 // f(D) = amplDtoK0PiPi(pD, K0, K-, K+) 00502 // Then ... 00503 amp = amplDtoK0KK( p4_p , moms1 , moms3 , moms2 ) + 00504 Factor * amplDtoK0KK( p4_p , moms1 , moms2 , moms3 ) ; 00505 } 00506 else { 00507 amp = amplDtoK0KK( p4_p , moms1 , moms2 , moms3 ) + 00508 Factor * amplDtoK0KK( p4_p , moms1 , moms3 , moms2 ) ; 00509 } 00510 } 00511 else if ( ( p->getParent() -> getId() == BM ) || 00512 ( p->getParent() -> getId() == B0B ) ) { 00513 Factor = Factor * EvtComplex( cos ( gamma ) , - sin ( gamma ) ) ; 00514 // here M( B- or B0bar ) = f(D) + factor * f(Dbar) then ... 00515 if ( p->getId() == D0 ) { 00516 amp = amplDtoK0KK( p4_p , moms1 , moms2 , moms3 ) + 00517 Factor * amplDtoK0KK( p4_p , moms1 , moms3 , moms2 ) ; 00518 } 00519 else { 00520 amp = amplDtoK0KK( p4_p , moms1 , moms3 , moms2 ) + 00521 Factor * amplDtoK0KK( p4_p , moms1 , moms2 , moms3 ) ; 00522 } 00523 } 00524 } 00525 else { 00526 amp = amplDtoK0KK( p4_p , moms1 , moms2 , moms3 ) ; 00527 } 00528 } 00529 00530 00531 00532 00533 // Ds -> K K pi 00534 if(_flag==6) { 00535 EvtResonance2 DsKKpiRes1(p4_p, moms3, moms1, 1.0, 0.0, 0.0455, 0.8944, 1, true); // K*(892) 00536 EvtResonance2 DsKKpiRes2(p4_p, moms3, moms1, 1.48, 138., 0.290, 1.414, 0); // K*_0(1430) 00537 EvtFlatte DsKKpiRes3(p4_p, moms1, moms2, 5.07, 156., 0.965, _kkpi_params); // f_0(980) 00538 EvtResonance2 DsKKpiRes4(p4_p, moms1, moms2, 1.15, -10., 0.00426, 1.019455, 1, true); // phi(1020) 00539 EvtResonance2 DsKKpiRes5(p4_p, moms1, moms2, 1.28, 53., 0.265, 1.350, 0); // f_0(1370) 00540 EvtResonance2 DsKKpiRes6(p4_p, moms1, moms2, 1.19, 87., 0.137, 1.724, 0); // f_0(1710) 00541 amp = DsKKpiRes1.resAmpl() + DsKKpiRes2.resAmpl() + DsKKpiRes3.resAmpl() 00542 + DsKKpiRes4.resAmpl() + DsKKpiRes5.resAmpl() + DsKKpiRes6.resAmpl(); 00543 00544 } 00545 00546 00547 vertex(amp); 00548 00549 return ; 00550 }
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 EvtDecayBase::findMass | ( | EvtParticle * | p | ) | [static, inherited] |
Definition at line 346 of file EvtDecayBase.cc.
References EvtCyclic3::c_str(), count, EvtDecayBase::findMaxMass(), EvtParticle::getDaug(), EvtParticle::getId(), EvtPDL::getMass(), EvtPDL::getMaxMass(), EvtPDL::getMinMass(), EvtParticle::getNDaug(), EvtParticle::getParent(), genRecEmupikp::i, Bes_Common::INFO, EvtParticle::mass(), mass, EvtPDL::name(), EvtParticle::printTree(), report(), and EvtParticle::setMass().
00346 { 00347 00348 //Need to also check that this mass does not screw 00349 //up the parent 00350 //This code assumes that for the ith daughter, 0..i-1 00351 //already have a mass 00352 double maxOkMass=findMaxMass(p); 00353 00354 int count=0; 00355 double mass; 00356 bool massOk=false; 00357 int i; 00358 while (!massOk) { 00359 count++; 00360 if ( count > 10000 ) { 00361 report(INFO,"EvtGen") << "Can not find a valid mass for: " << EvtPDL::name(p->getId()).c_str() <<endl; 00362 report(INFO,"EvtGen") << "Now printing parent and/or grandparent tree\n"; 00363 if ( p->getParent() ) { 00364 if ( p->getParent()->getParent() ) { 00365 p->getParent()->getParent()->printTree(); 00366 report(INFO,"EvtGen") << p->getParent()->getParent()->mass() <<endl; 00367 report(INFO,"EvtGen") << p->getParent()->mass() <<endl; 00368 } 00369 else{ 00370 p->getParent()->printTree(); 00371 report(INFO,"EvtGen") << p->getParent()->mass() <<endl; 00372 } 00373 } 00374 else p->printTree(); 00375 report(INFO,"EvtGen") << "maxokmass=" << maxOkMass << " " << EvtPDL::getMinMass(p->getId()) << " " << EvtPDL::getMaxMass(p->getId())<<endl; 00376 if ( p->getNDaug() ) { 00377 for (i=0; i<p->getNDaug(); i++) { 00378 report(INFO,"EvtGen") << p->getDaug(i)->mass()<<" "; 00379 } 00380 report(INFO,"EvtGen") << endl; 00381 } 00382 if ( maxOkMass >= EvtPDL::getMinMass(p->getId()) ) { 00383 report(INFO,"EvtGen") << "taking a default value\n"; 00384 p->setMass(maxOkMass); 00385 return; 00386 } 00387 assert(0); 00388 } 00389 mass = EvtPDL::getMass(p->getId()); 00390 //Just need to check that this mass is > than 00391 //the mass of all daughters 00392 double massSum=0.; 00393 if ( p->getNDaug() ) { 00394 for (i=0; i<p->getNDaug(); i++) { 00395 massSum+= p->getDaug(i)->mass(); 00396 } 00397 } 00398 //some special cases are handled with 0 (stable) or 1 (k0->ks/kl) daughters 00399 if (p->getNDaug()<2) massOk=true; 00400 if ( p->getParent() ) { 00401 if ( p->getParent()->getNDaug()==1 ) massOk=true; 00402 } 00403 if ( !massOk ) { 00404 if (massSum < mass) massOk=true; 00405 if ( mass> maxOkMass) massOk=false; 00406 } 00407 } 00408 00409 p->setMass(mass); 00410 00411 }
void EvtDecayBase::findMasses | ( | EvtParticle * | p, | |
int | ndaugs, | |||
EvtId | daugs[10], | |||
double | masses[10] | |||
) | [static, inherited] |
Definition at line 414 of file EvtDecayBase.cc.
References EvtCyclic3::c_str(), count, calibUtil::ERROR, EvtParticle::firstornot(), EvtParticle::getDaug(), EvtParticle::getId(), EvtPDL::getMass(), EvtPDL::getMinMass(), genRecEmupikp::i, EvtParticle::mass(), EvtPDL::name(), report(), EvtParticle::setFirstOrNot(), and EvtStatus::setRejectFlag().
Referenced by EvtBtoXsll::decay().
00415 { 00416 00417 int i; 00418 double mass_sum; 00419 00420 int count=0; 00421 00422 if (!( p->firstornot() )) { 00423 for (i = 0; i < ndaugs; i++ ) { 00424 masses[i] = p->getDaug(i)->mass(); 00425 } //for 00426 } //if 00427 else { 00428 p->setFirstOrNot(); 00429 // if only one daughter do it 00430 00431 if (ndaugs==1) { 00432 masses[0]=p->mass(); 00433 return; 00434 } 00435 00436 //until we get a combo whose masses are less than _parent mass. 00437 do { 00438 mass_sum = 0.0; 00439 00440 for (i = 0; i < ndaugs; i++ ) { 00441 masses[i] = EvtPDL::getMass(daugs[i]); 00442 mass_sum = mass_sum + masses[i]; 00443 } 00444 00445 count++; 00446 00447 00448 if(count==10000) { 00449 report(ERROR,"EvtGen") <<"Decaying particle:"<< 00450 EvtPDL::name(p->getId()).c_str()<<" (m="<<p->mass()<<")"<<endl; 00451 report(ERROR,"EvtGen") <<"To the following daugthers"<<endl; 00452 for (i = 0; i < ndaugs; i++ ) { 00453 report(ERROR,"EvtGen") << 00454 EvtPDL::name(daugs[i]).c_str() << endl; 00455 } 00456 report(ERROR,"EvtGen") << "Has been rejected "<<count 00457 << " times, will now take minimal masses " 00458 << " of daugthers"<<endl; 00459 00460 mass_sum=0.; 00461 for (i = 0; i < ndaugs; i++ ) { 00462 masses[i] = EvtPDL::getMinMass(daugs[i]); 00463 mass_sum = mass_sum + masses[i]; 00464 } 00465 if (mass_sum > p->mass()){ 00466 report(ERROR,"EvtGen") << "Parent mass="<<p->mass() 00467 << "to light for daugthers."<<endl 00468 << "Will throw the event away."<<endl; 00469 //dont terminate - start over on the event. 00470 EvtStatus::setRejectFlag(); 00471 mass_sum=0.; 00472 // ::abort(); 00473 } 00474 00475 } 00476 } while ( mass_sum > p->mass()); 00477 } //else 00478 00479 return; 00480 }
double EvtDecayBase::findMaxMass | ( | EvtParticle * | p | ) | [static, inherited] |
Definition at line 311 of file EvtDecayBase.cc.
References EvtParticle::getDaug(), EvtParticle::getId(), EvtPDL::getMaxMass(), EvtPDL::getMinMass(), EvtParticle::getNDaug(), EvtParticle::getParent(), EvtParticle::hasValidP4(), genRecEmupikp::i, and EvtParticle::mass().
Referenced by EvtDecayBase::findMass().
00311 { 00312 00313 00314 double maxOkMass=EvtPDL::getMaxMass(p->getId()); 00315 00316 //protect against vphotons 00317 if ( maxOkMass < 0.0000000001 ) return 10000000.; 00318 //and against already determined masses 00319 if ( p->hasValidP4() ) maxOkMass=p->mass(); 00320 00321 EvtParticle *par=p->getParent(); 00322 if ( par ) { 00323 double maxParMass=findMaxMass(par); 00324 int i; 00325 double minDaugMass=0.; 00326 for(i=0;i<par->getNDaug();i++){ 00327 EvtParticle *dau=par->getDaug(i); 00328 if ( dau!=p) { 00329 // it might already have a mass 00330 if ( dau->isInitialized() || dau->hasValidP4() ) 00331 minDaugMass+=dau->mass(); 00332 else 00333 //give it a bit of phase space 00334 minDaugMass+=1.000001*EvtPDL::getMinMass(dau->getId()); 00335 } 00336 } 00337 if ( maxOkMass>(maxParMass-minDaugMass)) maxOkMass=maxParMass-minDaugMass; 00338 } 00339 return maxOkMass; 00340 }
double EvtDecayBase::getArg | ( | int | j | ) | [inherited] |
Definition at line 564 of file EvtDecayBase.cc.
References EvtDecayBase::_args, EvtCyclic3::c_str(), genRecEmupikp::i, Bes_Common::INFO, and report().
Referenced by EvtVVSPwave::decay(), EvtVSSMix::decay(), EvtVPHOtoVISRHi::decay(), EvtVPHOtoVISR::decay(), EvtTVSPwave::decay(), EvtTauGamMu::decay(), EvtSVVNONCPEIGEN::decay(), EvtSVVHelAmp::decay(), EvtSVVCPLH::decay(), EvtSVVCP::decay(), EvtSVSCPiso::decay(), EvtSVSCP::decay(), EvtSVPHelAmp::decay(), EvtSVPCP::decay(), EvtSTSCP::decay(), EvtSSSCPT::decay(), EvtSSSCPpng::decay(), EvtSSSCP::decay(), EvtRhoPi::decay(), EvtPhokhara::decay(), EvtPBB2::decay(), EvtPBB1::decay(), EvtOpenCharm::decay(), EvtLunda::decay(), EvtJscont::decay(), EvtJ2BB3::decay(), EvtJ2BB2::decay(), EvtJ2BB1::decay(), EvtEDM::decay(), decay(), EvtConExc::decay(), EvtChi2BB2::decay(), EvtChi2BB1::decay(), EvtChi1BB2::decay(), EvtChi1BB1::decay(), EvtChi0BB2::decay(), EvtCBTo3piP00::decay(), EvtCBTo3piMPP::decay(), EvtCalHelAmp::decay(), EvtBtoXsgamma::decay(), EvtBToKpipiCP::decay(), EvtBtoKpiCPiso::decay(), EvtBTo4piCP::decay(), EvtBTo3piCP::decay(), EvtBto2piCPiso::decay(), EvtBsquark::decay(), EvtBHadronic::decay(), EvtAngSamX::decay(), EvtAngSamLab::decay(), EvtAngSam3::decay(), EvtAngSam::decay(), EvtCalHelAmp::firstder(), EvtLNuGamma::getFormFactor(), EvtVubNLO::init(), EvtVubHybrid::init(), EvtVub::init(), EvtVSSBMixCPT::init(), EvtVectorIsr::init(), EvtTrackGen::init(), EvtTauHadnu::init(), EvtSVVNONCPEIGEN::init(), EvtSVSNONCPEIGEN::init(), EvtSVSCPLH::init(), EvtSSDCP::init(), EvtSinglePoint::init(), EvtSingleParticle2::init(), EvtSingleParticle::init(), EvtPycont::init(), EvtPartWave::init(), EvtmPhsp::init(), EvtmH2::init(), EvtMelikhov::init(), EvtLNuGamma::init(), EvtHypNonLepton::init(), EvtHQET2::init(), EvtHQET::init(), EvtHelAmp::init(), EvtDMix::init(), EvtD0mixDalitz::init(), EvtConExc::init(), EvtBtoXsll::init(), EvtBtoKD3P::init(), EvtPhokhara::init_evt(), EvtPhokhara::init_mode(), EvtSVVHelAmp::initProbMax(), EvtSVVCPLH::initProbMax(), EvtSVVCP::initProbMax(), EvtSVSCPLH::initProbMax(), EvtSVSCPiso::initProbMax(), EvtSVSCP::initProbMax(), EvtSVPHelAmp::initProbMax(), EvtSVPCP::initProbMax(), EvtSTSCP::initProbMax(), EvtSSSCPpng::initProbMax(), EvtSSSCP::initProbMax(), EvtPBB2::initProbMax(), EvtBtoKpiCPiso::initProbMax(), EvtBto2piCPiso::initProbMax(), and EvtVubHybrid::readWeights().
00564 { 00565 00566 // Verify string 00567 00568 const char* str = _args[j].c_str(); 00569 int i = 0; 00570 while(str[i]!=0){ 00571 if (isalpha(str[i]) && str[i]!='e') { 00572 00573 report(INFO,"EvtGen") << "String " << str << " is not a number" << endl; 00574 assert(0); 00575 } 00576 i++; 00577 } 00578 00579 char** tc=0; 00580 return strtod(_args[j].c_str(),tc); 00581 }
double * EvtDecayBase::getArgs | ( | ) | [inherited] |
Definition at line 547 of file EvtDecayBase.cc.
References EvtDecayBase::_args, EvtDecayBase::_argsD, EvtDecayBase::_narg, EvtCyclic3::c_str(), and genRecEmupikp::i.
Referenced by EvtBtoXsgamma::decay(), EvtSLPole::init(), EvtSLBKPole::init(), and EvtKKLambdaC::init().
00547 { 00548 00549 if ( _argsD ) return _argsD; 00550 //The user has asked for a list of doubles - the arguments 00551 //better all be doubles... 00552 if ( _narg==0 ) return _argsD; 00553 00554 _argsD = new double[_narg]; 00555 00556 int i; 00557 char * tc; 00558 for(i=0;i<_narg;i++) { 00559 _argsD[i] = strtod(_args[i].c_str(),&tc); 00560 } 00561 return _argsD; 00562 }
std::string* EvtDecayBase::getArgsStr | ( | ) | [inline, inherited] |
std::string EvtDecayBase::getArgStr | ( | int | j | ) | [inline, inherited] |
Definition at line 75 of file EvtDecayBase.hh.
References EvtDecayBase::_args.
Referenced by EvtParticleDecay::chargeConj(), EvtParticleDecayList::EvtParticleDecayList(), EvtDecayTable::findChannel(), EvtMultibody::init(), and EvtIntervalDecayAmp< EvtDalitzPoint >::init().
double EvtDecayBase::getBranchingFraction | ( | ) | [inline, inherited] |
Definition at line 61 of file EvtDecayBase.hh.
References EvtDecayBase::_brfr.
Referenced by EvtParticleDecay::chargeConj(), and EvtParticleDecayList::EvtParticleDecayList().
00061 {return _brfr;}
EvtId EvtDecayBase::getDaug | ( | int | i | ) | [inline, inherited] |
Definition at line 66 of file EvtDecayBase.hh.
References EvtDecayBase::_daug.
Referenced by EvtParticleDecayList::addMode(), EvtParticleDecay::chargeConj(), EvtDecayBase::checkSpinDaughter(), EvtVubNLO::decay(), EvtVubHybrid::decay(), EvtVub::decay(), EvtVSSBMixCPT::decay(), EvtVPHOtoVISRHi::decay(), EvtVPHOtoVISR::decay(), EvtVectorIsr::decay(), EvtTauHadnu::decay(), EvtSVVNONCPEIGEN::decay(), EvtSVVHelAmp::decay(), EvtSVVCPLH::decay(), EvtSVVCP::decay(), EvtSVSNONCPEIGEN::decay(), EvtSVSCPiso::decay(), EvtSSDCP::decay(), EvtSLN::decay(), EvtSinglePoint::decay(), EvtSingleParticle2::decay(), EvtSingleParticle::decay(), EvtKstarnunu::decay(), EvtJ2BB3::decay(), EvtJ2BB1::decay(), EvtGoityRoberts::decay(), EvtCBTo3piP00::decay(), EvtCBTo3piMPP::decay(), EvtBtoXsll::decay(), EvtBtoXsgamma::decay(), EvtBtoXsEtap::decay(), EvtBToKpipiCP::decay(), EvtBtoKpiCPiso::decay(), EvtBtoKD3P::decay(), EvtBTo3piCP::decay(), EvtPto3P::dp(), EvtDecayTable::findChannel(), EvtConExc::gamHXSection(), EvtVVPIPI_WEIGHTED::init(), EvtVVpipi::init(), EvtVSSBMixCPT::init(), EvtTrackGen::init(), EvtTauHadnu::init(), EvtSSDCP::init(), EvtSLPole::init(), EvtSLBKPole::init(), EvtS2GV::init(), EvtPartWave::init(), EvtP2GC2::init(), EvtP2GC1::init(), EvtP2GC0::init(), EvtJpipi::init(), EvtJPE::init(), EvtISGW2::init(), EvtISGW::init(), EvtHypNonLepton::init(), EvtHQET2::init(), EvtHQET::init(), EvtHelAmp::init(), 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(), 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 EvtDDalitz::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(), 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(), EvtPhokhara::init(), EvtPartWave::init(), EvtOpenCharm::init(), EvtmH2::init(), EvtMassH2::init(), EvtMassH1::init(), EvtLundCharm::init(), EvtLunda::init(), EvtJetSet::init(), EvtHypNonLepton::init(), EvtHelAmp::init(), EvtHAngSam3::init(), EvtDIY::init(), 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
void EvtDDalitz::init | ( | ) | [virtual] |
Reimplemented from EvtDecayBase.
Definition at line 51 of file EvtDDalitz.cc.
References _d1, _d2, _d3, _flag, _kkpi_params, EvtDecayBase::checkNArg(), EvtDecayBase::checkNDaug(), EvtDecayBase::checkSpinDaughter(), EvtDecayBase::checkSpinParent(), calibUtil::ERROR, EvtDecayBase::getDaug(), EvtPDL::getId(), EvtPDL::getMeanMass(), EvtDecayBase::getParentId(), report(), and EvtSpinType::SCALAR.
00051 { 00052 00053 // check that there are 0 arguments 00054 00055 static EvtId DM=EvtPDL::getId("D-"); 00056 static EvtId DP=EvtPDL::getId("D+"); 00057 static EvtId D0=EvtPDL::getId("D0"); 00058 static EvtId D0B=EvtPDL::getId("anti-D0"); 00059 static EvtId DSP=EvtPDL::getId("D_s+"); 00060 static EvtId DSM=EvtPDL::getId("D_s-"); 00061 static EvtId KM=EvtPDL::getId("K-"); 00062 static EvtId KP=EvtPDL::getId("K+"); 00063 static EvtId K0=EvtPDL::getId("K0"); 00064 static EvtId KB=EvtPDL::getId("anti-K0"); 00065 static EvtId KL=EvtPDL::getId("K_L0"); 00066 static EvtId KS=EvtPDL::getId("K_S0"); 00067 static EvtId PIM=EvtPDL::getId("pi-"); 00068 static EvtId PIP=EvtPDL::getId("pi+"); 00069 static EvtId PI0=EvtPDL::getId("pi0"); 00070 00071 static double MPI = EvtPDL::getMeanMass(PI0); 00072 static double MKP = EvtPDL::getMeanMass(KP); 00073 00074 00075 checkNArg(0); 00076 checkNDaug(3); 00077 00078 checkSpinParent(EvtSpinType::SCALAR); 00079 00080 checkSpinDaughter(0,EvtSpinType::SCALAR); 00081 checkSpinDaughter(1,EvtSpinType::SCALAR); 00082 checkSpinDaughter(2,EvtSpinType::SCALAR); 00083 00084 EvtId parnum=getParentId(); 00085 EvtId d1=getDaug(0); 00086 EvtId d2=getDaug(1); 00087 EvtId d3=getDaug(2); 00088 _flag=0; 00089 if ( parnum == D0 ) { 00090 //look for either a K- pi+ pi0 or K0bar pi+ pi- 00091 if ( d1==KM && d2==PIP && d3==PI0 ) { _flag=4; _d1=0; _d2=1; _d3=2;} 00092 if ( d1==KM && d3==PIP && d2==PI0 ) { _flag=4; _d1=0; _d2=2; _d3=1;} 00093 if ( d2==KM && d1==PIP && d3==PI0 ) { _flag=4; _d1=1; _d2=0; _d3=2;} 00094 if ( d2==KM && d3==PIP && d1==PI0 ) { _flag=4; _d1=1; _d2=2; _d3=0;} 00095 if ( d3==KM && d1==PIP && d2==PI0 ) { _flag=4; _d1=2; _d2=0; _d3=1;} 00096 if ( d3==KM && d2==PIP && d1==PI0 ) { _flag=4; _d1=2; _d2=1; _d3=0;} 00097 00098 if ( d1==KB && d2==PIP && d3==PIM ) { _flag=3; _d1=0; _d2=2; _d3=1;} 00099 if ( d1==KB && d3==PIP && d2==PIM ) { _flag=3; _d1=0; _d2=1; _d3=2;} 00100 if ( d2==KB && d1==PIP && d3==PIM ) { _flag=3; _d1=1; _d2=2; _d3=0;} 00101 if ( d2==KB && d3==PIP && d1==PIM ) { _flag=3; _d1=1; _d2=0; _d3=2;} 00102 if ( d3==KB && d1==PIP && d2==PIM ) { _flag=3; _d1=2; _d2=1; _d3=0;} 00103 if ( d3==KB && d2==PIP && d1==PIM ) { _flag=3; _d1=2; _d2=0; _d3=1;} 00104 00105 if ( d1==KL && d2==PIP && d3==PIM ) { _flag=3; _d1=0; _d2=2; _d3=1;} 00106 if ( d1==KL && d3==PIP && d2==PIM ) { _flag=3; _d1=0; _d2=1; _d3=2;} 00107 if ( d2==KL && d1==PIP && d3==PIM ) { _flag=3; _d1=1; _d2=2; _d3=0;} 00108 if ( d2==KL && d3==PIP && d1==PIM ) { _flag=3; _d1=1; _d2=0; _d3=2;} 00109 if ( d3==KL && d1==PIP && d2==PIM ) { _flag=3; _d1=2; _d2=1; _d3=0;} 00110 if ( d3==KL && d2==PIP && d1==PIM ) { _flag=3; _d1=2; _d2=0; _d3=1;} 00111 00112 if ( d1==KS && d2==PIP && d3==PIM ) { _flag=3; _d1=0; _d2=2; _d3=1;} 00113 if ( d1==KS && d3==PIP && d2==PIM ) { _flag=3; _d1=0; _d2=1; _d3=2;} 00114 if ( d2==KS && d1==PIP && d3==PIM ) { _flag=3; _d1=1; _d2=2; _d3=0;} 00115 if ( d2==KS && d3==PIP && d1==PIM ) { _flag=3; _d1=1; _d2=0; _d3=2;} 00116 if ( d3==KS && d1==PIP && d2==PIM ) { _flag=3; _d1=2; _d2=1; _d3=0;} 00117 if ( d3==KS && d2==PIP && d1==PIM ) { _flag=3; _d1=2; _d2=0; _d3=1;} 00118 00119 00120 if ( d1==KS && d2==KP && d3==KM ) {_flag=5;_d1=0;_d2=2;_d3=1;} 00121 if ( d1==KS && d3==KP && d2==KM ) {_flag=5;_d1=0;_d2=1;_d3=2;} 00122 if ( d2==KS && d1==KP && d3==KM ) {_flag=5;_d1=1;_d2=2;_d3=0;} 00123 if ( d2==KS && d3==KP && d1==KM ) {_flag=5;_d1=1;_d2=0;_d3=2;} 00124 if ( d3==KS && d1==KP && d2==KM ) {_flag=5;_d1=2;_d2=1;_d3=0;} 00125 if ( d3==KS && d2==KP && d1==KM ) {_flag=5;_d1=2;_d2=0;_d3=1;} 00126 00127 if ( d1==KL && d2==KP && d3==KM ) {_flag=5;_d1=0;_d2=2;_d3=1;} 00128 if ( d1==KL && d3==KP && d2==KM ) {_flag=5;_d1=0;_d2=1;_d3=2;} 00129 if ( d2==KL && d1==KP && d3==KM ) {_flag=5;_d1=1;_d2=2;_d3=0;} 00130 if ( d2==KL && d3==KP && d1==KM ) {_flag=5;_d1=1;_d2=0;_d3=2;} 00131 if ( d3==KL && d1==KP && d2==KM ) {_flag=5;_d1=2;_d2=1;_d3=0;} 00132 if ( d3==KL && d2==KP && d1==KM ) {_flag=5;_d1=2;_d2=0;_d3=1;} 00133 00134 if ( d1==K0 && d2==KP && d3==KM ) {_flag=5;_d1=0;_d2=2;_d3=1;} 00135 if ( d1==K0 && d3==KP && d2==KM ) {_flag=5;_d1=0;_d2=1;_d3=2;} 00136 if ( d2==K0 && d1==KP && d3==KM ) {_flag=5;_d1=1;_d2=2;_d3=0;} 00137 if ( d2==K0 && d3==KP && d1==KM ) {_flag=5;_d1=1;_d2=0;_d3=2;} 00138 if ( d3==K0 && d1==KP && d2==KM ) {_flag=5;_d1=2;_d2=1;_d3=0;} 00139 if ( d3==K0 && d2==KP && d1==KM ) {_flag=5;_d1=2;_d2=0;_d3=1;} 00140 } 00141 if ( parnum == D0B ) { 00142 //look for either a K+ pi- pi0 or K0 pi+ pi- 00143 if ( d1==KP && d2==PIM && d3==PI0 ) { _flag=4; _d1=0; _d2=1; _d3=2;} 00144 if ( d1==KP && d3==PIM && d2==PI0 ) { _flag=4; _d1=0; _d2=2; _d3=1;} 00145 if ( d2==KP && d1==PIM && d3==PI0 ) { _flag=4; _d1=1; _d2=0; _d3=2;} 00146 if ( d2==KP && d3==PIM && d1==PI0 ) { _flag=4; _d1=1; _d2=2; _d3=0;} 00147 if ( d3==KP && d1==PIM && d2==PI0 ) { _flag=4; _d1=2; _d2=0; _d3=1;} 00148 if ( d3==KP && d2==PIM && d1==PI0 ) { _flag=4; _d1=2; _d2=1; _d3=0;} 00149 00150 if ( d1==K0 && d2==PIP && d3==PIM ) { _flag=3; _d1=0; _d2=1; _d3=2;} 00151 if ( d1==K0 && d3==PIP && d2==PIM ) { _flag=3; _d1=0; _d2=2; _d3=1;} 00152 if ( d2==K0 && d1==PIP && d3==PIM ) { _flag=3; _d1=1; _d2=0; _d3=2;} 00153 if ( d2==K0 && d3==PIP && d1==PIM ) { _flag=3; _d1=1; _d2=2; _d3=0;} 00154 if ( d3==K0 && d1==PIP && d2==PIM ) { _flag=3; _d1=2; _d2=0; _d3=1;} 00155 if ( d3==K0 && d2==PIP && d1==PIM ) { _flag=3; _d1=2; _d2=1; _d3=0;} 00156 00157 if ( d1==KL && d2==PIP && d3==PIM ) { _flag=3; _d1=0; _d2=1; _d3=2;} 00158 if ( d1==KL && d3==PIP && d2==PIM ) { _flag=3; _d1=0; _d2=2; _d3=1;} 00159 if ( d2==KL && d1==PIP && d3==PIM ) { _flag=3; _d1=1; _d2=0; _d3=2;} 00160 if ( d2==KL && d3==PIP && d1==PIM ) { _flag=3; _d1=1; _d2=2; _d3=0;} 00161 if ( d3==KL && d1==PIP && d2==PIM ) { _flag=3; _d1=2; _d2=0; _d3=1;} 00162 if ( d3==KL && d2==PIP && d1==PIM ) { _flag=3; _d1=2; _d2=1; _d3=0;} 00163 00164 if ( d1==KS && d2==PIP && d3==PIM ) { _flag=3; _d1=0; _d2=1; _d3=2;} 00165 if ( d1==KS && d3==PIP && d2==PIM ) { _flag=3; _d1=0; _d2=2; _d3=1;} 00166 if ( d2==KS && d1==PIP && d3==PIM ) { _flag=3; _d1=1; _d2=0; _d3=2;} 00167 if ( d2==KS && d3==PIP && d1==PIM ) { _flag=3; _d1=1; _d2=2; _d3=0;} 00168 if ( d3==KS && d1==PIP && d2==PIM ) { _flag=3; _d1=2; _d2=0; _d3=1;} 00169 if ( d3==KS && d2==PIP && d1==PIM ) { _flag=3; _d1=2; _d2=1; _d3=0;} 00170 00171 if ( d1==KS && d2==KP && d3==KM ) {_flag=5;_d1=0;_d2=1;_d3=2;} 00172 if ( d1==KS && d3==KP && d2==KM ) {_flag=5;_d1=0;_d2=2;_d3=1;} 00173 if ( d2==KS && d1==KP && d3==KM ) {_flag=5;_d1=1;_d2=0;_d3=2;} 00174 if ( d2==KS && d3==KP && d1==KM ) {_flag=5;_d1=1;_d2=2;_d3=0;} 00175 if ( d3==KS && d1==KP && d2==KM ) {_flag=5;_d1=2;_d2=0;_d3=1;} 00176 if ( d3==KS && d2==KP && d1==KM ) {_flag=5;_d1=2;_d2=1;_d3=0;} 00177 00178 if ( d1==KL && d2==KP && d3==KM ) {_flag=5;_d1=0;_d2=1;_d3=2;} 00179 if ( d1==KL && d3==KP && d2==KM ) {_flag=5;_d1=0;_d2=2;_d3=1;} 00180 if ( d2==KL && d1==KP && d3==KM ) {_flag=5;_d1=1;_d2=0;_d3=2;} 00181 if ( d2==KL && d3==KP && d1==KM ) {_flag=5;_d1=1;_d2=2;_d3=0;} 00182 if ( d3==KL && d1==KP && d2==KM ) {_flag=5;_d1=2;_d2=0;_d3=1;} 00183 if ( d3==KL && d2==KP && d1==KM ) {_flag=5;_d1=2;_d2=1;_d3=0;} 00184 00185 if ( d1==K0 && d2==KP && d3==KM ) {_flag=5;_d1=0;_d2=1;_d3=2;} 00186 if ( d1==K0 && d3==KP && d2==KM ) {_flag=5;_d1=0;_d2=2;_d3=1;} 00187 if ( d2==K0 && d1==KP && d3==KM ) {_flag=5;_d1=1;_d2=0;_d3=2;} 00188 if ( d2==K0 && d3==KP && d1==KM ) {_flag=5;_d1=1;_d2=2;_d3=0;} 00189 if ( d3==K0 && d1==KP && d2==KM ) {_flag=5;_d1=2;_d2=0;_d3=1;} 00190 if ( d3==K0 && d2==KP && d1==KM ) {_flag=5;_d1=2;_d2=1;_d3=0;} 00191 00192 } 00193 00194 if ( parnum == DP ) { 00195 //look for K- pi+ pi+ 00196 if ( d1==KB && d2==PIP && d3==PI0 ) { _flag=2; _d1=0; _d2=1; _d3=2;} 00197 if ( d1==KB && d3==PIP && d2==PI0 ) { _flag=2; _d1=0; _d2=2; _d3=1;} 00198 if ( d2==KB && d1==PIP && d3==PI0 ) { _flag=2; _d1=1; _d2=0; _d3=2;} 00199 if ( d2==KB && d3==PIP && d1==PI0 ) { _flag=2; _d1=1; _d2=2; _d3=0;} 00200 if ( d3==KB && d1==PIP && d2==PI0 ) { _flag=2; _d1=2; _d2=0; _d3=1;} 00201 if ( d3==KB && d2==PIP && d1==PI0 ) { _flag=2; _d1=2; _d2=1; _d3=0;} 00202 00203 if ( d1==KL && d2==PIP && d3==PI0 ) { _flag=2; _d1=0; _d2=1; _d3=2;} 00204 if ( d1==KL && d3==PIP && d2==PI0 ) { _flag=2; _d1=0; _d2=2; _d3=1;} 00205 if ( d2==KL && d1==PIP && d3==PI0 ) { _flag=2; _d1=1; _d2=0; _d3=2;} 00206 if ( d2==KL && d3==PIP && d1==PI0 ) { _flag=2; _d1=1; _d2=2; _d3=0;} 00207 if ( d3==KL && d1==PIP && d2==PI0 ) { _flag=2; _d1=2; _d2=0; _d3=1;} 00208 if ( d3==KL && d2==PIP && d1==PI0 ) { _flag=2; _d1=2; _d2=1; _d3=0;} 00209 00210 if ( d1==KS && d2==PIP && d3==PI0 ) { _flag=2; _d1=0; _d2=1; _d3=2;} 00211 if ( d1==KS && d3==PIP && d2==PI0 ) { _flag=2; _d1=0; _d2=2; _d3=1;} 00212 if ( d2==KS && d1==PIP && d3==PI0 ) { _flag=2; _d1=1; _d2=0; _d3=2;} 00213 if ( d2==KS && d3==PIP && d1==PI0 ) { _flag=2; _d1=1; _d2=2; _d3=0;} 00214 if ( d3==KS && d1==PIP && d2==PI0 ) { _flag=2; _d1=2; _d2=0; _d3=1;} 00215 if ( d3==KS && d2==PIP && d1==PI0 ) { _flag=2; _d1=2; _d2=1; _d3=0;} 00216 00217 if ( d1==KM && d2==PIP && d3==PIP ) { _flag=1; _d1=0; _d2=1; _d3=2;} 00218 if ( d2==KM && d1==PIP && d3==PIP ) { _flag=1; _d1=1; _d2=0; _d3=2;} 00219 if ( d3==KM && d1==PIP && d2==PIP ) { _flag=1; _d1=2; _d2=0; _d3=1;} 00220 } 00221 00222 if ( parnum == DM ) { 00223 //look for K- pi+ pi+ 00224 if ( d1==K0 && d2==PIM && d3==PI0 ) { _flag=2; _d1=0; _d2=1; _d3=2;} 00225 if ( d1==K0 && d3==PIM && d2==PI0 ) { _flag=2; _d1=0; _d2=2; _d3=1;} 00226 if ( d2==K0 && d1==PIM && d3==PI0 ) { _flag=2; _d1=1; _d2=0; _d3=2;} 00227 if ( d2==K0 && d3==PIM && d1==PI0 ) { _flag=2; _d1=1; _d2=2; _d3=0;} 00228 if ( d3==K0 && d1==PIM && d2==PI0 ) { _flag=2; _d1=2; _d2=0; _d3=1;} 00229 if ( d3==K0 && d2==PIM && d1==PI0 ) { _flag=2; _d1=2; _d2=1; _d3=0;} 00230 00231 if ( d1==KL && d2==PIM && d3==PI0 ) { _flag=2; _d1=0; _d2=1; _d3=2;} 00232 if ( d1==KL && d3==PIM && d2==PI0 ) { _flag=2; _d1=0; _d2=2; _d3=1;} 00233 if ( d2==KL && d1==PIM && d3==PI0 ) { _flag=2; _d1=1; _d2=0; _d3=2;} 00234 if ( d2==KL && d3==PIM && d1==PI0 ) { _flag=2; _d1=1; _d2=2; _d3=0;} 00235 if ( d3==KL && d1==PIM && d2==PI0 ) { _flag=2; _d1=2; _d2=0; _d3=1;} 00236 if ( d3==KL && d2==PIM && d1==PI0 ) { _flag=2; _d1=2; _d2=1; _d3=0;} 00237 00238 if ( d1==KS && d2==PIM && d3==PI0 ) { _flag=2; _d1=0; _d2=1; _d3=2;} 00239 if ( d1==KS && d3==PIM && d2==PI0 ) { _flag=2; _d1=0; _d2=2; _d3=1;} 00240 if ( d2==KS && d1==PIM && d3==PI0 ) { _flag=2; _d1=1; _d2=0; _d3=2;} 00241 if ( d2==KS && d3==PIM && d1==PI0 ) { _flag=2; _d1=1; _d2=2; _d3=0;} 00242 if ( d3==KS && d1==PIM && d2==PI0 ) { _flag=2; _d1=2; _d2=0; _d3=1;} 00243 if ( d3==KS && d2==PIM && d1==PI0 ) { _flag=2; _d1=2; _d2=1; _d3=0;} 00244 00245 if ( d1==KP && d2==PIM && d3==PIM ) { _flag=1; _d1=0; _d2=1; _d3=2;} 00246 if ( d2==KP && d1==PIM && d3==PIM ) { _flag=1; _d1=1; _d2=0; _d3=2;} 00247 if ( d3==KP && d1==PIM && d2==PIM ) { _flag=1; _d1=2; _d2=0; _d3=1;} 00248 } 00249 00250 if ( parnum == DSP ) { 00251 if ( d1==KM && d2==KP && d3==PIP ) { _flag=6; _d1=0; _d2=1; _d3=2; } 00252 if ( d1==KM && d3==KP && d2==PIP ) { _flag=6; _d1=0; _d2=2; _d3=1; } 00253 if ( d2==KM && d1==KP && d3==PIP ) { _flag=6; _d1=1; _d2=0; _d3=2; } 00254 if ( d2==KM && d3==KP && d1==PIP ) { _flag=6; _d1=1; _d2=2; _d3=0; } 00255 if ( d3==KM && d1==KP && d2==PIP ) { _flag=6; _d1=2; _d2=0; _d3=1; } 00256 if ( d3==KM && d2==KP && d1==PIP ) { _flag=6; _d1=2; _d2=1; _d3=0; } 00257 } 00258 00259 if ( parnum == DSM ) { 00260 if ( d1==KP && d2==KM && d3==PIM ) { _flag=6; _d1=0; _d2=1; _d3=2; } 00261 if ( d1==KP && d3==KM && d2==PIM ) { _flag=6; _d1=0; _d2=2; _d3=1; } 00262 if ( d2==KP && d1==KM && d3==PIM ) { _flag=6; _d1=1; _d2=0; _d3=2; } 00263 if ( d2==KP && d3==KM && d1==PIM ) { _flag=6; _d1=1; _d2=2; _d3=0; } 00264 if ( d3==KP && d1==KM && d2==PIM ) { _flag=6; _d1=2; _d2=0; _d3=1; } 00265 if ( d3==KP && d2==KM && d1==PIM ) { _flag=6; _d1=2; _d2=1; _d3=0; } 00266 } 00267 00268 if ( _flag==6) { 00269 _kkpi_params.push_back(EvtFlatteParam(MPI, MPI, 0.406)); 00270 _kkpi_params.push_back(EvtFlatteParam(MKP, MKP, 0.800)); 00271 } 00272 00273 if ( _flag==0) { 00274 report(ERROR,"EvtGen") << "EvtDDaltiz: Invalid mode."<<endl; 00275 assert(0); 00276 } 00277 }
void EvtDDalitz::initProbMax | ( | ) | [virtual] |
Reimplemented from EvtDecayBase.
Definition at line 279 of file EvtDDalitz.cc.
References _flag, and EvtDecayBase::setProbMax().
00279 { 00280 00281 //probmax different for different modes! 00282 00283 if ( _flag==1 ) {setProbMax(9.6);} 00284 if ( _flag==2 ) {setProbMax(147.9);} 00285 if ( _flag==3 ) {setProbMax(5000.0);} 00286 if ( _flag==4 ) {setProbMax(3000.0);} 00287 if ( _flag==5 ) {setProbMax(10000000.0);} 00288 if ( _flag==6 ) {setProbMax(50000.0);} 00289 00290 }
void EvtDecayAmp::makeDecay | ( | EvtParticle * | p | ) | [virtual, inherited] |
Implements EvtDecayBase.
Definition at line 35 of file EvtDecayAmp.cc.
References EvtDecayAmp::_amp2, EvtDecayBase::_daugsDecayedByParentModel, EvtAmp::_dnontrivial, EvtAmp::_pstates, EvtDecayAmp::_weight, EvtRadCorr::alwaysRadCorr(), EvtCyclic3::c_str(), EvtSpinDensity::Check(), EvtAmp::contract(), EvtDecayBase::daugsDecayedByParentModel(), Bes_Common::DEBUG, EvtParticle::decay(), EvtDecayBase::decay(), EvtRadCorr::doRadCorr(), EvtAmp::dstates, EvtAmp::dump(), calibUtil::ERROR, EvtRandom::Flat(), EvtAmp::getBackwardSpinDensity(), EvtParticle::getChannel(), EvtParticle::getDaug(), EvtDecayBase::getDaugs(), EvtId::getId(), EvtParticle::getId(), EvtParticle::getNDaug(), EvtDecayBase::getNDaug(), EvtParticle::getP4(), EvtParticle::getParent(), EvtDecayBase::getPHOTOS(), EvtDecayBase::getProbMax(), EvtAmp::getSpinDensity(), EvtParticle::getSpinDensityBackward(), EvtParticle::getSpinDensityForward(), genRecEmupikp::i, EvtAmp::init(), EvtParticle::mass(), EvtPDL::name(), EvtSpinDensity::NormalizedProb(), report(), EvtSpinDensity::Set(), EvtParticle::setDecayProb(), EvtSpinDensity::SetDim(), EvtParticle::setSpinDensityBackward(), and EvtParticle::setSpinDensityForward().
00035 { 00036 00037 int ntimes=10000; 00038 00039 int i,more; 00040 00041 EvtSpinDensity rho; 00042 double prob,prob_max; 00043 00044 _amp2.init(p->getId(),getNDaug(),getDaugs()); 00045 // report(INFO,"EvtGen") << "Decaying " << EvtPDL::name(p->getId()) << endl; 00046 do{ 00047 00048 _daugsDecayedByParentModel=false; 00049 _weight = 1.0; 00050 decay(p); 00051 00052 rho=_amp2.getSpinDensity(); 00053 prob=p->getSpinDensityForward().NormalizedProb(rho); 00054 if (prob<0.0) { 00055 00056 report(ERROR,"EvtGen")<<"Negative prob:"<<p->getId().getId() 00057 <<" "<<p->getChannel()<<endl; 00058 00059 report(ERROR,"EvtGen") << "rho_forward:"<<endl; 00060 report(ERROR,"EvtGen") << p->getSpinDensityForward(); 00061 report(ERROR,"EvtGen") << "rho decay:"<<endl; 00062 report(ERROR,"EvtGen") << rho <<endl; 00063 } 00064 00065 if (prob!=prob) { 00066 00067 report(DEBUG,"EvtGen") << "Forward density matrix:"<<endl; 00068 report(ERROR,"EvtGen") << p->getSpinDensityForward(); 00069 00070 report(DEBUG,"EvtGen") << "Decay density matrix:"<<endl; 00071 report(ERROR,"EvtGen") << rho; 00072 00073 report(DEBUG,"EvtGen") << "prob:"<<prob<<endl; 00074 00075 report(DEBUG,"EvtGen") << "Particle:" 00076 <<EvtPDL::name(p->getId()).c_str()<<endl; 00077 report(DEBUG,"EvtGen") << "channel :"<<p->getChannel()<<endl; 00078 report(DEBUG,"EvtGen") << "Momentum:" << p->getP4() << " " << p->mass() << endl; 00079 if( p->getParent()!=0){ 00080 report(DEBUG,"EvtGen") << "parent:" 00081 <<EvtPDL::name( 00082 p->getParent()->getId()).c_str()<<endl; 00083 report(DEBUG,"EvtGen") << "parent channel :" 00084 <<p->getParent()->getChannel()<<endl; 00085 00086 int i; 00087 report(DEBUG,"EvtGen") << "parent daughters :"; 00088 for (i=0;i<p->getParent()->getNDaug();i++){ 00089 report(DEBUG,"") << EvtPDL::name( 00090 p->getParent()->getDaug(i)->getId()).c_str() 00091 << " "; 00092 } 00093 report(DEBUG,"") << endl; 00094 00095 report(DEBUG,"EvtGen") << "daughters :"; 00096 for (i=0;i<p->getNDaug();i++){ 00097 report(DEBUG,"") << EvtPDL::name( 00098 p->getDaug(i)->getId()).c_str() 00099 << " "; 00100 } 00101 report(DEBUG,"") << endl; 00102 00103 report(DEBUG,"EvtGen") << "daughter momenta :" << endl;; 00104 for (i=0;i<p->getNDaug();i++){ 00105 report(DEBUG,"") << p->getDaug(i)->getP4() << " " << p->getDaug(i)->mass(); 00106 report(DEBUG,"") << endl; 00107 } 00108 00109 } 00110 } 00111 00112 00113 prob/=_weight; 00114 00115 00116 prob_max = getProbMax(prob); 00117 p->setDecayProb(prob/prob_max); 00118 00119 //report(INFO,"EvtGen") << "Prob,prob_max,weight:"<<prob<<" "<<prob_max<<" "<<_weight<<endl; 00120 00121 more=prob<EvtRandom::Flat(prob_max); 00122 00123 ntimes--; 00124 00125 }while(ntimes&&more); 00126 //report(INFO,"EvtGen") << "Done\n"; 00127 00128 if (ntimes==0){ 00129 report(DEBUG,"EvtGen") << "Tried accept/reject:10000" 00130 <<" times, and rejected all the times!"<<endl; 00131 report(DEBUG,"")<<p->getSpinDensityForward()<<endl; 00132 report(DEBUG,"EvtGen") << "Is therefore accepting the last event!"<<endl; 00133 report(DEBUG,"EvtGen") << "Decay of particle:"<< 00134 EvtPDL::name(p->getId()).c_str()<<"(channel:"<< 00135 p->getChannel()<<") with mass "<<p->mass()<<endl; 00136 00137 int ii; 00138 for(ii=0;ii<p->getNDaug();ii++){ 00139 report(DEBUG,"EvtGen") <<"Daughter "<<ii<<":"<< 00140 EvtPDL::name(p->getDaug(ii)->getId()).c_str()<<" with mass "<< 00141 p->getDaug(ii)->mass()<<endl; 00142 } 00143 } 00144 00145 00146 EvtSpinDensity rho_list[10]; 00147 00148 rho_list[0]=p->getSpinDensityForward(); 00149 00150 00151 EvtAmp ampcont; 00152 00153 if (_amp2._pstates!=1){ 00154 ampcont=_amp2.contract(0,p->getSpinDensityForward()); // J2BB2 bugging here 00155 00156 } 00157 else{ 00158 ampcont=_amp2; 00159 } 00160 00161 00162 00163 // it may be that the parent decay model has already 00164 // done the decay - this should be rare and the 00165 // model better know what it is doing.. 00166 00167 if ( !daugsDecayedByParentModel() ){ 00168 00169 00170 // report(INFO,"EvtGen") << "Found " << p->getNDaug() << " daughters\n"; 00171 for(i=0;i<p->getNDaug();i++){ 00172 00173 rho.SetDim(_amp2.dstates[i]); 00174 00175 if (_amp2.dstates[i]==1) { 00176 rho.Set(0,0,EvtComplex(1.0,0.0)); 00177 } 00178 else{ 00179 rho=ampcont.contract(_amp2._dnontrivial[i],_amp2); 00180 } 00181 00182 if (!rho.Check()) { 00183 00184 report(ERROR,"EvtGen") << "-------start error-------"<<endl; 00185 report(ERROR,"EvtGen")<<"forward rho failed Check:"<< 00186 EvtPDL::name(p->getId()).c_str()<<" "<<p->getChannel()<<" "<<i<<endl; 00187 00188 report(ERROR,"EvtGen")<<"Parent:"<<EvtPDL::name(p->getParent()->getId()).c_str()<<endl; 00189 report(ERROR,"EvtGen")<<"GrandParent:"<<EvtPDL::name(p->getParent()->getParent()->getId()).c_str()<<endl; 00190 report(ERROR,"EvtGen")<<"GrandGrandParent:"<<EvtPDL::name(p->getParent()->getParent()->getParent()->getId()).c_str()<<endl; 00191 00192 report(ERROR,"EvtGen") << rho; 00193 int ii; 00194 _amp2.dump(); 00195 00196 for(ii=0;ii<i+1;ii++){ 00197 report(ERROR,"EvtGen") << rho_list[ii]; 00198 } 00199 report(ERROR,"EvtGen") << "-------Done with error-------"<<endl; 00200 } 00201 00202 00203 00204 p->getDaug(i)->setSpinDensityForward(rho); 00205 00206 //debugging 00207 // p->printTree(); 00208 p->getDaug(i)->decay(); 00209 00210 rho_list[i+1]= p->getDaug(i)->getSpinDensityBackward(); 00211 00212 if (_amp2.dstates[i]!=1){ 00213 ampcont=ampcont.contract(_amp2._dnontrivial[i],rho_list[i+1]); 00214 } 00215 00216 00217 } 00218 00219 p->setSpinDensityBackward(_amp2.getBackwardSpinDensity(rho_list)); 00220 00221 00222 if (!p->getSpinDensityBackward().Check()) { 00223 00224 report(ERROR,"EvtGen")<<"rho_backward failed Check"<< 00225 p->getId().getId()<<" "<<p->getChannel()<<endl; 00226 00227 report(ERROR,"EvtGen") << p->getSpinDensityBackward(); 00228 00229 } 00230 } 00231 00232 if (getPHOTOS() || EvtRadCorr::alwaysRadCorr()) { 00233 EvtRadCorr::doRadCorr(p); 00234 00235 } 00236 00237 }
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(), EvtPhokhara::initProbMax(), EvtOpenCharm::initProbMax(), EvtmPhsp::initProbMax(), EvtmH2::initProbMax(), EvtMBody3::initProbMax(), EvtMassH2::initProbMax(), EvtMassH1::initProbMax(), EvtLundCharm::initProbMax(), EvtLunda::initProbMax(), EvtLambdac2pKpi::initProbMax(), EvtJscont::initProbMax(), EvtJetSet::initProbMax(), EvtHAngSam3::initProbMax(), EvtDMix::initProbMax(), EvtDIY::initProbMax(), EvtConExc::initProbMax(), EvtCalHelAmp::initProbMax(), EvtBtoXsll::initProbMax(), EvtBtoXsgamma::initProbMax(), EvtBtoXsEtap::initProbMax(), EvtBody3::initProbMax(), EvtAngSamX::initProbMax(), EvtAngSamLab::initProbMax(), EvtAngSam3::initProbMax(), EvtAngSam::initProbMax(), and EvtAngH2::initProbMax().
00304 { 00305 00306 defaultprobmax=0; 00307 00308 }
virtual int EvtDecayBase::nRealDaughters | ( | ) | [inline, virtual, inherited] |
Reimplemented in EvtBtoKD3P, and EvtVSSBMixCPT.
Definition at line 105 of file EvtDecayBase.hh.
References EvtDecayBase::_ndaug.
Referenced by EvtDecayTable::readDecayFile().
00105 { return _ndaug;}
void 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 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(), 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 EvtDecayAmp::setWeight | ( | double | weight | ) | [inline, inherited] |
Definition at line 32 of file EvtDecayAmp.hh.
References EvtDecayAmp::_weight.
Referenced by EvtbTosllBall::decay(), and EvtbTosllAli::decay().
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; }
void EvtDecayAmp::vertex | ( | int * | i1, | |
const EvtComplex & | amp | |||
) | [inline, inherited] |
sets the amplitudes calculated in the decay objects
Definition at line 60 of file EvtDecayAmp.hh.
References EvtDecayAmp::_amp2, and EvtAmp::vertex().
void EvtDecayAmp::vertex | ( | int | i1, | |
int | i2, | |||
int | i3, | |||
const EvtComplex & | amp | |||
) | [inline, inherited] |
sets the amplitudes calculated in the decay objects
Definition at line 54 of file EvtDecayAmp.hh.
References EvtDecayAmp::_amp2, and EvtAmp::vertex().
void EvtDecayAmp::vertex | ( | int | i1, | |
int | i2, | |||
const EvtComplex & | amp | |||
) | [inline, inherited] |
sets the amplitudes calculated in the decay objects
Definition at line 47 of file EvtDecayAmp.hh.
References EvtDecayAmp::_amp2, and EvtAmp::vertex().
void EvtDecayAmp::vertex | ( | int | i1, | |
const EvtComplex & | amp | |||
) | [inline, inherited] |
sets the amplitudes calculated in the decay objects
Definition at line 42 of file EvtDecayAmp.hh.
References EvtDecayAmp::_amp2, and EvtAmp::vertex().
void EvtDecayAmp::vertex | ( | const EvtComplex & | amp | ) | [inline, inherited] |
sets the amplitudes calculated in the decay objects
Definition at line 37 of file EvtDecayAmp.hh.
References EvtDecayAmp::_amp2, and EvtAmp::vertex().
Referenced by EvtVVSPwave::decay(), EvtVVPIPI_WEIGHTED::decay(), EvtVVpipi::decay(), EvtVVP::decay(), EvtVSSMix::decay(), EvtVSSBMixCPT::decay(), EvtVSS::decay(), EvtVSPPwave::decay(), EvtVPHOtoVISRHi::decay(), EvtVPHOtoVISR::decay(), EvtVll::decay(), EvtTVSPwave::decay(), EvtTSS::decay(), EvtTauVectornu::decay(), EvtTauScalarnu::decay(), EvtTaulnunu::decay(), EvtTauHadnu::decay(), EvtTauGamMu::decay(), EvtT2GV::decay(), EvtSVSNONCPEIGEN::decay(), EvtSVSCPLH::decay(), EvtSVSCPiso::decay(), EvtSVSCP::decay(), EvtSVS::decay(), EvtSVPHelAmp::decay(), EvtSVPCP::decay(), EvtSTSCP::decay(), EvtSTS::decay(), EvtSSSCPT::decay(), EvtSSSCPpng::decay(), EvtSSSCP::decay(), EvtSSDCP::decay(), EvtSPL::decay(), EvtSLN::decay(), EvtSll::decay(), EvtS2GV::decay(), EvtPhiDalitz::decay(), EvtPBB2::decay(), EvtPBB1::decay(), EvtP2GC2::decay(), EvtP2GC1::decay(), EvtP2GC0::decay(), EvtOmegaDalitz::decay(), EvtMultibody::decay(), EvtLNuGamma::decay(), EvtLambdaP_BarGamma::decay(), EvtKstarstargamma::decay(), EvtKstarnunu::decay(), EvtJTO3P::decay(), EvtJpipi::decay(), EvtJPE::decay(), EvtJ2BB3::decay(), EvtJ2BB2::decay(), EvtJ2BB1::decay(), EvtIntervalDecayAmp< EvtDalitzPoint >::decay(), EvtHypWK::decay(), EvtHelPPJ::decay(), EvtEtaDalitz::decay(), EvtEDM::decay(), EvtDeBD::decay(), decay(), EvtD0mixDalitz::decay(), EvtChi2BB2::decay(), EvtChi2BB1::decay(), EvtChi1BB2::decay(), EvtChi1BB1::decay(), EvtChi0BB2::decay(), EvtChi0BB1::decay(), EvtCBTo3piP00::decay(), EvtCBTo3piMPP::decay(), EvtBToKpipiCP::decay(), EvtBtoKpiCPiso::decay(), EvtBtoKD3P::decay(), EvtBTo4piCP::decay(), EvtBTo3piCP::decay(), EvtBto2piCPiso::decay(), EvtBHadronic::decay(), EvtAV2GV::decay(), EvtGoityRoberts::DecayBDpilnuGR(), EvtGoityRoberts::DecayBDstarpilnuGR(), and EvtTauGamMu::init().
EvtAmp EvtDecayAmp::_amp2 [protected, inherited] |
Definition at line 66 of file EvtDecayAmp.hh.
Referenced by EvtSVVNONCPEIGEN::decay(), EvtSVVHelAmp::decay(), EvtSVVCPLH::decay(), EvtSVVCP::decay(), EvtSLPole::decay(), EvtSLBKPole::decay(), EvtPartWave::decay(), EvtMelikhov::decay(), EvtKKLambdaC::decay(), EvtISGW2::decay(), EvtISGW::decay(), EvtHypNonLepton::decay(), EvtHQET2::decay(), EvtHQET::decay(), EvtHelAmp::decay(), EvtbTosllBall::decay(), EvtbTosllAli::decay(), EvtDecayAmp::makeDecay(), and EvtDecayAmp::vertex().
int EvtDDalitz::_d1 [private] |
int EvtDDalitz::_d2 [private] |
int EvtDDalitz::_d3 [private] |
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().
int EvtDDalitz::_flag [private] |
vector<EvtFlatteParam> EvtDDalitz::_kkpi_params [private] |