EvtPhokhara_nnbar Class Reference

#include <EvtPhokhara_nnbar.hh>

Inheritance diagram for EvtPhokhara_nnbar:

EvtDecayIncoherent EvtDecayBase List of all members.

Public Member Functions

 EvtPhokhara_nnbar ()
virtual ~EvtPhokhara_nnbar ()
void getName (std::string &name)
EvtDecayBaseclone ()
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 ()
EvtIdgetDaugs ()
EvtId getDaug (int i)
int getNArg ()
int getPHOTOS ()
void setPHOTOS ()
void setVerbose ()
void setSummary ()
double * getArgs ()
std::stringgetArgsStr ()
double getArg (int j)
std::string getArgStr (int j)
std::string getModelName ()
int getDSum ()
int summary ()
int verbose ()
void saveDecayInfo (EvtId ipar, int ndaug, EvtId *daug, int narg, std::vector< std::string > &args, std::string name, double brfr)
void printSummary ()
void setProbMax (double prbmx)
void noProbMax ()
void checkNArg (int a1, int a2=-1, int a3=-1, int a4=-1)
void checkNDaug (int d1, int d2=-1)
void checkSpinParent (EvtSpinType::spintype sp)
void checkSpinDaughter (int d1, EvtSpinType::spintype sp)
virtual int nRealDaughters ()

Static Public Member Functions

static void findMasses (EvtParticle *p, int ndaugs, EvtId daugs[10], double masses[10])
static void findMass (EvtParticle *p)
static double findMaxMass (EvtParticle *p)

Protected Member Functions

bool daugsDecayedByParentModel ()

Protected Attributes

bool _daugsDecayedByParentModel

Private Member Functions

void store (EvtDecayBase *jsdecay)

Private Attributes

int m_nm
int m_nlo
double m_w
int m_pion
int m_fsr
int m_fsrnlo
int m_ivac
int m_tagged
int m_NarrowRes
int m_FF_Kaon
int m_FF_Pion
int m_f0_model
double m_E
double m_q2min
double m_q2_min_c
double m_q2_max_c
double m_gmin
double m_phot1cut
double m_phot2cut
double m_pi1cut
double m_pi2cut
double qqmin
double qqmax
double cos1min
double cos1max
double cos2min
double cos2max
double cos3min
double cos3max
double dsigm1
double dsigm2
double sigma1
double sigma2
double sigma
double dsigm
double Ar [14]
double Ar_r [14]
int ievent
long int m_initSeed
double theMmax0
double theMmax1

Static Private Attributes

static int nphokharadecays = 0
static EvtDecayBasePtrphokharadecays = 0
static int ntable = 0
static int ncommand = 0
static int lcommand = 0
static std::stringcommands = 0
static int nevt = 0
static int nevtgen = 0

Detailed Description

Definition at line 33 of file EvtPhokhara_nnbar.hh.


Constructor & Destructor Documentation

EvtPhokhara_nnbar::EvtPhokhara_nnbar (  ) 

Definition at line 67 of file EvtPhokhara_nnbar.cc.

00067 {}

EvtPhokhara_nnbar::~EvtPhokhara_nnbar (  )  [virtual]

Definition at line 68 of file EvtPhokhara_nnbar.cc.

References commands, calibUtil::ERROR, genRecEmupikp::i, nphokharadecays, phokharadecays, and report().

00068                                      {
00069   int i;
00070   //the deletion of commands is really uggly!
00071 
00072   if (nphokharadecays==0) {
00073     delete [] commands;
00074     commands=0;
00075     return;
00076   }
00077 
00078   for(i=0;i<nphokharadecays;i++){
00079     if (phokharadecays[i]==this){
00080       phokharadecays[i]=phokharadecays[nphokharadecays-1];
00081       nphokharadecays--;
00082       if (nphokharadecays==0) {
00083         delete [] commands;
00084         commands=0;
00085       }
00086       return;
00087     }
00088   }
00089 
00090   report(ERROR,"EvtGen") << "Error in destroying Phokhara model!"<<endl;
00091  
00092 }


Member Function Documentation

void EvtDecayBase::checkNArg ( int  a1,
int  a2 = -1,
int  a3 = -1,
int  a4 = -1 
) [inherited]

Definition at line 482 of file EvtDecayBase.cc.

References EvtDecayBase::_modelname, EvtDecayBase::_narg, calibUtil::ERROR, EvtDecayBase::printSummary(), and report().

Referenced by EvtVVSPwave::init(), EvtVVPIPI_WEIGHTED::init(), EvtVVpipi::init(), EvtVVP::init(), EvtVSSMix::init(), EvtVSSBMixCPT::init(), EvtVSS::init(), EvtVSPPwave::init(), EvtVPHOtoVISRHi::init(), EvtVPHOtoVISR::init(), EvtVll::init(), EvtVectorIsr::init(), EvtTVSPwave::init(), EvtTSS::init(), EvtTrackGen::init(), EvtTauVectornu::init(), EvtTauScalarnu::init(), EvtTaulnunu::init(), EvtTauHadnu::init(), EvtTauGamMu::init(), EvtT2GV::init(), EvtSVVNONCPEIGEN::init(), EvtSVVHelAmp::init(), EvtSVVCPLH::init(), EvtSVVCP::init(), EvtSVSNONCPEIGEN::init(), EvtSVSCPLH::init(), EvtSVSCPiso::init(), EvtSVSCP::init(), EvtSVS::init(), EvtSVPHelAmp::init(), EvtSVPCP::init(), EvtSTSCP::init(), EvtSTS::init(), EvtSSSCPT::init(), EvtSSSCPpng::init(), EvtSSSCP::init(), EvtSSDCP::init(), EvtSLN::init(), EvtSll::init(), EvtS2GV::init(), EvtRexc::init(), EvtPythia::init(), EvtPyGaGa::init(), EvtPycont::init(), EvtPi0Dalitz::init(), EvtPhsp::init(), EvtPhokhara_ppbar::init(), EvtPhokhara_pipipi0::init(), EvtPhokhara_pipi::init(), EvtPhokhara_pi0pi0pipi::init(), init(), EvtPhokhara_LLB::init(), EvtPhokhara_KK::init(), EvtPhokhara_K0K0::init(), EvtPhokhara_4pi::init(), EvtPhokhara::init(), EvtPhiDalitz::init(), EvtPartWave::init(), EvtP2GC2::init(), EvtP2GC1::init(), EvtP2GC0::init(), EvtOmegaDalitz::init(), EvtmH2::init(), EvtMelikhov::init(), EvtMBody3::init(), EvtMassH2::init(), EvtMassH1::init(), EvtLNuGamma::init(), EvtLambdaP_BarGamma::init(), EvtLambdac2pKpi::init(), EvtKstarstargamma::init(), EvtKstarnunu::init(), EvtJscont::init(), EvtJpipi::init(), EvtJPE::init(), EvtJetSet::init(), EvtISGW2::init(), EvtISGW::init(), EvtHypWK::init(), EvtHQET::init(), EvtHelPPJ::init(), EvtHelAmp::init(), EvtHAngSam3::init(), EvtGoityRoberts::init(), EvtFlatQ2::init(), EvtEtaDalitz::init(), EvtEDM::init(), EvtDMix::init(), EvtDeBD::init(), EvtDDalitz::init(), EvtChi2BB2::init(), EvtChi2BB1::init(), EvtChi1BB2::init(), EvtChi1BB1::init(), EvtChi0BB2::init(), EvtCBTo3piP00::init(), EvtCBTo3piMPP::init(), EvtCalHelAmp::init(), EvtBtoXsll::init(), EvtBtoXsEtap::init(), EvtbTosllBall::init(), EvtbTosllAli::init(), EvtBToKpipiCP::init(), EvtBtoKpiCPiso::init(), EvtBtoKD3P::init(), EvtBTo4piCP::init(), EvtBTo3piCP::init(), EvtBto2piCPiso::init(), EvtBsquark::init(), EvtBody3::init(), EvtBHadronic::init(), EvtAV2GV::init(), and EvtAngH2::init().

00482                                                            {
00483 
00484   if ( _narg != a1 && _narg != a2 && _narg != a3 && _narg != a4 ) {
00485     report(ERROR,"EvtGen") << _modelname.c_str() << " generator expected "<<endl;
00486     report(ERROR,"EvtGen") << a1<<endl;; 
00487     if ( a2>-1) {
00488       report(ERROR,"EvtGen") << " or " << a2<<endl; 
00489     }
00490     if ( a3>-1) {
00491       report(ERROR,"EvtGen") << " or " << a3<<endl; 
00492     }
00493     if ( a4>-1) {
00494       report(ERROR,"EvtGen") << " or " << a4<<endl; 
00495     }
00496     report(ERROR,"EvtGen") << " arguments but found:"<< _narg << endl;
00497     printSummary();
00498     report(ERROR,"EvtGen") << "Will terminate execution!"<<endl;
00499     ::abort();
00500 
00501   } 
00502 
00503 }

void EvtDecayBase::checkNDaug ( int  d1,
int  d2 = -1 
) [inherited]

Definition at line 504 of file EvtDecayBase.cc.

References EvtDecayBase::_modelname, EvtDecayBase::_ndaug, calibUtil::ERROR, EvtDecayBase::printSummary(), and report().

Referenced by EvtVVSPwave::init(), EvtVVPIPI_WEIGHTED::init(), EvtVVpipi::init(), EvtVVP::init(), EvtVubNLO::init(), EvtVubHybrid::init(), EvtVub::init(), EvtVSSMix::init(), EvtVSSBMixCPT::init(), EvtVSS::init(), EvtVSPPwave::init(), EvtVPHOtoVISRHi::init(), EvtVPHOtoVISR::init(), EvtVll::init(), EvtVectorIsr::init(), EvtTVSPwave::init(), EvtTSS::init(), EvtTauVectornu::init(), EvtTauScalarnu::init(), EvtTaulnunu::init(), EvtTauGamMu::init(), EvtSVVNONCPEIGEN::init(), EvtSVVHelAmp::init(), EvtSVVCPLH::init(), EvtSVVCP::init(), EvtSVSNONCPEIGEN::init(), EvtSVSCPLH::init(), EvtSVSCPiso::init(), EvtSVSCP::init(), EvtSVS::init(), EvtSVPHelAmp::init(), EvtSVPCP::init(), EvtSTSCP::init(), EvtSTS::init(), EvtSSSCPT::init(), EvtSSSCPpng::init(), EvtSSSCP::init(), EvtSSDCP::init(), EvtSPL::init(), EvtSLPole::init(), EvtSLN::init(), EvtSll::init(), EvtSLBKPole::init(), EvtS2GV::init(), EvtPi0Dalitz::init(), EvtPhokhara::init(), EvtPhiDalitz::init(), EvtPBB2::init(), EvtPBB1::init(), EvtPartWave::init(), EvtP2GC2::init(), EvtP2GC1::init(), EvtP2GC0::init(), EvtOmegaDalitz::init(), EvtMelikhov::init(), EvtLNuGamma::init(), EvtLambdaP_BarGamma::init(), EvtKstarstargamma::init(), EvtKstarnunu::init(), EvtKKLambdaC::init(), EvtJTO3P::init(), EvtJpipi::init(), EvtJPE::init(), EvtJ2BB3::init(), EvtJ2BB2::init(), EvtJ2BB1::init(), EvtISGW2::init(), EvtISGW::init(), EvtHypWK::init(), EvtHQET2::init(), EvtHQET::init(), EvtHelPPJ::init(), EvtHelAmp::init(), EvtGoityRoberts::init(), EvtFlatQ2::init(), EvtEtaDalitz::init(), EvtEDM::init(), EvtDeBD::init(), EvtDDalitz::init(), EvtD0mixDalitz::init(), EvtChi2BB2::init(), EvtChi2BB1::init(), EvtChi1BB2::init(), EvtChi1BB1::init(), EvtChi0BB2::init(), EvtChi0BB1::init(), EvtCBTo3piP00::init(), EvtCBTo3piMPP::init(), EvtBtoXsll::init(), EvtbTosllBall::init(), EvtbTosllAli::init(), EvtBToKpipiCP::init(), EvtBtoKpiCPiso::init(), EvtBtoKD3P::init(), EvtBTo4piCP::init(), EvtBTo3piCP::init(), EvtBto2piCPiso::init(), EvtAV2GV::init(), EvtAngSamLab::init(), EvtAngSam3::init(), and EvtAngSam::init().

00504                                            {
00505 
00506   if ( _ndaug != d1 && _ndaug != d2 ) {
00507     report(ERROR,"EvtGen") << _modelname.c_str() << " generator expected ";
00508     report(ERROR,"EvtGen") << d1; 
00509     if ( d2>-1) {
00510       report(ERROR,"EvtGen") << " or " << d2; 
00511     }
00512     report(ERROR,"EvtGen") << " daughters but found:"<< _ndaug << endl;
00513     printSummary();
00514     report(ERROR,"EvtGen") << "Will terminate execution!"<<endl;
00515     ::abort();
00516   } 
00517 
00518 }

void EvtDecayBase::checkQ (  )  [inherited]

Definition at line 35 of file EvtDecayBase.cc.

References EvtDecayBase::_daug, EvtDecayBase::_modelname, EvtDecayBase::_ndaug, EvtDecayBase::_parent, EvtCyclic3::c_str(), EvtPDL::chg3(), calibUtil::ERROR, genRecEmupikp::i, EvtPDL::name(), q, and report().

Referenced by EvtDecayBase::saveDecayInfo().

00035                           {
00036   int i;
00037   int q=0;
00038   int qpar;
00039 
00040   //If there are no daughters (jetset etc) then we do not
00041   //want to do this test.  Why?  Because sometimes the parent
00042   //will have a nonzero charge.
00043 
00044   if ( _ndaug != 0) {
00045     for(i=0; i<_ndaug; i++ ) {
00046       q += EvtPDL::chg3(_daug[i]);
00047     }
00048     qpar = EvtPDL::chg3(_parent);
00049 
00050     if ( q != qpar ) {
00051       report(ERROR,"EvtGen") <<_modelname.c_str()<< " generator expected "
00052                              << " charge to be conserved, found:"<<endl;
00053       report(ERROR,"EvtGen") << "Parent charge of "<<(qpar/3)<<endl;
00054       report(ERROR,"EvtGen") << "Sum of daughter charge of "<<(q/3)<<endl;
00055       report(ERROR,"EvtGen") << "The parent is "<< EvtPDL::name(_parent).c_str()<<endl;
00056       for(i=0; i<_ndaug; i++ ) {
00057       report(ERROR,"EvtGen") << "Daughter "<< EvtPDL::name(_daug[i]).c_str()<<endl;
00058       }
00059       report(ERROR,"EvtGen") << "Will terminate execution!"<<endl;
00060       
00061       ::abort();
00062     }
00063   }
00064 }

void EvtDecayBase::checkSpinDaughter ( int  d1,
EvtSpinType::spintype  sp 
) [inherited]

Definition at line 533 of file EvtDecayBase.cc.

References EvtDecayBase::_modelname, calibUtil::ERROR, EvtDecayBase::getDaug(), EvtPDL::getSpinType(), EvtDecayBase::printSummary(), and report().

