EvtVubNLO Class Reference

#include <EvtVubNLO.hh>

Inheritance diagram for EvtVubNLO:

EvtDecayIncoherent EvtDecayBase List of all members.

Public Member Functions

 EvtVubNLO ()
virtual ~EvtVubNLO ()
void getName (std::string &name)
EvtDecayBaseclone ()
void initProbMax ()
void init ()
void decay (EvtParticle *p)
void makeDecay (EvtParticle *p)
void setDaughterSpinDensity (int daughter)
int isDaughterSpinDensitySet (int daughter)
virtual std::string commandName ()
virtual void command (std::string cmd)
double getProbMax (double prob)
double resetProbMax (double prob)
virtual bool matchingDecay (const EvtDecayBase &other) const
EvtId getParentId ()
double getBranchingFraction ()
void disableCheckQ ()
void checkQ ()
int getNDaug ()
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

double tripleDiff (double pp, double pl, double pm)
double SFNorm (const std::vector< double > &coeffs)
double F10 (const std::vector< double > &coeffs)
double F20 (const std::vector< double > &coeffs)
double F30 (const std::vector< double > &coeffs)
double mu_i ()
double mu_bar ()
double mu_h ()
double lambda1 ()
double lambda_SF ()
double lambda_bar (double omega0)
double lambda2 ()
double mu_pi2 (double omega0)
double lambda (double mu=0)
double M0 (double mui, double omega0)
double subS (const std::vector< double > &coeffs)
double subT (const std::vector< double > &coeffs)
double subU (const std::vector< double > &coeffs)
double subV (const std::vector< double > &coeffs)
double S0 (double a, double r)
double S1 (double a, double r)
double S2 (double a, double r)
double dSudakovdepsi (double mu1, double mu2)
double Sudakov (double mu1, double mu2, double epsi=0)
double dGdepsi (double mu1, double mu2)
double aGamma (double mu1, double mu2, double epsi=0)
double dgpdepsi (double mu1, double mu2)
double agammap (double mu1, double mu2, double epsi=0)
double U1 (double mu1, double mu2, double epsi=0)
double U1lo (double mu1, double mu2)
double U1nlo (double mu1, double mu2)
double alo (double mu1, double mu2)
double anlo (double mu1, double mu2)

Static Private Member Functions

static double integrand (double omega, const std::vector< double > &coeffs)
static double F1Int (double omega, const std::vector< double > &coeffs)
static double F2Int (double omega, const std::vector< double > &coeffs)
static double F3Int (double omega, const std::vector< double > &coeffs)
static double g1 (double y, double z)
static double g2 (double y, double z)
static double g3 (double y, double z)
static double Gamma (double z)
static double dgamma (double t, const std::vector< double > &c)
static double Gamma (double z, double tmax)
static double beta0 (int nf=4)
static double beta1 (int nf=4)
static double beta2 (int nf=4)
static double gamma0 ()
static double gamma1 (int nf=4)
static double gamma2 (int nf=4)
static double gammap0 ()
static double gammap1 (int nf=4)
static double alphas (double mu)
static double C_F (double mu)
static double cGaus (double b)
static double shapeFunction (double omega, const std::vector< double > &coeffs)
static double expShapeFunction (double omega, const std::vector< double > &coeffs)
static double gausShapeFunction (double omega, const std::vector< double > &coeffs)

Private Attributes

double _lbar
double _mupi2
double _mb
double _mB
double _lambdaSF
double _b
double _kpar
double _mui
double _SFNorm
double _dGMax
int _nbins
int _idSF
double * _masses
double * _weights
double _gmax
int _ngood
int _ntot

Detailed Description

Definition at line 32 of file EvtVubNLO.hh.


Constructor & Destructor Documentation

EvtVubNLO::EvtVubNLO (  )  [inline]

Definition at line 36 of file EvtVubNLO.hh.

00036 {}

EvtVubNLO::~EvtVubNLO (  )  [virtual]

Definition at line 39 of file EvtVubNLO.cc.

References _gmax, _masses, _ngood, _ntot, and _weights.

00039                       {
00040   delete [] _masses;
00041   delete [] _weights;
00042   cout <<" max pdf : "<<_gmax<<endl;
00043   cout <<" efficiency : "<<(float)_ngood/(float)_ntot<<endl;
00044 
00045 }


Member Function Documentation

double EvtVubNLO::aGamma ( double  mu1,
double  mu2,
double  epsi = 0 
) [inline, private]

Definition at line 152 of file EvtVubNLO.hh.

References alphas(), beta0(), dGdepsi(), and gamma0().

Referenced by alo(), and U1().

00152 {return gamma0()/2/beta0()*log(alphas(mu2)/alphas(mu1))+epsi*dGdepsi( mu1, mu2);}

double EvtVubNLO::agammap ( double  mu1,
double  mu2,
double  epsi = 0 
) [inline, private]

Definition at line 154 of file EvtVubNLO.hh.

References alphas(), beta0(), dgpdepsi(), and gammap0().

Referenced by U1().

00154 {return gammap0()/2/beta0()*log(alphas(mu2)/alphas(mu1))+epsi*dgpdepsi( mu1, mu2);}

double EvtVubNLO::alo ( double  mu1,
double  mu2 
) [inline, private]

Definition at line 158 of file EvtVubNLO.hh.

References aGamma().

Referenced by tripleDiff().

00158 {return -2*aGamma(mu1,mu2);}

double EvtVubNLO::alphas ( double  mu  )  [static, private]

Definition at line 591 of file EvtVubNLO.cc.

References beta0(), beta1(), beta2(), and EvtConst::pi.

Referenced by aGamma(), agammap(), C_F(), dGdepsi(), dgpdepsi(), dSudakovdepsi(), and Sudakov().

00591                           {
00592   double Lambda4=0.302932;
00593   double lg=2*log(mu/Lambda4);
00594   return 4*EvtConst::pi/lg/beta0()*(1-beta1()*log(lg)/pow(beta0(),2)/lg+pow(beta1()/lg,2)/pow(beta0(),4)*(pow(log(lg)-0.5,2)-1.25+beta2()*beta0()/pow(beta1(),2)));
00595 }

double EvtVubNLO::anlo ( double  mu1,
double  mu2 
) [inline, private]

Definition at line 159 of file EvtVubNLO.hh.

References dGdepsi().

Referenced by F10().

00159 {return -2*dGdepsi(mu1,mu2);}

static double EvtVubNLO::beta0 ( int  nf = 4  )  [inline, static, private]

Definition at line 97 of file EvtVubNLO.hh.

Referenced by aGamma(), agammap(), alphas(), dGdepsi(), dgpdepsi(), S0(), S1(), and S2().

00097 {return 11.-2./3.*nf;}

static double EvtVubNLO::beta1 ( int  nf = 4  )  [inline, static, private]

Definition at line 98 of file EvtVubNLO.hh.

Referenced by alphas(), dGdepsi(), dgpdepsi(), S1(), and S2().

00098 {return 34.*3.-38./3.*nf;}

static double EvtVubNLO::beta2 ( int  nf = 4  )  [inline, static, private]

Definition at line 99 of file EvtVubNLO.hh.

Referenced by alphas(), and S2().

00099 {return 1428.5-5033./18.*nf+325./54.*nf*nf;}

static double EvtVubNLO::C_F ( double  mu  )  [inline, static, private]

Definition at line 110 of file EvtVubNLO.hh.

References alphas(), and EvtConst::pi.

Referenced by F10(), F1Int(), F20(), F2Int(), F3Int(), and M0().

