50 t0 = ( m1 - m2 ) * ( m1 - m2 );
51 tplus = ( mB + mK ) * ( mB + mK );
94 <<
" EvtRareLbToLll is using form factors from arXiv:1602.01399 " 107 double m2 =
lambda->getP4().mass();
110 p4parent.
set( parent->
mass(), 0, 0, 0 );
111 double q2 = ( p4parent -
lambda->getP4() ).mass2();
113 double massSum = m1 + m2;
114 double massDiff = m1 - m2;
115 double massSumSq = massSum * massSum;
116 double massDiffSq = massDiff * massDiff;
117 double q2Sum = q2 - massSumSq;
118 double q2Diff = q2 - massDiffSq;
125 for (
int i = 0; i <= 2; ++i ) {
131 for (
int i = 0; i <= 1; ++i ) {
142 ( ( f[1] - f[0] ) * massSum +
144 ( q2 * ( f[2] - f[1] ) - ( f[2] - f[0] ) * massSumSq ) /
148 ( massSum * ( f[0] - f[1] ) +
150 ( q2 * ( f[2] - f[1] ) - massSumSq * ( f[2] - f[0] ) ) /
155 FF.
G_[1] = m1 / q2Diff *
156 ( massDiff * ( g[0] - g[1] ) +
158 ( q2 * ( g[1] - g[2] ) + massDiffSq * ( g[2] - g[0] ) ) /
160 FF.
G_[2] = -m2 / q2Diff *
161 ( massDiff * ( g[1] - g[0] ) +
163 ( q2 * ( g[1] - g[2] ) + massDiffSq * ( g[2] - g[0] ) ) /
166 FF.
FT_[0] = -massSum * h[1];
168 FF.
FT_[1] = -m1 / q2Sum *
169 ( 2 * h[1] * m2 * massSum - h[0] * ( q2 - massSum * massDiff ) );
170 FF.
FT_[2] = -m2 / q2Sum *
171 ( 2 * h[1] * m1 * massSum - h[0] * ( q2 + massSum * massDiff ) );
173 FF.
GT_[0] = massDiff * htilda[1];
175 FF.
GT_[1] = m1 / q2Diff *
176 ( 2 * htilda[1] * massDiff * m2 +
177 htilda[0] * ( q2 - massSum * massDiff ) );
178 FF.
GT_[2] = m2 / q2Diff *
179 ( -2 * htilda[1] * massDiff * m1 +
180 htilda[0] * ( q2 + massSum * massDiff ) );
186 double a1,
double pole )
188 double z =
zvar( q2 );
189 return 1. / ( 1. - q2 / ( pole * pole ) ) * ( a0 +
a1 * z );
194 double a = std::sqrt(
tplus - q2 );
195 double b = std::sqrt(
tplus -
t0 );
197 return ( a - b ) / ( a + b );
std::ostream & EvtGenReport(EvtGenSeverity severity, const char *facility=0)
void set(int i, double d)
double formFactorParametrization(double q2, double a0, double a1, double pole)
static EvtId getId(const std::string &name)
const EvtVector4R & getP4() const
double lambda(double q, double m1, double m2)
void getFF(EvtParticle *parent, EvtParticle *lambda, EvtRareLbToLllFFBase::FormFactors &FF) override
static double getMass(EvtId i)
double htildaconsts[3][3]