Referenced by EvtVVSPwave::init(), EvtVVPIPI_WEIGHTED::init(), EvtVVpipi::init(), EvtVVP::init(), EvtVSSMix::init(), EvtVSSBMixCPT::init(), EvtVSS::init(), EvtVSPPwave::init(), EvtVPHOtoVISRHi::init(), EvtVPHOtoVISR::init(), EvtVll::init(), EvtVectorIsr::init(), EvtTVSPwave::init(), EvtTSS::init(), EvtTauVectornu::init(), EvtTauScalarnu::init(), EvtTaulnunu::init(), EvtTauHadnu::init(), EvtTauGamMu::init(), EvtSVVNONCPEIGEN::init(), EvtSVVHelAmp::init(), EvtSVVCPLH::init(), EvtSVVCP::init(), EvtSVSNONCPEIGEN::init(), EvtSVSCPLH::init(), EvtSVSCPiso::init(), EvtSVSCP::init(), EvtSVS::init(), EvtSVPHelAmp::init(), EvtSVPCP::init(), EvtSTSCP::init(), EvtSTS::init(), EvtSSSCPpng::init(), EvtSSSCP::init(), EvtSPL::init(), EvtSLPole::init(), EvtSLN::init(), EvtSll::init(), EvtSLBKPole::init(), EvtS2GV::init(), EvtPi0Dalitz::init(), EvtPhiDalitz::init(), EvtPBB2::init(), EvtPBB1::init(), EvtP2GC2::init(), EvtP2GC1::init(), EvtP2GC0::init(), EvtOmegaDalitz::init(), EvtMelikhov::init(), EvtLNuGamma::init(), EvtLambdaP_BarGamma::init(), EvtKstarstargamma::init(), EvtKstarnunu::init(), EvtKKLambdaC::init(), EvtJTO3P::init(), EvtJpipi::init(), EvtJPE::init(), EvtJ2BB3::init(), EvtJ2BB2::init(), EvtJ2BB1::init(), EvtISGW2::init(), EvtISGW::init(), EvtHypWK::init(), EvtHQET2::init(), EvtHQET::init(), EvtHelPPJ::init(), EvtGoityRoberts::init(), EvtFlatQ2::init(), EvtEtaDalitz::init(), EvtEDM::init(), EvtDeBD::init(), EvtDDalitz::init(), EvtD0mixDalitz::init(), EvtChi2BB2::init(), EvtChi2BB1::init(), EvtChi1BB2::init(), EvtChi1BB1::init(), EvtChi0BB2::init(), EvtChi0BB1::init(), EvtCBTo3piP00::init(), EvtCBTo3piMPP::init(), EvtbTosllBall::init(), EvtbTosllAli::init(), EvtBToKpipiCP::init(), EvtBtoKpiCPiso::init(), EvtBtoKD3P::init(), EvtBTo4piCP::init(), EvtBTo3piCP::init(), EvtBto2piCPiso::init(), and EvtAV2GV::init().

00533                                                                    {
00534 
00535   EvtSpinType::spintype parenttype = EvtPDL::getSpinType(getDaug(d1));
00536   if ( parenttype != sp ) {
00537     report(ERROR,"EvtGen") << _modelname.c_str() 
00538                            << " did not get the correct daughter spin d=" 
00539                            << d1 << endl;
00540     printSummary();
00541     report(ERROR,"EvtGen") << "Will terminate execution!"<<endl;
00542     ::abort();
00543   } 
00544 
00545 }

void EvtDecayBase::checkSpinParent ( EvtSpinType::spintype  sp  )  [inherited]

Definition at line 520 of file EvtDecayBase.cc.

References EvtDecayBase::_modelname, calibUtil::ERROR, EvtDecayBase::getParentId(), EvtPDL::getSpinType(), EvtDecayBase::printSummary(), and report().

Referenced by EvtVVSPwave::init(), EvtVVPIPI_WEIGHTED::init(), EvtVVpipi::init(), EvtVVP::init(), EvtVSSMix::init(), EvtVSSBMixCPT::init(), EvtVSS::init(), EvtVSPPwave::init(), EvtVPHOtoVISRHi::init(), EvtVPHOtoVISR::init(), EvtVll::init(), EvtVectorIsr::init(), EvtTVSPwave::init(), EvtTSS::init(), EvtTauVectornu::init(), EvtTauScalarnu::init(), EvtTaulnunu::init(), EvtTauHadnu::init(), EvtTauGamMu::init(), EvtSVVHelAmp::init(), EvtSVVCPLH::init(), EvtSVVCP::init(), EvtSVSCPLH::init(), EvtSVSCPiso::init(), EvtSVSCP::init(), EvtSVS::init(), EvtSVPHelAmp::init(), EvtSVPCP::init(), EvtSTSCP::init(), EvtSTS::init(), EvtSSSCPpng::init(), EvtSSSCP::init(), EvtSPL::init(), EvtSLPole::init(), EvtSLN::init(), EvtSll::init(), EvtSLBKPole::init(), EvtS2GV::init(), EvtPi0Dalitz::init(), EvtPhiDalitz::init(), EvtPBB2::init(), EvtPBB1::init(), EvtP2GC2::init(), EvtP2GC1::init(), EvtP2GC0::init(), EvtOmegaDalitz::init(), EvtMelikhov::init(), EvtLNuGamma::init(), EvtLambdaP_BarGamma::init(), EvtKstarstargamma::init(), EvtKstarnunu::init(), EvtKKLambdaC::init(), EvtJTO3P::init(), EvtJpipi::init(), EvtJPE::init(), EvtJ2BB3::init(), EvtJ2BB2::init(), EvtJ2BB1::init(), EvtISGW2::init(), EvtISGW::init(), EvtHypWK::init(), EvtHQET2::init(), EvtHQET::init(), EvtHelPPJ::init(), EvtGoityRoberts::init(), EvtFlatQ2::init(), EvtEtaDalitz::init(), EvtEDM::init(), EvtDeBD::init(), EvtDDalitz::init(), EvtD0mixDalitz::init(), EvtChi2BB2::init(), EvtChi2BB1::init(), EvtChi1BB2::init(), EvtChi1BB1::init(), EvtChi0BB2::init(), EvtChi0BB1::init(), EvtCBTo3piP00::init(), EvtCBTo3piMPP::init(), EvtbTosllBall::init(), EvtbTosllAli::init(), EvtBToKpipiCP::init(), EvtBtoKpiCPiso::init(), EvtBtoKD3P::init(), EvtBTo4piCP::init(), EvtBTo3piCP::init(), EvtBto2piCPiso::init(), and EvtAV2GV::init().

00520                                                          {
00521 
00522   EvtSpinType::spintype parenttype = EvtPDL::getSpinType(getParentId());
00523   if ( parenttype != sp ) {
00524     report(ERROR,"EvtGen") << _modelname.c_str() 
00525                            << " did not get the correct parent spin\n";
00526     printSummary();
00527     report(ERROR,"EvtGen") << "Will terminate execution!"<<endl;
00528     ::abort();
00529   } 
00530 
00531 }

EvtDecayBase * EvtPhokhara_nnbar::clone (  )  [virtual]

Implements EvtDecayBase.

Definition at line 101 of file EvtPhokhara_nnbar.cc.

00101                                       {
00102 
00103   return new EvtPhokhara_nnbar;
00104 
00105 }

void EvtPhokhara_nnbar::command ( std::string  cmd  )  [virtual]

Reimplemented from EvtDecayBase.

Definition at line 529 of file EvtPhokhara_nnbar.cc.

References commands, genRecEmupikp::i, lcommand, ncommand, and deljobs::string.

00529                                             {
00530 
00531   if (ncommand==lcommand){
00532 
00533     lcommand=10+2*lcommand;
00534 
00535     std::string* newcommands=new std::string[lcommand];
00536     
00537     int i;
00538 
00539     for(i=0;i<ncommand;i++){
00540       newcommands[i]=commands[i];
00541     }
00542     
00543     delete [] commands;
00544 
00545     commands=newcommands;
00546 
00547   }
00548 
00549   commands[ncommand]=cmd;
00550 
00551   ncommand++;
00552 
00553 }

std::string EvtPhokhara_nnbar::commandName (  )  [virtual]

Reimplemented from EvtDecayBase.

Definition at line 523 of file EvtPhokhara_nnbar.cc.

References deljobs::string.

00523                                         {
00524      
00525   return std::string("PhokharaPar");
00526   
00527 }

bool EvtDecayBase::daugsDecayedByParentModel (  )  [inline, protected, inherited]

Definition at line 110 of file EvtDecayBase.hh.

References EvtDecayBase::_daugsDecayedByParentModel.

Referenced by EvtDecayProb::makeDecay(), EvtDecayIncoherent::makeDecay(), and EvtDecayAmp::makeDecay().

void EvtPhokhara_nnbar::decay ( EvtParticle p  )  [virtual]

Implements EvtDecayBase.

Definition at line 557 of file EvtPhokhara_nnbar.cc.

References Ar, Ar_r, EvtCyclic3::c_str(), cos1max, cos1min, cos2max, cos2min, cos3max, cos3min, ctes_, calibUtil::ERROR, EvtPDL::evtIdFromStdHep(), flags_, GEN_1PH, GEN_2PH, EvtParticle::getDaug(), EvtParticle::getId(), EvtPDL::getId(), EvtPDL::getStdHep(), genRecEmupikp::i, ievent, EvtDecayTable::inChannelList(), EvtParticle::init(), init_evt(), init_mode(), EvtParticle::makeDaughters(), EvtParticle::mass(), maxima_, EvtPDL::name(), nevtgen, qqmax, qqmin, RANLXDF, report(), and EvtVector4R::set().

00557                                             {
00558   EvtId myvpho=EvtPDL::getId("vpho");
00559   if(p->getId()!=myvpho) {std::cout<<"Parent particle is required to be vpho for Phokhara model"<<std::endl;abort();}
00560   if(nevtgen==0) {init_mode(p);}
00561   else{init_evt(p);}
00562  std::cout<<"PHOKHARA :  nnbar  mode "<<std::endl;
00563 
00564 
00565   int istdheppar=EvtPDL::getStdHep(p->getId());
00566   int ntrials = 0;
00567   int tr_old[2];
00568   tr_old[0] = (int)maxima_.tr[0];
00569   tr_old[1] = (int)maxima_.tr[1];
00570 
00571   while( ntrials < 10000)
00572     {
00573       ievent++;
00574       RANLXDF(Ar_r,1);
00575       Ar[1] = Ar_r[0];
00576       
00577       if (Ar[1] <= (maxima_.Mmax[0]/(maxima_.Mmax[0]+maxima_.Mmax[1]))) {
00578         maxima_.count[0] = maxima_.count[0]+1.0;
00579         GEN_1PH(2,qqmin,qqmax,cos1min,cos1max,cos3min,cos3max);
00580       }
00581       else {
00582         maxima_.count[1] = maxima_.count[1]+1.0;
00583         GEN_2PH(2,qqmin,cos1min,cos1max,cos2min,cos2max,cos3min,cos3max);
00584       }
00585       
00586       if( ((int)maxima_.tr[0]+(int)maxima_.tr[1]) > (tr_old[0]+tr_old[1]) ) // event accepted after cuts
00587         {
00588           goto storedEvents;
00589         }
00590       ntrials ++;
00591     }
00592   
00593   std::cout <<"FATAL: Could not satisfy cuts after " << ntrials << "trials. Terminate." <<std::endl;
00594   //----
00595  storedEvents:
00596   int more=0;
00597   int numstable=0;
00598   int numparton=0;
00599   EvtId evtnumstable[100];//
00600   EvtVector4R p4[20];
00601 
00602   // except ISR photos, products depending on channel
00603   if (flags_.pion == 0) { // mu+ mu-
00604     // mu+
00605     evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(-13);
00606     p4[numstable].set(ctes_.momenta[0][5],ctes_.momenta[1][5], ctes_.momenta[2][5], ctes_.momenta[3][5]);     
00607     numstable++;
00608     // mu -
00609     evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(13);
00610     p4[numstable].set(ctes_.momenta[0][6],ctes_.momenta[1][6], ctes_.momenta[2][6], ctes_.momenta[3][6]);     
00611     numstable++;
00612   }
00613   if (flags_.pion == 1) { // pi+ pi-
00614     // pi+
00615     evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(211);
00616     p4[numstable].set(ctes_.momenta[0][5],ctes_.momenta[1][5], ctes_.momenta[2][5], ctes_.momenta[3][5]);     
00617     numstable++;
00618     // pi -
00619     evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(-211);
00620     p4[numstable].set(ctes_.momenta[0][6],ctes_.momenta[1][6], ctes_.momenta[2][6], ctes_.momenta[3][6]);     
00621     numstable++;
00622   }
00623   if (flags_.pion == 2) { // pi+ pi-2pi0
00624     // pi0
00625     evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(111);
00626     p4[numstable].set(ctes_.momenta[0][5],ctes_.momenta[1][5], ctes_.momenta[2][5], ctes_.momenta[3][5]);     
00627     numstable++;
00628     // pi0
00629     evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(111);
00630     p4[numstable].set(ctes_.momenta[0][6],ctes_.momenta[1][6], ctes_.momenta[2][6], ctes_.momenta[3][6]);     
00631     numstable++;
00632     // pi-
00633     evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(-211);
00634     p4[numstable].set(ctes_.momenta[0][7],ctes_.momenta[1][7], ctes_.momenta[2][7], ctes_.momenta[3][7]);     
00635     numstable++;
00636     // pi +
00637     evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(211);
00638     p4[numstable].set(ctes_.momenta[0][8],ctes_.momenta[1][8], ctes_.momenta[2][8], ctes_.momenta[3][8]);     
00639     numstable++;
00640   }   
00641   if (flags_.pion == 3) { // 2(pi+ pi-)
00642     // pi+
00643     evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(211);
00644     p4[numstable].set(ctes_.momenta[0][5],ctes_.momenta[1][5], ctes_.momenta[2][5], ctes_.momenta[3][5]);     
00645     numstable++;
00646     // pi-
00647     evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(-211);
00648     p4[numstable].set(ctes_.momenta[0][6],ctes_.momenta[1][6], ctes_.momenta[2][6], ctes_.momenta[3][6]);     
00649     numstable++;
00650     // pi+
00651     evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(-211);
00652     p4[numstable].set(ctes_.momenta[0][7],ctes_.momenta[1][7], ctes_.momenta[2][7], ctes_.momenta[3][7]);     
00653     numstable++;
00654     // pi -
00655     evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(211);
00656     p4[numstable].set(ctes_.momenta[0][8],ctes_.momenta[1][8], ctes_.momenta[2][8], ctes_.momenta[3][8]);     
00657     numstable++;
00658   }   
00659   if (flags_.pion == 4) { // ppbar
00660     // pbar
00661     evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(-2212);
00662     p4[numstable].set(ctes_.momenta[0][5],ctes_.momenta[1][5], ctes_.momenta[2][5], ctes_.momenta[3][5]);     
00663     numstable++;
00664     // p
00665     evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(2212);
00666     p4[numstable].set(ctes_.momenta[0][6],ctes_.momenta[1][6], ctes_.momenta[2][6], ctes_.momenta[3][6]);     
00667     numstable++;
00668   }
00669   if (flags_.pion == 5) { // nnbar
00670     // pbar
00671     evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(-2112);
00672     p4[numstable].set(ctes_.momenta[0][5],ctes_.momenta[1][5], ctes_.momenta[2][5], ctes_.momenta[3][5]);     
00673     numstable++;
00674     // p
00675     evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(2112);
00676     p4[numstable].set(ctes_.momenta[0][6],ctes_.momenta[1][6], ctes_.momenta[2][6], ctes_.momenta[3][6]);     
00677     numstable++;
00678   }
00679   if (flags_.pion == 6) { // K+ K-
00680     // K+
00681     evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(321);
00682     p4[numstable].set(ctes_.momenta[0][5],ctes_.momenta[1][5], ctes_.momenta[2][5], ctes_.momenta[3][5]);     
00683     numstable++;
00684     // K -
00685     evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(-321);
00686     p4[numstable].set(ctes_.momenta[0][6],ctes_.momenta[1][6], ctes_.momenta[2][6], ctes_.momenta[3][6]);     
00687     numstable++;
00688   }
00689   if (flags_.pion == 7) { // K0K0bar
00690     // Kbar
00691     evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(311);
00692     p4[numstable].set(ctes_.momenta[0][5],ctes_.momenta[1][5], ctes_.momenta[2][5], ctes_.momenta[3][5]);     
00693     numstable++;
00694     // K0
00695     evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(-311);
00696     p4[numstable].set(ctes_.momenta[0][6],ctes_.momenta[1][6], ctes_.momenta[2][6], ctes_.momenta[3][6]);     
00697     numstable++;
00698   }
00699   if (flags_.pion == 8) { // pi+ pi-pi0
00700     // pi+
00701     evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(211);
00702     p4[numstable].set(ctes_.momenta[0][5],ctes_.momenta[1][5], ctes_.momenta[2][5], ctes_.momenta[3][5]);     
00703     numstable++;
00704     // pi-
00705     evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(-211);
00706     p4[numstable].set(ctes_.momenta[0][6],ctes_.momenta[1][6], ctes_.momenta[2][6], ctes_.momenta[3][6]);     
00707     numstable++;
00708     // pi0
00709     evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(111);
00710     p4[numstable].set(ctes_.momenta[0][7],ctes_.momenta[1][7], ctes_.momenta[2][7], ctes_.momenta[3][7]);     
00711     numstable++;
00712   } 
00713   if (flags_.pion == 9) { //Lambda Lambdabar-> pi+ pi- ppbar
00714     // pi+
00715     evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(211);
00716     p4[numstable].set(ctes_.momenta[0][7],ctes_.momenta[1][7], ctes_.momenta[2][7], ctes_.momenta[3][7]);     
00717     numstable++;
00718     // pbar
00719     evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(-2212);
00720     p4[numstable].set(ctes_.momenta[0][8],ctes_.momenta[1][8], ctes_.momenta[2][8], ctes_.momenta[3][8]);     
00721     numstable++;
00722     // pi-
00723     evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(-211);
00724     p4[numstable].set(ctes_.momenta[0][9],ctes_.momenta[1][9], ctes_.momenta[2][9], ctes_.momenta[3][9]);     
00725     numstable++; 
00726     // p
00727     evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(2212);
00728     p4[numstable].set(ctes_.momenta[0][10],ctes_.momenta[1][10], ctes_.momenta[2][10], ctes_.momenta[3][10]);     
00729     numstable++;
00730   }   
00731   
00732  // ISR gamma      
00733   evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(22);
00734   p4[numstable].set(ctes_.momenta[0][2],ctes_.momenta[1][2], ctes_.momenta[2][2], ctes_.momenta[3][2]);     
00735   numstable++;
00736   if( ctes_.momenta[0][3] != 0 ) // second photon exists
00737     {
00738       evtnumstable[numstable]=EvtPDL::evtIdFromStdHep(22);
00739       p4[numstable].set(ctes_.momenta[0][3],ctes_.momenta[1][3], ctes_.momenta[2][3], ctes_.momenta[3][3]);     
00740       numstable++;
00741     }
00742   
00743   int channel=EvtDecayTable::inChannelList(p->getId(),numstable,evtnumstable);
00744   more=(channel!=-1);
00745   if(more) {std::cout<<"Existence of mode "<<channel<<" in exclusive decay list has the same final state as this one"<<std::endl;abort(); }
00746   
00747   p->makeDaughters(numstable,evtnumstable);
00748   //double weight = p->initializePhaseSpace(getNDaug(),getDaugs());
00749 
00750   int ndaugFound=0;
00751   EvtVector4R SUMP4(0,0,0,0);
00752   for(int i=0;i<numstable;i++){
00753     p->getDaug(i)->init(evtnumstable[i],p4[i]);
00754     ndaugFound++;
00755   }
00756   if ( ndaugFound == 0 ) {
00757     report(ERROR,"EvtGen") << "Phokhara has failed to do a decay ";
00758     report(ERROR,"EvtGen") << EvtPDL::name(p->getId()).c_str() << " " << p->mass()<<endl;
00759     assert(0);
00760   }
00761 
00762   nevtgen++;  
00763   return ;
00764   
00765 }

