15 return mumsFittableProperties().fitFlatte_gPi();
18 return mumsFittableProperties().fitFlatte_gK_by_gPi() * gPi();
26 _pi0Mass = pdgMass(111);
31 if (_piPlusMass <= 0){
32 _piPlusMass = pdgMass(211);
38 _K0Mass = pdgMass(311);
44 _KPlusMass = pdgMass(321);
50 const bool dbThis=
false;
52 const double a2 = 1.0 - (2*m0/
m)*(2*m0/
m);
53 std::complex<double> a;
57 std::cout <<
"WARNING in Flatte::aSqrtTerm()" 58 <<
" sqrt( 1.0 - (2m0/m)^2 ) imaginary" 59 <<
" (returning an imaginary number)." 62 const std::complex<double> i(0.0, 1.0);
63 a = i * sqrt(fabs(a2));
65 const std::complex<double> unit(1.0, 0.0);
66 a = ((std::complex<double>) sqrt(a2)) * unit;
77 std::complex<double> Gpipi = (1./3.) * aSqrtTerm( mPi0(),
m )
78 + (2./3.) * aSqrtTerm( mPiPlus(),
m );
81 std::complex<double> GKK = (1./2.) * aSqrtTerm( mK0(),
m )
82 + (1./2.) * aSqrtTerm( mKPlus(),
m );
84 std::complex<double> FlatteWidth = gPi() * Gpipi + gK() * GKK;
86 cout <<
"Flatte: compare Flatte Width = " << FlatteWidth
94 cout <<
"ERROR Flatte::GofM() called should not have happenned!" <<endl;
95 std::complex<double> val = complexGofM();
100 double mpdg = mumsMass();
101 std::complex<double> i(0.0, 1.0);
102 std::complex<double> invBW = (((std::complex<double>) mpdg*mpdg -
103 mumsRecoMass2()) - i * mpdg * complexGofM());
static std::complex< double > aSqrtTerm(const double &a, const double &b)
static double pdgMass(int PDG_ID)
std::complex< double > complexGofM()
virtual std::complex< double > BreitWigner()
virtual double mumsRecoMass() const
static double mass(const std::string &name)