00110 {return (4.0/3.0)*alphas(mu)/4./EvtConst::pi;}

static double EvtVubNLO::cGaus ( double  b  )  [inline, static, private]

Definition at line 121 of file EvtVubNLO.hh.

References Gamma().

Referenced by gausShapeFunction(), lambda_bar(), mu_pi2(), and SFNorm().

00121 {return pow(Gamma(1+b/2.)/Gamma((1+b)/2.),2);}

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

Definition at line 482 of file EvtDecayBase.cc.

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

Referenced by EvtVVSPwave::init(), EvtVVPIPI_WEIGHTED::init(), EvtVVpipi::init(), EvtVVP::init(), EvtVSSMix::init(), EvtVSSBMixCPT::init(), EvtVSS::init(), EvtVSPPwave::init(), EvtVPHOtoVISRHi::init(), EvtVPHOtoVISR::init(), EvtVll::init(), EvtVectorIsr::init(), EvtTVSPwave::init(), EvtTSS::init(), EvtTrackGen::init(), EvtTauVectornu::init(), EvtTauScalarnu::init(), EvtTaulnunu::init(), EvtTauHadnu::init(), EvtTauGamMu::init(), EvtT2GV::init(), EvtSVVNONCPEIGEN::init(), EvtSVVHelAmp::init(), EvtSVVCPLH::init(), EvtSVVCP::init(), EvtSVSNONCPEIGEN::init(), EvtSVSCPLH::init(), EvtSVSCPiso::init(), EvtSVSCP::init(), EvtSVS::init(), EvtSVPHelAmp::init(), EvtSVPCP::init(), EvtSTSCP::init(), EvtSTS::init(), EvtSSSCPT::init(), EvtSSSCPpng::init(), EvtSSSCP::init(), EvtSSDCP::init(), EvtSLN::init(), EvtSll::init(), EvtS2GV::init(), EvtRexc::init(), EvtPythia::init(), EvtPyGaGa::init(), EvtPycont::init(), EvtPi0Dalitz::init(), EvtPhsp::init(), EvtPhokhara_ppbar::init(), EvtPhokhara_pipipi0::init(), EvtPhokhara_pipi::init(), EvtPhokhara_pi0pi0pipi::init(), EvtPhokhara_nnbar::init(), EvtPhokhara_LLB::init(), EvtPhokhara_KK::init(), EvtPhokhara_K0K0::init(), EvtPhokhara_4pi::init(), EvtPhokhara::init(), EvtPhiDalitz::init(), EvtPartWave::init(), EvtP2GC2::init(), EvtP2GC1::init(), EvtP2GC0::init(), EvtOmegaDalitz::init(), EvtmH2::init(), EvtMelikhov::init(), EvtMBody3::init(), EvtMassH2::init(), EvtMassH1::init(), EvtLNuGamma::init(), EvtLambdaP_BarGamma::init(), EvtLambdac2pKpi::init(), EvtKstarstargamma::init(), EvtKstarnunu::init(), EvtJscont::init(), EvtJpipi::init(), EvtJPE::init(), EvtJetSet::init(), EvtISGW2::init(), EvtISGW::init(), EvtHypWK::init(), EvtHQET::init(), EvtHelPPJ::init(), EvtHelAmp::init(), EvtHAngSam3::init(), EvtGoityRoberts::init(), EvtFlatQ2::init(), EvtEtaDalitz::init(), EvtEDM::init(), EvtDMix::init(), EvtDeBD::init(), 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(), 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 * EvtVubNLO::clone (  )  [virtual]

Implements EvtDecayBase.

Definition at line 57 of file EvtVubNLO.cc.

00057                               {
00058 
00059   return new EvtVubNLO;
00060 
00061 }

void EvtDecayBase::command ( std::string  cmd  )  [virtual, inherited]

Reimplemented in EvtJetSet, EvtLunda, EvtLundCharm, EvtOpenCharm, EvtPhokhara, EvtPhokhara_4pi, EvtPhokhara_K0K0, EvtPhokhara_KK, EvtPhokhara_LLB, EvtPhokhara_nnbar, EvtPhokhara_pi0pi0pipi, EvtPhokhara_pipi, EvtPhokhara_pipipi0, EvtPhokhara_ppbar, EvtPythia, and EvtTauola.

Definition at line 132 of file EvtDecayBase.cc.

References calibUtil::ERROR, and report().

Referenced by EvtModel::storeCommand().

00132                                        {
00133   report(ERROR,"EvtGen") << "Should never call EvtDecayBase::command"<<endl;
00134   ::abort();
00135 }

std::string EvtDecayBase::commandName (  )  [virtual, inherited]

Reimplemented in EvtJetSet, EvtLunda, EvtLundCharm, EvtOpenCharm, EvtPhokhara, EvtPhokhara_4pi, EvtPhokhara_K0K0, EvtPhokhara_KK, EvtPhokhara_LLB, EvtPhokhara_nnbar, EvtPhokhara_pi0pi0pipi, EvtPhokhara_pipi, EvtPhokhara_pipipi0, EvtPhokhara_ppbar, EvtPythia, and EvtTauola.

Definition at line 129 of file EvtDecayBase.cc.

References deljobs::string.

Referenced by EvtModel::Register().

00129                                    {
00130   return std::string("");
00131 }

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

Definition at line 110 of file EvtDecayBase.hh.

References EvtDecayBase::_daugsDecayedByParentModel.

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

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

Implements EvtDecayBase.

Definition at line 173 of file EvtVubNLO.cc.

References _dGMax, _gmax, _masses, _mB, _nbins, _ngood, _ntot, _weights, cos(), calibUtil::ERROR, EvtRandom::Flat(), EvtDecayBase::getDaug(), EvtParticle::getDaug(), EvtDecayBase::getDaugs(), EvtDecayBase::getNDaug(), EvtParticle::init(), EvtParticle::initializePhaseSpace(), ganga-rec::j, M_PI, EvtParticle::mass(), report(), EvtVector4R::set(), sin(), tripleDiff(), and w.