void EvtDecayBase::disableCheckQ (  )  [inline, inherited]

Definition at line 62 of file EvtDecayBase.hh.

References EvtDecayBase::_chkCharge.

Referenced by EvtSinglePoint::init(), EvtSingleParticle2::init(), and EvtSingleParticle::init().

00062 {_chkCharge=0;};

void EvtPhokhara_nnbar::ExclusiveDecay ( EvtParticle p  ) 

void EvtDecayBase::findMass ( EvtParticle p  )  [static, inherited]

Definition at line 346 of file EvtDecayBase.cc.

References EvtCyclic3::c_str(), count, EvtDecayBase::findMaxMass(), EvtParticle::getDaug(), EvtParticle::getId(), EvtPDL::getMass(), EvtPDL::getMaxMass(), EvtPDL::getMinMass(), EvtParticle::getNDaug(), EvtParticle::getParent(), genRecEmupikp::i, Bes_Common::INFO, EvtParticle::mass(), mass, EvtPDL::name(), EvtParticle::printTree(), report(), and EvtParticle::setMass().

00346                                           {
00347 
00348   //Need to also check that this mass does not screw
00349   //up the parent
00350   //This code assumes that for the ith daughter, 0..i-1
00351   //already have a mass
00352   double maxOkMass=findMaxMass(p);
00353 
00354   int count=0;
00355   double mass;
00356   bool massOk=false;
00357   int i;
00358   while (!massOk) { 
00359     count++;
00360     if ( count > 10000 ) {
00361       report(INFO,"EvtGen") << "Can not find a valid mass for: " << EvtPDL::name(p->getId()).c_str() <<endl;
00362       report(INFO,"EvtGen") << "Now printing parent and/or grandparent tree\n";
00363       if ( p->getParent() ) {
00364         if ( p->getParent()->getParent() ) {
00365           p->getParent()->getParent()->printTree();
00366           report(INFO,"EvtGen") << p->getParent()->getParent()->mass() <<endl;
00367           report(INFO,"EvtGen") << p->getParent()->mass() <<endl;
00368         }
00369         else{
00370           p->getParent()->printTree();
00371           report(INFO,"EvtGen") << p->getParent()->mass() <<endl;
00372         }
00373       }
00374       else  p->printTree();
00375       report(INFO,"EvtGen") << "maxokmass=" << maxOkMass << " " << EvtPDL::getMinMass(p->getId()) << " " << EvtPDL::getMaxMass(p->getId())<<endl;
00376       if ( p->getNDaug() ) { 
00377         for (i=0; i<p->getNDaug(); i++) {
00378           report(INFO,"EvtGen") << p->getDaug(i)->mass()<<" ";
00379         }
00380         report(INFO,"EvtGen") << endl;
00381       }
00382       if ( maxOkMass >= EvtPDL::getMinMass(p->getId()) ) {
00383         report(INFO,"EvtGen") << "taking a default value\n";
00384         p->setMass(maxOkMass);
00385         return;
00386       } 
00387       assert(0);
00388     }
00389     mass = EvtPDL::getMass(p->getId());
00390     //Just need to check that this mass is > than
00391     //the mass of all daughters
00392     double massSum=0.;
00393     if ( p->getNDaug() ) { 
00394       for (i=0; i<p->getNDaug(); i++) {
00395         massSum+= p->getDaug(i)->mass();
00396       }
00397     }
00398     //some special cases are handled with 0 (stable) or 1 (k0->ks/kl) daughters
00399     if (p->getNDaug()<2)  massOk=true;
00400     if ( p->getParent() ) {
00401       if ( p->getParent()->getNDaug()==1 ) massOk=true;
00402     }
00403     if ( !massOk ) { 
00404       if (massSum < mass) massOk=true;
00405       if ( mass> maxOkMass) massOk=false;
00406     }
00407   }
00408 
00409   p->setMass(mass);
00410   
00411 }

void EvtDecayBase::findMasses ( EvtParticle p,
int  ndaugs,
EvtId  daugs[10],
double  masses[10] 
) [static, inherited]

Definition at line 414 of file EvtDecayBase.cc.

References EvtCyclic3::c_str(), count, calibUtil::ERROR, EvtParticle::firstornot(), EvtParticle::getDaug(), EvtParticle::getId(), EvtPDL::getMass(), EvtPDL::getMinMass(), genRecEmupikp::i, EvtParticle::mass(), EvtPDL::name(), report(), EvtParticle::setFirstOrNot(), and EvtStatus::setRejectFlag().

Referenced by EvtBtoXsll::decay().

00415                                                                      {
00416 
00417   int i;
00418   double mass_sum;
00419 
00420   int count=0;
00421 
00422   if (!( p->firstornot() )) {
00423     for (i = 0; i < ndaugs; i++ ) {
00424       masses[i] = p->getDaug(i)->mass();
00425     } //for
00426   } //if
00427   else {
00428     p->setFirstOrNot();
00429     // if only one daughter do it
00430 
00431     if (ndaugs==1) {
00432       masses[0]=p->mass();
00433       return;
00434     }
00435     
00436     //until we get a combo whose masses are less than _parent mass.
00437     do {
00438       mass_sum = 0.0;
00439 
00440       for (i = 0; i < ndaugs; i++ ) {
00441         masses[i] = EvtPDL::getMass(daugs[i]);
00442         mass_sum = mass_sum + masses[i];
00443       } 
00444 
00445       count++;
00446 
00447      
00448       if(count==10000) {
00449         report(ERROR,"EvtGen") <<"Decaying particle:"<<
00450           EvtPDL::name(p->getId()).c_str()<<" (m="<<p->mass()<<")"<<endl;
00451         report(ERROR,"EvtGen") <<"To the following daugthers"<<endl;
00452         for (i = 0; i < ndaugs; i++ ) {
00453           report(ERROR,"EvtGen") <<  
00454             EvtPDL::name(daugs[i]).c_str() << endl;
00455         } 
00456         report(ERROR,"EvtGen") << "Has been rejected "<<count
00457                                << " times, will now take minimal masses "
00458                                << " of daugthers"<<endl;
00459         
00460         mass_sum=0.;
00461         for (i = 0; i < ndaugs; i++ ) {
00462           masses[i] = EvtPDL::getMinMass(daugs[i]);
00463           mass_sum = mass_sum + masses[i];
00464         } 
00465         if (mass_sum > p->mass()){
00466           report(ERROR,"EvtGen") << "Parent mass="<<p->mass()
00467                                  << "to light for daugthers."<<endl
00468                                  << "Will throw the event away."<<endl;
00469           //dont terminate - start over on the event.
00470           EvtStatus::setRejectFlag();
00471           mass_sum=0.;
00472           //      ::abort();
00473         }
00474 
00475       }
00476     } while ( mass_sum > p->mass());
00477   } //else
00478   
00479   return;
00480 }       

double EvtDecayBase::findMaxMass ( EvtParticle p  )  [static, inherited]

Definition at line 311 of file EvtDecayBase.cc.

References EvtParticle::getDaug(), EvtParticle::getId(), EvtPDL::getMaxMass(), EvtPDL::getMinMass(), EvtParticle::getNDaug(), EvtParticle::getParent(), EvtParticle::hasValidP4(), genRecEmupikp::i, and EvtParticle::mass().

Referenced by EvtDecayBase::findMass().

00311                                                {
00312 
00313   
00314   double maxOkMass=EvtPDL::getMaxMass(p->getId());
00315 
00316   //protect against vphotons
00317   if ( maxOkMass < 0.0000000001 ) return 10000000.;
00318   //and against already determined masses
00319   if ( p->hasValidP4() ) maxOkMass=p->mass();
00320 
00321   EvtParticle *par=p->getParent();
00322   if ( par ) {
00323     double maxParMass=findMaxMass(par);
00324     int i;
00325     double minDaugMass=0.;
00326     for(i=0;i<par->getNDaug();i++){
00327       EvtParticle *dau=par->getDaug(i);
00328       if ( dau!=p) {
00329         // it might already have a mass
00330         if ( dau->isInitialized() || dau->hasValidP4() )
00331           minDaugMass+=dau->mass();
00332         else
00333         //give it a bit of phase space 
00334           minDaugMass+=1.000001*EvtPDL::getMinMass(dau->getId());
00335       }
00336     }
00337     if ( maxOkMass>(maxParMass-minDaugMass)) maxOkMass=maxParMass-minDaugMass;
00338   }
00339   return maxOkMass;
00340 }

double EvtDecayBase::getArg ( int  j  )  [inherited]

Definition at line 564 of file EvtDecayBase.cc.

References EvtDecayBase::_args, EvtCyclic3::c_str(), genRecEmupikp::i, Bes_Common::INFO, and report().

Referenced by EvtVVSPwave::decay(), EvtVSSMix::decay(), EvtVPHOtoVISRHi::decay(), EvtVPHOtoVISR::decay(), EvtTVSPwave::decay(), EvtTauGamMu::decay(), EvtSVVNONCPEIGEN::decay(), EvtSVVHelAmp::decay(), EvtSVVCPLH::decay(), EvtSVVCP::decay(), EvtSVSCPiso::decay(), EvtSVSCP::decay(), EvtSVPHelAmp::decay(), EvtSVPCP::decay(), EvtSTSCP::decay(), EvtSSSCPT::decay(), EvtSSSCPpng::decay(), EvtSSSCP::decay(), EvtRhoPi::decay(), EvtPhokhara::decay(), EvtPBB2::decay(), EvtPBB1::decay(), EvtOpenCharm::decay(), EvtLunda::decay(), EvtJscont::decay(), EvtJ2BB3::decay(), EvtJ2BB2::decay(), EvtJ2BB1::decay(), EvtEDM::decay(), EvtDDalitz::decay(), EvtConExc::decay(), EvtChi2BB2::decay(), EvtChi2BB1::decay(), EvtChi1BB2::decay(), EvtChi1BB1::decay(), EvtChi0BB2::decay(), EvtCBTo3piP00::decay(), EvtCBTo3piMPP::decay(), EvtCalHelAmp::decay(), EvtBtoXsgamma::decay(), EvtBToKpipiCP::decay(), EvtBtoKpiCPiso::decay(), EvtBTo4piCP::decay(), EvtBTo3piCP::decay(), EvtBto2piCPiso::decay(), EvtBsquark::decay(), EvtBHadronic::decay(), EvtAngSamX::decay(), EvtAngSamLab::decay(), EvtAngSam3::decay(), EvtAngSam::decay(), EvtCalHelAmp::firstder(), EvtLNuGamma::getFormFactor(), EvtVubNLO::init(), EvtVubHybrid::init(), EvtVub::init(), EvtVSSBMixCPT::init(), EvtVectorIsr::init(), EvtTrackGen::init(), EvtTauHadnu::init(), EvtSVVNONCPEIGEN::init(), EvtSVSNONCPEIGEN::init(), EvtSVSCPLH::init(), EvtSSDCP::init(), EvtSinglePoint::init(), EvtSingleParticle2::init(), EvtSingleParticle::init(), EvtPycont::init(), EvtPartWave::init(), EvtmPhsp::init(), EvtmH2::init(), EvtMelikhov::init(), EvtLNuGamma::init(), EvtHypNonLepton::init(), EvtHQET2::init(), EvtHQET::init(), EvtHelAmp::init(), EvtDMix::init(), EvtD0mixDalitz::init(), EvtConExc::init(), EvtBtoXsll::init(), EvtBtoKD3P::init(), EvtPhokhara::init_evt(), EvtPhokhara::init_mode(), EvtSVVHelAmp::initProbMax(), EvtSVVCPLH::initProbMax(), EvtSVVCP::initProbMax(), EvtSVSCPLH::initProbMax(), EvtSVSCPiso::initProbMax(), EvtSVSCP::initProbMax(), EvtSVPHelAmp::initProbMax(), EvtSVPCP::initProbMax(), EvtSTSCP::initProbMax(), EvtSSSCPpng::initProbMax(), EvtSSSCP::initProbMax(), EvtPBB2::initProbMax(), EvtBtoKpiCPiso::initProbMax(), EvtBto2piCPiso::initProbMax(), and EvtVubHybrid::readWeights().

00564                                  {
00565 
00566   // Verify string
00567 
00568   const char* str = _args[j].c_str();
00569   int i = 0;
00570   while(str[i]!=0){
00571     if (isalpha(str[i]) && str[i]!='e') {
00572 
00573       report(INFO,"EvtGen") << "String " << str << " is not a number" << endl;
00574       assert(0);
00575     }
00576     i++;
00577   }
00578   
00579   char** tc=0; 
00580   return strtod(_args[j].c_str(),tc);
00581 }

double * EvtDecayBase::getArgs (  )  [inherited]

Definition at line 547 of file EvtDecayBase.cc.

