1#include "EvtGenBase/EvtPatches.hh"
11#include "EvtGenBase/EvtPatches.hh"
15#include "EvtGenBase/EvtDalitzPoint.hh"
19 : _mA(-1.), _mB(-1.), _mC(-1.), _qAB(-1.), _qBC(-1.), _qCA(-1.)
23 : _mA(mA), _mB(mB), _mC(mC), _qAB(qAB), _qBC(qBC), _qCA(qCA)
30 double qres,
double qhel,
double qsum)
31 : _mA(mA), _mB(mB), _mC(mC)
33 double qi = qres + qsum/3.;
34 double qj = -qres/2. + qhel + qsum/3.;
35 double qk = -qres/2. - qhel + qsum/3.;
37 if(i ==
AB) { _qAB = qi; _qBC = qj; _qCA = qk; }
38 else if(i ==
BC) { _qAB = qk; _qBC = qi; _qCA = qj; }
39 else if(i ==
CA) { _qAB = qj; _qBC = qk; _qCA = qi; }
43 : _mA(dp.m(
A)), _mB(dp.m(
B)), _mC(dp.m(
C))
45 if(
x.pair1() ==
AB) _qAB =
x.q1();
47 if(
x.pair2() ==
AB) _qAB =
x.q2();
48 else _qAB = dp.
sum() -
x.q1() -
x.q2();
50 if(
x.pair1() ==
BC) _qBC =
x.q1();
52 if(
x.pair2() ==
BC) _qBC =
x.q2();
53 else _qBC = dp.
sum() -
x.q1() -
x.q2();
55 if(
x.pair1() ==
CA) _qCA =
x.q1();
57 if(
x.pair2() ==
CA) _qCA =
x.q2();
58 else _qCA = dp.
sum() -
x.q1() -
x.q2();
73 if(
BC == i) ret = _qBC;
75 if(
CA == i) ret = _qCA;
100 return (
q(j) -
q(k))/2.;
104 return _qAB + _qBC + _qCA;
111 return dp.
qMin(i,j,
q(j));
117 return dp.
qMax(i,j,
q(j));
122 if(i == j)
return m(i)*
m(i);
123 else return (
q(
combine(i,j)) -
m(i)*
m(i) -
m(j)*
m(j))/2.;
129 return dp.
e(i,j,
q(j));
135 return dp.
p(i,j,
q(j));
141 return dp.
cosTh(pairAng,
q(pairAng),pairRes,
q(pairRes));
161 if(_mA < 0 || _mB < 0 || _mC < 0 || M <= 0)
return false;
162 if(M < _mA + _mB + _mC)
return false;
178 return sqrt(_qAB+_qBC+_qCA - _mA*_mA - _mB*_mB - _mC*_mC);
185 printf(
"%f %f %f\n",_qAB,_qBC,_qCA);
****INTEGER imax DOUBLE PRECISION m_pi *DOUBLE PRECISION m_amfin DOUBLE PRECISION m_Chfin DOUBLE PRECISION m_Xenph DOUBLE PRECISION m_sinw2 DOUBLE PRECISION m_GFermi DOUBLE PRECISION m_MfinMin DOUBLE PRECISION m_ta2 INTEGER m_out INTEGER m_KeyFSR INTEGER m_KeyQCD *COMMON c_Semalib $ !copy of input $ !CMS energy $ !beam mass $ !final mass $ !beam charge $ !final charge $ !smallest final mass $ !Z mass $ !Z width $ !EW mixing angle $ !Gmu Fermi $ alphaQED at q
double qAbsMin(EvtCyclic3::Pair i) const
double p(EvtCyclic3::Index i, EvtCyclic3::Pair j, double q) const
double qMin(EvtCyclic3::Pair i, EvtCyclic3::Pair j, double q) const
double qAbsMax(EvtCyclic3::Pair i) const
double qMax(EvtCyclic3::Pair i, EvtCyclic3::Pair j, double q) const
double e(EvtCyclic3::Index i, EvtCyclic3::Pair j, double q) const
double cosTh(EvtCyclic3::Pair i1, double q1, EvtCyclic3::Pair i2, double q2) const
double p(EvtCyclic3::Index i, EvtCyclic3::Pair j) const
double e(EvtCyclic3::Index i, EvtCyclic3::Pair j) const
double m(EvtCyclic3::Index) const
double q(EvtCyclic3::Pair) const
double qMin(EvtCyclic3::Pair i, EvtCyclic3::Pair j) const
EvtDalitzCoord getDalitzPoint(EvtCyclic3::Pair i, EvtCyclic3::Pair j) const
double qMax(EvtCyclic3::Pair i, EvtCyclic3::Pair j) const
double pp(EvtCyclic3::Index i, EvtCyclic3::Index j) const
double cosTh(EvtCyclic3::Pair pairAng, EvtCyclic3::Pair pairRes) const
EvtDalitzPlot getDalitzPlot() const
double qhel(EvtCyclic3::Pair i) const
double qres(EvtCyclic3::Pair i) const
Pair combine(Index i, Index j)
Index other(Index i, Index j)