00173                                      {
00174   
00175   int j;
00176   // B+ -> u-bar specflav l+ nu
00177   
00178   EvtParticle *xuhad, *lepton, *neutrino;
00179   EvtVector4R p4;
00180   
00181   double pp,pm,pl,ml,El(0.0),Eh(0.0),sh(0.0);
00182   
00183   
00184   
00185   p->initializePhaseSpace(getNDaug(),getDaugs());
00186   
00187   xuhad=p->getDaug(0);
00188   lepton=p->getDaug(1);
00189   neutrino=p->getDaug(2);
00190   
00191   _mB = p->mass();
00192   ml = lepton->mass();
00193   
00194   bool tryit = true;
00195   
00196   while (tryit) {
00197     // pm=(E_H+P_H)
00198     pm= EvtRandom::Flat(0.,1);
00199     pm= pow(pm,1./3.)*_mB;
00200     // pl=mB-2*El
00201     pl = EvtRandom::Flat(0.,1);
00202     pl=sqrt(pl)*pm;
00203     // pp=(E_H-P_H)    
00204     pp = EvtRandom::Flat(0.,pl);
00205 
00206     _ntot++;
00207     
00208     El = (_mB-pl)/2.;      
00209     Eh = (pp+pm)/2;
00210     sh = pp*pm;
00211      
00212     double pdf(0.);
00213     if (pp<pl && El>ml&& sh > _masses[0]*_masses[0]&& _mB*_mB + sh - 2*_mB*Eh > ml*ml) {
00214       double xran = EvtRandom::Flat(0,_dGMax);
00215       pdf = tripleDiff(pp,pl,pm); // triple differential distribution
00216       //      cout <<" P+,P-,Pl,Pdf= "<<pp <<" "<<pm<<" "<<pl<<" "<<pdf<<endl;
00217       if(pdf>_dGMax){
00218         report(ERROR,"EvtGen") << "EvtVubNLO pdf above maximum: " <<pdf
00219                                <<" P+,P-,Pl,Pdf= "<<pp <<" "<<pm<<" "<<pl<<" "<<pdf<<endl;
00220         //::abort();
00221         
00222       }
00223       if ( pdf >= xran ) tryit = false;
00224         
00225       if(pdf>_gmax)_gmax=pdf;
00226     } else {
00227       //      cout <<" EvtVubNLO incorrect kinematics  sh= "<<sh<<"EH "<<Eh<<endl;
00228     }   
00229       
00230     
00231     // reweight the Mx distribution
00232     if(!tryit && _nbins>0){
00233       _ngood++;
00234       double xran1 = EvtRandom::Flat();
00235       double m = sqrt(sh);j=0;
00236       while ( j < _nbins && m > _masses[j] ) j++; 
00237       double w = _weights[j-1]; 
00238       if ( w < xran1 ) tryit = true;// through away this candidate
00239     }
00240   }
00241 
00242   //  cout <<" max prob "<<gmax<<" " << pp<<" "<<y<<" "<<x<<endl;
00243   
00244   // o.k. we have the three kineamtic variables 
00245   // now calculate a flat cos Theta_H [-1,1] distribution of the 
00246   // hadron flight direction w.r.t the B flight direction 
00247   // because the B is a scalar and should decay isotropic.
00248   // Then chose a flat Phi_H [0,2Pi] w.r.t the B flight direction 
00249   // and and a flat Phi_L [0,2Pi] in the W restframe w.r.t the 
00250   // W flight direction.
00251   
00252   double ctH = EvtRandom::Flat(-1,1);
00253   double phH = EvtRandom::Flat(0,2*M_PI);
00254   double phL = EvtRandom::Flat(0,2*M_PI);
00255 
00256   // now compute the four vectors in the B Meson restframe
00257     
00258   double ptmp,sttmp;
00259   // calculate the hadron 4 vector in the B Meson restframe
00260   
00261   sttmp = sqrt(1-ctH*ctH);
00262   ptmp = sqrt(Eh*Eh-sh);
00263   double pHB[4] = {Eh,ptmp*sttmp*cos(phH),ptmp*sttmp*sin(phH),ptmp*ctH};
00264   p4.set(pHB[0],pHB[1],pHB[2],pHB[3]);
00265   xuhad->init( getDaug(0), p4);
00266 
00267 
00268   // calculate the W 4 vector in the B Meson restrframe
00269 
00270   double apWB = ptmp;
00271   double pWB[4] = {_mB-Eh,-pHB[1],-pHB[2],-pHB[3]};
00272 
00273   // first go in the W restframe and calculate the lepton and
00274   // the neutrino in the W frame
00275 
00276   double mW2   = _mB*_mB + sh - 2*_mB*Eh;
00277   //  if(mW2<0.1){
00278   //  cout <<" low Q2! "<<pp<<" "<<epp<<" "<<x<<" "<<y<<endl;
00279   //}
00280   double beta  = ptmp/pWB[0];
00281   double gamma = pWB[0]/sqrt(mW2);
00282 
00283   double pLW[4];
00284     
00285   ptmp = (mW2-ml*ml)/2/sqrt(mW2);
00286   pLW[0] = sqrt(ml*ml + ptmp*ptmp);
00287 
00288   double ctL = (El - gamma*pLW[0])/beta/gamma/ptmp;
00289   if ( ctL < -1 ) ctL = -1;
00290   if ( ctL >  1 ) ctL =  1;
00291   sttmp = sqrt(1-ctL*ctL);
00292 
00293   // eX' = eZ x eW
00294   double xW[3] = {-pWB[2],pWB[1],0};
00295   // eZ' = eW
00296   double zW[3] = {pWB[1]/apWB,pWB[2]/apWB,pWB[3]/apWB};
00297   
00298   double lx = sqrt(xW[0]*xW[0]+xW[1]*xW[1]);
00299   for (j=0;j<2;j++) 
00300     xW[j] /= lx;
00301 
00302   // eY' = eZ' x eX'
00303   double yW[3] = {-pWB[1]*pWB[3],-pWB[2]*pWB[3],pWB[1]*pWB[1]+pWB[2]*pWB[2]};
00304   double ly = sqrt(yW[0]*yW[0]+yW[1]*yW[1]+yW[2]*yW[2]);
00305   for (j=0;j<3;j++) 
00306     yW[j] /= ly;
00307 
00308   // p_lep = |p_lep| * (  sin(Theta) * cos(Phi) * eX'
00309   //                    + sin(Theta) * sin(Phi) * eY'
00310   //                    + cos(Theta) *            eZ')
00311   for (j=0;j<3;j++)
00312     pLW[j+1] = sttmp*cos(phL)*ptmp*xW[j] 
00313       +        sttmp*sin(phL)*ptmp*yW[j]
00314       +          ctL         *ptmp*zW[j];
00315 
00316   double apLW = ptmp;
00317     
00318   // boost them back in the B Meson restframe
00319   
00320   double appLB = beta*gamma*pLW[0] + gamma*ctL*apLW;
00321  
00322   ptmp = sqrt(El*El-ml*ml);
00323   double ctLL = appLB/ptmp;
00324 
00325   if ( ctLL >  1 ) ctLL =  1;
00326   if ( ctLL < -1 ) ctLL = -1;
00327     
00328   double pLB[4] = {El,0,0,0};
00329   double pNB[8] = {pWB[0]-El,0,0,0};
00330 
00331   for (j=1;j<4;j++) {
00332     pLB[j] = pLW[j] + (ctLL*ptmp - ctL*apLW)/apWB*pWB[j];
00333     pNB[j] = pWB[j] - pLB[j];
00334   }
00335 
00336   p4.set(pLB[0],pLB[1],pLB[2],pLB[3]);
00337   lepton->init( getDaug(1), p4);
00338 
00339   p4.set(pNB[0],pNB[1],pNB[2],pNB[3]);
00340   neutrino->init( getDaug(2), p4);
00341 
00342   return ;
00343 }

static double EvtVubNLO::dgamma ( double  t,
const std::vector< double > &  c 
) [inline, static, private]

Definition at line 87 of file EvtVubNLO.hh.

References exp().

Referenced by Gamma().

00087 {  return pow(t,c[0]-1)*exp(-t);}

double EvtVubNLO::dGdepsi ( double  mu1,
double  mu2 
) [inline, private]

Definition at line 151 of file EvtVubNLO.hh.

References alphas(), beta0(), beta1(), gamma0(), gamma1(), and EvtConst::pi.

Referenced by aGamma(), anlo(), and U1nlo().

00151 {return 1./8./EvtConst::pi*(alphas(mu2)-alphas(mu1))*(gamma1()/beta0()-beta1()*gamma0()/pow(beta0(),2));}

double EvtVubNLO::dgpdepsi ( double  mu1,
double  mu2 
) [inline, private]

Definition at line 153 of file EvtVubNLO.hh.

References alphas(), beta0(), beta1(), gammap0(), gammap1(), and EvtConst::pi.

Referenced by agammap(), and U1nlo().

00153 {return 1./8./EvtConst::pi*(alphas(mu2)-alphas(mu1))*(gammap1()/beta0()-beta1()*gammap0()/pow(beta0(),2));}

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;};