References EvtDecayBase::_args, EvtDecayBase::_argsD, EvtDecayBase::_narg, EvtCyclic3::c_str(), and genRecEmupikp::i.

Referenced by EvtBtoXsgamma::decay(), EvtSLPole::init(), EvtSLBKPole::init(), and EvtKKLambdaC::init().

00547                               {
00548 
00549   if ( _argsD ) return _argsD;
00550   //The user has asked for a list of doubles - the arguments 
00551   //better all be doubles...
00552   if ( _narg==0 ) return _argsD;
00553 
00554   _argsD = new double[_narg];
00555 
00556   int i;
00557   char * tc;
00558   for(i=0;i<_narg;i++) { 
00559     _argsD[i] =  strtod(_args[i].c_str(),&tc);
00560   }
00561   return _argsD;
00562 }

std::string* EvtDecayBase::getArgsStr (  )  [inline, inherited]

Definition at line 73 of file EvtDecayBase.hh.

References EvtDecayBase::_args.

00073 {return _args;}

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().

00075 {return _args[j];}

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().

00066 {return _daug[i];}

EvtId* EvtDecayBase::getDaugs (  )  [inline, inherited]

Definition at line 65 of file EvtDecayBase.hh.

References EvtDecayBase::_daug.

Referenced by EvtVVSPwave::decay(), EvtVVPIPI_WEIGHTED::decay(), EvtVVpipi::decay(), EvtVVP::decay(), EvtVubNLO::decay(), EvtVubHybrid::decay(), EvtVub::decay(), EvtVSSMix::decay(), EvtVSSBMixCPT::decay(), EvtVSS::decay(), EvtVSPPwave::decay(), EvtVll::decay(), EvtVectorIsr::decay(), EvtTVSPwave::decay(), EvtTSS::decay(), EvtTrackGen::decay(), EvtTauVectornu::decay(), EvtTauScalarnu::decay(), EvtTaulnunu::decay(), EvtTauHadnu::decay(), EvtTauGamMu::decay(), EvtT2GV::decay(), EvtSVSCPLH::decay(), EvtSVSCP::decay(), EvtSVS::decay(), EvtSVPHelAmp::decay(), EvtSVPCP::decay(), EvtSTSCP::decay(), EvtSTS::decay(), EvtSSSCPT::decay(), EvtSSSCPpng::decay(), EvtSSSCP::decay(), EvtSPL::decay(), EvtSLPole::decay(), EvtSLN::decay(), EvtSll::decay(), EvtSLBKPole::decay(), EvtSinglePoint::decay(), EvtSingleParticle2::decay(), EvtSingleParticle::decay(), EvtS2GV::decay(), EvtRhoPi::decay(), EvtPi0Dalitz::decay(), EvtPhsp::decay(), EvtPhiDalitz::decay(), EvtPBB2::decay(), EvtPBB1::decay(), EvtPartWave::decay(), EvtP2GC2::decay(), EvtP2GC1::decay(), EvtP2GC0::decay(), EvtOmegaDalitz::decay(), EvtMultibody::decay(), EvtmPhsp::decay(), EvtmH2::decay(), EvtMelikhov::decay(), EvtMBody3::decay(), EvtMassH2::decay(), EvtMassH1::decay(), EvtLNuGamma::decay(), EvtLambdaP_BarGamma::decay(), EvtLambdac2pKpi::decay(), EvtKstarstargamma::decay(), EvtKstarnunu::decay(), EvtKKLambdaC::decay(), EvtJTO3P::decay(), EvtJpipi::decay(), EvtJPE::decay(), EvtJ2BB3::decay(), EvtJ2BB2::decay(), EvtJ2BB1::decay(), EvtISGW2::decay(), EvtISGW::decay(), EvtIntervalDecayAmp< EvtDalitzPoint >::decay(), EvtHypWK::decay(), EvtHypNonLepton::decay(), EvtHQET2::decay(), EvtHQET::decay(), EvtHelPPJ::decay(), EvtHelAmp::decay(), EvtHAngSam3::decay(), EvtFlatQ2::decay(), EvtEtaDalitz::decay(), EvtEDM::decay(), EvtDMix::decay(), EvtDIY::decay(), EvtDeBD::decay(), EvtDDalitz::decay(), EvtD0mixDalitz::decay(), EvtChi2BB2::decay(), EvtChi2BB1::decay(), EvtChi1BB2::decay(), EvtChi1BB1::decay(), EvtChi0BB2::decay(), EvtChi0BB1::decay(), EvtCBTo3piP00::decay(), EvtCBTo3piMPP::decay(), EvtCalHelAmp::decay(), EvtBtoXsll::decay(), EvtBtoXsgamma::decay(), EvtBtoXsEtap::decay(), EvtbTosllBall::decay(), EvtbTosllAli::decay(), EvtBToKpipiCP::decay(), EvtBtoKpiCPiso::decay(), EvtBtoKD3P::decay(), EvtBTo4piCP::decay(), EvtBTo3piCP::decay(), EvtBto2piCPiso::decay(), EvtBsquark::decay(), EvtBody3::decay(), EvtBHadronic::decay(), EvtAV2GV::decay(), EvtAngSamX::decay(), EvtAngSamLab::decay(), EvtAngSam3::decay(), EvtAngSam::decay(), EvtAngH2::decay(), EvtGoityRoberts::DecayBDpilnuGR(), EvtGoityRoberts::DecayBDstarpilnuGR(), EvtParticleDecayList::EvtParticleDecayList(), EvtConExc::get_mode(), EvtMultibody::init(), EvtLambdac2pKpi::init(), EvtConExc::init(), EvtConExc::init_mode(), EvtBto2piCPiso::initProbMax(), and EvtDecayAmp::makeDecay().

00065 {return _daug;}

int EvtDecayBase::getDSum (  )  [inline, inherited]

Definition at line 77 of file EvtDecayBase.hh.

References EvtDecayBase::_dsum.

00077 {return _dsum; }

std::string EvtDecayBase::getModelName (  )  [inline, inherited]

Definition at line 76 of file EvtDecayBase.hh.

References EvtDecayBase::_modelname.

Referenced by EvtParticleDecayList::addMode(), EvtParticleDecayList::EvtParticleDecayList(), EvtDecayTable::findChannel(), and EvtDecay::getModel().

00076 {return _modelname; }

void EvtPhokhara_nnbar::getName ( std::string name  )  [virtual]

Implements EvtDecayBase.

Definition at line 95 of file EvtPhokhara_nnbar.cc.

00095                                                     {
00096 
00097   model_name="PHOKHARA_nnbar";     
00098 
00099 }

int EvtDecayBase::getNArg (  )  [inline, inherited]

Definition at line 67 of file EvtDecayBase.hh.

References EvtDecayBase::_narg.

Referenced by EvtParticleDecay::chargeConj(), EvtVPHOtoVISRHi::decay(), EvtVPHOtoVISR::decay(), EvtRhoPi::decay(), EvtOpenCharm::decay(), EvtmPhsp::decay(), EvtLunda::decay(), EvtJscont::decay(), EvtJ2BB3::decay(), EvtJ2BB2::decay(), EvtJ2BB1::decay(), EvtConExc::decay(), EvtCalHelAmp::decay(), EvtBtoXsgamma::decay(), EvtAngSamX::decay(), EvtAngSamLab::decay(), EvtAngSam3::decay(), EvtAngSam::decay(), EvtPto3P::dp(), EvtParticleDecayList::EvtParticleDecayList(), EvtDecayTable::findChannel(), EvtVubNLO::init(), EvtVubHybrid::init(), EvtVub::init(), EvtVSSBMixCPT::init(), EvtSVVNONCPEIGEN::init(), EvtSVSNONCPEIGEN::init(), EvtSSDCP::init(), EvtSLPole::init(), EvtSLBKPole::init(), EvtSinglePoint::init(), EvtSingleParticle2::init(), EvtSingleParticle::init(), EvtPycont::init(), EvtMultibody::init(), EvtmPhsp::init(), EvtLunda::init(), EvtLNuGamma::init(), EvtKKLambdaC::init(), EvtIntervalDecayAmp< EvtDalitzPoint >::init(), EvtHypNonLepton::init(), EvtHQET2::init(), EvtHQET::init(), EvtD0mixDalitz::init(), EvtConExc::init(), EvtCalHelAmp::init(), EvtBtoXsll::init(), EvtBtoXsgamma::init(), EvtAngSamX::init(), EvtAngSamLab::init(), EvtAngSam3::init(), and EvtAngSam::init().

00067 {return _narg;}

int EvtDecayBase::getNDaug (  )  [inline, inherited]

Definition at line 64 of file EvtDecayBase.hh.

References EvtDecayBase::_ndaug.

Referenced by EvtParticleDecayList::addMode(), EvtParticleDecay::chargeConj(), EvtVVSPwave::decay(), EvtVVPIPI_WEIGHTED::decay(), EvtVVpipi::decay(), EvtVVP::decay(), EvtVubNLO::decay(), EvtVubHybrid::decay(), EvtVub::decay(), EvtVSSMix::decay(), EvtVSSBMixCPT::decay(), EvtVSS::decay(), EvtVSPPwave::decay(), EvtVll::decay(), EvtVectorIsr::decay(), EvtTVSPwave::decay(), EvtTSS::decay(), EvtTrackGen::decay(), EvtTauVectornu::decay(), EvtTauScalarnu::decay(), EvtTaulnunu::decay(), EvtTauHadnu::decay(), EvtTauGamMu::decay(), EvtT2GV::decay(), EvtSVSCPLH::decay(), EvtSVSCPiso::decay(), EvtSVSCP::decay(), EvtSVS::decay(), EvtSVPHelAmp::decay(), EvtSVPCP::decay(), EvtSTSCP::decay(), EvtSTS::decay(), EvtSSSCPT::decay(), EvtSSSCPpng::decay(), EvtSSSCP::decay(), EvtSPL::decay(), EvtSLPole::decay(), EvtSLN::decay(), EvtSll::decay(), EvtSLBKPole::decay(), EvtSinglePoint::decay(), EvtSingleParticle2::decay(), EvtSingleParticle::decay(), EvtS2GV::decay(), EvtRhoPi::decay(), EvtPi0Dalitz::decay(), EvtPhsp::decay(), EvtPhiDalitz::decay(), EvtPBB2::decay(), EvtPBB1::decay(), EvtPartWave::decay(), EvtP2GC2::decay(), EvtP2GC1::decay(), EvtP2GC0::decay(), EvtOmegaDalitz::decay(), EvtMultibody::decay(), EvtmPhsp::decay(), EvtmH2::decay(), EvtMelikhov::decay(), EvtMBody3::decay(), EvtMassH2::decay(), EvtMassH1::decay(), EvtLNuGamma::decay(), EvtLambdaP_BarGamma::decay(), EvtLambdac2pKpi::decay(), EvtKstarstargamma::decay(), EvtKstarnunu::decay(), EvtKKLambdaC::decay(), EvtJTO3P::decay(), EvtJpipi::decay(), EvtJPE::decay(), EvtJ2BB3::decay(), EvtJ2BB2::decay(), EvtJ2BB1::decay(), EvtISGW2::decay(), EvtISGW::decay(), EvtHypWK::decay(), EvtHypNonLepton::decay(), EvtHQET2::decay(), EvtHQET::decay(), EvtHelPPJ::decay(), EvtHelAmp::decay(), EvtHAngSam3::decay(), EvtFlatQ2::decay(), EvtEtaDalitz::decay(), EvtEDM::decay(), EvtDMix::decay(), EvtDIY::decay(), EvtDeBD::decay(), EvtDDalitz::decay(), EvtD0mixDalitz::decay(), EvtChi2BB2::decay(), EvtChi2BB1::decay(), EvtChi1BB2::decay(), EvtChi1BB1::decay(), EvtChi0BB2::decay(), EvtChi0BB1::decay(), EvtCBTo3piP00::decay(), EvtCBTo3piMPP::decay(), EvtCalHelAmp::decay(), EvtBtoXsll::decay(), EvtBtoXsgamma::decay(), EvtBtoXsEtap::decay(), EvtbTosllBall::decay(), EvtbTosllAli::decay(), EvtBToKpipiCP::decay(), EvtBtoKpiCPiso::decay(), EvtBtoKD3P::decay(), EvtBTo4piCP::decay(), EvtBTo3piCP::decay(), EvtBto2piCPiso::decay(), EvtBsquark::decay(), EvtBody3::decay(), EvtBHadronic::decay(), EvtAV2GV::decay(), EvtAngSamX::decay(), EvtAngSamLab::decay(), EvtAngSam3::decay(), EvtAngSam::decay(), EvtAngH2::decay(), EvtGoityRoberts::DecayBDpilnuGR(), EvtGoityRoberts::DecayBDstarpilnuGR(), EvtPto3P::dp(), EvtParticleDecayList::EvtParticleDecayList(), EvtDecayTable::findChannel(), EvtDecayTable::inChannelList(), EvtVSSBMixCPT::init(), EvtTrackGen::init(), EvtTauHadnu::init(), EvtMultibody::init(), EvtHypNonLepton::init(), EvtConExc::init(), EvtTauHadnu::initProbMax(), EvtDecayAmp::makeDecay(), and EvtParticleDecayList::removeMode().

00064 {return _ndaug;}

EvtId EvtDecayBase::getParentId (  )  [inline, inherited]

Definition at line 60 of file EvtDecayBase.hh.

References EvtDecayBase::_parent.

Referenced by EvtParticleDecayList::addMode(), EvtParticleDecay::chargeConj(), EvtDecayBase::checkSpinParent(), EvtTauola::decay(), EvtPythia::decay(), EvtOpenCharm::decay(), EvtMultibody::decay(), EvtLundCharm::decay(), EvtLunda::decay(), EvtJPE::decay(), EvtJetSet::decay(), EvtJ2BB3::decay(), EvtJ2BB2::decay(), EvtJ2BB1::decay(), EvtPto3P::dp(), EvtParticleDecayList::EvtParticleDecayList(), EvtTauola::fixPolarizations(), EvtVSSBMixCPT::init(), EvtTauola::init(), EvtSSDCP::init(), EvtRhoPi::init(), EvtPythia::init(), EvtPhokhara_ppbar::init(), EvtPhokhara_pipipi0::init(), EvtPhokhara_pipi::init(), EvtPhokhara_pi0pi0pipi::init(), init(), EvtPhokhara_LLB::init(), EvtPhokhara_KK::init(), EvtPhokhara_K0K0::init(), EvtPhokhara_4pi::init(), EvtPhokhara::init(), EvtPartWave::init(), EvtOpenCharm::init(), EvtmH2::init(), EvtMassH2::init(), EvtMassH1::init(), EvtLundCharm::init(), EvtLunda::init(), EvtJetSet::init(), EvtHypNonLepton::init(), EvtHelAmp::init(), EvtHAngSam3::init(), EvtDIY::init(), EvtDDalitz::init(), EvtD0mixDalitz::init(), EvtBody3::init(), EvtAngSamX::init(), EvtAngSamLab::init(), EvtAngSam3::init(), EvtAngSam::init(), EvtAngH2::init(), EvtSLPole::initProbMax(), EvtSLN::initProbMax(), EvtSLBKPole::initProbMax(), EvtKKLambdaC::initProbMax(), EvtISGW2::initProbMax(), EvtHypNonLepton::initProbMax(), EvtHQET2::initProbMax(), EvtHQET::initProbMax(), EvtbTosllBall::initProbMax(), EvtbTosllAli::initProbMax(), and EvtParticleDecayList::removeMode().

00060 {return _parent;}

int EvtDecayBase::getPHOTOS (  )  [inline, inherited]

Definition at line 68 of file EvtDecayBase.hh.

References EvtDecayBase::_photos.

Referenced by EvtParticleDecay::chargeConj(), EvtParticleDecayList::EvtParticleDecayList(), EvtDecayProb::makeDecay(), EvtDecayIncoherent::makeDecay(), and EvtDecayAmp::makeDecay().

00068 {return _photos;}

double EvtDecayBase::getProbMax ( double  prob  )  [inherited]

