13#include "EvtGenBase/EvtPatches.hh"
14#include "EvtGenBase/EvtParticle.hh"
15#include "EvtGenBase/EvtPDL.hh"
16#include "EvtGenBase/EvtRandom.hh"
17#include "EvtGenBase/EvtResonance.hh"
18#include "EvtGenBase/EvtDalitzPlot.hh"
19#include "EvtGenBase/EvtDalitzReso.hh"
20#include "EvtGenModels/EvtD0mixDalitz.hh"
62 _isRBWmodel = !
getArg( 4 );
66 report(
ERROR,
"EvtD0mixDalitz" ) <<
"Number of arguments for this model must be 0, 2, 4 or 5:" << std::endl
67 <<
"[ x y ][ qp.re qp.im ][ doK-matrix ]" << std::endl
68 <<
"Check your dec file." << std::endl;
83 for (
int index = 0; index < 3; index++ )
84 dau[ index ] =
getDaug( index );
87 for (
int index = 0; index < 3; index++ )
88 if ( ( dau[ index ] == _K0B ) || ( dau[ index ] == _KS ) || ( dau[ index ] == _KL ) )
90 else if ( ( dau[ index ] == _PIP ) || ( dau[ index ] == _KP ) )
92 else if ( ( dau[ index ] == _PIM ) || ( dau[ index ] == _KM ) )
95 reportInvalidAndExit();
96 else if ( parId == _D0B )
97 for (
int index = 0; index < 3; index++ )
98 if ( ( dau[ index ] == _K0 ) || ( dau[ index ] == _KS ) || ( dau[ index ] == _KL ) )
100 else if ( ( dau[ index ] == _PIM ) || ( dau[ index ] == _KM ) )
102 else if ( ( dau[ index ] == _PIP ) || ( dau[ index ] == _KP ) )
105 reportInvalidAndExit();
107 reportInvalidAndExit();
111 if ( dau[ _d2 ] == _PIP || dau[ _d2 ] == _PIM )
126 double m2AB = ( pA + pB ).mass2();
127 double m2AC = ( pA + pC ).mass2();
128 double m2BC = ( pB + pC ).mass2();
139 ampDalitz = dalitzKsPiPi( point );
140 ampAntiDalitz = dalitzKsPiPi( antiPoint );
147 ampDalitz = dalitzKsKK( point );
148 ampAntiDalitz = dalitzKsKK( antiPoint );
158 EvtComplex barAOverA = ampAntiDalitz / ampDalitz;
168 EvtComplex amp = .5 * ampDalitz *
exp( - _y * gt / 2. ) * ( ( 1. + chi ) * h1( gt ) + ( 1. - chi ) * h2( gt ) );
176void EvtD0mixDalitz::readPDGValues()
239 static EvtDalitzReso KStarm ( plot, _BC, _AC, _VECTOR, 0.893606, 0.0463407, _RBW );
240 static EvtDalitzReso KStarp ( plot, _BC, _AB, _VECTOR, 0.893606, 0.0463407, _RBW );
241 static EvtDalitzReso rho0 ( plot, _AC, _BC, _VECTOR, 0.7758 , 0.1464 , _GS );
242 static EvtDalitzReso omega ( plot, _AC, _BC, _VECTOR, 0.78259 , 0.00849 , _RBW );
243 static EvtDalitzReso f0_980 ( plot, _AC, _BC, _SCALAR, 0.975 , 0.044 , _RBW );
244 static EvtDalitzReso f0_1370 ( plot, _AC, _BC, _SCALAR, 1.434 , 0.173 , _RBW );
245 static EvtDalitzReso f2_1270 ( plot, _AC, _BC, _TENSOR, 1.2754 , 0.1851 , _RBW );
246 static EvtDalitzReso K0Starm_1430( plot, _BC, _AC, _SCALAR, 1.459 , 0.175 , _RBW );
247 static EvtDalitzReso K0Starp_1430( plot, _BC, _AB, _SCALAR, 1.459 , 0.175 , _RBW );
248 static EvtDalitzReso K2Starm_1430( plot, _BC, _AC, _TENSOR, 1.4256 , 0.0985 , _RBW );
249 static EvtDalitzReso K2Starp_1430( plot, _BC, _AB, _TENSOR, 1.4256 , 0.0985 , _RBW );
251 static EvtDalitzReso sigma2 ( plot, _AC, _BC, _SCALAR, 1.03327 , 0.0987890, _RBW );
252 static EvtDalitzReso KStarm_1680 ( plot, _BC, _AC, _VECTOR, 1.677 , 0.205 , _RBW );
256 amp +=
EvtComplex( -1.16356 , 1.19933 ) * KStarm .evaluate( point );
257 amp +=
EvtComplex( .106051 , - .118513 ) * KStarp .evaluate( point );
258 amp +=
EvtComplex( 1.0 , 0.0 ) * rho0 .evaluate( point );
259 amp +=
EvtComplex( - .0249569, .0388072 ) * omega .evaluate( point );
260 amp +=
EvtComplex( - .423586 , - .236099 ) * f0_980 .evaluate( point );
261 amp +=
EvtComplex( -2.16486 , 3.62385 ) * f0_1370 .evaluate( point );
262 amp +=
EvtComplex( .217748 , - .133327 ) * f2_1270 .evaluate( point );
263 amp +=
EvtComplex( 1.62128 , 1.06816 ) * K0Starm_1430.evaluate( point );
264 amp +=
EvtComplex( .148802 , .0897144 ) * K0Starp_1430.evaluate( point );
265 amp +=
EvtComplex( 1.15489 , - .773363 ) * K2Starm_1430.evaluate( point );
266 amp +=
EvtComplex( .140865 , - .165378 ) * K2Starp_1430.evaluate( point );
268 amp +=
EvtComplex( - .273791 , - .0535596 ) * sigma2 .evaluate( point );
269 amp +=
EvtComplex( -1.69720 , .128038 ) * KStarm_1680 .evaluate( point );
275 static EvtDalitzReso KStarm ( plot, _BC, _AC, _VECTOR, 0.893619, 0.0466508, _RBW );
276 static EvtDalitzReso KStarp ( plot, _BC, _AB, _VECTOR, 0.893619, 0.0466508, _RBW );
277 static EvtDalitzReso rho0 ( plot, _AC, _BC, _VECTOR, 0.7758 , 0.1464 , _GS );
278 static EvtDalitzReso omega ( plot, _AC, _BC, _VECTOR, 0.78259 , 0.00849 , _RBW );
279 static EvtDalitzReso f2_1270 ( plot, _AC, _BC, _TENSOR, 1.2754 , 0.1851 , _RBW );
280 static EvtDalitzReso K0Starm_1430( plot, _AC, 1.46312, 0.232393, 1.0746, -1.83214, .803516, 2.32788, 1., -5.31306 );
281 static EvtDalitzReso K0Starp_1430( plot, _AB, 1.46312, 0.232393, 1.0746, -1.83214, .803516, 2.32788, 1., -5.31306 );
282 static EvtDalitzReso K2Starm_1430( plot, _BC, _AC, _TENSOR, 1.4256 , 0.0985 , _RBW );
283 static EvtDalitzReso K2Starp_1430( plot, _BC, _AB, _TENSOR, 1.4256 , 0.0985 , _RBW );
284 static EvtDalitzReso KStarm_1680 ( plot, _BC, _AC, _VECTOR, 1.677 , 0.205 , _RBW );
291 static EvtDalitzReso Pole1 ( plot, _BC,
"Pole1" , _KMAT, fr12, fr13, fr14, fr15, -.0694725 );
292 static EvtDalitzReso Pole2 ( plot, _BC,
"Pole2" , _KMAT, fr12, fr13, fr14, fr15, -.0694725 );
293 static EvtDalitzReso Pole3 ( plot, _BC,
"Pole3" , _KMAT, fr12, fr13, fr14, fr15, -.0694725 );
294 static EvtDalitzReso Pole4 ( plot, _BC,
"Pole4" , _KMAT, fr12, fr13, fr14, fr15, -.0694725 );
295 static EvtDalitzReso kmatrix( plot, _BC,
"f11prod", _KMAT, fr12, fr13, fr14, fr15, -.0694725 );
298 amp +=
EvtComplex( - 1.31394 , 1.14072 ) * KStarm .evaluate( point );
299 amp +=
EvtComplex( .116239 , - .107287 ) * KStarp .evaluate( point );
300 amp +=
EvtComplex( 1.0 , 0.0 ) * rho0 .evaluate( point );
301 amp +=
EvtComplex( - .0313343 , .0424013 ) * omega .evaluate( point );
302 amp +=
EvtComplex( .559412 , - .232336 ) * f2_1270 .evaluate( point );
303 amp +=
EvtComplex( 7.35400 , -3.67637 ) * K0Starm_1430.evaluate( point );
304 amp +=
EvtComplex( .255913 , - .190459 ) * K0Starp_1430.evaluate( point );
305 amp +=
EvtComplex( 1.05397 , - .936297 ) * K2Starm_1430.evaluate( point );
306 amp +=
EvtComplex( - .00760136, - .0908624 ) * K2Starp_1430.evaluate( point );
307 amp +=
EvtComplex( - 1.45336 , - .164494 ) * KStarm_1680 .evaluate( point );
308 amp +=
EvtComplex( - 1.81830 , 9.10680 ) * Pole1 .evaluate( point );
309 amp +=
EvtComplex( 10.1751 , 3.87961 ) * Pole2 .evaluate( point );
310 amp +=
EvtComplex( 23.6569 , -4.94551 ) * Pole3 .evaluate( point );
311 amp +=
EvtComplex( .0725431 , -9.16264 ) * Pole4 .evaluate( point );
312 amp +=
EvtComplex( - 2.19449 , -7.62666 ) * kmatrix .evaluate( point );
326 static EvtDalitzReso a00_980 ( plot, _AC, _BC, _SCALAR, 0.999 , _RBW, .550173, .324, _EtaPic );
327 static EvtDalitzReso phi ( plot, _AC, _BC, _VECTOR, 1.01943, .00459319 , _RBW );
328 static EvtDalitzReso a0p_980 ( plot, _AC, _AB, _SCALAR, 0.999 , _RBW, .550173, .324, _EtaPic );
329 static EvtDalitzReso f0_1370 ( plot, _AC, _BC, _SCALAR, 1.350 , .265 , _RBW );
330 static EvtDalitzReso a0m_980 ( plot, _AB, _AC, _SCALAR, 0.999 , _RBW, .550173, .324, _EtaPic );
331 static EvtDalitzReso f0_980 ( plot, _AC, _BC, _SCALAR, 0.965 , _RBW, .695 , .165, _PicPicKK );
332 static EvtDalitzReso f2_1270 ( plot, _AC, _BC, _TENSOR, 1.2754 , .1851 , _RBW );
333 static EvtDalitzReso a00_1450( plot, _AC, _BC, _SCALAR, 1.474 , .265 , _RBW );
334 static EvtDalitzReso a0p_1450( plot, _AC, _AB, _SCALAR, 1.474 , .265 , _RBW );
335 static EvtDalitzReso a0m_1450( plot, _AB, _AC, _SCALAR, 1.474 , .265 , _RBW );
339 amp +=
EvtComplex( 1.0 , 0.0 ) * a00_980 .evaluate( point );
340 amp +=
EvtComplex( -.126314 , .188701 ) * phi .evaluate( point );
341 amp +=
EvtComplex( -.561428 , .0135338 ) * a0p_980 .evaluate( point );
342 amp +=
EvtComplex( .035 , -.00110488 ) * f0_1370 .evaluate( point );
343 amp +=
EvtComplex( -.0872735 , .0791190 ) * a0m_980 .evaluate( point );
344 amp +=
EvtComplex( 0. , 0. ) * f0_980 .evaluate( point );
345 amp +=
EvtComplex( .257341 , -.0408343 ) * f2_1270 .evaluate( point );
346 amp +=
EvtComplex( -.0614342 , -.649930 ) * a00_1450.evaluate( point );
347 amp +=
EvtComplex( -.104629 , .830120 ) * a0p_1450.evaluate( point );
348 amp +=
EvtComplex( 0. , 0. ) * a0m_1450.evaluate( point );
357EvtComplex EvtD0mixDalitz::h1(
const double& gt )
const
363EvtComplex EvtD0mixDalitz::h2(
const double& gt )
const
EvtComplex exp(const EvtComplex &c)
ostream & report(Severity severity, const char *facility)
void decay(EvtParticle *p)
void vertex(const EvtComplex &)
void checkSpinDaughter(int d1, EvtSpinType::spintype sp)
void checkSpinParent(EvtSpinType::spintype sp)
void checkNDaug(int d1, int d2=-1)
static double getMass(EvtId i)
static EvtId getId(const std::string &name)
static double getctau(EvtId i)
const EvtVector4R & getP4() const
void setLifetime(double tau)
EvtParticle * getDaug(int i)
double initializePhaseSpace(int numdaughter, EvtId *daughters, double poleSize=-1., int whichTwo1=0, int whichTwo2=1)