double EvtVubNLO::dSudakovdepsi ( double  mu1,
double  mu2 
) [inline, private]

Definition at line 147 of file EvtVubNLO.hh.

References alphas(), EvtConst::pi, and S2().

Referenced by Sudakov(), and U1nlo().

00147 {return S2(alphas(mu1)/(4*EvtConst::pi),alphas(mu2)/alphas(mu1));}

double EvtVubNLO::expShapeFunction ( double  omega,
const std::vector< double > &  coeffs 
) [static, private]

Definition at line 607 of file EvtVubNLO.cc.

References exp().

Referenced by shapeFunction().

00607                                                                            {
00608   double b=sCoeffs[3];
00609   double l=sCoeffs[7];
00610   double wL=omega/l;
00611 
00612   return pow(wL,b-1)*exp(-b*wL);
00613 }

double EvtVubNLO::F10 ( const std::vector< double > &  coeffs  )  [private]

Definition at line 395 of file EvtVubNLO.cc.

References anlo(), C_F(), ddilog_(), lambda1(), lambda2(), EvtConst::pi, shapeFunction(), subS(), subT(), subU(), subV(), U1lo(), and U1nlo().

Referenced by tripleDiff().

00395                                              {
00396   double pp=coeffs[0];
00397   double y=(coeffs[2]-coeffs[0])/(coeffs[5]-coeffs[0]);
00398   double mui=coeffs[9];
00399   double muh=coeffs[8];
00400   double z=1-y;
00401   double result= U1nlo(muh,mui)/ U1lo(muh,mui);
00402 
00403   result += anlo(muh,mui)*log(y);
00404 
00405   result += C_F(muh)*(-4*pow(log(y*coeffs[4]/muh),2)+10*log(y*coeffs[4]/muh)-4*log(y)-2*log(y)/(1-y)-4.0*ddilog_(&z)-pow(EvtConst::pi,2)/6.-12  );
00406 
00407   result += C_F(mui)*(2*pow(log(y*coeffs[4]*pp/pow(mui,2)),2)-3*log(y*coeffs[4]*pp/pow(mui,2))+7-pow(EvtConst::pi,2) );
00408   result *=shapeFunction(pp,coeffs);
00409   // changes due to SSF 
00410   result +=  (-subS(coeffs)+2*subT(coeffs)+(subU(coeffs)-subV(coeffs))*(1/y-1.))/(coeffs[5]-pp);
00411   result += shapeFunction(pp,coeffs)/pow((coeffs[5]-coeffs[0]),2)*(-5*(lambda1()+3*lambda2())/6+2*(2*lambda1()/3-lambda2())/pow(y,2));
00412   //  result +=  (subS(coeffs)+subT(coeffs)+(subU(coeffs)-subV(coeffs))/y)/(coeffs[5]-pp);
00413   // this part has been added after Feb '05
00414   
00415   //result += shapeFunction(pp,coeffs)/pow((coeffs[5]-coeffs[0]),2)*((lambda1()+3*lambda2())/6+2*(2*lambda1()/3-lambda2())/pow(y,2));
00416   return result;
00417 }

double EvtVubNLO::F1Int ( double  omega,
const std::vector< double > &  coeffs 
) [static, private]

Definition at line 420 of file EvtVubNLO.cc.

References C_F(), g1(), and shapeFunction().

Referenced by integrand().

00420                                                             {
00421   double pp=coeffs[0];
00422   double y=(coeffs[2]-coeffs[0])/(coeffs[5]-coeffs[0]);
00423   // mubar == mui
00424   return C_F(coeffs[9])*(
00425                          (shapeFunction(omega,coeffs)-shapeFunction(pp,coeffs))*(4*log(y*coeffs[4]*(pp-omega)/pow(coeffs[9],2))-3)/(pp-omega)+
00426                          (g1(y,(pp-omega)/(coeffs[5]-coeffs[0]))/(coeffs[5]-pp)*shapeFunction(omega,coeffs))
00427                          );  
00428 }

double EvtVubNLO::F20 ( const std::vector< double > &  coeffs  )  [private]

Definition at line 431 of file EvtVubNLO.cc.

References C_F(), lambda1(), lambda2(), shapeFunction(), subS(), subT(), and subV().

Referenced by tripleDiff().

00431                                              {
00432   double pp=coeffs[0];
00433   double y=(coeffs[2]-coeffs[0])/(coeffs[5]-coeffs[0]);
00434   double result= C_F(coeffs[8])*log(y)/(1-y)*shapeFunction(pp,coeffs)-
00435     1/y*(subS(coeffs)+2*subT(coeffs)-(subT(coeffs)+subV(coeffs))/y)/(coeffs[5]-pp);
00436   // added after Feb '05
00437   result += shapeFunction(pp,coeffs)/pow((coeffs[5]-coeffs[0])*y,2)*(2*lambda1()/3+4*lambda2()-y*(7/6*lambda1()+3*lambda2()));
00438   return result;
00439 }

double EvtVubNLO::F2Int ( double  omega,
const std::vector< double > &  coeffs 
) [static, private]

Definition at line 442 of file EvtVubNLO.cc.

References C_F(), g3(), and shapeFunction().

Referenced by integrand().

00442                                                             {
00443   double pp=coeffs[0];
00444   double y=(coeffs[2]-coeffs[0])/(coeffs[5]-coeffs[0]);
00445   return C_F(coeffs[9])*g3(y,(pp-omega)/(coeffs[5]-coeffs[0]))*shapeFunction(omega,coeffs)/(coeffs[5]-pp);
00446 }

double EvtVubNLO::F30 ( const std::vector< double > &  coeffs  )  [private]

Definition at line 449 of file EvtVubNLO.cc.

References lambda1(), lambda2(), and shapeFunction().

Referenced by tripleDiff().

00449                                              {
00450   double y=(coeffs[2]-coeffs[0])/(coeffs[5]-coeffs[0]);
00451   return shapeFunction(coeffs[0],coeffs)/pow((coeffs[5]-coeffs[0])*y,2)*(-2*lambda1()/3+lambda2());
00452 }

double EvtVubNLO::F3Int ( double  omega,
const std::vector< double > &  coeffs 
) [static, private]

Definition at line 455 of file EvtVubNLO.cc.

References C_F(), g3(), and shapeFunction().

Referenced by integrand().

00455                                                             {
00456   double pp=coeffs[0];
00457   double y=(coeffs[2]-coeffs[0])/(coeffs[5]-coeffs[0]);
00458   return C_F(coeffs[9])*g3(y,(pp-omega)/(coeffs[5]-coeffs[0]))/2*shapeFunction(omega,coeffs)/(coeffs[2]-coeffs[0]);
00459 }

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 EvtVubNLO::g1 ( double  y,
double  z 
) [static, private]

Definition at line 462 of file EvtVubNLO.cc.

Referenced by F1Int().

00462                                {
00463   double result=(y*(-9+10*y)+x*x*(-12+13*y)+2*x*(-8+6*y+3*y*y))/y/pow(1+x,2)/(x+y);
00464   result -= 4*log((1+1/x)*y)/x;
00465   result -=2*log(1+y/x)*(3*pow(x,4)*(-2+y)-2*pow(y,3)-4*pow(x,3)*(2+y)-2*x*y*y*(4+y)-x*x*y*(12+4*y+y*y))/x/pow((1+x)*y,2)/(x+y);
00466   return result;
00467 }

double EvtVubNLO::g2 ( double  y,
double  z 
) [static, private]

Definition at line 470 of file EvtVubNLO.cc.

