BOSS 7.1.0
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtDalitzPoint Class Reference

#include <EvtDalitzPoint.hh>

Public Member Functions

 EvtDalitzPoint ()
 
 EvtDalitzPoint (double mA, double mB, double mC, double qAB, double qBC, double qCA)
 
 EvtDalitzPoint (double mA, double mB, double mC, EvtCyclic3::Pair i, double qres, double qhel, double qsum)
 
 EvtDalitzPoint (const EvtDalitzPlot &, const EvtDalitzCoord &)
 
 EvtDalitzPoint (const EvtDalitzPoint &other)
 
 ~EvtDalitzPoint ()
 
EvtDalitzCoord getDalitzPoint (EvtCyclic3::Pair i, EvtCyclic3::Pair j) const
 
EvtDalitzPlot getDalitzPlot () const
 
double q (EvtCyclic3::Pair) const
 
double bigM () const
 
double m (EvtCyclic3::Index) const
 
double qres (EvtCyclic3::Pair i) const
 
double qhel (EvtCyclic3::Pair i) const
 
double qsum () const
 
double qMin (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 e (EvtCyclic3::Index i, EvtCyclic3::Pair j) const
 
double p (EvtCyclic3::Index i, EvtCyclic3::Pair j) const
 
double cosTh (EvtCyclic3::Pair pairAng, EvtCyclic3::Pair pairRes) const
 
bool isValid () const
 
void print () const
 

Detailed Description

Definition at line 27 of file EvtDalitzPoint.hh.

Constructor & Destructor Documentation

◆ EvtDalitzPoint() [1/5]

EvtDalitzPoint::EvtDalitzPoint ( )

Definition at line 18 of file EvtDalitzPoint.cc.

19 : _mA(-1.), _mB(-1.), _mC(-1.), _qAB(-1.), _qBC(-1.), _qCA(-1.)
20{}

◆ EvtDalitzPoint() [2/5]

EvtDalitzPoint::EvtDalitzPoint ( double  mA,
double  mB,
double  mC,
double  qAB,
double  qBC,
double  qCA 
)

Definition at line 22 of file EvtDalitzPoint.cc.

23 : _mA(mA), _mB(mB), _mC(mC), _qAB(qAB), _qBC(qBC), _qCA(qCA)
24{}

◆ EvtDalitzPoint() [3/5]

EvtDalitzPoint::EvtDalitzPoint ( double  mA,
double  mB,
double  mC,
EvtCyclic3::Pair  i,
double  qres,
double  qhel,
double  qsum 
)

Definition at line 28 of file EvtDalitzPoint.cc.

31 : _mA(mA), _mB(mB), _mC(mC)
32{
33 double qi = qres + qsum/3.;
34 double qj = -qres/2. + qhel + qsum/3.;
35 double qk = -qres/2. - qhel + qsum/3.;
36
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; }
40}
double qsum() const
double qhel(EvtCyclic3::Pair i) const
double qres(EvtCyclic3::Pair i) const

◆ EvtDalitzPoint() [4/5]

EvtDalitzPoint::EvtDalitzPoint ( const EvtDalitzPlot dp,
const EvtDalitzCoord x 
)

Definition at line 42 of file EvtDalitzPoint.cc.

43 : _mA(dp.m(A)), _mB(dp.m(B)), _mC(dp.m(C))
44{
45 if(x.pair1() == AB) _qAB = x.q1();
46 else
47 if(x.pair2() == AB) _qAB = x.q2();
48 else _qAB = dp.sum() - x.q1() - x.q2();
49
50 if(x.pair1() == BC) _qBC = x.q1();
51 else
52 if(x.pair2() == BC) _qBC = x.q2();
53 else _qBC = dp.sum() - x.q1() - x.q2();
54
55 if(x.pair1() == CA) _qCA = x.q1();
56 else
57 if(x.pair2() == CA) _qCA = x.q2();
58 else _qCA = dp.sum() - x.q1() - x.q2();
59
60}
Double_t x[10]
double sum() const
double m(EvtCyclic3::Index i) const

◆ EvtDalitzPoint() [5/5]

EvtDalitzPoint::EvtDalitzPoint ( const EvtDalitzPoint other)

Definition at line 62 of file EvtDalitzPoint.cc.

63 : _mA(other._mA), _mB(other._mB), _mC(other._mC),
64 _qAB(other._qAB), _qBC(other._qBC), _qCA(other._qCA)
65{}
Index other(Index i, Index j)
Definition: EvtCyclic3.cc:118

◆ ~EvtDalitzPoint()

EvtDalitzPoint::~EvtDalitzPoint ( )

Definition at line 67 of file EvtDalitzPoint.cc.

68{}

Member Function Documentation

◆ bigM()

double EvtDalitzPoint::bigM ( ) const

Definition at line 176 of file EvtDalitzPoint.cc.

177{
178 return sqrt(_qAB+_qBC+_qCA - _mA*_mA - _mB*_mB - _mC*_mC);
179}

Referenced by getDalitzPlot(), and isValid().

◆ cosTh()

double EvtDalitzPoint::cosTh ( EvtCyclic3::Pair  pairAng,
EvtCyclic3::Pair  pairRes 
) const

Definition at line 138 of file EvtDalitzPoint.cc.

139{
141 return dp.cosTh(pairAng,q(pairAng),pairRes,q(pairRes));
142}
****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
Definition: KKsem.h:33
double cosTh(EvtCyclic3::Pair i1, double q1, EvtCyclic3::Pair i2, double q2) const
EvtDalitzPlot getDalitzPlot() const

Referenced by EvtPto3P::initDaughters().

◆ e()

