EvtDalitzPoint Class Reference

#include <EvtDalitzPoint.hh>

List of all members.

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


Detailed Description

Definition at line 27 of file EvtDalitzPoint.hh.


Constructor & Destructor Documentation

EvtDalitzPoint::EvtDalitzPoint (  ) 

Definition at line 18 of file EvtDalitzPoint.cc.

00019   : _mA(-1.), _mB(-1.), _mC(-1.), _qAB(-1.), _qBC(-1.), _qCA(-1.)
00020 {}

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

Definition at line 22 of file EvtDalitzPoint.cc.

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

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  ) 

Definition at line 62 of file EvtDalitzPoint.cc.

00063   : _mA(other._mA), _mB(other._mB), _mC(other._mC),
00064     _qAB(other._qAB), _qBC(other._qBC), _qCA(other._qCA)
00065 {}

EvtDalitzPoint::~EvtDalitzPoint (  ) 

Definition at line 67 of file EvtDalitzPoint.cc.

00068 {}


Member Function Documentation

double EvtDalitzPoint::bigM (  )  const

Definition at line 176 of file EvtDalitzPoint.cc.

References _mA, _mB, _mC, _qAB, _qBC, and _qCA.

Referenced by getDalitzPlot(), and isValid().

00177 {
00178   return sqrt(_qAB+_qBC+_qCA - _mA*_mA - _mB*_mB - _mC*_mC);
00179 }

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

Definition at line 151 of file EvtDalitzPoint.cc.

References _mA, _mB, _mC, and bigM().

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

00152 {
00153   return EvtDalitzPlot(_mA,_mB,_mC,bigM());
00154 }

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

Definition at line 145 of file EvtDalitzPoint.cc.

References q().

00146 {
00147   return EvtDalitzCoord(i,q(i),j,q(j));
00148 }

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

Definition at line 120 of file EvtDalitzPoint.cc.

References EvtCyclic3::combine(), m(), and q().

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 }

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().

00097 {
00098   Pair j = next(i);
00099   Pair k = prev(i);
00100   return (q(j) - q(k))/2.;
00101 }

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

Definition at line 102 of file EvtDalitzPoint.cc.

References _qAB, _qBC, and _qCA.

00103 {
00104   return _qAB + _qBC + _qCA;
00105 }


Member Data Documentation

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().


Generated on Tue Nov 29 23:18:57 2016 for BOSS_7.0.2 by  doxygen 1.4.7