00470                                {
00471   double result=y*(10*pow(x,4)+y*y+3*x*x*y*(10+y)+pow(x,3)*(12+19*y)+x*y*(8+4*y+y*y));
00472   result -= 2*x*log(1+y/x)*(5*pow(x,4)+2*y*y+6*pow(x,3)*(1+2*y)+4*y*x*(1+2*y)+x*x*y*(18+5*y));
00473   result *= 2/(pow(y*(1+x),2)*y*(x+y));
00474   return result;
00475 }

double EvtVubNLO::g3 ( double  y,
double  z 
) [static, private]

Definition at line 478 of file EvtVubNLO.cc.

Referenced by F2Int(), and F3Int().

00478                                {
00479   double result=(2*pow(y,3)*(-11+2*y)-10*pow(x,4)*(6-6*y+y*y)+x*y*y*(-94+29*y+2*y*y)+2*x*x*y*(-72+18*y+13*y*y)-pow(x,3)*(72+42*y-70*y*y+3*pow(y,3)))/(pow(y*(1+x),2)*y*(x+y));
00480   result += 2*log(1+y/x)*(-6*x*pow(y,3)*(-5+y)+4*pow(y,4)+5*pow(x,5)*(6-6*y+y*y)-4*pow(x*y,2)*(-20+6*y+y*y)+pow(x,3)*y*(90-10*y-28*y*y+pow(y,3))+pow(x,4)*(36+36*y-50*y*y+4*pow(y,3)))/(pow((1+x)*y*y,2)*(x+y));
00481   return result;
00482 }

double EvtVubNLO::Gamma ( double  z,
double  tmax 
) [static, private]

Definition at line 649 of file EvtVubNLO.cc.

References dgamma(), and EvtItgAbsIntegrator::evaluate().

00649                                       {
00650   std::vector<double> c(1);
00651   c[0]=z;
00652   EvtItgPtrFunction *func = new EvtItgPtrFunction(&dgamma, tmin, 100., c);
00653   EvtItgAbsIntegrator *jetSF = new EvtItgSimpsonIntegrator(*func,0.001);
00654   return jetSF->evaluate(tmin,100.);
00655 }

double EvtVubNLO::Gamma ( double  z  )  [static, private]

Definition at line 616 of file EvtVubNLO.cc.

References exp(), ganga-rec::j, and x.

Referenced by cGaus(), lambda_bar(), mu_pi2(), and SFNorm().

00616                          {
00617 
00618   std::vector<double> gammaCoeffs(6);
00619   gammaCoeffs[0]=76.18009172947146;
00620   gammaCoeffs[1]=-86.50532032941677;
00621   gammaCoeffs[2]=24.01409824083091;
00622   gammaCoeffs[3]=-1.231739572450155;
00623   gammaCoeffs[4]=0.1208650973866179e-2;
00624   gammaCoeffs[5]=-0.5395239384953e-5;
00625   
00626   //Lifted from Numerical Recipies in C
00627   double x, y, tmp, ser;
00628  
00629   int j;
00630   y = z;
00631   x = z;
00632   
00633   tmp = x + 5.5;
00634   tmp = tmp - (x+0.5)*log(tmp);
00635   ser=1.000000000190015;
00636 
00637   for (j=0;j<6;j++) {
00638     y = y +1.0;
00639     ser = ser + gammaCoeffs[j]/y;
00640   }
00641 
00642   return exp(-tmp+log(2.5066282746310005*ser/x));
00643 
00644 }

static double EvtVubNLO::gamma0 (  )  [inline, static, private]

Definition at line 100 of file EvtVubNLO.hh.

Referenced by aGamma(), dGdepsi(), S0(), S1(), and S2().

00100 {return 16./3.;}

static double EvtVubNLO::gamma1 ( int  nf = 4  )  [inline, static, private]

Definition at line 101 of file EvtVubNLO.hh.

Referenced by dGdepsi(), S1(), and S2().

00101 {return 4./3.*(49.85498-40./9.*nf);}

static double EvtVubNLO::gamma2 ( int  nf = 4  )  [inline, static, private]

Definition at line 102 of file EvtVubNLO.hh.

Referenced by S2().

00102 {return 64./3.*(55.07242-8.58691*nf-nf*nf/27.);} /*  zeta3=1.20206 */

static double EvtVubNLO::gammap0 (  )  [inline, static, private]

Definition at line 103 of file EvtVubNLO.hh.

Referenced by agammap(), and dgpdepsi().

00103 {return -20./3.;}

static double EvtVubNLO::gammap1 ( int  nf = 4  )  [inline, static, private]

Definition at line 104 of file EvtVubNLO.hh.

Referenced by dgpdepsi().

00104 {return -32./3.*(6.92653-0.9899*nf);} /* ??  zeta3=1.202 */

double EvtVubNLO::gausShapeFunction ( double  omega,
const std::vector< double > &  coeffs 
) [static, private]

Definition at line 598 of file EvtVubNLO.cc.

References cGaus(), and exp().

Referenced by shapeFunction().

00598                                                                             {
00599   double b=sCoeffs[3];
00600   double l=sCoeffs[7];
00601   double wL=omega/l;
00602 
00603   return pow(wL,b)*exp(-cGaus(b)*wL*wL);
00604 }

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(), 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(), 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(), 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 EvtVubNLO::getName ( std::string name  )  [virtual]

Implements EvtDecayBase.

Definition at line 51 of file EvtVubNLO.cc.

00051                                             {
00052 
00053   model_name="VUB_NLO";     
00054 
00055 }

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

00064 {return _ndaug;}

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

Definition at line 60 of file EvtDecayBase.hh.

References EvtDecayBase::_parent.

Referenced by EvtParticleDecayList::addMode(), EvtParticleDecay::chargeConj(), EvtDecayBase::checkSpinParent(), EvtTauola::decay(), EvtPythia::decay(), EvtOpenCharm::decay(), EvtMultibody::decay(), EvtLundCharm::decay(), EvtLunda::decay(), EvtJPE::decay(), EvtJetSet::decay(), EvtJ2BB3::decay(), EvtJ2BB2::decay(), EvtJ2BB1::decay(), EvtPto3P::dp(), EvtParticleDecayList::EvtParticleDecayList(), EvtTauola::fixPolarizations(), EvtVSSBMixCPT::init(), EvtTauola::init(), EvtSSDCP::init(), EvtRhoPi::init(), EvtPythia::init(), EvtPhokhara_ppbar::init(), EvtPhokhara_pipipi0::init(), EvtPhokhara_pipi::init(), EvtPhokhara_pi0pi0pipi::init(), EvtPhokhara_nnbar::init(), EvtPhokhara_LLB::init(), EvtPhokhara_KK::init(), EvtPhokhara_K0K0::init(), EvtPhokhara_4pi::init(), 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

void EvtVubNLO::init (  )  [virtual]

Reimplemented from EvtDecayBase.

Definition at line 64 of file EvtVubNLO.cc.

References _b, _dGMax, _gmax, _idSF, _kpar, _lambdaSF, _lbar, _masses, _mB, _mb, _mui, _mupi2, _nbins, _ngood, _ntot, _SFNorm, _weights, abs, EvtDecayBase::checkNDaug(), calibUtil::ERROR, EvtDecayBase::getArg(), EvtDecayBase::getNArg(), genRecEmupikp::i, ganga-rec::j, lambda_SF(), mu_h(), mu_i(), report(), SFNorm(), and tripleDiff().