Definition at line 67 of file EvtDecayBase.cc.

References EvtDecayBase::_daug, EvtDecayBase::_modelname, EvtDecayBase::_ndaug, EvtDecayBase::_parent, EvtCyclic3::c_str(), EvtDecayBase::defaultprobmax, genRecEmupikp::i, Bes_Common::INFO, EvtDecayBase::max_prob, EvtPDL::name(), EvtDecayBase::ntimes_prob, EvtDecayBase::probmax, report(), and EvtDecayBase::sum_prob.

Referenced by EvtBtoKD3P::decay(), EvtDecayProb::makeDecay(), and EvtDecayAmp::makeDecay().

00067                                              {
00068 
00069   int i;
00070 
00071   //diagnostics
00072   sum_prob+=prob;
00073   if (prob>max_prob) max_prob=prob;
00074 
00075 
00076   if ( defaultprobmax && ntimes_prob<=500 ) { 
00077     //We are building up probmax with this iteration
00078      ntimes_prob += 1;
00079      if ( prob > probmax ) { probmax = prob;}
00080      if (ntimes_prob==500) { 
00081        probmax*=1.2;
00082      }
00083      return 1000000.0*prob;
00084   }
00085 
00086   if ( prob> probmax*1.0001) {
00087 
00088     report(INFO,"EvtGen") << "prob > probmax:("<<prob<<">"<<probmax<<")";
00089     report(INFO,"") << "("<<_modelname.c_str()<<") ";
00090     report(INFO,"") << EvtPDL::name(_parent).c_str()<<" -> ";
00091     for(i=0;i<_ndaug;i++){
00092        report(INFO,"") << EvtPDL::name(_daug[i]).c_str() << " ";
00093     }
00094     report(INFO,"") << endl;
00095 
00096     if (defaultprobmax) probmax = prob;
00097 
00098   }
00099 
00100   ntimes_prob += 1;
00101 
00102 
00103   return probmax;
00104 
00105 } //getProbMax

int EvtPhokhara_nnbar::getTotalEvt (  )  [inline]

Definition at line 52 of file EvtPhokhara_nnbar.hh.

References nevt.

00052 {return nevt;}

void EvtPhokhara_nnbar::init (  )  [virtual]

Reimplemented from EvtDecayBase.

Definition at line 498 of file EvtPhokhara_nnbar.cc.

References EvtDecayBase::checkNArg(), calibUtil::ERROR, EvtDecayBase::getParentId(), EvtPDL::name(), report(), store(), and deljobs::string.

00498                             {
00499   checkNArg(0);
00500 
00501   std::string locvp=getenv("BESEVTGENROOT");
00502   system("cat $BESEVTGENROOT/share/phokhara.param>phokhara.param");
00503 
00504   
00505   if (getParentId().isAlias()){
00506     
00507     report(ERROR,"EvtGen") << "EvtPhokhara finds that you are decaying the"<<endl
00508                            << " aliased particle "
00509                            << EvtPDL::name(getParentId()).c_str()
00510                            << " with the Phokhara model"<<endl
00511                            << " this does not work, please modify decay table."
00512                            << endl;
00513     report(ERROR,"EvtGen") << "Will terminate execution!"<<endl;
00514     ::abort();
00515 
00516   }
00517 
00518   store(this);
00519 
00520 }

void EvtPhokhara_nnbar::init_evt ( EvtParticle p  ) 

Definition at line 803 of file EvtPhokhara_nnbar.cc.

References cos(), cos1max, cos1min, cos2max, cos2min, cos3max, cos3min, ctes_, cuts_, flags_, EvtPDL::getId(), genRecEmupikp::i, INPUT, m_E, m_f0_model, m_FF_Kaon, m_FF_Pion, m_fsr, m_fsrnlo, m_gmin, m_ivac, m_NarrowRes, m_nlo, m_nm, m_phot1cut, m_phot2cut, m_pi1cut, m_pi2cut, m_pion, m_q2_max_c, m_q2_min_c, m_q2min, m_tagged, m_w, EvtParticle::mass(), maxima_, qqmax, qqmin, theMmax0, and theMmax1.

Referenced by decay().

00803                                               {
00804  m_pion=5; 
00805  // mu+mu-(0),pi+pi-(1),2pi0pi+pi-(2),
00806  // 2pi+2pi-(3),ppbar(4),nnbar(5),
00807  // K+K-(6),K0K0bar(7),pi+pi-pi0(8), 
00808  // Lamb Lambbar->pi-pi+ppbar(9) 
00809   if(m_pion<0 || m_pion>9){std::cout<<"mode index for phokhar 0~9, but you give "<<m_pion<<std::endl;abort();}
00810   EvtId myvpho=EvtPDL::getId("vpho");
00811   m_E = p->mass();//EvtPDL::getMeanMass(myvpho);
00813   m_tagged = 0;
00814   m_nm = 50000 ; // # of events to determine the maximum
00815   m_nlo = 1;     // Born(0), NLO(1)
00816   m_w = 0.0001;  // soft photon cutoff
00817   m_fsr = 1;     // ISR only(0), ISR+FSR(1), ISR+INT+FSR(2)
00818   m_fsrnlo = 1 ; // yes(1), no(0)
00819   m_NarrowRes = 0 ;// none(0) jpsi(1) psip(2)
00820   m_FF_Kaon = 1 ;  // constrained (0), unconstrained (1), Kuhn-Khodjamirian-Bruch (2)
00821   m_ivac = 0;      // yes(1), no(0)
00822   m_FF_Pion = 0 ;  // KS Pionformfactor(0), GS Pionformfactor old(1) and new(2)
00823   m_f0_model = 0 ; // f0+f0(600): KK model(0), no structure(1),  no f0+f0(600)(2), f0 KLOE(3)
00824   m_q2min = 0.0;   // minimal  hadrons(muons)-gamma-inv mass squared (GeV^2)
00825   m_q2_min_c = 0.0447 ; // minimal inv. mass squared of the hadrons(muons)(GeV^2)
00826   m_q2_max_c = m_E*m_E;    // maximal inv. mass squared of the hadrons(muons)(GeV^2)
00827   m_gmin = 0.001;       // minimal photon energy/missing energy   (GeV)
00828   m_phot1cut = 0.0;     // maximal photon angle/missing momentum angle (grad)
00829   m_phot2cut = 180.0;   // maximal photon angle/missing momentum angle (grad)
00830   m_pi1cut = 0.0 ;      // minimal hadrons(muons) angle (grad)
00831   m_pi2cut = 180.0;     // maximal hadrons(muons) angle (grad)
00832 
00833   if(!(m_pion==0 || m_pion==1 || m_pion==6)){m_fsr = 0;  m_fsrnlo = 0 ;}
00834   if( m_pion==9 ){m_nlo = 0 ;}
00835   // --- input parameter initialization -----------
00836   maxima_.iprint = 0;
00837   flags_.nlo = m_nlo;
00838   flags_.pion = m_pion;
00839   flags_.fsr = m_fsr;
00840   flags_.fsrnlo = m_fsrnlo;
00841   flags_.ivac = m_ivac;
00842   flags_.FF_pion  = m_FF_Pion;
00843   flags_.f0_model = m_f0_model;
00844   flags_.FF_kaon  = m_FF_Kaon;
00845   flags_.narr_res = m_NarrowRes;
00846 
00847   ctes_.Sp = m_E*m_E;        ;
00848 
00849   cuts_.w = m_w;
00850   cuts_.q2min = m_q2min;
00851   cuts_.q2_min_c = m_q2_min_c;
00852   cuts_.q2_max_c = m_q2_max_c;
00853   cuts_.gmin = m_gmin;
00854   cuts_.phot1cut = m_phot1cut;
00855   cuts_.phot2cut = m_phot2cut;
00856   cuts_.pi1cut = m_pi1cut;
00857   cuts_.pi2cut = m_pi2cut;
00858 
00859   INPUT();
00860 
00861     cos1min = cos(cuts_.phot2cut*ctes_.pi/180.0);     // photon1 angle cuts in the 
00862     cos1max = cos(cuts_.phot1cut*ctes_.pi/180.0);     // LAB rest frame   
00863       cos2min = -1.0;                        // photon2 angle limits      
00864       cos2max =  1.0;                        //                           
00865       cos3min = -1.0;                        // hadrons/muons angle limits    
00866       cos3max =  1.0;                        // in their rest frame            
00867       if (flags_.pion == 0)                   // virtual photon energy cut 
00868         qqmin = 4.0*ctes_.mmu*ctes_.mmu;
00869       else if (flags_.pion == 1)
00870         qqmin = 4.0*ctes_.mpi*ctes_.mpi;
00871       else if (flags_.pion == 2)
00872         qqmin = 4.0*(ctes_.mpi+ctes_.mpi0)*(ctes_.mpi+ctes_.mpi0);
00873       else if (flags_.pion == 3)
00874         qqmin = 16.0*ctes_.mpi*ctes_.mpi;
00875       else if (flags_.pion == 4)
00876         qqmin = 4.0*ctes_.mp*ctes_.mp;
00877       else if (flags_.pion == 5)
00878         qqmin = 4.0*ctes_.mnt*ctes_.mnt;
00879       else if (flags_.pion == 6)
00880         qqmin = 4.0*ctes_.mKp*ctes_.mKp;
00881       else if (flags_.pion == 7)
00882         qqmin = 4.0*ctes_.mKn*ctes_.mKn;
00883       else if (flags_.pion == 8)
00884         qqmin = (2.0*ctes_.mpi+ctes_.mpi0)*(2.0*ctes_.mpi+ctes_.mpi0);
00885       else if (flags_.pion == 9)
00886         qqmin = 4.0*ctes_.mlamb*ctes_.mlamb;
00887       qqmax = ctes_.Sp-2.0*sqrt(ctes_.Sp)*cuts_.gmin;         // if only one photon 
00888       if (cuts_.q2_max_c < qqmax)
00889         qqmax=cuts_.q2_max_c;      // external cuts      
00890 
00891       // -------------------
00892       if ( (cuts_.q2_min_c > qqmin) && (cuts_.q2_min_c < (ctes_.Sp*(1.0-2.0*(cuts_.gmin/sqrt(ctes_.Sp)+cuts_.w))) ) )
00893         qqmin = cuts_.q2_min_c;
00894       else {
00895       }
00896 
00897 
00898  // =================================================
00899 // --- finding the maximum -------------------------
00900       for(int i = 0; i<2; i++)
00901         {
00902           maxima_.Mmax[i] = 1.0;
00903           maxima_.gross[i] = 0.0;
00904           maxima_.klein[i] = 0.0;
00905         }
00906 
00907       if (flags_.nlo == 0)
00908         maxima_.Mmax[1]=0.0;   // only 1 photon events generated
00909 
00910       maxima_.tr[0] = 0.0;
00911       maxima_.tr[1] = 0.0;
00912       maxima_.count[0] = 0.0;
00913       maxima_.count[1] = 0.0;
00914 
00915       // =================================================
00916       // --- for the second run ---
00917       maxima_.Mmax[0] = theMmax0; 
00918       maxima_.Mmax[1] = theMmax1; 
00919       if((flags_.pion == 1) && (flags_.fsrnlo == 1))
00920         maxima_.Mmax[1]=maxima_.Mmax[1]*1.5;
00921       if((flags_.pion == 0) && (flags_.fsrnlo == 1))
00922         maxima_.Mmax[1]=maxima_.Mmax[1]*1.5;
00923 
00924       if((flags_.pion == 0) && (flags_.fsr == 1) && (flags_.fsrnlo == 0))
00925         maxima_.Mmax[1]=maxima_.Mmax[1]*1.2;
00926 
00927       if((flags_.pion == 2) || (flags_.pion == 3)){
00928         maxima_.Mmax[0]=maxima_.Mmax[0]*1.1;
00929         maxima_.Mmax[1]=maxima_.Mmax[1]*1.1;
00930       }
00931 
00932       if(flags_.pion == 8){
00933         maxima_.Mmax[0]=maxima_.Mmax[0]*1.08;
00934         maxima_.Mmax[1]=maxima_.Mmax[1]*1.1;
00935       }
00936 // --- end of the second run -----------------------
00937 
00938       maxima_.tr[0] = 0.0;
00939       maxima_.tr[1] = 0.0;
00940       maxima_.count[0] = 0.0;
00941       maxima_.count[1] = 0.0;
00942 }

void EvtPhokhara_nnbar::init_mode ( EvtParticle p  ) 

Definition at line 115 of file EvtPhokhara_nnbar.cc.

References Ar, Ar_r, cos(), cos1max, cos1min, cos2max, cos2min, cos3max, cos3min, ctes_, cuts_, flags_, GEN_1PH, EvtPDL::getId(), genRecEmupikp::i, INPUT, ganga-rec::j, m_E, m_f0_model, m_FF_Kaon, m_FF_Pion, m_fsr, m_fsrnlo, m_gmin, m_initSeed, m_ivac, m_NarrowRes, m_nlo, m_nm, m_phot1cut, m_phot2cut, m_pi1cut, m_pi2cut, m_pion, m_q2_max_c, m_q2_min_c, m_q2min, m_tagged, m_w, EvtParticle::mass(), maxima_, qqmax, qqmin, RANLXDF, and RLXDINIT.

Referenced by decay().