double EvtDalitzPoint::e ( EvtCyclic3::Index  i,
EvtCyclic3::Pair  j 
) const

Definition at line 126 of file EvtDalitzPoint.cc.

127{
129 return dp.e(i,j,q(j));
130}
double e(EvtCyclic3::Index i, EvtCyclic3::Pair j, double q) const

Referenced by EvtPto3P::initDaughters().

◆ getDalitzPlot()

EvtDalitzPlot EvtDalitzPoint::getDalitzPlot ( ) const

Definition at line 151 of file EvtDalitzPoint.cc.

152{
153 return EvtDalitzPlot(_mA,_mB,_mC,bigM());
154}
double bigM() const

Referenced by cosTh(), e(), isValid(), p(), print(), qMax(), and qMin().

◆ getDalitzPoint()

EvtDalitzCoord EvtDalitzPoint::getDalitzPoint ( EvtCyclic3::Pair  i,
EvtCyclic3::Pair  j 
) const

Definition at line 145 of file EvtDalitzPoint.cc.

146{
147 return EvtDalitzCoord(i,q(i),j,q(j));
148}

◆ isValid()

bool EvtDalitzPoint::isValid ( ) const

Definition at line 156 of file EvtDalitzPoint.cc.

157{
158 // Check masses
159
160 double M = bigM();
161 if(_mA < 0 || _mB < 0 || _mC < 0 || M <= 0) return false;
162 if(M < _mA + _mB + _mC) return false;
163
164 // Check that first coordinate is within absolute limits
165
166 bool inside = false;
168
169 if(dp.qAbsMin(AB) <= _qAB && _qAB <= dp.qAbsMax(AB))
170 if(qMin(BC,AB) <= _qBC && _qBC <= qMax(BC,AB))
171 inside = true;
172
173 return inside;
174}
double qAbsMin(EvtCyclic3::Pair i) const
double qAbsMax(EvtCyclic3::Pair i) const
double qMin(EvtCyclic3::Pair i, EvtCyclic3::Pair j) const
double qMax(EvtCyclic3::Pair i, EvtCyclic3::Pair j) const

Referenced by EvtPto3P::initDaughters(), and EvtDalitzResPdf::randomPoint().

◆ m()

double EvtDalitzPoint::m ( EvtCyclic3::Index  i) const

Definition at line 80 of file EvtDalitzPoint.cc.

81{
82 double ret = _mA;
83 if(B == i) ret = _mB;
84 else
85 if(C == i) ret = _mC;
86
87 return ret;
88}

Referenced by pp().

◆ p()

double EvtDalitzPoint::p ( EvtCyclic3::Index  i,
EvtCyclic3::Pair  j 
) const

Definition at line 132 of file EvtDalitzPoint.cc.

133{
135 return dp.p(i,j,q(j));
136}
double p(EvtCyclic3::Index i, EvtCyclic3::Pair j, double q) const

Referenced by EvtPto3P::initDaughters().

◆ pp()

double EvtDalitzPoint::pp ( EvtCyclic3::Index  i,
EvtCyclic3::Index  j 
) const

Definition at line 120 of file EvtDalitzPoint.cc.

121{
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.;
124}
double m(EvtCyclic3::Index) const
Pair combine(Index i, Index j)
Definition: EvtCyclic3.cc:158

◆ print()

void EvtDalitzPoint::print ( ) const

Definition at line 182 of file EvtDalitzPoint.cc.

183{
185 printf("%f %f %f\n",_qAB,_qBC,_qCA);
186}
void print() const

◆ q()

double EvtDalitzPoint::q ( EvtCyclic3::Pair  i) const

Definition at line 70 of file EvtDalitzPoint.cc.

71{
72 double ret = _qAB;
73 if(BC == i) ret = _qBC;
74 else
75 if(CA == i) ret = _qCA;
76
77 return ret;
78}

◆ qhel()

double EvtDalitzPoint::qhel ( EvtCyclic3::Pair  i) const

Definition at line 96 of file EvtDalitzPoint.cc.

97{
98 Pair j = next(i);
99 Pair k = prev(i);
100 return (q(j) - q(k))/2.;
101}
Index next(Index i)
Definition: EvtCyclic3.cc:107
Index prev(Index i)
Definition: EvtCyclic3.cc:96

Referenced by EvtDalitzPoint().

◆ qMax()

double EvtDalitzPoint::qMax ( EvtCyclic3::Pair  i,
EvtCyclic3::Pair  j 
) const

Definition at line 114 of file EvtDalitzPoint.cc.

115{
117 return dp.qMax(i,j,q(j));
118}
double qMax(EvtCyclic3::Pair i, EvtCyclic3::Pair j, double q) const

Referenced by isValid().

◆ qMin()

double EvtDalitzPoint::qMin ( EvtCyclic3::Pair  i,
EvtCyclic3::Pair  j 
) const

Definition at line 108 of file EvtDalitzPoint.cc.

109{
111 return dp.qMin(i,j,q(j));
112}
double qMin(EvtCyclic3::Pair i, EvtCyclic3::Pair j, double q) const

Referenced by isValid().

◆ qres()

double EvtDalitzPoint::qres ( EvtCyclic3::Pair  i) const

Definition at line 92 of file EvtDalitzPoint.cc.

93{
94 return (2.*q(i) - q(EvtCyclic3::prev(i)) - q(EvtCyclic3::next(i)))/3.;
95}

Referenced by EvtDalitzPoint().

◆ qsum()

double EvtDalitzPoint::qsum ( ) const

Definition at line 102 of file EvtDalitzPoint.cc.

103{
104 return _qAB + _qBC + _qCA;
105}

Referenced by EvtDalitzPoint().


The documentation for this class was generated from the following files: