1 #include "EvtGenBase/EvtPatches.hh"
2 /*******************************************************************************
3 * Project: BaBar detector at the SLAC PEP-II B-factory
5 * Author: Denis Dujmic, ddujmic@slac.stanford.edu
7 * Copyright (C) 2005 SLAC
8 *******************************************************************************/
13 #include "EvtGenBase/EvtComplex.hh"
14 #include "EvtGenBase/EvtLASSAmp.hh"
15 #include "EvtGenBase/EvtDalitzCoord.hh"
16 #include "EvtGenBase/EvtdFunction.hh"
17 #include "EvtGenBase/EvtCyclic3.hh"
19 using EvtCyclic3::Index;
20 using EvtCyclic3::Pair;
23 EvtLASSAmp::EvtLASSAmp(EvtDalitzPlot *dp,
24 EvtCyclic3::Pair pair,
26 double a, double r, double cutoff) :
27 EvtAmplitude<EvtDalitzPoint>(),
36 double ma = dp->m( first(pair) );
37 double mb = dp->m( second(pair) );
38 double E0a = 0.5 * (_m0*_m0 + ma*ma - mb*mb) / _m0;
39 _q0 = E0a*E0a - ma*ma;
46 EvtLASSAmp::EvtLASSAmp(const EvtLASSAmp& other) :
47 EvtAmplitude<EvtDalitzPoint>(other),
54 _cutoff(other._cutoff)
56 _dalitzSpace = other._dalitzSpace;
60 EvtLASSAmp::~EvtLASSAmp() {}
65 EvtLASSAmp::amplitude(const EvtDalitzPoint &dalitzPoint) const {
69 Parameterization of Kpi S-wave using LASS scattering data.
70 - Nucl.Phys.B296, 493 (1988)
71 - W.Dunwoodie,http://www.slac.stanford.edu/~wmd/kpi_swave/kpi_swave_fit.note
74 ----------------- + exp(2*i*delta) * --------------------------------
75 q*cot(delta)-i*q m0^2-m^2 - i*m0*Gamma0*q/m*m0/q0
78 where q = momentum of K or pi in Kpi system
80 q*cot(delta) = 1/ a + 1/2 * [ r * q**2 ]
88 double s = dalitzPoint.q(_pair);
90 double q = dalitzPoint.p(first(_pair), _pair);
93 double qcotd = 1./_a + 0.5*_r*q*q;
94 EvtComplex lass_elastic = m<_cutoff ? m / ( qcotd - EvtComplex(0,q) ) : 0;
100 cosd = qcotd*qcotd/(q*q);
101 cosd = sqrt( cosd/(1+cosd) );
102 sind = sqrt( 1-cosd*cosd );
104 EvtComplex lass_phase( cosd, sind);
105 lass_phase *= lass_phase;
108 double gamma = _g0 * q/m * _m0/_q0;
109 EvtComplex lass_Kstar = (_m0*_m0)*(_g0/_q0)/(_m0*_m0-m*m-EvtComplex(0.,_m0*gamma));
111 return lass_elastic + lass_phase * lass_Kstar;