00064                     {
00065 
00066   // max pdf
00067   _gmax=0;
00068   _ntot=0;
00069   _ngood=0;
00070   _lbar=-1000;
00071   _mupi2=-1000;
00072 
00073   // check that there are at least 6 arguments
00074   int npar = 8;
00075   if (getNArg()<npar) {
00076 
00077     report(ERROR,"EvtGen") << "EvtVubNLO generator expected "
00078                            << " at least npar arguments  but found: "
00079                            <<getNArg()<<endl;
00080     report(ERROR,"EvtGen") << "Will terminate execution!"<<endl;
00081     ::abort();
00082 
00083   }
00084   // this is the shape function parameter
00085   _mb           = getArg(0);
00086   _b            = getArg(1);
00087   _lambdaSF     = getArg(2);// shape function lambda is different from lambda
00088   _mui          = 1.5;// GeV (scale)
00089   _kpar         = getArg(3);// 0
00090   _idSF         = abs((int)getArg(4));// type of shape function 1: exponential (from Neubert)
00091   _nbins        = abs((int)getArg(5));
00092   _masses       = new double[_nbins];
00093   _weights      = new double[_nbins];
00094 
00095   // Shape function normalization
00096   _mB=5.28;// temporary B meson mass for normalization
00097 
00098   std::vector<double> sCoeffs(11);
00099   sCoeffs[3] = _b;
00100   sCoeffs[4] = _mb;
00101   sCoeffs[5] = _mB;
00102   sCoeffs[6] = _idSF;
00103   sCoeffs[7] =  lambda_SF();
00104   sCoeffs[8] =  mu_h();
00105   sCoeffs[9] =  mu_i();
00106   sCoeffs[10] = 1.;
00107   _SFNorm = SFNorm(sCoeffs) ; // SF normalization;
00108 
00109 
00110   cout << " pdf 0.66, 1.32 , 4.32 "<<tripleDiff(0.66, 1.32 , 4.32)<<endl;
00111   cout << " pdf 0.23,0.37,3.76 "<<tripleDiff(0.23,0.37,3.76)<<endl;
00112   cout << " pdf 0.97,4.32,4.42 "<<tripleDiff(0.97,4.32,4.42)<<endl;
00113   cout << " pdf 0.52,1.02,2.01 "<<tripleDiff(0.52,1.02,2.01)<<endl;
00114   cout << " pdf 1.35,1.39,2.73 "<<tripleDiff(1.35,1.39,2.73)<<endl;
00115 
00116   
00117   if (getNArg()-npar+2 != 2*_nbins) {
00118     report(ERROR,"EvtGen") << "EvtVubNLO generator expected " 
00119                            << _nbins << " masses and weights but found: "
00120                            <<(getNArg()-npar)/2 <<endl;
00121     report(ERROR,"EvtGen") << "Will terminate execution!"<<endl;
00122     ::abort();
00123   }
00124   int i,j = npar-2;
00125   double maxw = 0.;
00126   for (i=0;i<_nbins;i++) {
00127     _masses[i] = getArg(j++);
00128     if (i>0 && _masses[i] <= _masses[i-1]) {
00129       report(ERROR,"EvtGen") << "EvtVubNLO generator expected " 
00130                              << " mass bins in ascending order!"
00131                              << "Will terminate execution!"<<endl;
00132       ::abort();
00133     }
00134     _weights[i] = getArg(j++);
00135     if (_weights[i] < 0) {
00136       report(ERROR,"EvtGen") << "EvtVubNLO generator expected " 
00137                              << " weights >= 0, but found: " 
00138                              <<_weights[i] <<endl;
00139       report(ERROR,"EvtGen") << "Will terminate execution!"<<endl;
00140       ::abort();
00141     }
00142     if ( _weights[i] > maxw ) maxw = _weights[i];
00143   }
00144   if (maxw == 0) {
00145     report(ERROR,"EvtGen") << "EvtVubNLO generator expected at least one " 
00146                            << " weight > 0, but found none! " 
00147                            << "Will terminate execution!"<<endl;
00148     ::abort();
00149   }
00150   for (i=0;i<_nbins;i++) _weights[i]/=maxw;
00151 
00152   // the maximum dGamma*p2 value depends on alpha_s only:
00153 
00154 
00155   //  _dGMax = 0.05;
00156    _dGMax = 150.;
00157 
00158   // for the Fermi Motion we need a B-Meso\n mass - but it's not critical
00159   // to get an exact value; in order to stay in the phase space for
00160   // B+- and B0 use the smaller mass
00161 
00162   
00163   // check that there are 3 daughters
00164   checkNDaug(3);
00165 }

void EvtVubNLO::initProbMax (  )  [virtual]

Reimplemented from EvtDecayBase.

Definition at line 167 of file EvtVubNLO.cc.

References EvtDecayBase::noProbMax().

00167                            {
00168   
00169   noProbMax();
00170   
00171 }

double EvtVubNLO::integrand ( double  omega,
const std::vector< double > &  coeffs 
) [static, private]

Definition at line 385 of file EvtVubNLO.cc.

References F1Int(), F2Int(), and F3Int().

Referenced by tripleDiff().

00385                                                                  {
00386   //double pp=coeffs[0];
00387   double c1=(coeffs[5]+coeffs[1]-coeffs[0]-coeffs[2])*(coeffs[2]-coeffs[1]);
00388   double c2=2*(coeffs[1]-coeffs[0])*(coeffs[2]-coeffs[1]);
00389   double c3=(coeffs[5]-coeffs[2])*(coeffs[2]-coeffs[0]);
00390 
00391   return  c1*F1Int(omega,coeffs)+c2*F2Int(omega,coeffs)+c3*F3Int(omega,coeffs);  
00392 }

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];}

double EvtVubNLO::lambda ( double  mu = 0  )  [inline, private]

Definition at line 118 of file EvtVubNLO.hh.

References _mb, and _mB.

00118 { return _mB-_mb;}

double EvtVubNLO::lambda1 (  )  [inline, private]

Definition at line 94 of file EvtVubNLO.hh.

References _mupi2.

Referenced by F10(), F20(), and F30().

00094 {return -_mupi2;}

double EvtVubNLO::lambda2 (  )  [inline, private]

Definition at line 116 of file EvtVubNLO.hh.

Referenced by F10(), F20(), F30(), and subT().

00116 {return 0.12;}

double EvtVubNLO::lambda_bar ( double  omega0  )  [private]

Definition at line 553 of file EvtVubNLO.cc.

References _b, _idSF, _lbar, cGaus(), Gamma(), and lambda_SF().

Referenced by M0(), mu_pi2(), and subS().

00553                                   {
00554   if(_lbar<0){
00555     if(_idSF==1){ // exponential SF
00556       double rat=omega0*_b/lambda_SF();
00557       _lbar=lambda_SF()/_b*(Gamma(1+_b)-Gamma(1+_b,rat))/(Gamma(_b)-Gamma(_b,rat));
00558     } else if(_idSF==2){ // Gaussian SF
00559       double c=cGaus(_b);
00560       _lbar=lambda_SF()*(Gamma(1+_b/2)-Gamma(1+_b/2,pow(omega0/lambda_SF(),2)*c))/(Gamma((1+_b)/2)-Gamma((1+_b)/2,pow(omega0/lambda_SF(),2)*c))/sqrt(c);
00561     }
00562   }
00563   return _lbar;
00564 }

double EvtVubNLO::lambda_SF (  )  [inline, private]

Definition at line 114 of file EvtVubNLO.hh.

References _lambdaSF.

Referenced by init(), lambda_bar(), mu_pi2(), SFNorm(), and tripleDiff().

00114 { return _lambdaSF;}