00115                                                {
00116  m_pion=5; 
00117  // mu+mu-(0),pi+pi-(1),2pi0pi+pi-(2),
00118  // 2pi+2pi-(3),ppbar(4),nnbar(5),
00119  // K+K-(6),K0K0bar(7),pi+pi-pi0(8), 
00120  // Lamb Lambbar->pi-pi+ppbar(9) 
00121   if(m_pion<0 || m_pion>9){std::cout<<"mode index for phokhar 0~9, but you give "<<m_pion<<std::endl;abort();}
00122   EvtId myvpho=EvtPDL::getId("vpho");
00123   m_E = p->mass();//EvtPDL::getMeanMass(myvpho);
00125   m_tagged = 0;
00126   m_nm = 50000 ; // # of events to determine the maximum
00127   m_nlo = 1;     // Born(0), NLO(1)
00128   m_w = 0.0001;  // soft photon cutoff
00129   m_fsr = 1;     // ISR only(0), ISR+FSR(1), ISR+INT+FSR(2)
00130   m_fsrnlo = 1 ; // yes(1), no(0)
00131   m_NarrowRes = 0 ;// none(0) jpsi(1) psip(2)
00132   m_FF_Kaon = 1 ;  // constrained (0), unconstrained (1), Kuhn-Khodjamirian-Bruch (2)
00133   m_ivac = 0;      // yes(1), no(0)
00134   m_FF_Pion = 0 ;  // KS Pionformfactor(0), GS Pionformfactor old(1) and new(2)
00135   m_f0_model = 0 ; // f0+f0(600): KK model(0), no structure(1),  no f0+f0(600)(2), f0 KLOE(3)
00136   m_q2min = 0.0;   // minimal  hadrons(muons)-gamma-inv mass squared (GeV^2)
00137   m_q2_min_c = 0.0447 ; // minimal inv. mass squared of the hadrons(muons)(GeV^2)
00138   m_q2_max_c = m_E*m_E;    // maximal inv. mass squared of the hadrons(muons)(GeV^2)
00139   m_gmin = 0.001;       // minimal photon energy/missing energy   (GeV)
00140   m_phot1cut = 0.0;     // maximal photon angle/missing momentum angle (grad)
00141   m_phot2cut = 180.0;   // maximal photon angle/missing momentum angle (grad)
00142   m_pi1cut = 0.0 ;      // minimal hadrons(muons) angle (grad)
00143   m_pi2cut = 180.0;     // maximal hadrons(muons) angle (grad)
00144 
00145   if(!(m_pion==0 || m_pion==1 || m_pion==6)){m_fsr = 0;  m_fsrnlo = 0 ;}
00146   if( m_pion==9 ){m_nlo = 0 ;}
00147   // --- input parameter initialization -----------
00148   m_initSeed = 123456789;
00149   RLXDINIT(1, m_initSeed);
00150   maxima_.iprint = 0;
00151   flags_.nlo = m_nlo;
00152   flags_.pion = m_pion;
00153   flags_.fsr = m_fsr;
00154   flags_.fsrnlo = m_fsrnlo;
00155   flags_.ivac = m_ivac;
00156   flags_.FF_pion  = m_FF_Pion;
00157   flags_.f0_model = m_f0_model;
00158   flags_.FF_kaon  = m_FF_Kaon;
00159   flags_.narr_res = m_NarrowRes;
00160 
00161   ctes_.Sp = m_E*m_E;        ;
00162 
00163   cuts_.w = m_w;
00164   cuts_.q2min = m_q2min;
00165   cuts_.q2_min_c = m_q2_min_c;
00166   cuts_.q2_max_c = m_q2_max_c;
00167   cuts_.gmin = m_gmin;
00168   cuts_.phot1cut = m_phot1cut;
00169   cuts_.phot2cut = m_phot2cut;
00170   cuts_.pi1cut = m_pi1cut;
00171   cuts_.pi2cut = m_pi2cut;
00172 
00173   INPUT();
00174 
00175   // --- print run data ------------------------------
00176   cout << "-------------------------------------------------------------" << endl;
00177   if (flags_.pion == 0)
00178     cout << "     PHOKHARA 7.0 : e^+ e^- -> mu^+ mu^- gamma" << endl;
00179   else if (flags_.pion == 1)
00180     cout << "     PHOKHARA 7.0: e^+ e^- -> pi^+ pi^- gamma" << endl;
00181   else if (flags_.pion == 2)
00182     cout << "   PHOKHARA 7.0: e^+ e^- -> pi^+ pi^- 2pi^0 gamma" << endl;
00183   else if (flags_.pion == 3)
00184     cout << "   PHOKHARA 7.0: e^+ e^- -> 2pi^+ 2pi^- gamma" << endl;
00185   else if (flags_.pion == 4)
00186     cout << "   PHOKHARA 7.0: e^+ e^- -> p pbar gamma" << endl;
00187   else if (flags_.pion == 5)
00188     cout << "   PHOKHARA 7.0: e^+ e^- -> n nbar gamma" << endl;
00189   else if (flags_.pion == 6)
00190     cout << "   PHOKHARA 7.0: e^+ e^- -> K^+ K^- gamma" << endl;
00191   else if (flags_.pion == 7)
00192    cout << "   PHOKHARA 7.0: e^+ e^- -> K_0 K_0bar gamma" << endl;
00193   else if (flags_.pion == 8)
00194     cout << "   PHOKHARA 7.0: e^+ e^- -> pi^+ pi^- pi^0 gamma" << endl;
00195   else if (flags_.pion == 9) {
00196     cout <<  "PHOKHARA 7.0 : e^+ e^- ->" << endl;
00197     cout << "  Lambda (-> pi^- p) Lambda bar (-> pi^+ pbar) gamma" << endl;
00198   } else
00199     cout <<  "     PHOKHARA 7.0: not yet implemented" << endl;
00200 
00201   // --------------------------------
00202   cout <<  "--------------------------------------------------------------" << endl;
00203   printf(" %s %f %s\n","cms total energy                       = ",sqrt(ctes_.Sp)," GeV  ");
00204   
00205   //if((cuts_.gmin/2.0/ctes_.ebeam) < 0.000098){
00206   if(cuts_.gmin<0.001){
00207     cerr << " minimal missing energy set too small" << endl;
00208     abort();
00209   }
00210   printf(" %s %f %s\n","minimal tagged photon energy           = ",cuts_.gmin," GeV  ");
00211   printf(" %s %f,%f\n","angular cuts on tagged photon          = ",cuts_.phot1cut,cuts_.phot2cut);
00212   
00213   // --------------------------------
00214   if (flags_.pion == 0)
00215     printf(" %s %f,%f\n","angular cuts on muons                  = ",cuts_.pi1cut,cuts_.pi2cut);
00216   else if (flags_.pion == 4)
00217     printf(" %s %f,%f\n","angular cuts on protons                = ",cuts_.pi1cut,cuts_.pi2cut);
00218   else if (flags_.pion == 5)
00219     printf(" %s %f,%f\n","angular cuts on neutrons               = ", cuts_.pi1cut,cuts_.pi2cut);
00220   else if ((flags_.pion == 6)||(flags_.pion == 7))
00221     printf(" %s %f,%f\n","angular cuts on kaons                  = ", cuts_.pi1cut,cuts_.pi2cut);
00222   else if (flags_.pion == 9)
00223     printf(" %s %f,%f\n","angular cuts on pions and protons      = ", cuts_.pi1cut,cuts_.pi2cut);
00224   else
00225     printf(" %s %f,%f\n","angular cuts on pions                  = ", cuts_.pi1cut,cuts_.pi2cut);
00226     if (flags_.pion == 0)
00227       printf(" %s %f %s\n","min. muons-tagged photon inv.mass^2    = ", cuts_.q2min," GeV^2");
00228     else if (flags_.pion == 4)
00229       printf(" %s %f %s\n","min. protons-tagged photon inv.mass^2  = ", cuts_.q2min," GeV^2" );
00230     else if (flags_.pion == 5)
00231       printf(" %s %f %s\n","min. neutrons-tagged photon inv.mass^2 = ", cuts_.q2min," GeV^2" );
00232     else if ((flags_.pion == 6)||(flags_.pion == 7))
00233       printf(" %s %f %s\n","min. kaons-tagged photon inv.mass^2    = ", cuts_.q2min," GeV^2" );
00234     else if (flags_.pion == 9)
00235       printf(" %s %f %s\n"," min. lambdas-tagged photon inv.mass^2 = ", cuts_.q2min," GeV^2" );
00236     else
00237       printf(" %s %f %s\n","min. pions-tagged photon inv.mass^2    = ", cuts_.q2min," GeV^2" );
00238     cos1min = cos(cuts_.phot2cut*ctes_.pi/180.0);     // photon1 angle cuts in the 
00239     cos1max = cos(cuts_.phot1cut*ctes_.pi/180.0);     // LAB rest frame   
00240       cos2min = -1.0;                        // photon2 angle limits      
00241       cos2max =  1.0;                        //                           
00242       cos3min = -1.0;                        // hadrons/muons angle limits    
00243       cos3max =  1.0;                        // in their rest frame            
00244       if (flags_.pion == 0)                   // virtual photon energy cut 
00245         qqmin = 4.0*ctes_.mmu*ctes_.mmu;
00246       else if (flags_.pion == 1)
00247         qqmin = 4.0*ctes_.mpi*ctes_.mpi;
00248       else if (flags_.pion == 2)
00249         qqmin = 4.0*(ctes_.mpi+ctes_.mpi0)*(ctes_.mpi+ctes_.mpi0);
00250       else if (flags_.pion == 3)
00251         qqmin = 16.0*ctes_.mpi*ctes_.mpi;
00252       else if (flags_.pion == 4)
00253         qqmin = 4.0*ctes_.mp*ctes_.mp;
00254       else if (flags_.pion == 5)
00255         qqmin = 4.0*ctes_.mnt*ctes_.mnt;
00256       else if (flags_.pion == 6)
00257         qqmin = 4.0*ctes_.mKp*ctes_.mKp;
00258       else if (flags_.pion == 7)
00259         qqmin = 4.0*ctes_.mKn*ctes_.mKn;
00260       else if (flags_.pion == 8)
00261         qqmin = (2.0*ctes_.mpi+ctes_.mpi0)*(2.0*ctes_.mpi+ctes_.mpi0);
00262       else if (flags_.pion == 9)
00263         qqmin = 4.0*ctes_.mlamb*ctes_.mlamb;
00264       qqmax = ctes_.Sp-2.0*sqrt(ctes_.Sp)*cuts_.gmin;         // if only one photon 
00265       if (cuts_.q2_max_c < qqmax)
00266         qqmax=cuts_.q2_max_c;      // external cuts      
00267 
00268       // -------------------
00269       if ( (cuts_.q2_min_c > qqmin) && (cuts_.q2_min_c < (ctes_.Sp*(1.0-2.0*(cuts_.gmin/sqrt(ctes_.Sp)+cuts_.w))) ) )
00270         qqmin = cuts_.q2_min_c;
00271       else {
00272         cerr << "------------------------------" << endl;
00273         cerr << " Q^2_min TOO SMALL" << endl;
00274         cerr << " Q^2_min CHANGED BY PHOKHARA = " << qqmin << " GeV^2" << endl;
00275         cerr << "------------------------------" << endl;
00276       }
00277       // -------------------
00278       if(qqmax <= qqmin){
00279         cerr << " Q^2_max to small " << endl;
00280         cerr << " Q^2_max = " << qqmax << endl;
00281         cerr << " Q^2_min = " << qqmin << endl;
00282         abort();
00283       }
00284 
00285       // -------------------
00286       if (flags_.pion == 0) {
00287         printf(" %s %f %s\n", "minimal muon-pair invariant mass^2     = ", qqmin," GeV^2");
00288         printf(" %s %f %s\n", "maximal muon-pair invariant mass^2     = ", qqmax," GeV^2");
00289       } else if (flags_.pion == 1) {
00290         printf(" %s %f %s\n", "minimal pion-pair invariant mass^2     = ", qqmin," GeV^2");
00291         printf(" %s %f %s\n", "maximal pion-pair invariant mass^2     = ", qqmax," GeV^2");
00292       } else if (flags_.pion == 4) {
00293         printf(" %s %f %s\n", "minimal proton-pair invariant mass^2   = ", qqmin," GeV^2");
00294         printf(" %s %f %s\n", "maximal proton-pair invariant mass^2   = ", qqmax," GeV^2");
00295       } else if (flags_.pion == 5) {
00296         printf(" %s %f %s\n", "minimal neutron-pair invariant mass^2  = ", qqmin," GeV^2");
00297         printf(" %s %f %s\n", "maximal neutron-pair invariant mass^2  = ", qqmax," GeV^2");
00298       } else if ((flags_.pion == 6) || (flags_.pion == 7)) {
00299         printf(" %s %f %s\n", "minimal kaon-pair invariant mass^2     = ", qqmin," GeV^2");
00300         printf(" %s %f %s\n", "maximal kaon-pair invariant mass^2     = ", qqmax," GeV^2");
00301       } else if(flags_.pion == 8){
00302         printf(" %s %f %s\n", "minimal three-pion invariant mass^2    = ", qqmin," GeV^2");
00303         printf(" %s %f %s\n", "maximal three-pion invariant mass^2    = ", qqmax," GeV^2");
00304       } else if(flags_.pion == 9){
00305         printf(" %s %f %s\n", "minimal lambda-pair invariant mass^2  = ", qqmin," GeV^2");
00306         printf(" %s %f %s\n", "maximal lambda-pair invariant mass^2  = ", qqmax," GeV^2");
00307       } else {
00308         printf(" %s %f %s\n", "minimal four-pion invariant mass^2     = ", qqmin," GeV^2" );
00309         printf(" %s %f %s\n", "maximal four-pion invariant mass^2     = ", qqmax," GeV^2");
00310       }
00311       // -------------------
00312       if (flags_.nlo == 0) {
00313         cout <<  "Born" << endl;
00314          if(flags_.fsrnlo != 0){
00315            cerr << "WRONG FSRNLO flag - only fsrnlo=0 allowed for Born" << endl;
00316            abort();
00317          }
00318       }
00319       // -------------------
00320       if((flags_.pion == 9) && (flags_.nlo != 0)) {
00321         cerr << "WRONG NLO flag - only Born allowed for Lambdas"<< endl;
00322         cerr << "If you feel that you need NLO"<< endl;
00323         cerr << "please contact the authors"<< endl;
00324         abort();
00325       }
00326       // -------------------
00327       if (flags_.nlo == 1) printf(" %s %f\n", "NLO:    soft photon cutoff w           = ",cuts_.w);
00328       if ((flags_.pion <= 1) || (flags_.pion == 6))
00329         {
00330 
00331           if( ! ((flags_.fsr == 1) || (flags_.fsr == 2) || (flags_.fsrnlo == 0)
00332               || (flags_.fsr == 1) || (flags_.fsrnlo == 1)
00333                  || (flags_.fsr == 0) || (flags_.fsrnlo == 0))) {
00334             cerr << "WRONG combination of FSR, FSRNLO flags" <<endl;
00335             abort();
00336           }
00337          // ------------------
00338           if (flags_.fsr == 0)
00339             cout << "ISR only" << endl;
00340           else if (flags_.fsr == 1)
00341             cout << "ISR+FSR" << endl;
00342           else if (flags_.fsr == 2) {
00343             if (flags_.nlo == 0)
00344               cout << "ISR+INT+FSR" << endl;
00345             else {
00346               cerr << "WRONG FSR flag: interference is included only for nlo=0" << endl;
00347               abort();
00348             }
00349           }
00350           else {
00351             cerr << "WRONG FSR flag" << flags_.fsr << endl;
00352             abort();
00353           }
00354           if(flags_.fsrnlo == 1)
00355             cout << "IFSNLO included" << endl;
00356         }
00357       else
00358         {
00359           if((flags_.fsr == 0) && (flags_.fsrnlo == 0))
00360             cout << "ISR only" << endl;
00361           else {
00362             cerr << "FSR is implemented only for pi+pi-, mu+mu- and K+K- modes" << endl;
00363             abort();
00364           }
00365         }
00366      // ------------------
00367       if(flags_.ivac == 0){
00368         cout << "Vacuum polarization is NOT included" << endl;}
00369         else if(flags_.ivac == 1){
00370         cout << "Vacuum polarization  by Fred Jegerlehner (http://www-com.physik.hu-berlin.de/fjeger/alphaQEDn.uu)"  << endl;}
00371         else if(flags_.ivac == 2){
00372         cout << "Vacuum polarization (VP_HLMNT_v1_3nonr) by Daisuke Nomura and Thomas Teubner" << endl;}
00373         else {
00374         cout << "WRONG vacuum polarization switch" << endl;
00375         abort();
00376         }
00377 
00378 // -----------------
00379       if(flags_.pion == 1){
00380         if(flags_.FF_pion == 0)
00381           cout << "Kuhn-Santamaria PionFormFactor" << endl;
00382         else if(flags_.FF_pion == 1)
00383           cout << "Gounaris-Sakurai PionFormFactor old" << endl;
00384         else if(flags_.FF_pion == 2)
00385           cout << "Gounaris-Sakurai PionFormFactor new" << endl;
00386         else {
00387           cout << "WRONG PionFormFactor switch" << endl;
00388           abort();
00389         }
00390          if(flags_.fsr != 0){
00391          if(flags_.f0_model == 0)
00392            cout << "f0+f0(600): K+K- model" << endl;
00393          else if(flags_.f0_model == 1)
00394            cout << "f0+f0(600): \"no structure\" model" << endl;
00395          else if(flags_.f0_model == 2)
00396            cout << "NO f0+f0(600)" << endl;
00397          else if(flags_.f0_model == 3)
00398            cout << "only f0, KLOE: Cesare Bini-private communication" << endl;
00399          else {
00400            cout << "WRONG f0+f0(600) switch" << endl;
00401            abort();
00402          }
00403         }
00404       }
00405 //-------
00406       if((flags_.pion == 6) || (flags_.pion==7)){
00407         if(flags_.FF_kaon == 0)
00408           cout << "constrained KaonFormFactor" << endl;
00409         else if(flags_.FF_kaon == 1) {
00410           cout << "unconstrained KaonFormFactor" << endl;}
00411         else if(flags_.FF_kaon == 2) {
00412           cout << "Kuhn-Khodjamirian-Bruch KaonFormFactor" << endl;}
00413         else{
00414           cout << "WRONG KaonFormFactor switch" << endl;
00415           abort();
00416         }
00417       }
00418 // --------------------
00419      if((flags_.pion == 0) || (flags_.pion==1) || (flags_.pion == 6) || (flags_.pion == 7)){
00420         if(flags_.narr_res == 1){
00421           cout << "THE NARROW RESONANCE J/PSI INCLUDED" << endl;}
00422         else if(flags_.narr_res == 2){
00423           cout << "THE NARROW RESONANCE PSI(2S) INCLUDED" << endl;}
00424         else if(flags_.narr_res != 0){
00425           cout << "wrong flag narr_res: only 0, 1 or 2 allowed" << endl;
00426           abort();
00427         }
00428        }
00429 // ------
00430   cout << "--------------------------------------------------------------" << endl;
00431 //
00432  // =================================================
00433 // --- finding the maximum -------------------------
00434       for(int i = 0; i<2; i++)
00435         {
00436           maxima_.Mmax[i] = 1.0;
00437           maxima_.gross[i] = 0.0;
00438           maxima_.klein[i] = 0.0;
00439         }
00440 
00441       if (flags_.nlo == 0)
00442         maxima_.Mmax[1]=0.0;   // only 1 photon events generated
00443 
00444       maxima_.tr[0] = 0.0;
00445       maxima_.tr[1] = 0.0;
00446       maxima_.count[0] = 0.0;
00447       maxima_.count[1] = 0.0;
00448 
00449       // =================================================
00450       // --- beginning the MC loop event generation ------
00451       for(int j = 1; j <= m_nm; j++)
00452         {
00453           RANLXDF(Ar_r,1);
00454           Ar[1] = Ar_r[0];
00455           if (Ar[1] <= (maxima_.Mmax[0]/(maxima_.Mmax[0]+maxima_.Mmax[1]))) {
00456             maxima_.count[0] = maxima_.count[0]+1.0;
00457             GEN_1PH(1,qqmin,qqmax,cos1min,cos1max,cos3min,cos3max);
00458           }
00459           else {
00460             maxima_.count[1] = maxima_.count[1]+1.0;
00461             GEN_2PH(1,qqmin,cos1min,cos1max,cos2min,cos2max,cos3min,cos3max);
00462           }
00463         }
00464       // --- end of the MC loop --------------------------
00465       // =================================================
00466       // --- for the second run ---
00467       maxima_.Mmax[0] = maxima_.gross[0]+.05*sqrt(maxima_.gross[0]*maxima_.gross[0]);
00468       maxima_.Mmax[1] = maxima_.gross[1]+(.03+.02*ctes_.Sp)*sqrt(maxima_.gross[1]*maxima_.gross[1]);
00469       theMmax0=maxima_.Mmax[0];
00470       theMmax1=maxima_.Mmax[1]; 
00471       if((flags_.pion == 1) && (flags_.fsrnlo == 1))
00472         maxima_.Mmax[1]=maxima_.Mmax[1]*1.5;
00473       if((flags_.pion == 0) && (flags_.fsrnlo == 1))
00474         maxima_.Mmax[1]=maxima_.Mmax[1]*1.5;
00475 
00476       if((flags_.pion == 0) && (flags_.fsr == 1) && (flags_.fsrnlo == 0))
00477         maxima_.Mmax[1]=maxima_.Mmax[1]*1.2;
00478 
00479       if((flags_.pion == 2) || (flags_.pion == 3)){
00480         maxima_.Mmax[0]=maxima_.Mmax[0]*1.1;
00481         maxima_.Mmax[1]=maxima_.Mmax[1]*1.1;
00482       }
00483 
00484       if(flags_.pion == 8){
00485         maxima_.Mmax[0]=maxima_.Mmax[0]*1.08;
00486         maxima_.Mmax[1]=maxima_.Mmax[1]*1.1;
00487       }
00488 // --- end of the second run -----------------------
00489 
00490       maxima_.tr[0] = 0.0;
00491       maxima_.tr[1] = 0.0;
00492       maxima_.count[0] = 0.0;
00493       maxima_.count[1] = 0.0;
00494 }

