48 double GF = 1.166371e-5;
49 double alphaEM = 1.0 / 137.0;
86 double GF = 1.166371e-5;
87 double alphaEM = 1.0 / 137.0;
122 if ( numForm == 1 ) {
134 if ( !parent || parent->
getNDaug() != 4 ) {
148 double MB = parent->
mass();
163 double q12Sq = q12.
mass2();
164 double k34Sq = k34.
mass2();
167 bool threshold(
true );
175 double q14Sq( 0.0 ), k23Sq( 0.0 );
210 for (
int i2 = 0; i2 < 2; i2++ ) {
213 for (
int i1 = 0; i1 < 2; i1++ ) {
244 for (
int i4 = 0; i4 < 2; i4++ ) {
273 if ( threshold ==
false ) {
294 amp.
vertex( leptonSpins, decAmp );
306 const double qSq,
const double kSq,
307 const double MB,
const int sign )
const
315 std::vector<EvtComplex> VMDAmps =
getVMDTerms( qSq, kSq, MB );
322 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 <
m_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 ) {
399 double y = kSq /
m_Bstar.getMassSq();
400 double denom =
m_sqrt2 * ( 1.0 - y ) * ( 1.0 - 0.59 * y );
403 if ( fabs( denom ) > 1e-10 ) {
413 double y = kSq /
m_Bstar.getMassSq();
414 double denom = ( ( 0.1 * y - 0.73 ) * y + 1.0 ) *
m_sqrt2;
417 if ( fabs( denom ) > 1e-10 ) {
427 double y = kSq /
m_Bstar.getMassSq();
428 double denom = ( ( 0.5 * y - 1.4 ) * y + 1.0 ) *
m_sqrt2;
431 if ( fabs( denom ) > 1e-10 ) {
EvtVector4C EvtLeptonVACurrent(const EvtDiracSpinor &d, const EvtDiracSpinor &dp)
EvtVector4C EvtLeptonVCurrent(const EvtDiracSpinor &d, const EvtDiracSpinor &dp)
EvtTensor4C dual(const EvtTensor4C &t2)
void vertex(const EvtComplex &)
ResPole(double mass, double width, double coupling)
EvtComplex propagator(double qSq, int numForm=0) const
double FF_V(double kSq) const
std::vector< EvtComplex > getVMDTerms(double qSq, double kSq, double MB) const
EvtBLLNuLAmp::ResPole m_Bstar
EvtBLLNuLAmp::ResPole m_Upsilon
EvtTensor4C getHadronTensor(const EvtVector4R &q, const EvtVector4R &k, const double qSq, const double kSq, const double MB, const int sign) const
double FF_A1(double kSq) const
double FF_A2(double kSq) const
std::vector< EvtBLLNuLAmp::ResPole > m_resPoles
void CalcAmp(EvtParticle *parent, EvtAmp &) const
EvtBLLNuLAmp(double Vub=4.09e-3)
double FF_B2Bstar(double qSq) const
EvtComplex getBStarTerm(double qSq, double kSq, double MB) const
virtual EvtDiracSpinor spParentNeutrino() const
virtual EvtDiracSpinor spParent(int) const
const EvtVector4R & getP4() const
EvtParticle * getDaug(const int i)
static const EvtTensor4C & g()
EvtVector4C cont2(const EvtVector4C &v4) const
EvtTensor3C directProd(const EvtVector3C &c1, const EvtVector3C &c2)