#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 |
Private Attributes | |
double | _mA |
double | _mB |
double | _mC |
double | _qAB |
double | _qBC |
double | _qCA |
Definition at line 27 of file EvtDalitzPoint.hh.
EvtDalitzPoint::EvtDalitzPoint | ( | ) |
EvtDalitzPoint::EvtDalitzPoint | ( | double | mA, | |
double | mB, | |||
double | mC, | |||
double | qAB, | |||
double | qBC, | |||
double | qCA | |||
) |
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.
References _qAB, _qBC, _qCA, EvtCyclic3::AB, EvtCyclic3::BC, and EvtCyclic3::CA.
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 }
EvtDalitzPoint::EvtDalitzPoint | ( | const EvtDalitzPlot & | , | |
const EvtDalitzCoord & | ||||
) |
Definition at line 42 of file EvtDalitzPoint.cc.
References _qAB, _qBC, _qCA, EvtCyclic3::AB, EvtCyclic3::BC, EvtCyclic3::CA, EvtDalitzPlot::sum(), and x.
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 }
EvtDalitzPoint::EvtDalitzPoint | ( | const EvtDalitzPoint & | other | ) |
EvtDalitzPoint::~EvtDalitzPoint | ( | ) |
double EvtDalitzPoint::bigM | ( | ) | const |
double EvtDalitzPoint::cosTh | ( | EvtCyclic3::Pair | pairAng, | |
EvtCyclic3::Pair | pairRes | |||
) | const |
Definition at line 138 of file EvtDalitzPoint.cc.
References EvtDalitzPlot::cosTh(), getDalitzPlot(), and q().
Referenced by EvtPto3P::initDaughters().
00139 { 00140 EvtDalitzPlot dp = getDalitzPlot(); 00141 return dp.cosTh(pairAng,q(pairAng),pairRes,q(pairRes)); 00142 }
double EvtDalitzPoint::e | ( | EvtCyclic3::Index | i, | |
EvtCyclic3::Pair | j | |||
) | const |
Definition at line 126 of file EvtDalitzPoint.cc.
References EvtDalitzPlot::e(), getDalitzPlot(), and q().
Referenced by EvtPto3P::initDaughters().
00127 { 00128 EvtDalitzPlot dp = getDalitzPlot(); 00129 return dp.e(i,j,q(j)); 00130 }
EvtDalitzPlot EvtDalitzPoint::getDalitzPlot | ( | ) | const |
EvtDalitzCoord EvtDalitzPoint::getDalitzPoint | ( | EvtCyclic3::Pair | i, | |
EvtCyclic3::Pair | j | |||
) | const |
bool EvtDalitzPoint::isValid | ( | ) | const |
Definition at line 156 of file EvtDalitzPoint.cc.
References _mA, _mB, _mC, _qAB, _qBC, EvtCyclic3::AB, EvtCyclic3::BC, bigM(), getDalitzPlot(), EvtDalitzPlot::qAbsMax(), EvtDalitzPlot::qAbsMin(), qMax(), and qMin().
Referenced by EvtPto3P::initDaughters(), and EvtDalitzResPdf::randomPoint().
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 }
double EvtDalitzPoint::m | ( | EvtCyclic3::Index | ) | const |
Definition at line 80 of file EvtDalitzPoint.cc.
References _mA, _mB, _mC, EvtCyclic3::B, and EvtCyclic3::C.
Referenced by pp().
00081 { 00082 double ret = _mA; 00083 if(B == i) ret = _mB; 00084 else 00085 if(C == i) ret = _mC; 00086 00087 return ret; 00088 }
double EvtDalitzPoint::p | ( | EvtCyclic3::Index | i, | |
EvtCyclic3::Pair | j | |||
) | const |
Definition at line 132 of file EvtDalitzPoint.cc.
References getDalitzPlot(), EvtDalitzPlot::p(), and q().
Referenced by EvtPto3P::initDaughters().
00133 { 00134 EvtDalitzPlot dp = getDalitzPlot(); 00135 return dp.p(i,j,q(j)); 00136 }
double EvtDalitzPoint::pp | ( | EvtCyclic3::Index | i, | |
EvtCyclic3::Index | j | |||
) | const |
void EvtDalitzPoint::print | ( | ) | const |
Definition at line 182 of file EvtDalitzPoint.cc.
References _qAB, _qBC, _qCA, getDalitzPlot(), and EvtDalitzPlot::print().
00183 { 00184 getDalitzPlot().print(); 00185 printf("%f %f %f\n",_qAB,_qBC,_qCA); 00186 }
double EvtDalitzPoint::q | ( | EvtCyclic3::Pair | ) | const |
Definition at line 70 of file EvtDalitzPoint.cc.
References _qAB, _qBC, _qCA, EvtCyclic3::BC, and EvtCyclic3::CA.
Referenced by cosTh(), e(), getDalitzPoint(), p(), pp(), qhel(), qMax(), qMin(), and qres().
00071 { 00072 double ret = _qAB; 00073 if(BC == i) ret = _qBC; 00074 else 00075 if(CA == i) ret = _qCA; 00076 00077 return ret; 00078 }
double EvtDalitzPoint::qhel | ( | EvtCyclic3::Pair | i | ) | const |
Definition at line 96 of file EvtDalitzPoint.cc.
References ganga-rec::j, next, EvtCyclic3::prev(), and q().
double EvtDalitzPoint::qMax | ( | EvtCyclic3::Pair | i, | |
EvtCyclic3::Pair | j | |||
) | const |
Definition at line 114 of file EvtDalitzPoint.cc.
References getDalitzPlot(), q(), and EvtDalitzPlot::qMax().
Referenced by isValid().
00115 { 00116 EvtDalitzPlot dp = getDalitzPlot(); 00117 return dp.qMax(i,j,q(j)); 00118 }
double EvtDalitzPoint::qMin | ( | EvtCyclic3::Pair | i, | |
EvtCyclic3::Pair | j | |||
) | const |
Definition at line 108 of file EvtDalitzPoint.cc.
References getDalitzPlot(), q(), and EvtDalitzPlot::qMin().
Referenced by isValid().
00109 { 00110 EvtDalitzPlot dp = getDalitzPlot(); 00111 return dp.qMin(i,j,q(j)); 00112 }
double EvtDalitzPoint::qres | ( | EvtCyclic3::Pair | i | ) | const |
Definition at line 92 of file EvtDalitzPoint.cc.
References EvtCyclic3::next(), EvtCyclic3::prev(), and q().
00093 { 00094 return (2.*q(i) - q(EvtCyclic3::prev(i)) - q(EvtCyclic3::next(i)))/3.; 00095 }
double EvtDalitzPoint::qsum | ( | ) | const |
double EvtDalitzPoint::_mA [private] |
Definition at line 72 of file EvtDalitzPoint.hh.
Referenced by bigM(), getDalitzPlot(), isValid(), and m().
double EvtDalitzPoint::_mB [private] |
Definition at line 72 of file EvtDalitzPoint.hh.
Referenced by bigM(), getDalitzPlot(), isValid(), and m().
double EvtDalitzPoint::_mC [private] |
Definition at line 72 of file EvtDalitzPoint.hh.
Referenced by bigM(), getDalitzPlot(), isValid(), and m().
double EvtDalitzPoint::_qAB [private] |
Definition at line 73 of file EvtDalitzPoint.hh.
Referenced by bigM(), EvtDalitzPoint(), isValid(), print(), q(), and qsum().
double EvtDalitzPoint::_qBC [private] |
Definition at line 73 of file EvtDalitzPoint.hh.
Referenced by bigM(), EvtDalitzPoint(), isValid(), print(), q(), and qsum().
double EvtDalitzPoint::_qCA [private] |
Definition at line 73 of file EvtDalitzPoint.hh.
Referenced by bigM(), EvtDalitzPoint(), print(), q(), and qsum().