void EvtPhokhara_nnbar::initProbMax (  )  [virtual]

Reimplemented from EvtDecayBase.

Definition at line 108 of file EvtPhokhara_nnbar.cc.

References EvtDecayBase::noProbMax().

00108                                    {
00109 
00110   noProbMax();
00111 
00112 }

int EvtDecayIncoherent::isDaughterSpinDensitySet ( int  daughter  )  [inline, inherited]

Definition at line 39 of file EvtDecayIncoherent.hh.

References EvtDecayIncoherent::spinDensitySet.

Referenced by EvtDecayIncoherent::makeDecay().

00040   {return spinDensitySet[daughter];}

void EvtDecayIncoherent::makeDecay ( EvtParticle p  )  [virtual, inherited]

Implements EvtDecayBase.

Definition at line 29 of file EvtDecayIncoherent.cc.

References EvtDecayBase::_daugsDecayedByParentModel, EvtRadCorr::alwaysRadCorr(), EvtDecayBase::daugsDecayedByParentModel(), EvtParticle::decay(), EvtDecayBase::decay(), EvtRadCorr::doRadCorr(), EvtParticle::getDaug(), EvtParticle::getNDaug(), EvtDecayBase::getPHOTOS(), EvtParticle::getSpinDensityForward(), EvtParticle::getSpinStates(), genRecEmupikp::i, EvtDecayIncoherent::isDaughterSpinDensitySet(), MAX_DAUG, EvtParticle::setDecayProb(), EvtSpinDensity::SetDiag(), EvtParticle::setSpinDensityBackward(), EvtParticle::setSpinDensityForward(), EvtDecayIncoherent::spinDensitySet, and subSeperate::temp.

00029                                                 {
00030 
00031   int i;
00032   //initialize this the hard way..
00033   //Lange June 26, 2000
00034   for (i=0; i<MAX_DAUG; i++ ) { spinDensitySet[i]=0;}
00035   _daugsDecayedByParentModel=false;
00036 
00037   decay(p);
00038   p->setDecayProb(1.);
00039 
00040   EvtSpinDensity rho;
00041 
00042   rho.SetDiag(p->getSpinStates());
00043 
00044   p->setSpinDensityBackward(rho);
00045 
00046   if (getPHOTOS() || EvtRadCorr::alwaysRadCorr()) {
00047     EvtRadCorr::doRadCorr(p);
00048   }
00049 
00050   //Now decay the daughters.
00051 
00052   if ( !daugsDecayedByParentModel()) {
00053     
00054     for(i=0;i<p->getNDaug();i++){
00055       //Need to set the spin density of the daughters to be
00056       //diagonal.
00057       rho.SetDiag(p->getDaug(i)->getSpinStates());
00058       //if (p->getDaug(i)->getNDaug()==0){
00059       //only do this if the user has not already set the 
00060       //spin density matrix herself.
00061       //Lange June 26, 2000
00062       if ( isDaughterSpinDensitySet(i)==0 ) { 
00063         p->getDaug(i)->setSpinDensityForward(rho);
00064       }
00065       else{
00066         //report(INFO,"EvtGen") << "spinDensitymatrix already set!!!\n";
00067         EvtSpinDensity temp=p->getDaug(i)->getSpinDensityForward();
00068         //      report(INFO,"EvtGen") <<temp<<endl;
00069       }
00070       //Now decay the daughter.  Really!
00071       p->getDaug(i)->decay();
00072     }
00073 
00074   } 
00075 }

bool EvtDecayBase::matchingDecay ( const EvtDecayBase other  )  const [virtual, inherited]

Definition at line 587 of file EvtDecayBase.cc.

References EvtDecayBase::_daug, EvtDecayBase::_ndaug, EvtDecayBase::_parent, genRecEmupikp::i, ganga-rec::j, and EvtCyclic3::other().

Referenced by EvtParticleDecayList::addMode(), and EvtParticleDecayList::removeMode().

00587                                                                 {
00588 
00589   if ( _ndaug != other._ndaug) return false;
00590   if ( _parent != other._parent) return false;
00591   
00592   std::vector<int> useDs;
00593   for ( unsigned int i=0; i<_ndaug; i++) useDs.push_back(0);
00594 
00595   for ( unsigned int i=0; i<_ndaug; i++) {
00596     bool foundIt=false;
00597     for ( unsigned int j=0; j<_ndaug; j++) {
00598       if ( useDs[j] == 1 ) continue;
00599       if ( _daug[i] == other._daug[j] && _daug[i].getAlias() == other._daug[j].getAlias()) {
00600         foundIt=true;
00601         useDs[j]=1;
00602         break;
00603       }
00604     }
00605     if ( foundIt==false) return false;
00606   }
00607   for ( unsigned int i=0; i<_ndaug; i++) if ( useDs[i]==0) return false;
00608 
00609   return true;
00610 
00611 }

void EvtDecayBase::noProbMax (  )  [inherited]

Definition at line 304 of file EvtDecayBase.cc.

References EvtDecayBase::defaultprobmax.

Referenced by EvtVubNLO::initProbMax(), EvtVubHybrid::initProbMax(), EvtVub::initProbMax(), EvtVectorIsr::initProbMax(), EvtTrackGen::initProbMax(), EvtTauola::initProbMax(), EvtRhoPi::initProbMax(), EvtRexc::initProbMax(), EvtPythia::initProbMax(), EvtPyGaGa::initProbMax(), EvtPycont::initProbMax(), EvtPhsp::initProbMax(), EvtPhokhara_ppbar::initProbMax(), EvtPhokhara_pipipi0::initProbMax(), EvtPhokhara_pipi::initProbMax(), EvtPhokhara_pi0pi0pipi::initProbMax(), initProbMax(), EvtPhokhara_LLB::initProbMax(), EvtPhokhara_KK::initProbMax(), EvtPhokhara_K0K0::initProbMax(), EvtPhokhara_4pi::initProbMax(), EvtPhokhara::initProbMax(), EvtOpenCharm::initProbMax(), EvtmPhsp::initProbMax(), EvtmH2::initProbMax(), EvtMBody3::initProbMax(), EvtMassH2::initProbMax(), EvtMassH1::initProbMax(), EvtLundCharm::initProbMax(), EvtLunda::initProbMax(), EvtLambdac2pKpi::initProbMax(), EvtJscont::initProbMax(), EvtJetSet::initProbMax(), EvtHAngSam3::initProbMax(), EvtDMix::initProbMax(), EvtDIY::initProbMax(), EvtConExc::initProbMax(), EvtCalHelAmp::initProbMax(), EvtBtoXsll::initProbMax(), EvtBtoXsgamma::initProbMax(), EvtBtoXsEtap::initProbMax(), EvtBody3::initProbMax(), EvtAngSamX::initProbMax(), EvtAngSamLab::initProbMax(), EvtAngSam3::initProbMax(), EvtAngSam::initProbMax(), and EvtAngH2::initProbMax().

00304                             {
00305 
00306   defaultprobmax=0;
00307 
00308 }

virtual int EvtDecayBase::nRealDaughters (  )  [inline, virtual, inherited]

Reimplemented in EvtBtoKD3P, and EvtVSSBMixCPT.

Definition at line 105 of file EvtDecayBase.hh.

References EvtDecayBase::_ndaug.

Referenced by EvtDecayTable::readDecayFile().

00105 { return _ndaug;}

void EvtPhokhara_nnbar::PhokharaInit ( int  dummy  ) 

Definition at line 790 of file EvtPhokhara_nnbar.cc.

References first.

00790                                              {
00791   static int first=1;
00792   if (first){
00793     
00794     first=0;
00795     //for(int i=0;i<ncommand;i++)
00796     // lugive0_(commands[i].c_str(),strlen(commands[i].c_str()));
00797   }
00798   
00799 }

void EvtDecayBase::printSummary (  )  [inherited]

Definition at line 259 of file EvtDecayBase.cc.

References EvtDecayBase::_daug, EvtDecayBase::_modelname, EvtDecayBase::_ndaug, EvtDecayBase::_parent, EvtCyclic3::c_str(), genRecEmupikp::i, Bes_Common::INFO, EvtDecayBase::max_prob, EvtPDL::name(), EvtDecayBase::ntimes_prob, EvtDecayBase::probmax, report(), and EvtDecayBase::sum_prob.

Referenced by EvtDecayBase::checkNArg(), EvtDecayBase::checkNDaug(), EvtDecayBase::checkSpinDaughter(), EvtDecayBase::checkSpinParent(), and EvtParticleDecay::printSummary().

00259                                 {
00260 
00261   int i;
00262 
00263   if (ntimes_prob>0) {
00264 
00265     report(INFO,"EvtGen") << "Calls="<<ntimes_prob<<" eff:"<<
00266       sum_prob/(probmax*ntimes_prob)<<" frac. max:"<<max_prob/probmax;
00267     report(INFO,"") <<" probmax:"<<probmax<<" max:"<<max_prob<<" : ";
00268   }
00269 
00270   report(INFO,"") << EvtPDL::name(_parent).c_str()<<" -> ";
00271   for(i=0;i<_ndaug;i++){
00272     report(INFO,"") << EvtPDL::name(_daug[i]).c_str() << " ";
00273   }
00274   report(INFO,"") << " ("<<_modelname.c_str()<<"):"<< endl;
00275   
00276   
00277   
00278 }

double EvtDecayBase::resetProbMax ( double  prob  )  [inherited]

Definition at line 108 of file EvtDecayBase.cc.

References EvtDecayBase::_daug, EvtDecayBase::_modelname, EvtDecayBase::_ndaug, EvtDecayBase::_parent, EvtDecayBase::defaultprobmax, EvtPDL::getStdHep(), genRecEmupikp::i, Bes_Common::INFO, EvtDecayBase::ntimes_prob, EvtDecayBase::probmax, and report().

00108                                              {
00109   
00110   report(INFO,"EvtGen") << "Reseting prob max\n"; 
00111   report(INFO,"EvtGen") << "prob > probmax:("<<prob<<">"<<probmax<<")";
00112   report(INFO,"") << "("<<_modelname.c_str()<<")";
00113   report(INFO,"") << EvtPDL::getStdHep(_parent)<<"->";
00114   
00115   for( int i=0;i<_ndaug;i++){
00116     report(INFO,"") << EvtPDL::getStdHep(_daug[i]) << " ";
00117   }
00118   report(INFO,"") << endl;
00119   
00120   probmax = 0.0;
00121   defaultprobmax = 0;
00122   ntimes_prob = 0;
00123   
00124   return prob;
00125 
00126 }

void EvtDecayBase::saveDecayInfo ( EvtId  ipar,
int  ndaug,
EvtId daug,
int  narg,
std::vector< std::string > &  args,
std::string  name,
double  brfr 
) [inherited]

Definition at line 167 of file EvtDecayBase.cc.

References EvtDecayBase::_args, EvtDecayBase::_brfr, EvtDecayBase::_chkCharge, EvtDecayBase::_daug, EvtDecayBase::_dsum, EvtDecayBase::_modelname, EvtDecayBase::_narg, EvtDecayBase::_ndaug, EvtDecayBase::_parent, EvtCyclic3::c_str(), EvtDecayBase::checkQ(), EvtDecayBase::defaultprobmax, EvtId::getAlias(), genRecEmupikp::i, Bes_Common::INFO, EvtDecayBase::init(), EvtDecayBase::initProbMax(), EvtPDL::name(), report(), and deljobs::string.

Referenced by EvtParticleDecay::chargeConj(), EvtParticleDecayList::EvtParticleDecayList(), and EvtDecayTable::readDecayFile().

00170                                               {
00171 
00172   int i;
00173 
00174   _brfr=brfr;
00175   _ndaug=ndaug;
00176   _narg=narg;
00177   _parent=ipar; 
00178 
00179   _dsum=0;
00180 
00181   if (_ndaug>0) {
00182     _daug=new EvtId [_ndaug];
00183     for(i=0;i<_ndaug;i++){
00184       _daug[i]=daug[i];
00185       _dsum+=daug[i].getAlias();
00186     }
00187   }
00188   else{
00189     _daug=0;
00190   }
00191 
00192   if (_narg>0) {
00193     _args=new std::string[_narg+1];
00194     for(i=0;i<_narg;i++){
00195       _args[i]=args[i];
00196     }
00197   }
00198   else{
00199      _args = 0;
00200   }
00201 
00202   _modelname=name;
00203 
00204   this->init();
00205   this->initProbMax();
00206 
00207   if (_chkCharge){
00208     this->checkQ();
00209   }
00210 
00211 
00212   if (defaultprobmax){
00213     report(INFO,"EvtGen") << "No default probmax for ";
00214     report(INFO,"") << "("<<_modelname.c_str()<<") ";
00215     report(INFO,"") << EvtPDL::name(_parent).c_str()<<" -> ";
00216     for(i=0;i<_ndaug;i++){
00217       report(INFO,"") << EvtPDL::name(_daug[i]).c_str() << " ";
00218     }
00219     report(INFO,"") << endl;
00220     report(INFO,"") << "This is fine for development, but must be provided for production."<<endl;
00221     report(INFO,"EvtGen") << "Never fear though - the decay will use the \n";
00222     report(INFO,"EvtGen") << "500 iterations to build up a good probmax \n";
00223     report(INFO,"EvtGen") << "before accepting a decay. "<<endl;
00224   }
00225 
00226 }

