#include <EvtDalitzPoint.hh>
Public Member Functions | |
double | bigM () const |
double | cosTh (EvtCyclic3::Pair pairAng, EvtCyclic3::Pair pairRes) const |
double | e (EvtCyclic3::Index i, EvtCyclic3::Pair j) const |
EvtDalitzPoint (const EvtDalitzPoint &other) | |
EvtDalitzPoint (const EvtDalitzPlot &, const EvtDalitzCoord &) | |
EvtDalitzPoint (double mA, double mB, double mC, EvtCyclic3::Pair i, double qres, double qhel, double qsum) | |
EvtDalitzPoint (double mA, double mB, double mC, double qAB, double qBC, double qCA) | |
EvtDalitzPoint () | |
EvtDalitzPlot | getDalitzPlot () const |
EvtDalitzCoord | getDalitzPoint (EvtCyclic3::Pair i, EvtCyclic3::Pair j) const |
bool | isValid () const |
double | m (EvtCyclic3::Index) const |
double | p (EvtCyclic3::Index i, EvtCyclic3::Pair j) const |
double | pp (EvtCyclic3::Index i, EvtCyclic3::Index j) const |
void | print () const |
double | q (EvtCyclic3::Pair) const |
double | qhel (EvtCyclic3::Pair i) const |
double | qMax (EvtCyclic3::Pair i, EvtCyclic3::Pair j) const |
double | qMin (EvtCyclic3::Pair i, EvtCyclic3::Pair j) const |
double | qres (EvtCyclic3::Pair i) const |
double | qsum () const |
~EvtDalitzPoint () | |
Private Attributes | |
double | _mA |
double | _mB |
double | _mC |
double | _qAB |
double | _qBC |
double | _qCA |
|
|
|
|
|
00031 : _mA(mA), _mB(mB), _mC(mC) 00032 { 00033 double qi = qres + qsum/3.; 00034 double qj = -qres/2. + qhel + qsum/3.; 00035 double qk = -qres/2. - qhel + qsum/3.; 00036 00037 if(i == AB) { _qAB = qi; _qBC = qj; _qCA = qk; } 00038 else if(i == BC) { _qAB = qk; _qBC = qi; _qCA = qj; } 00039 else if(i == CA) { _qAB = qj; _qBC = qk; _qCA = qi; } 00040 }
|
|
00043 : _mA(dp.m(A)), _mB(dp.m(B)), _mC(dp.m(C)) 00044 { 00045 if(x.pair1() == AB) _qAB = x.q1(); 00046 else 00047 if(x.pair2() == AB) _qAB = x.q2(); 00048 else _qAB = dp.sum() - x.q1() - x.q2(); 00049 00050 if(x.pair1() == BC) _qBC = x.q1(); 00051 else 00052 if(x.pair2() == BC) _qBC = x.q2(); 00053 else _qBC = dp.sum() - x.q1() - x.q2(); 00054 00055 if(x.pair1() == CA) _qCA = x.q1(); 00056 else 00057 if(x.pair2() == CA) _qCA = x.q2(); 00058 else _qCA = dp.sum() - x.q1() - x.q2(); 00059 00060 }
|
|
00063 : _mA(other._mA), _mB(other._mB), _mC(other._mC), 00064 _qAB(other._qAB), _qBC(other._qBC), _qCA(other._qCA) 00065 {}
|
|
00068 {}
|
|
00177 {
00178 return sqrt(_qAB+_qBC+_qCA - _mA*_mA - _mB*_mB - _mC*_mC);
00179 }
|
|
00139 { 00140 EvtDalitzPlot dp = getDalitzPlot(); 00141 return dp.cosTh(pairAng,q(pairAng),pairRes,q(pairRes)); 00142 }
|
|
00127 { 00128 EvtDalitzPlot dp = getDalitzPlot(); 00129 return dp.e(i,j,q(j)); 00130 }
|
|
00152 { 00153 return EvtDalitzPlot(_mA,_mB,_mC,bigM()); 00154 }
|
|
00146 { 00147 return EvtDalitzCoord(i,q(i),j,q(j)); 00148 }
|
|
00157 { 00158 // Check masses 00159 00160 double M = bigM(); 00161 if(_mA < 0 || _mB < 0 || _mC < 0 || M <= 0) return false; 00162 if(M < _mA + _mB + _mC) return false; 00163 00164 // Check that first coordinate is within absolute limits 00165 00166 bool inside = false; 00167 EvtDalitzPlot dp = getDalitzPlot(); 00168 00169 if(dp.qAbsMin(AB) <= _qAB && _qAB <= dp.qAbsMax(AB)) 00170 if(qMin(BC,AB) <= _qBC && _qBC <= qMax(BC,AB)) 00171 inside = true; 00172 00173 return inside; 00174 }
|
|
00081 { 00082 double ret = _mA; 00083 if(B == i) ret = _mB; 00084 else 00085 if(C == i) ret = _mC; 00086 00087 return ret; 00088 }
|
|
00133 { 00134 EvtDalitzPlot dp = getDalitzPlot(); 00135 return dp.p(i,j,q(j)); 00136 }
|
|
00121 { 00122 if(i == j) return m(i)*m(i); 00123 else return (q(combine(i,j)) - m(i)*m(i) - m(j)*m(j))/2.; 00124 }
|
|
00183 { 00184 getDalitzPlot().print(); 00185 printf("%f %f %f\n",_qAB,_qBC,_qCA); 00186 }
|
|
00071 { 00072 double ret = _qAB; 00073 if(BC == i) ret = _qBC; 00074 else 00075 if(CA == i) ret = _qCA; 00076 00077 return ret; 00078 }
|
|
|
|
00115 { 00116 EvtDalitzPlot dp = getDalitzPlot(); 00117 return dp.qMax(i,j,q(j)); 00118 }
|
|
00109 { 00110 EvtDalitzPlot dp = getDalitzPlot(); 00111 return dp.qMin(i,j,q(j)); 00112 }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|