#include <EvtDalitzPlot.hh>
Public Member Functions | |
EvtDalitzPlot () | |
EvtDalitzPlot (double mA, double mB, double mC, double bigM, double ldel=0., double rdel=0.) | |
EvtDalitzPlot (const EvtDecayMode &mode, double ldel=0., double rdel=0.) | |
EvtDalitzPlot (const EvtDalitzPlot &other) | |
~EvtDalitzPlot () | |
bool | operator== (const EvtDalitzPlot &other) const |
const EvtDalitzPlot * | clone () const |
double | qAbsMin (EvtCyclic3::Pair i) const |
double | qAbsMax (EvtCyclic3::Pair i) const |
double | mAbsMin (EvtCyclic3::Pair i) const |
double | mAbsMax (EvtCyclic3::Pair i) const |
double | qResAbsMin (EvtCyclic3::Pair i) const |
double | qResAbsMax (EvtCyclic3::Pair i) const |
double | qHelAbsMin (EvtCyclic3::Pair i) const |
double | qHelAbsMax (EvtCyclic3::Pair i) const |
double | qSumMin () const |
double | qSumMax () const |
bool | fuzzy () const |
double | getArea (int N=1000, EvtCyclic3::Pair i=EvtCyclic3::AB, EvtCyclic3::Pair j=EvtCyclic3::BC) const |
double | qMin (EvtCyclic3::Pair i, EvtCyclic3::Pair j, double q) const |
double | qMax (EvtCyclic3::Pair i, EvtCyclic3::Pair j, double q) const |
double | cosTh (EvtCyclic3::Pair i1, double q1, EvtCyclic3::Pair i2, double q2) const |
double | e (EvtCyclic3::Index i, EvtCyclic3::Pair j, double q) const |
double | p (EvtCyclic3::Index i, EvtCyclic3::Pair j, double q) const |
double | q (EvtCyclic3::Pair i1, double cosTh, EvtCyclic3::Pair i2, double q2) const |
double | jacobian (EvtCyclic3::Pair i, double q) const |
EvtTwoBodyVertex | vD (EvtCyclic3::Pair iRes, double m0, int L) const |
EvtTwoBodyVertex | vB (EvtCyclic3::Pair iRes, double m0, int L) const |
double | sum () const |
double | bigM () const |
double | mA () const |
double | mB () const |
double | mC () const |
double | m (EvtCyclic3::Index i) const |
void | print () const |
void | sanityCheck () const |
Protected Attributes | |
double | _mA |
double | _mB |
double | _mC |
double | _bigM |
double | _ldel |
double | _rdel |
Definition at line 25 of file EvtDalitzPlot.hh.
EvtDalitzPlot::EvtDalitzPlot | ( | ) |
EvtDalitzPlot::EvtDalitzPlot | ( | double | mA, | |
double | mB, | |||
double | mC, | |||
double | bigM, | |||
double | ldel = 0. , |
|||
double | rdel = 0. | |||
) |
Definition at line 39 of file EvtDalitzPlot.cc.
References sanityCheck().
00041 : _mA(mA), _mB(mB), _mC(mC), _bigM(bigM), 00042 _ldel(ldel), _rdel(rdel) 00043 { 00044 sanityCheck(); 00045 }
EvtDalitzPlot::EvtDalitzPlot | ( | const EvtDecayMode & | mode, | |
double | ldel = 0. , |
|||
double | rdel = 0. | |||
) |
Definition at line 47 of file EvtDalitzPlot.cc.
References _bigM, _ldel, _mA, _mB, _mC, _rdel, EvtCyclic3::A, EvtCyclic3::B, EvtCyclic3::C, EvtDecayMode::dau(), EvtPDL::getId(), EvtPDL::getMeanMass(), EvtDecayMode::mother(), and sanityCheck().
00048 { 00049 _mA = EvtPDL::getMeanMass(EvtPDL::getId(mode.dau(A))); 00050 _mB = EvtPDL::getMeanMass(EvtPDL::getId(mode.dau(B))); 00051 _mC = EvtPDL::getMeanMass(EvtPDL::getId(mode.dau(C))); 00052 _bigM = EvtPDL::getMeanMass(EvtPDL::getId(mode.mother())); 00053 00054 _ldel = ldel; 00055 _rdel = rdel; 00056 00057 sanityCheck(); 00058 }
EvtDalitzPlot::EvtDalitzPlot | ( | const EvtDalitzPlot & | other | ) |
EvtDalitzPlot::~EvtDalitzPlot | ( | ) |
double EvtDalitzPlot::bigM | ( | ) | const [inline] |
Definition at line 92 of file EvtDalitzPlot.hh.
References _bigM.
Referenced by EvtDalitzReso::evaluate(), and print().
00092 { return _bigM; }
const EvtDalitzPlot * EvtDalitzPlot::clone | ( | ) | const |
Definition at line 83 of file EvtDalitzPlot.cc.
References EvtDalitzPlot().
00084 { 00085 return new EvtDalitzPlot(*this); 00086 }
double EvtDalitzPlot::cosTh | ( | EvtCyclic3::Pair | i1, | |
double | q1, | |||
EvtCyclic3::Pair | i2, | |||
double | q2 | |||
) | const |
Definition at line 260 of file EvtDalitzPlot.cc.
References cos(), qMax(), and qMin().
Referenced by EvtDalitzPoint::cosTh().
00261 { 00262 if(i1 == i2) return 1.; 00263 00264 double qmax = qMax(i1,i2,q2); 00265 double qmin = qMin(i1,i2,q2); 00266 00267 double cos = (qmax + qmin - 2*q1)/(qmax - qmin); 00268 00269 return cos; 00270 }
double EvtDalitzPlot::e | ( | EvtCyclic3::Index | i, | |
EvtCyclic3::Pair | j, | |||
double | q | |||
) | const |
Referenced by EvtDalitzPoint::e(), and q().
bool EvtDalitzPlot::fuzzy | ( | ) | const [inline] |
double EvtDalitzPlot::getArea | ( | int | N = 1000 , |
|
EvtCyclic3::Pair | i = EvtCyclic3::AB , |
|||
EvtCyclic3::Pair | j = EvtCyclic3::BC | |||
) | const |
Referenced by EvtDalitzFlatPdf::compute_integral().
double EvtDalitzPlot::jacobian | ( | EvtCyclic3::Pair | i, | |
double | q | |||
) | const |
double EvtDalitzPlot::m | ( | EvtCyclic3::Index | i | ) | const |
Referenced by EvtDalitzReso::evaluate(), and q().
double EvtDalitzPlot::mA | ( | ) | const [inline] |
double EvtDalitzPlot::mAbsMax | ( | EvtCyclic3::Pair | i | ) | const |
double EvtDalitzPlot::mAbsMin | ( | EvtCyclic3::Pair | i | ) | const |
double EvtDalitzPlot::mB | ( | ) | const [inline] |
double EvtDalitzPlot::mC | ( | ) | const [inline] |
bool EvtDalitzPlot::operator== | ( | const EvtDalitzPlot & | other | ) | const |
double EvtDalitzPlot::p | ( | EvtCyclic3::Index | i, | |
EvtCyclic3::Pair | j, | |||
double | q | |||
) | const |
Referenced by jacobian(), EvtDalitzPoint::p(), and q().
void EvtDalitzPlot::print | ( | ) | const |
Definition at line 338 of file EvtDalitzPlot.cc.
References _mA, _mB, _mC, EvtCyclic3::AB, EvtCyclic3::BC, bigM(), EvtCyclic3::CA, qAbsMax(), qAbsMin(), qSumMax(), qSumMin(), and sum().
Referenced by EvtDalitzPoint::print().
00339 { 00340 // masses 00341 printf("Mass M %f\n",bigM()); 00342 printf("Mass mA %f\n",_mA); 00343 printf("Mass mB %f\n",_mB); 00344 printf("Mass mC %f\n",_mC); 00345 // limits 00346 printf("Limits qAB %f : %f\n",qAbsMin(AB),qAbsMax(AB)); 00347 printf("Limits qBC %f : %f\n",qAbsMin(BC),qAbsMax(BC)); 00348 printf("Limits qCA %f : %f\n",qAbsMin(CA),qAbsMax(CA)); 00349 printf("Sum q %f\n",sum()); 00350 printf("Limit qsum %f : %f\n",qSumMin(),qSumMax()); 00351 }
double EvtDalitzPlot::q | ( | EvtCyclic3::Pair | i1, | |
double | cosTh, | |||
EvtCyclic3::Pair | i2, | |||
double | q2 | |||
) | const |
Definition at line 309 of file EvtDalitzPlot.cc.
References e(), first, m(), p(), s, and EvtCyclic3::second().
00310 { 00311 if(i1 == i2) return q2; 00312 00313 EvtCyclic3::Index f = first(i1); 00314 EvtCyclic3::Index s = second(i1); 00315 return m(f)*m(f) + m(s)*m(s) + 2*e(f,i2,q2)*e(s,i2,q2) - 2*p(f,i2,q2)*p(s,i2,q2)*cosTh; 00316 }
double EvtDalitzPlot::qAbsMax | ( | EvtCyclic3::Pair | i | ) | const |
double EvtDalitzPlot::qAbsMin | ( | EvtCyclic3::Pair | i | ) | const |
double EvtDalitzPlot::qHelAbsMax | ( | EvtCyclic3::Pair | i | ) | const |
double EvtDalitzPlot::qHelAbsMin | ( | EvtCyclic3::Pair | i | ) | const |
double EvtDalitzPlot::qMax | ( | EvtCyclic3::Pair | i, | |
EvtCyclic3::Pair | j, | |||
double | q | |||
) | const |
Referenced by EvtDalitzResPdf::compute_integral(), cosTh(), and EvtDalitzPoint::qMax().
double EvtDalitzPlot::qMin | ( | EvtCyclic3::Pair | i, | |
EvtCyclic3::Pair | j, | |||
double | q | |||
) | const |
Referenced by EvtDalitzResPdf::compute_integral(), cosTh(), and EvtDalitzPoint::qMin().
double EvtDalitzPlot::qResAbsMax | ( | EvtCyclic3::Pair | i | ) | const |
double EvtDalitzPlot::qResAbsMin | ( | EvtCyclic3::Pair | i | ) | const |
double EvtDalitzPlot::qSumMax | ( | ) | const [inline] |
double EvtDalitzPlot::qSumMin | ( | ) | const [inline] |
void EvtDalitzPlot::sanityCheck | ( | ) | const |
Definition at line 89 of file EvtDalitzPlot.cc.
References _bigM, _ldel, _mA, _mB, _mC, and _rdel.
Referenced by EvtDalitzPlot().
00090 { 00091 if(_mA < 0 || _mB < 0 || _mC < 0 || _bigM <= 0 || _bigM - _mA - _mB - _mC < 0.) { 00092 00093 printf("Invalid Dalitz plot %f %f %f %f\n",_mA,_mB,_mC,_bigM); 00094 assert(0); 00095 } 00096 assert(_ldel <= 0.); 00097 assert(_rdel >= 0.); 00098 }
double EvtDalitzPlot::sum | ( | ) | const |
Definition at line 112 of file EvtDalitzPlot.cc.
References _bigM, _mA, _mB, and _mC.
Referenced by EvtDalitzPoint::EvtDalitzPoint(), print(), qResAbsMax(), qResAbsMin(), qSumMax(), and qSumMin().
EvtTwoBodyVertex EvtDalitzPlot::vB | ( | EvtCyclic3::Pair | iRes, | |
double | m0, | |||
int | L | |||
) | const |
EvtTwoBodyVertex EvtDalitzPlot::vD | ( | EvtCyclic3::Pair | iRes, | |
double | m0, | |||
int | L | |||
) | const |
double EvtDalitzPlot::_bigM [protected] |
Definition at line 110 of file EvtDalitzPlot.hh.
Referenced by bigM(), EvtDalitzPlot(), operator==(), sanityCheck(), and sum().
double EvtDalitzPlot::_ldel [protected] |
Definition at line 114 of file EvtDalitzPlot.hh.
Referenced by EvtDalitzPlot(), fuzzy(), qSumMin(), and sanityCheck().
double EvtDalitzPlot::_mA [protected] |
Definition at line 107 of file EvtDalitzPlot.hh.
Referenced by EvtDalitzPlot(), mA(), operator==(), print(), sanityCheck(), and sum().
double EvtDalitzPlot::_mB [protected] |
Definition at line 108 of file EvtDalitzPlot.hh.
Referenced by EvtDalitzPlot(), mB(), operator==(), print(), sanityCheck(), and sum().
double EvtDalitzPlot::_mC [protected] |
Definition at line 109 of file EvtDalitzPlot.hh.
Referenced by EvtDalitzPlot(), mC(), operator==(), print(), sanityCheck(), and sum().
double EvtDalitzPlot::_rdel [protected] |
Definition at line 115 of file EvtDalitzPlot.hh.
Referenced by EvtDalitzPlot(), fuzzy(), qSumMax(), and sanityCheck().