double EvtVubNLO::M0 ( double  mui,
double  omega0 
) [private]

Definition at line 585 of file EvtVubNLO.cc.

References C_F(), lambda_bar(), mu_pi2(), and EvtConst::pi.

Referenced by SFNorm().

00585                                      {
00586   double mf=omega0-lambda_bar(omega0);
00587   return 1+4*C_F(mui)*(-pow(log(mf/mui),2)-log(mf/mui)-pow(EvtConst::pi/2,2)/6.+mu_pi2(omega0)/3/pow(mf,2)*(log(mf/mui)-0.5));
00588 }

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 }

double EvtVubNLO::mu_bar (  )  [inline, private]

Definition at line 92 of file EvtVubNLO.hh.

References _mui.

00092 {return _mui;} 

double EvtVubNLO::mu_h (  )  [inline, private]

Definition at line 93 of file EvtVubNLO.hh.

References _mb.

Referenced by init(), and tripleDiff().

00093 {return _mb/sqrt(2.0);} // high scale

double EvtVubNLO::mu_i (  )  [inline, private]

Definition at line 91 of file EvtVubNLO.hh.

References _mui.

Referenced by init(), SFNorm(), and tripleDiff().

00091 {return _mui;} // intermediate scale

double EvtVubNLO::mu_pi2 ( double  omega0  )  [private]

Definition at line 568 of file EvtVubNLO.cc.

References _b, _idSF, _mupi2, cGaus(), Gamma(), lambda_bar(), and lambda_SF().

Referenced by M0(), and subT().

00568                               {
00569   if(_mupi2<0){
00570     if(_idSF==1){ // exponential SF
00571       double rat=omega0*_b/lambda_SF();
00572       _mupi2= 3*(pow(lambda_SF()/_b,2)*(Gamma(2+_b)-Gamma(2+_b,rat))/(Gamma(_b)-Gamma(_b,rat))-pow(lambda_bar(omega0),2));
00573     } else if(_idSF==2){ // Gaussian SF
00574       double c=cGaus(_b);
00575       double m1=Gamma((3+_b)/2)-Gamma((3+_b)/2,pow(omega0/lambda_SF(),2)*c);
00576       double m2=Gamma(1+_b/2)-Gamma(1+_b/2,pow(omega0/lambda_SF(),2)*c);
00577       double m3=Gamma((1+_b)/2)-Gamma((1+_b)/2,pow(omega0/lambda_SF(),2)*c);
00578       _mupi2= 3*pow(lambda_SF(),2)*(m1/m3-pow(m2/m3,2))/c;
00579     }
00580   }
00581   return _mupi2;
00582 }

void EvtDecayBase::noProbMax (  )  [inherited]

Definition at line 304 of file EvtDecayBase.cc.

References EvtDecayBase::defaultprobmax.

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

00304                             {
00305 
00306   defaultprobmax=0;
00307 
00308 }

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

Reimplemented in EvtBtoKD3P, and EvtVSSBMixCPT.

Definition at line 105 of file EvtDecayBase.hh.

References EvtDecayBase::_ndaug.

Referenced by EvtDecayTable::readDecayFile().

00105 { return _ndaug;}

void EvtDecayBase::printSummary (  )  [inherited]

Definition at line 259 of file EvtDecayBase.cc.

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

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

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

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

Definition at line 108 of file EvtDecayBase.cc.

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

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

double EvtVubNLO::S0 ( double  a,
double  r 
) [inline, private]

Definition at line 136 of file EvtVubNLO.hh.

References beta0(), and gamma0().

Referenced by Sudakov().

00136 {return -gamma0()/4/a/pow(beta0(),2)*(1/r-1+log(r));}

double EvtVubNLO::S1 ( double  a,
double  r 
) [inline, private]

Definition at line 137 of file EvtVubNLO.hh.

References beta0(), beta1(), gamma0(), and gamma1().

Referenced by Sudakov().

00137                                       {return gamma0()/4./pow(beta0(),2)*(
00138                                                                   pow(log(r),2)*beta1()/2./beta0()+(gamma1()/gamma0()-beta1()/beta0())*(1.-r+log(r))
00139                                                                   );}

double EvtVubNLO::S2 ( double  a,
double  r 
) [inline, private]

Definition at line 140 of file EvtVubNLO.hh.

References beta0(), beta1(), beta2(), gamma0(), gamma1(), and gamma2().

Referenced by dSudakovdepsi().

00140                                       {return gamma0()*a/4./pow(beta0(),2)*(
00141                                                                            -0.5*pow((1-r),2)*(
00142                                                                                          pow(beta1()/beta0(),2)-beta2()/beta0()-beta1()/beta0()*gamma1()/gamma0()+gamma2()/gamma0()
00143                                                                                          )
00144                                                                            +(pow(beta1()/beta0(),2)-beta2()/beta0())*(1-r)*log(r)
00145                                                                            +(beta1()/beta0()*gamma1()/gamma0()-beta2()/beta0())*(1-r+r*log(r))
00146                                                                            );}

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;}

double EvtVubNLO::SFNorm ( const std::vector< double > &  coeffs  )  [private]

Definition at line 511 of file EvtVubNLO.cc.

References _b, _idSF, cGaus(), calibUtil::ERROR, Gamma(), lambda_SF(), M0(), mu_i(), and report().

Referenced by init().

00511                                                          {
00512   
00513   double omega0=1.68;//normalization scale (mB-2*1.8)
00514   if(_idSF==1){ // exponential SF
00515     double omega0=1.68;//normalization scale (mB-2*1.8)
00516     return M0(mu_i(),omega0)*pow(_b,_b)/lambda_SF()/ (Gamma(_b)-Gamma(_b,_b*omega0/lambda_SF()));
00517   } else if(_idSF==2){ // Gaussian SF
00518     double c=cGaus(_b);
00519     return M0(mu_i(),omega0)*2/lambda_SF()/pow(c,-(1+_b)/2.)/
00520       (Gamma((1+_b)/2)-Gamma((1+_b)/2,pow(omega0/lambda_SF(),2)*c));
00521   } else {
00522     report(ERROR,"EvtGen")  << "unknown SF "<<_idSF<<endl;
00523     return -1;
00524   }
00525 }

double EvtVubNLO::shapeFunction ( double  omega,
const std::vector< double > &  coeffs 
) [static, private]

Definition at line 528 of file EvtVubNLO.cc.

References calibUtil::ERROR, expShapeFunction(), gausShapeFunction(), and report().

Referenced by F10(), F1Int(), F20(), F2Int(), F30(), F3Int(), and subS().

00528                                                                         {
00529   if( sCoeffs[6]==1){
00530     return sCoeffs[10]*expShapeFunction(omega, sCoeffs);
00531   } else if( sCoeffs[6]==2) {
00532     return sCoeffs[10]*gausShapeFunction(omega, sCoeffs);
00533   } else {
00534  report(ERROR,"EvtGen") << "EvtVubNLO : unknown shape function # "
00535                            <<sCoeffs[6]<<endl;
00536   }
00537   return -1.;
00538 }

double EvtVubNLO::subS ( const std::vector< double > &  coeffs  )  [private]

Definition at line 543 of file EvtVubNLO.cc.

References lambda_bar(), and shapeFunction().

Referenced by F10(), F20(), subT(), and subU().

00543 { return (lambda_bar(1.68)-c[0])*shapeFunction(c[0],c);}

double EvtVubNLO::subT ( const std::vector< double > &  coeffs  )  [private]

Definition at line 545 of file EvtVubNLO.cc.

