|
EvtGen
2.0.0
Monte Carlo generator of particle decays, in particular the weak decays of heavy flavour particles such as B mesons.
|
Go to the documentation of this file. 37 BpId_( EvtPDL::getId( "B+" ) ), 38 BnId_( EvtPDL::getId( "B-" ) ), 40 sqrt2_( sqrt( 2.0 ) ), 49 double GF = 1.166371e-5; 50 double alphaEM = 1.0 / 137.0; 74 symmetry_( symmetry ), 75 BpId_( EvtPDL::getId( "B+" ) ), 76 BnId_( EvtPDL::getId( "B-" ) ), 78 sqrt2_( sqrt( 2.0 ) ), 87 double GF = 1.166371e-5; 88 double alphaEM = 1.0 / 137.0; 111 m0Sq_( mass * mass ), 115 Imw_( I_ * mass * width ) 123 if ( numForm == 1 ) { 127 EvtComplex result = num * c_ / ( ( qSq - m0Sq_ ) + Imw_ ); 135 if ( !parent || parent-> getNDaug() != 4 ) { 149 double MB = parent-> mass(); 164 double q12Sq = q12. mass2(); 165 double k34Sq = k34. mass2(); 168 bool threshold( true ); 176 double q14Sq( 0.0 ), k23Sq( 0.0 ); 192 if ( parId == BnId_ ) { 211 for ( int i2 = 0; i2 < 2; i2++ ) { 214 for ( int i1 = 0; i1 < 2; i1++ ) { 245 for ( int i4 = 0; i4 < 2; i4++ ) { 274 if ( threshold == false ) { 295 amp. vertex( leptonSpins, decAmp ); 307 const double qSq, const double kSq, 308 const double MB, const int sign ) const 316 std::vector<EvtComplex> VMDAmps = getVMDTerms( qSq, kSq, MB ); 323 EvtTensor4C THadron = sign * 2.0 * FF_ekq * epskq + 327 double coeffcut( 0.0 ); 329 coeffcut = 1.0 / qSq; 342 EvtComplex VMD1( 0.0, 0.0 ), VMD2( 0.0, 0.0 ), VMD3( 0.0, 0.0 ); 345 for ( int iPole = 0; iPole < nPoles_; iPole++ ) { 351 double mSum = MB + pole.getMass(); 362 VMD2 *= FF_A1( kSq ); 363 VMD3 *= FF_A2( kSq ); 366 std::vector<EvtComplex> factors; 367 factors.push_back( VMD1 ); 368 factors.push_back( VMD2 ); 369 factors.push_back( VMD3 ); 386 double denom = ( 1.0 - y ) * ( 1.0 - 0.81 * y ); 389 if ( fabs( denom ) > 1e-10 ) { 400 double denom = sqrt2_ * ( 1.0 - y ) * ( 1.0 - 0.59 * y ); 403 if ( fabs( denom ) > 1e-10 ) { 414 double denom = ( ( 0.1 * y - 0.73 ) * y + 1.0 ) * sqrt2_; 417 if ( fabs( denom ) > 1e-10 ) { 428 double denom = ( ( 0.5 * y - 1.4 ) * y + 1.0 ) * sqrt2_; 431 if ( fabs( denom ) > 1e-10 ) { EvtTensor3C directProd(const EvtVector3C &c1, const EvtVector3C &c2)
void CalcAmp(EvtParticle *parent, EvtAmp &) const
EvtComplex propagator(double qSq, int numForm=0) const
static const EvtTensor4C & g()
EvtComplex getBStarTerm(double qSq, double kSq, double MB) const
std::vector< EvtBLLNuLAmp::ResPole > resPoles_
double FF_A2(double kSq) const
EvtTensor4C dual(const EvtTensor4C &t2)
std::vector< EvtComplex > getVMDTerms(double qSq, double kSq, double MB) const
EvtVector4C cont2(const EvtVector4C &v4) const
double FF_V(double kSq) const
EvtBLLNuLAmp(double Vub=4.09e-3)
ResPole(double mass, double width, double coupling)
virtual EvtDiracSpinor spParent(int) const
EvtTensor4C getHadronTensor(const EvtVector4R &q, const EvtVector4R &k, const double qSq, const double kSq, const double MB, const int sign) const
double FF_B2Bstar(double qSq) const
void vertex(const EvtComplex &)
const EvtVector4R & getP4() const
EvtBLLNuLAmp::ResPole Bstar_
virtual EvtDiracSpinor spParentNeutrino() const
double FF_A1(double kSq) const
EvtVector4C EvtLeptonVACurrent(const EvtDiracSpinor &d, const EvtDiracSpinor &dp)
EvtParticle * getDaug(int i)
EvtVector4C EvtLeptonVCurrent(const EvtDiracSpinor &d, const EvtDiracSpinor &dp)
EvtBLLNuLAmp::ResPole Upsilon_
|