void EvtDecayIncoherent::setDaughterSpinDensity ( int  daughter  )  [inline, inherited]

Definition at line 36 of file EvtDecayIncoherent.hh.

References EvtDecayIncoherent::spinDensitySet.

Referenced by EvtVectorIsr::decay(), EvtTauola::fixPolarizations(), EvtPythia::fixPolarizations(), EvtOpenCharm::fixPolarizations(), EvtLundCharm::fixPolarizations(), EvtLunda::fixPolarizations(), and EvtJetSet::fixPolarizations().

00037   { spinDensitySet[daughter]=1; return;}

void EvtDecayBase::setPHOTOS (  )  [inline, inherited]

Definition at line 69 of file EvtDecayBase.hh.

References EvtDecayBase::_photos.

Referenced by EvtParticleDecay::chargeConj(), EvtParticleDecayList::EvtParticleDecayList(), and EvtDecayTable::readDecayFile().

00069 {_photos=1;}

void EvtDecayBase::setProbMax ( double  prbmx  )  [inherited]

Definition at line 297 of file EvtDecayBase.cc.

References EvtDecayBase::defaultprobmax, and EvtDecayBase::probmax.

Referenced by EvtBtoKD3P::decay(), EvtVVSPwave::initProbMax(), EvtVVPIPI_WEIGHTED::initProbMax(), EvtVVpipi::initProbMax(), EvtVVP::initProbMax(), EvtVSSMix::initProbMax(), EvtVSSBMixCPT::initProbMax(), EvtVSS::initProbMax(), EvtVSPPwave::initProbMax(), EvtVPHOtoVISRHi::initProbMax(), EvtVll::initProbMax(), EvtTVSPwave::initProbMax(), EvtTSS::initProbMax(), EvtTauVectornu::initProbMax(), EvtTauScalarnu::initProbMax(), EvtTaulnunu::initProbMax(), EvtTauHadnu::initProbMax(), EvtT2GV::initProbMax(), EvtSVVNONCPEIGEN::initProbMax(), EvtSVVHelAmp::initProbMax(), EvtSVVCPLH::initProbMax(), EvtSVVCP::initProbMax(), EvtSVSNONCPEIGEN::initProbMax(), EvtSVSCPLH::initProbMax(), EvtSVSCPiso::initProbMax(), EvtSVSCP::initProbMax(), EvtSVS::initProbMax(), EvtSVPHelAmp::initProbMax(), EvtSVPCP::initProbMax(), EvtSTSCP::initProbMax(), EvtSTS::initProbMax(), EvtSSSCPpng::initProbMax(), EvtSSSCP::initProbMax(), EvtSSDCP::initProbMax(), EvtSPL::initProbMax(), EvtSLPole::initProbMax(), EvtSLN::initProbMax(), EvtSLBKPole::initProbMax(), EvtS2GV::initProbMax(), EvtPi0Dalitz::initProbMax(), EvtPBB2::initProbMax(), EvtPBB1::initProbMax(), EvtPartWave::initProbMax(), EvtP2GC2::initProbMax(), EvtP2GC1::initProbMax(), EvtP2GC0::initProbMax(), EvtOmegaDalitz::initProbMax(), EvtLNuGamma::initProbMax(), EvtLambdaP_BarGamma::initProbMax(), EvtKKLambdaC::initProbMax(), EvtJpipi::initProbMax(), EvtISGW2::initProbMax(), EvtIntervalDecayAmp< EvtDalitzPoint >::initProbMax(), EvtHypNonLepton::initProbMax(), EvtHQET2::initProbMax(), EvtHQET::initProbMax(), EvtHelAmp::initProbMax(), EvtGoityRoberts::initProbMax(), EvtFlatQ2::initProbMax(), EvtEtaDalitz::initProbMax(), EvtEDM::initProbMax(), EvtDDalitz::initProbMax(), EvtD0mixDalitz::initProbMax(), EvtCBTo3piP00::initProbMax(), EvtCBTo3piMPP::initProbMax(), EvtbTosllBall::initProbMax(), EvtbTosllAli::initProbMax(), EvtBtoKpiCPiso::initProbMax(), EvtBtoKD3P::initProbMax(), EvtBTo3piCP::initProbMax(), EvtBto2piCPiso::initProbMax(), and EvtAV2GV::initProbMax().

00297                                          {
00298 
00299   defaultprobmax=0;
00300   probmax=prbmx;
00301 
00302 }

void EvtDecayBase::setSummary (  )  [inline, inherited]

Definition at line 71 of file EvtDecayBase.hh.

References EvtDecayBase::_summary.

Referenced by EvtParticleDecayList::EvtParticleDecayList(), and EvtDecayTable::readDecayFile().

00071 {_summary=1;}

void EvtDecayBase::setVerbose (  )  [inline, inherited]

Definition at line 70 of file EvtDecayBase.hh.

References EvtDecayBase::_verbose.

Referenced by EvtParticleDecayList::EvtParticleDecayList(), and EvtDecayTable::readDecayFile().

00070 {_verbose=1;}

void EvtPhokhara_nnbar::store ( EvtDecayBase jsdecay  )  [private]

Definition at line 769 of file EvtPhokhara_nnbar.cc.

References genRecEmupikp::i, nphokharadecays, ntable, and phokharadecays.

Referenced by init().

00769                                                   {
00770 
00771   if (nphokharadecays==ntable){
00772 
00773     EvtDecayBasePtr* newphokharadecays=new EvtDecayBasePtr[2*ntable+10];
00774     int i;
00775     for(i=0;i<ntable;i++){
00776       newphokharadecays[i]=phokharadecays[i];
00777     }
00778     ntable=2*ntable+10;
00779     delete [] phokharadecays;
00780     phokharadecays=newphokharadecays;
00781   }
00782 
00783   phokharadecays[nphokharadecays++]=jsdecay;
00784 
00785 
00786 
00787 }

int EvtDecayBase::summary (  )  [inline, inherited]

Definition at line 78 of file EvtDecayBase.hh.

References EvtDecayBase::_summary.

Referenced by EvtParticleDecayList::EvtParticleDecayList().

00078 {return _summary; }

int EvtDecayBase::verbose (  )  [inline, inherited]

Definition at line 79 of file EvtDecayBase.hh.

References EvtDecayBase::_verbose.

Referenced by EvtParticleDecayList::EvtParticleDecayList(), EvtSVSCPLH::init(), EvtSSDCP::init(), EvtPartWave::init(), EvtHelAmp::init(), EvtBtoXsll::init(), EvtPartWave::initProbMax(), and EvtHelAmp::initProbMax().

00079 {return _verbose; }


Member Data Documentation

bool EvtDecayBase::_daugsDecayedByParentModel [protected, inherited]

Definition at line 109 of file EvtDecayBase.hh.

Referenced by EvtDecayBase::daugsDecayedByParentModel(), EvtBtoKD3P::decay(), EvtDecayProb::makeDecay(), EvtDecayIncoherent::makeDecay(), and EvtDecayAmp::makeDecay().

double EvtPhokhara_nnbar::Ar[14] [private]

Definition at line 96 of file EvtPhokhara_nnbar.hh.

Referenced by decay(), and init_mode().

double EvtPhokhara_nnbar::Ar_r[14] [private]

Definition at line 96 of file EvtPhokhara_nnbar.hh.

Referenced by decay(), and init_mode().

std::string * EvtPhokhara_nnbar::commands = 0 [static, private]

Definition at line 66 of file EvtPhokhara_nnbar.hh.

Referenced by command(), and ~EvtPhokhara_nnbar().

double EvtPhokhara_nnbar::cos1max [private]

Definition at line 95 of file EvtPhokhara_nnbar.hh.

Referenced by decay(), init_evt(), and init_mode().

double EvtPhokhara_nnbar::cos1min [private]

Definition at line 95 of file EvtPhokhara_nnbar.hh.

Referenced by decay(), init_evt(), and init_mode().

double EvtPhokhara_nnbar::cos2max [private]

Definition at line 95 of file EvtPhokhara_nnbar.hh.

Referenced by decay(), init_evt(), and init_mode().

double EvtPhokhara_nnbar::cos2min [private]

Definition at line 95 of file EvtPhokhara_nnbar.hh.

Referenced by decay(), init_evt(), and init_mode().

double EvtPhokhara_nnbar::cos3max [private]

Definition at line 95 of file EvtPhokhara_nnbar.hh.

Referenced by decay(), init_evt(), and init_mode().

double EvtPhokhara_nnbar::cos3min [private]

Definition at line 95 of file EvtPhokhara_nnbar.hh.

Referenced by decay(), init_evt(), and init_mode().

double EvtPhokhara_nnbar::dsigm [private]

Definition at line 96 of file EvtPhokhara_nnbar.hh.

double EvtPhokhara_nnbar::dsigm1 [private]

Definition at line 96 of file EvtPhokhara_nnbar.hh.

double EvtPhokhara_nnbar::dsigm2 [private]

Definition at line 96 of file EvtPhokhara_nnbar.hh.

int EvtPhokhara_nnbar::ievent [private]

Definition at line 98 of file EvtPhokhara_nnbar.hh.

Referenced by decay().

int EvtPhokhara_nnbar::lcommand = 0 [static, private]

Definition at line 65 of file EvtPhokhara_nnbar.hh.

Referenced by command().

double EvtPhokhara_nnbar::m_E [private]

Definition at line 84 of file EvtPhokhara_nnbar.hh.

Referenced by init_evt(), and init_mode().

int EvtPhokhara_nnbar::m_f0_model [private]

Definition at line 83 of file EvtPhokhara_nnbar.hh.

Referenced by init_evt(), and init_mode().

int EvtPhokhara_nnbar::m_FF_Kaon [private]

Definition at line 81 of file EvtPhokhara_nnbar.hh.

Referenced by init_evt(), and init_mode().

int EvtPhokhara_nnbar::m_FF_Pion [private]

Definition at line 82 of file EvtPhokhara_nnbar.hh.

Referenced by init_evt(), and init_mode().

int EvtPhokhara_nnbar::m_fsr [private]

Definition at line 76 of file EvtPhokhara_nnbar.hh.

Referenced by init_evt(), and init_mode().

int EvtPhokhara_nnbar::m_fsrnlo [private]

Definition at line 77 of file EvtPhokhara_nnbar.hh.

Referenced by init_evt(), and init_mode().

double EvtPhokhara_nnbar::m_gmin [private]

Definition at line 88 of file EvtPhokhara_nnbar.hh.

Referenced by init_evt(), and init_mode().

long int EvtPhokhara_nnbar::m_initSeed [private]

Definition at line 99 of file EvtPhokhara_nnbar.hh.

Referenced by init_mode().

int EvtPhokhara_nnbar::m_ivac [private]

Definition at line 78 of file EvtPhokhara_nnbar.hh.

Referenced by init_evt(), and init_mode().

int EvtPhokhara_nnbar::m_NarrowRes [private]

Definition at line 80 of file EvtPhokhara_nnbar.hh.

Referenced by init_evt(), and init_mode().

int EvtPhokhara_nnbar::m_nlo [private]

Definition at line 72 of file EvtPhokhara_nnbar.hh.

Referenced by init_evt(), and init_mode().

int EvtPhokhara_nnbar::m_nm [private]

Definition at line 71 of file EvtPhokhara_nnbar.hh.

Referenced by init_evt(), and init_mode().

double EvtPhokhara_nnbar::m_phot1cut [private]

Definition at line 89 of file EvtPhokhara_nnbar.hh.

Referenced by init_evt(), and init_mode().

double EvtPhokhara_nnbar::m_phot2cut [private]

Definition at line 90 of file EvtPhokhara_nnbar.hh.

Referenced by init_evt(), and init_mode().

double EvtPhokhara_nnbar::m_pi1cut [private]

Definition at line 91 of file EvtPhokhara_nnbar.hh.

Referenced by init_evt(), and init_mode().

double EvtPhokhara_nnbar::m_pi2cut [private]

Definition at line 92 of file EvtPhokhara_nnbar.hh.

Referenced by init_evt(), and init_mode().

int EvtPhokhara_nnbar::m_pion [private]

Definition at line 74 of file EvtPhokhara_nnbar.hh.

Referenced by init_evt(), and init_mode().

double EvtPhokhara_nnbar::m_q2_max_c [private]

Definition at line 87 of file EvtPhokhara_nnbar.hh.

Referenced by init_evt(), and init_mode().

double EvtPhokhara_nnbar::m_q2_min_c [private]

Definition at line 86 of file EvtPhokhara_nnbar.hh.

Referenced by init_evt(), and init_mode().

double EvtPhokhara_nnbar::m_q2min [private]

Definition at line 85 of file EvtPhokhara_nnbar.hh.

Referenced by init_evt(), and init_mode().

int EvtPhokhara_nnbar::m_tagged [private]

Definition at line 79 of file EvtPhokhara_nnbar.hh.

Referenced by init_evt(), and init_mode().

double EvtPhokhara_nnbar::m_w [private]

Definition at line 73 of file EvtPhokhara_nnbar.hh.

Referenced by init_evt(), and init_mode().

int EvtPhokhara_nnbar::ncommand = 0 [static, private]

Definition at line 64 of file EvtPhokhara_nnbar.hh.

Referenced by command().

int EvtPhokhara_nnbar::nevt = 0 [static, private]

Definition at line 67 of file EvtPhokhara_nnbar.hh.

Referenced by getTotalEvt().

int EvtPhokhara_nnbar::nevtgen = 0 [static, private]

Definition at line 68 of file EvtPhokhara_nnbar.hh.

Referenced by decay().

int EvtPhokhara_nnbar::nphokharadecays = 0 [static, private]

Definition at line 60 of file EvtPhokhara_nnbar.hh.

Referenced by store(), and ~EvtPhokhara_nnbar().

int EvtPhokhara_nnbar::ntable = 0 [static, private]

Definition at line 62 of file EvtPhokhara_nnbar.hh.

Referenced by store().

EvtDecayBasePtr * EvtPhokhara_nnbar::phokharadecays = 0 [static, private]

Definition at line 61 of file EvtPhokhara_nnbar.hh.

Referenced by store(), and ~EvtPhokhara_nnbar().

double EvtPhokhara_nnbar::qqmax [private]

Definition at line 94 of file EvtPhokhara_nnbar.hh.

Referenced by decay(), init_evt(), and init_mode().

double EvtPhokhara_nnbar::qqmin [private]

Definition at line 94 of file EvtPhokhara_nnbar.hh.

Referenced by decay(), init_evt(), and init_mode().

double EvtPhokhara_nnbar::sigma [private]

Definition at line 96 of file EvtPhokhara_nnbar.hh.

double EvtPhokhara_nnbar::sigma1 [private]

Definition at line 96 of file EvtPhokhara_nnbar.hh.

double EvtPhokhara_nnbar::sigma2 [private]

Definition at line 96 of file EvtPhokhara_nnbar.hh.

double EvtPhokhara_nnbar::theMmax0 [private]

Definition at line 100 of file EvtPhokhara_nnbar.hh.

Referenced by init_evt().

double EvtPhokhara_nnbar::theMmax1 [private]

Definition at line 100 of file EvtPhokhara_nnbar.hh.

Referenced by init_evt().


Generated on Tue Nov 29 23:19:12 2016 for BOSS_7.0.2 by  doxygen 1.4.7