References lambda2(), mu_pi2(), and subS().

Referenced by F10(), F20(), and subV().

00545 {  return -3*lambda2()*subS(c)/mu_pi2(1.68);}

double EvtVubNLO::subU ( const std::vector< double > &  coeffs  )  [private]

Definition at line 547 of file EvtVubNLO.cc.

References subS().

Referenced by F10().

00547 { return -2*subS(c);}

double EvtVubNLO::subV ( const std::vector< double > &  coeffs  )  [private]

Definition at line 549 of file EvtVubNLO.cc.

References subT().

Referenced by F10(), and F20().

00549 { return -subT(c);}

double EvtVubNLO::Sudakov ( double  mu1,
double  mu2,
double  epsi = 0 
) [inline, private]

Definition at line 148 of file EvtVubNLO.hh.

References alphas(), dSudakovdepsi(), EvtConst::pi, S0(), and S1().

Referenced by U1().

00148 {double fp(4*EvtConst::pi);return S0(alphas(mu1)/fp,alphas(mu2)/alphas(mu1))+S1(alphas(mu1)/fp,alphas(mu2)/alphas(mu1))+epsi*dSudakovdepsi(mu1,mu2);}

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

Definition at line 78 of file EvtDecayBase.hh.

References EvtDecayBase::_summary.

Referenced by EvtParticleDecayList::EvtParticleDecayList().

00078 {return _summary; }

double EvtVubNLO::tripleDiff ( double  pp,
double  pl,
double  pm 
) [private]

Definition at line 346 of file EvtVubNLO.cc.

References _b, _idSF, _mB, _mb, _SFNorm, alo(), EvtItgAbsIntegrator::evaluate(), F10(), F20(), F30(), integrand(), lambda_SF(), mu_h(), mu_i(), and U1lo().

Referenced by decay(), and init().

00346                                                        {
00347 
00348   std::vector<double> sCoeffs(11);
00349   sCoeffs[0] = pp;
00350   sCoeffs[1] = pl;
00351   sCoeffs[2] = pm;
00352   sCoeffs[3] = _b;
00353   sCoeffs[4] =  _mb;
00354   sCoeffs[5] = _mB;
00355   sCoeffs[6] = _idSF;
00356   sCoeffs[7] =  lambda_SF();
00357   sCoeffs[8] =  mu_h();
00358   sCoeffs[9] =  mu_i();
00359   sCoeffs[10] =  _SFNorm; // SF normalization;
00360   
00361 
00362   double c1=(_mB+pl-pp-pm)*(pm-pl);
00363   double c2=2*(pl-pp)*(pm-pl);
00364   double c3=(_mB-pm)*(pm-pp);
00365   double aF1=F10(sCoeffs);
00366   double aF2=F20(sCoeffs);
00367   double aF3=F30(sCoeffs);
00368   double td0=c1*aF1+c2*aF2+c3*aF3;
00369 
00370 
00371   EvtItgPtrFunction *func = new EvtItgPtrFunction(&integrand, 0., _mB, sCoeffs);
00372   EvtItgAbsIntegrator *jetSF = new EvtItgSimpsonIntegrator(*func,0.01,25);
00373   double smallfrac=0.000001;// stop a bit before the end to avoid problems with numerical integration
00374   double tdInt = jetSF->evaluate(0,pp*(1-smallfrac));
00375   delete jetSF;
00376   
00377   double SU=U1lo(mu_h(),mu_i())*pow((pm-pp)/(_mB-pp),alo(mu_h(),mu_i()));
00378   double TD=(_mB-pp)*SU*(td0+tdInt);
00379 
00380   return TD;
00381 
00382 }

double EvtVubNLO::U1 ( double  mu1,
double  mu2,
double  epsi = 0 
) [inline, private]

Definition at line 155 of file EvtVubNLO.hh.

References _mb, aGamma(), agammap(), exp(), and Sudakov().

Referenced by U1lo(), and U1nlo().

00155 {return exp(2*(Sudakov(mu1,mu2,epsi)-agammap(mu1,mu2,epsi)-aGamma(mu1,mu2,epsi)*log(_mb/mu1)));}

double EvtVubNLO::U1lo ( double  mu1,
double  mu2 
) [inline, private]

Definition at line 156 of file EvtVubNLO.hh.

References U1().

Referenced by F10(), and tripleDiff().

00156 {return U1(mu1,mu2);}

double EvtVubNLO::U1nlo ( double  mu1,
double  mu2 
) [inline, private]

Definition at line 157 of file EvtVubNLO.hh.

References _mb, dGdepsi(), dgpdepsi(), dSudakovdepsi(), and U1().

Referenced by F10().

00157 {return U1(mu1,mu2)*(1+2*(dSudakovdepsi(mu1,mu2)-dgpdepsi( mu1, mu2)-log(_mb/mu1)*dGdepsi( mu1, mu2)));}

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

double EvtVubNLO::_b [private]

Definition at line 59 of file EvtVubNLO.hh.

Referenced by init(), lambda_bar(), mu_pi2(), SFNorm(), and tripleDiff().

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 EvtVubNLO::_dGMax [private]

Definition at line 63 of file EvtVubNLO.hh.

Referenced by decay(), and init().

double EvtVubNLO::_gmax [private]

Definition at line 69 of file EvtVubNLO.hh.

Referenced by decay(), init(), and ~EvtVubNLO().

int EvtVubNLO::_idSF [private]

Definition at line 65 of file EvtVubNLO.hh.

Referenced by init(), lambda_bar(), mu_pi2(), SFNorm(), and tripleDiff().

double EvtVubNLO::_kpar [private]

Definition at line 60 of file EvtVubNLO.hh.

Referenced by init().

double EvtVubNLO::_lambdaSF [private]

Definition at line 58 of file EvtVubNLO.hh.

Referenced by init(), and lambda_SF().

double EvtVubNLO::_lbar [private]

Definition at line 53 of file EvtVubNLO.hh.

Referenced by init(), and lambda_bar().

double* EvtVubNLO::_masses [private]

Definition at line 66 of file EvtVubNLO.hh.

Referenced by decay(), init(), and ~EvtVubNLO().

double EvtVubNLO::_mB [private]

Definition at line 57 of file EvtVubNLO.hh.

Referenced by decay(), init(), lambda(), and tripleDiff().

double EvtVubNLO::_mb [private]

Definition at line 56 of file EvtVubNLO.hh.

Referenced by init(), lambda(), mu_h(), tripleDiff(), U1(), and U1nlo().

double EvtVubNLO::_mui [private]

Definition at line 61 of file EvtVubNLO.hh.

Referenced by init(), mu_bar(), and mu_i().

double EvtVubNLO::_mupi2 [private]

Definition at line 54 of file EvtVubNLO.hh.

Referenced by init(), lambda1(), and mu_pi2().

int EvtVubNLO::_nbins [private]

Definition at line 64 of file EvtVubNLO.hh.

Referenced by decay(), and init().

int EvtVubNLO::_ngood [private]

Definition at line 70 of file EvtVubNLO.hh.

Referenced by decay(), init(), and ~EvtVubNLO().

int EvtVubNLO::_ntot [private]

Definition at line 70 of file EvtVubNLO.hh.

Referenced by decay(), init(), and ~EvtVubNLO().

double EvtVubNLO::_SFNorm [private]

Definition at line 62 of file EvtVubNLO.hh.

Referenced by init(), and tripleDiff().

double* EvtVubNLO::_weights [private]

Definition at line 67 of file EvtVubNLO.hh.

Referenced by decay(), init(), and ~EvtVubNLO().


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