31 mRho_.push_back( 0.77511 );
33 cK_.push_back( 1.195 );
36 mRho_.push_back( 1.465 );
38 cK_.push_back( -0.112 );
41 mRho_.push_back( 1.72 );
43 cK_.push_back( -0.083 );
46 mRho_.push_back( 2.150 );
53 double m2 = pow(
mRho_[i], 2 );
56 if (
abs( qm ) < 1e-10 ) {
62 if (
abs( s ) < 1e-10 ) {
70 if (
abs( denBW ) < 1e-10 ) {
74 return cK_[i] * m2 / denBW;
80 double s = ( pKS + pKplus ).mass2();
83 return f * ( pKS - pKplus );
88 double mpi2 = pow( 0.140, 2 );
89 if (
abs( s ) < 1e-10 )
92 double pcm2 = 1.0 - 4.0 * mpi2 / s;
115 return BWr( q1 + q2 ) * ( q1 - q2 );
125 double Q2 = Q.
mass2();
127 return BWa( Q ) * ( q13 - ( Q * ( Q * q13 ) / Q2 ) *
BWr( q2 + q3 ) + q23 -
128 ( Q * ( Q * q23 ) / Q2 ) *
BWr( q1 + q3 ) );
144 EvtVector4C V = term1 + term2 + term3 + term4 + term5 + term6;
154 const double mK_892( 0.892 ), gammaK_892( 0.051 );
155 const double mA1( 1.239 ), gammaA1( 0.600 );
158 double q2 = q.
mass2();
160 double pK2 = pK.
mass2();
164 den1 = 1.0 / ( q2 - mA1 * mA1 +
I * mA1 * gammaA1 );
165 den2 = 1.0 / ( pK2 - mK_892 * mK_892 +
I * mK_892 * gammaK_892 );
170 EvtVector4C vec = den1 * den2 * ( pKminus - pPiPlus );
171 vec = ten.
cont2( vec );
182 const double cK1p = 0.210709, cK1r = -0.0152997, cK2p = 0.0945309,
184 const double mK1_1270 = 1.270, gammaK1_1270 = 0.090, gK1270_Krho = 2.71,
186 const double mK1_1400 = 1.400, gammaK1_1400 = 0.174, gK11400_Krho = 0.254,
187 gK11400_KsPi = 2.509;
188 const double mK_892 = 0.892, gammaK_892 = 0.051, gK892_Kpi = 3.26;
189 const double mRho = 0.770, gammaRho = 0.150, gRho_PiPi = 6.02;
192 double q2 = q.
mass2(), pp2( 0.0 );
199 ( q2 - mK1_1270 * mK1_1270 +
I * mK1_1270 * gammaK1_1270 );
200 pp2 = ( pPiPlus + pPiMinus ).mass2();
201 den2 = gRho_PiPi / ( pp2 - mRho * mRho +
I * mRho * gammaRho );
202 curr1 = ( pPiPlus - pPiMinus ) * den1 * den2;
203 curr = curr + cK1r * curr1;
207 ( q2 - mK1_1270 * mK1_1270 +
I * mK1_1270 * gammaK1_1270 );
208 pp2 = ( pKplus + pPiMinus ).mass2();
209 den2 = gK892_Kpi / ( pp2 - mK_892 * mK_892 +
I * mK_892 * gammaK_892 );
210 curr1 = ( pKplus - pPiMinus ) * den1 * den2;
211 curr = curr + cK1p * curr1;
214 den1 = gK11400_Krho /
215 ( q2 - mK1_1400 * mK1_1400 +
I * mK1_1400 * gammaK1_1400 );
216 pp2 = ( pPiMinus + pPiPlus ).mass2();
217 den2 = gRho_PiPi / ( pp2 - mRho * mRho +
I * mRho * gammaRho );
218 curr1 = ( pPiPlus - pPiMinus ) * den1 * den2;
219 curr = curr + cK2r * curr1;
222 den1 = gK11400_KsPi /
223 ( q2 - mK1_1400 * mK1_1400 +
I * mK1_1400 * gammaK1_1400 );
224 pp2 = ( pKplus + pPiMinus ).mass2();
225 den2 = gK892_Kpi / ( pp2 - mK_892 * mK_892 +
I * mK_892 * gammaK_892 );
226 curr1 = ( pKplus - pPiPlus ) * den1 * den2;
227 curr = curr + cK2p * curr1;
231 curr = ten.
cont2( curr );
240 double _mA1( 1.26 ), _GA1( 0.4 );
241 double _mA1Sq = _mA1 * _mA1;
243 double Q2 = q.
mass2();
244 double GA1 = _GA1 *
pi3G( Q2 ) /
pi3G( _mA1Sq );
246 EvtComplex denBA1( _mA1Sq - Q2, -1.0 * _mA1 * GA1 );
248 return _mA1Sq / denBA1;
253 double mf( 0.8 ), Gf( 0.6 );
254 double mfSq = mf * mf;
256 double Q2 = q.
mass2();
257 return mfSq / ( mfSq - Q2 -
I * mf * Gf );
262 double _mRho( 0.775 ), _gammaRho( 0.149 ), _mRhopr( 1.364 ),
263 _gammaRhopr( 0.400 ), _beta( -0.108 );
266 double mQ2 = q.
mass2();
268 double m1Sq = m1 * m1, m2Sq = m2 * m2, m12Sq = m1Sq * m2Sq;
271 double dRho = _mRho * _mRho - m1Sq - m2Sq;
272 double pPiRho = ( 1.0 / _mRho ) * sqrt( ( dRho * dRho ) / 4.0 - m12Sq );
274 double dRhopr = _mRhopr * _mRhopr - m1Sq - m2Sq;
275 double pPiRhopr = ( 1.0 / _mRhopr ) *
276 sqrt( ( dRhopr * dRhopr ) / 4.0 - m12Sq );
278 double dQ = mQ2 - m1Sq - m2Sq;
279 double pPiQ = ( 1.0 / sqrt( mQ2 ) ) * sqrt( ( dQ * dQ ) / 4.0 - m12Sq );
281 double gammaRho = _gammaRho * _mRho / sqrt( mQ2 ) *
282 pow( ( pPiQ / pPiRho ), 3 );
283 EvtComplex BRhoDem( _mRho * _mRho - mQ2, -1.0 * _mRho * gammaRho );
286 double gammaRhopr = _gammaRhopr * _mRhopr / sqrt( mQ2 ) *
287 pow( ( pPiQ / pPiRhopr ), 3 );
288 EvtComplex BRhoprDem( _mRhopr * _mRhopr - mQ2, -1.0 * _mRho * gammaRhopr );
289 EvtComplex BRhopr = _mRhopr * _mRhopr / BRhoprDem;
291 return ( BRho + _beta * BRhopr ) / ( 1.0 + _beta );
297 double mRho( 0.775 );
300 if ( m2 > ( mRho + mPi ) ) {
301 val = m2 * ( 1.623 + 10.38 / m2 - 9.32 / ( m2 * m2 ) +
302 0.65 / ( m2 * m2 * m2 ) );
304 double t1 = m2 - 9.0 * mPi * mPi;
305 val = 4.1 * pow( t1, 3.0 ) * ( 1.0 - 3.3 * t1 + 5.8 * t1 * t1 );
315 EvtVector4R Qtot = p1 + p2 + p3 + p4 + p5, Qa = p1 + p2 + p3;
324 return BWa( Qtot ) *
BWa( Qa ) *
BWf( p4 + p5 ) *
std::vector< double > cK_
EvtTensor3C directProd(const EvtVector3C &c1, const EvtVector3C &c2)
std::vector< double > mRho_
EvtVector4C WCurrent(const EvtVector4R &q1) const
EvtComplex BWf(const EvtVector4R &q) const
static const EvtTensor4C & g()
EvtComplex BWKK(double s, int i) const
EvtComplex pcm(double s) const
EvtVector4C cont2(const EvtVector4C &v4) const
EvtVector4C JB(const EvtVector4R &q1, const EvtVector4R &q2, const EvtVector4R &q3, const EvtVector4R &q4, const EvtVector4R &q5) const
static double getMeanMass(EvtId i)
EvtVector4C cont1(const EvtVector4C &v4) const
std::vector< double > gamma0_
EvtComplex BWa(const EvtVector4R &q) const
EvtVector4C WCurrent_KPP(const EvtVector4R &pKplus, const EvtVector4R &pPiPlus, const EvtVector4R &pPiMinus) const
EvtVector4C WCurrent_KKP(const EvtVector4R &pKplus, const EvtVector4R &pKminus, const EvtVector4R &pPiPlus) const
double pi3G(double Q2) const
EvtVector4C WCurrent_KSK(const EvtVector4R &pKS, const EvtVector4R &pKplus) const
double abs(const EvtComplex &c)
static EvtId getId(const std::string &name)
EvtComplex BWr(const EvtVector4R &q) const