|
Laura++
v3r3
A maximum likelihood fitting package for performing Dalitz-plot analysis.
|
Class for calculating 3-body kinematic quantities.
More...
#include <LauKinematics.hh>
|
| LauKinematics (const Double_t m1, const Double_t m2, const Double_t m3, const Double_t mParent, const Bool_t calcSquareDPCoords=kFALSE, const Bool_t symmetricalDP=kFALSE, const Bool_t fullySymmetricDP=kFALSE) |
| Constructor. More...
|
|
virtual | ~LauKinematics () |
| Destructor. More...
|
|
void | squareDP (const Bool_t calcSquareDPCoords) |
| Enable/disable the calculation of square Dalitz plot co-ordinates. More...
|
|
Bool_t | squareDP () const |
| Are the square Dalitz plot co-ordinates being calculated? More...
|
|
Bool_t | gotSymmetricalDP () const |
| Is the DP symmetric? More...
|
|
Bool_t | gotFullySymmetricDP () const |
| Is the DP fully symmetric? More...
|
|
void | warningMessages (const Bool_t boolean) |
| Enable/disable warning messages. More...
|
|
void | updateKinematics (const Double_t m13Sq, const Double_t m23Sq) |
| Update all kinematic quantities based on the DP co-ordinates m13Sq and m23Sq. More...
|
|
void | updateSqDPKinematics (const Double_t mPrime, const Double_t thetaPrime) |
| Update all kinematic quantities based on the square DP co-ordinates m' and theta'. More...
|
|
void | updateKinematicsFrom23 (const Double_t m23, const Double_t c23) |
| Update all kinematic quantities based on m23 and cos(theta23) More...
|
|
void | updateKinematicsFrom13 (const Double_t m13, const Double_t c13) |
| Update all kinematic quantities based on m13 and cos(theta13) More...
|
|
void | updateKinematicsFrom12 (const Double_t m12, const Double_t c12) |
| Update all kinematic quantities based on m12 and cos(theta12) More...
|
|
Double_t | calcSqDPJacobian (const Double_t mPrime, const Double_t thPrime) const |
| Calculate the Jacobian for the transformation m23^2, m13^2 -> m', theta' (square DP) at the given point in the square DP. More...
|
|
Double_t | calcSqDPJacobian () const |
| Calculate the Jacobian for the transformation m23^2, m13^2 -> m', theta' (square DP) at the currently stored point in the square DP. More...
|
|
void | genFlatPhaseSpace (Double_t &m13Sq, Double_t &m23Sq) const |
| Routine to generate events flat in phase-space. More...
|
|
void | genFlatSqDP (Double_t &mPrime, Double_t &thetaPrime) const |
| Routine to generate events flat in the square Dalitz plot. More...
|
|
Bool_t | withinDPLimits (const Double_t m13Sq, const Double_t m23Sq) const |
| Check whether a given (m13Sq,m23Sq) point is within the kinematic limits of the Dalitz plot. More...
|
|
Bool_t | withinDPLimits2 (const Double_t m13Sq, const Double_t m23Sq) const |
| Check whether a given (m13Sq,m23Sq) point is within the kinematic limits of the Dalitz plot (alternate method) More...
|
|
Bool_t | withinSqDPLimits (const Double_t mPrime, const Double_t thetaPrime) const |
| Check whether a given (m',theta') point is within the kinematic limits of the Dalitz plot. More...
|
|
Double_t | calcThirdMassSq (const Double_t firstMassSq, const Double_t secondMassSq) const |
| Calculate the third invariant mass square from the two provided (e.g. mjkSq from mijSq and mikSq) More...
|
|
Double_t | distanceFromDPCentre () const |
| Calculate the distance from the currently set (m13Sq, m23Sq) point to the centre of the Dalitz plot (which is defined as the point where m12=m13=m23) More...
|
|
Double_t | distanceFromDPCentre (const Double_t m13Sq, const Double_t m23Sq) const |
| Calculate the distance from a given (m13Sq, m23Sq) point to the centre of the Dalitz plot (which is defined as the point where m12=m13=m23) More...
|
|
Double_t | getm12 () const |
| Get the m12 invariant mass. More...
|
|
Double_t | getm23 () const |
| Get the m23 invariant mass. More...
|
|
Double_t | getm13 () const |
| Get the m13 invariant mass. More...
|
|
Double_t | getm12Sq () const |
| Get the m12 invariant mass square. More...
|
|
Double_t | getm23Sq () const |
| Get the m23 invariant mass square. More...
|
|
Double_t | getm13Sq () const |
| Get the m13 invariant mass square. More...
|
|
Double_t | getc12 () const |
| Get the cosine of the helicity angle theta12. More...
|
|
Double_t | getc23 () const |
| Get the cosine of the helicity angle theta23. More...
|
|
Double_t | getc13 () const |
| Get the cosine of the helicity angle theta13. More...
|
|
Double_t | getmPrime () const |
| Get m' value. More...
|
|
Double_t | getThetaPrime () const |
| Get theta' value. More...
|
|
Double_t | getmParent () const |
| Get parent mass. More...
|
|
Double_t | getmParentSq () const |
| Get parent mass squared. More...
|
|
Double_t | getDPBoxArea () const |
| Get the box area defined from the kinematic bounds. More...
|
|
void | flipAndUpdateKinematics () |
| Flips the DP variables m13^2 <-> m23^2 and recalculates all kinematic quantities. More...
|
|
void | rotateAndUpdateKinematics () |
| Cyclically rotates the DP variables (m12 -> m23, m23 -> m13, m13 -> m12) and recalculates all kinematic quantities. More...
|
|
Double_t | getm1 () const |
| Get the m1 mass. More...
|
|
Double_t | getm2 () const |
| Get the m2 mass. More...
|
|
Double_t | getm3 () const |
| Get the m3 mass. More...
|
|
Double_t | getm23Min () const |
| Get the m23 minimum defined as (m2 + m3) More...
|
|
Double_t | getm13Min () const |
| Get the m13 minimum defined as (m1 + m3) More...
|
|
Double_t | getm12Min () const |
| Get the m12 minimum defined as (m1 + m2) More...
|
|
Double_t | getm23Max () const |
| Get the m23 maximum defined as (mParent - m1) More...
|
|
Double_t | getm13Max () const |
| Get the m13 maximum defined as (mParent - m2) More...
|
|
Double_t | getm12Max () const |
| Get the m12 maximum defined as (mParent - m3) More...
|
|
Double_t | getm23SqMin () const |
| Get the m23Sq minimum, (m2 + m3)^2. More...
|
|
Double_t | getm13SqMin () const |
| Get the m13Sq minimum, (m1 + m3)^2. More...
|
|
Double_t | getm12SqMin () const |
| Get the m12Sq minimum, (m1 + m2)^2. More...
|
|
Double_t | getm23SqMax () const |
| Get the m23Sq maximum, (mParent - m1)^2. More...
|
|
Double_t | getm13SqMax () const |
| Get the m13Sq maximum, (mParent - m2)^2. More...
|
|
Double_t | getm12SqMax () const |
| Get the m12Sq maximum, (mParent - m3)^2. More...
|
|
Double_t | getp1_12 () const |
| Get the momentum of the track 1 in 12 rest frame. More...
|
|
Double_t | getp3_12 () const |
| Get the momentum of the track 3 in 12 rest frame. More...
|
|
Double_t | getp2_23 () const |
| Get the momentum of the track 2 in 23 rest frame. More...
|
|
Double_t | getp1_23 () const |
| Get the momentum of the track 1 in 23 rest frame. More...
|
|
Double_t | getp1_13 () const |
| Get the momentum of the track 1 in 13 rest frame. More...
|
|
Double_t | getp2_13 () const |
| Get the momentum of the track 2 in 13 rest frame. More...
|
|
Double_t | getp1_Parent () const |
| Get the momentum of the track 1 in parent rest frame. More...
|
|
Double_t | getp2_Parent () const |
| Get the momentum of the track 2 in parent rest frame. More...
|
|
Double_t | getp3_Parent () const |
| Get the momentum of the track 3 in parent rest frame. More...
|
|
void | drawDPContour (const Int_t orientation=1323, const Int_t nbins=100) |
| Method to draw the Dalitz plot contours on the top of the histo previously drawn. More...
|
|
Double_t | getcov12 () const |
| Get covariant factor in 12 axis. More...
|
|
Double_t | getcov13 () const |
| Get covariant factor in 13 axis. More...
|
|
Double_t | getcov23 () const |
| Get covariant factor in 23 axis. More...
|
|
|
void | updateMassSq_m12 (const Double_t m12, const Double_t c12) |
| Update the variables m23Sq_ and m13Sq_ given the invariant mass m12 and the cosine of the helicity angle c12. More...
|
|
void | updateMassSq_m23 (const Double_t m23, const Double_t c23) |
| Update the variables m12Sq_ and m13Sq_ given the invariant mass m23 and the cosine of the helicity angle c23. More...
|
|
void | updateMassSq_m13 (const Double_t m13, const Double_t c13) |
| Update the variables m12Sq_ and m23Sq_ given the invariant mass m13 and the cosine of the helicity angle c13. More...
|
|
void | updateMassSquares (const Double_t m13Sq, const Double_t m23Sq) |
| Update some kinematic quantities based on the DP co-ordinates m13Sq and m23Sq. More...
|
|
void | updateSqDPMassSquares (const Double_t mPrime, const Double_t thetaPrime) |
| Update some kinematic quantities based on the square DP co-ordinates m' and theta'. More...
|
|
Double_t | cFromM (const Double_t mijSq, const Double_t mikSq, const Double_t mij, const Int_t i, const Int_t j, const Int_t k) const |
| General method to calculate the cos(helicity) variables from the masses of the particles. More...
|
|
Double_t | mFromC (const Double_t mijSq, const Double_t cij, const Double_t mij, const Int_t i, const Int_t j, const Int_t k) const |
| General method to calculate mikSq given mijSq and cosHel_ij. More...
|
|
Double_t | pCalc (const Double_t energy, const Double_t massSq) const |
| General method to calculate the momentum of a particle, given its energy and invariant mass squared. More...
|
|
Double_t | genm13Sq () const |
| Randomly generate the invariant mass squared m13Sq. More...
|
|
Double_t | genm23Sq () const |
| Randomly generate the invariant mass squared m23Sq. More...
|
|
Double_t | genm12Sq () const |
| Randomly generate the invariant mass squared m12Sq. More...
|
|
void | calcm12Sq () |
| Calculate m12Sq from m13Sq and m23Sq. More...
|
|
void | calcHelicities () |
| Calculate cosines of the helicity angles, momenta of daughters and bachelor in various ij rest frames. More...
|
|
void | calcSqDPVars () |
| Calculate the m' and theta' variables for the square Dalitz plot. More...
|
|
void | calcParentFrameMomenta () |
| Calculate the momenta of each daughter in the parent rest frame. More...
|
|
Class for calculating 3-body kinematic quantities.
Class for defining the many routines related to the three body kinematics. Given the two DP co-ordinates, all other useful quantities e.g. the helicity angles are calculated. Optionally, the so-called ``square Dalitz plot'' quantities can also be calculated.
Definition at line 31 of file LauKinematics.hh.
LauKinematics::LauKinematics |
( |
const Double_t |
m1, |
|
|
const Double_t |
m2, |
|
|
const Double_t |
m3, |
|
|
const Double_t |
mParent, |
|
|
const Bool_t |
calcSquareDPCoords = kFALSE , |
|
|
const Bool_t |
symmetricalDP = kFALSE , |
|
|
const Bool_t |
fullySymmetricDP = kFALSE |
|
) |
| |
Constructor.
- Parameters
-
[in] | m1 | the first daughter mass |
[in] | m2 | the second daughter mass |
[in] | m3 | the third daughter mass |
[in] | mParent | the parent particle mass |
[in] | calcSquareDPCoords | boolean flag to enable/disable calculation of the square Dalitz plot co-ordinates |
[in] | symmetricalDP | boolean flag to indicate whether the DP is symmetric (i.e. two identical particle in final state) |
[in] | fullySymmetricDP | boolean flag to indicate whether the DP is fully symmetric (i.e. all three final-state particles are identical) |
Definition at line 28 of file LauKinematics.cc.
LauKinematics::~LauKinematics |
( |
| ) |
|
|
virtual |
Copy constructor (not implemented)
void LauKinematics::calcHelicities |
( |
| ) |
|
|
protected |
Calculate cosines of the helicity angles, momenta of daughters and bachelor in various ij rest frames.
Definition at line 226 of file LauKinematics.cc.
void LauKinematics::calcm12Sq |
( |
| ) |
|
|
protected |
void LauKinematics::calcParentFrameMomenta |
( |
| ) |
|
|
protected |
Calculate the momenta of each daughter in the parent rest frame.
Definition at line 215 of file LauKinematics.cc.
Double_t LauKinematics::calcSqDPJacobian |
( |
const Double_t |
mPrime, |
|
|
const Double_t |
thPrime |
|
) |
| const |
Calculate the Jacobian for the transformation m23^2, m13^2 -> m', theta' (square DP) at the given point in the square DP.
- Parameters
-
[in] | mPrime | the m' co-ordinate |
[in] | thPrime | the theta' co-ordinate |
- Returns
- the jacobian of the transformation
Definition at line 134 of file LauKinematics.cc.
Double_t LauKinematics::calcSqDPJacobian |
( |
| ) |
const |
Calculate the Jacobian for the transformation m23^2, m13^2 -> m', theta' (square DP) at the currently stored point in the square DP.
- Returns
- the jacobian of the transformation
Definition at line 129 of file LauKinematics.cc.
void LauKinematics::calcSqDPVars |
( |
| ) |
|
|
protected |
Calculate the m' and theta' variables for the square Dalitz plot.
Definition at line 112 of file LauKinematics.cc.
Double_t LauKinematics::calcThirdMassSq |
( |
const Double_t |
firstMassSq, |
|
|
const Double_t |
secondMassSq |
|
) |
| const |
Calculate the third invariant mass square from the two provided (e.g. mjkSq from mijSq and mikSq)
- Parameters
-
[in] | firstMassSq | the first invariant mass squared |
[in] | secondMassSq | the second invariant mass squared |
- Returns
- the third invariant mass square
Definition at line 439 of file LauKinematics.cc.
Double_t LauKinematics::cFromM |
( |
const Double_t |
mijSq, |
|
|
const Double_t |
mikSq, |
|
|
const Double_t |
mij, |
|
|
const Int_t |
i, |
|
|
const Int_t |
j, |
|
|
const Int_t |
k |
|
) |
| const |
|
protected |
General method to calculate the cos(helicity) variables from the masses of the particles.
- Parameters
-
[in] | mijSq | the mij invariant mass square |
[in] | mikSq | the mik invariant mass square |
[in] | mij | the mij invariant mass |
[in] | i | the index for the first track |
[in] | j | the index for the second track |
[in] | k | the index for the third track |
- Returns
- helicity angle in the ij rest frame
Definition at line 244 of file LauKinematics.cc.
Double_t LauKinematics::distanceFromDPCentre |
( |
| ) |
const |
Calculate the distance from the currently set (m13Sq, m23Sq) point to the centre of the Dalitz plot (which is defined as the point where m12=m13=m23)
- Returns
- the distance to the DP centre
Definition at line 445 of file LauKinematics.cc.
Double_t LauKinematics::distanceFromDPCentre |
( |
const Double_t |
m13Sq, |
|
|
const Double_t |
m23Sq |
|
) |
| const |
Calculate the distance from a given (m13Sq, m23Sq) point to the centre of the Dalitz plot (which is defined as the point where m12=m13=m23)
- Returns
- the distance to the DP centre
Definition at line 450 of file LauKinematics.cc.
void LauKinematics::drawDPContour |
( |
const Int_t |
orientation = 1323 , |
|
|
const Int_t |
nbins = 100 |
|
) |
| |
Method to draw the Dalitz plot contours on the top of the histo previously drawn.
- Parameters
-
[in] | orientation | orientation used for the draw, with default set to 1323 that corresponds x = m13, y = m23 |
[in] | nbins | number of bins for the contour to be sampled over (default = 100) |
Definition at line 603 of file LauKinematics.cc.
void LauKinematics::flipAndUpdateKinematics |
( |
| ) |
|
Flips the DP variables m13^2 <-> m23^2 and recalculates all kinematic quantities.
Useful in the case of symmetrical Dalitz plots, i.e. when two final state particles are identical
Definition at line 483 of file LauKinematics.cc.
void LauKinematics::genFlatPhaseSpace |
( |
Double_t & |
m13Sq, |
|
|
Double_t & |
m23Sq |
|
) |
| const |
Routine to generate events flat in phase-space.
- Parameters
-
[out] | m13Sq | the invariant mass squared of daughters 1 and 3 |
[out] | m23Sq | the invariant mass squared of daughters 2 and 3 |
Definition at line 328 of file LauKinematics.cc.
void LauKinematics::genFlatSqDP |
( |
Double_t & |
mPrime, |
|
|
Double_t & |
thetaPrime |
|
) |
| const |
Routine to generate events flat in the square Dalitz plot.
- Parameters
-
[out] | mPrime | the m' variable |
[out] | thetaPrime | the theta' variable |
Definition at line 348 of file LauKinematics.cc.
Double_t LauKinematics::genm12Sq |
( |
| ) |
const |
|
protected |
Randomly generate the invariant mass squared m12Sq.
- Returns
- the invariant mass squared m12Sq
Definition at line 596 of file LauKinematics.cc.
Double_t LauKinematics::genm13Sq |
( |
| ) |
const |
|
protected |
Randomly generate the invariant mass squared m13Sq.
- Returns
- the invariant mass squared m13Sq
Definition at line 584 of file LauKinematics.cc.
Double_t LauKinematics::genm23Sq |
( |
| ) |
const |
|
protected |
Randomly generate the invariant mass squared m23Sq.
- Returns
- the invariant mass squared m23Sq
Definition at line 590 of file LauKinematics.cc.
Double_t LauKinematics::getc12 |
( |
| ) |
const |
|
inline |
Get the cosine of the helicity angle theta12.
theta12 is defined as the angle between 1&3 in the rest frame of 1&2
- Returns
- the cosine of the helicity angle theta12
Definition at line 235 of file LauKinematics.hh.
Double_t LauKinematics::getc13 |
( |
| ) |
const |
|
inline |
Get the cosine of the helicity angle theta13.
theta13 is defined as the angle between 3&2 in the rest frame of 1&3
- Returns
- the cosine of the helicity angle theta13
Definition at line 247 of file LauKinematics.hh.
Double_t LauKinematics::getc23 |
( |
| ) |
const |
|
inline |
Get the cosine of the helicity angle theta23.
theta23 is defined as the angle between 3&1 in the rest frame of 2&3
- Returns
- the cosine of the helicity angle theta23
Definition at line 241 of file LauKinematics.hh.
Double_t LauKinematics::getcov12 |
( |
| ) |
const |
|
inline |
Get covariant factor in 12 axis.
- Returns
- covariant factor in 12 axis
Definition at line 430 of file LauKinematics.hh.
Double_t LauKinematics::getcov13 |
( |
| ) |
const |
|
inline |
Get covariant factor in 13 axis.
- Returns
- covariant factor in 13 axis
Definition at line 436 of file LauKinematics.hh.
Double_t LauKinematics::getcov23 |
( |
| ) |
const |
|
inline |
Get covariant factor in 23 axis.
- Returns
- covariant factor in 23 axis
Definition at line 442 of file LauKinematics.hh.
Double_t LauKinematics::getDPBoxArea |
( |
| ) |
const |
|
inline |
Get the box area defined from the kinematic bounds.
The box area is defined as:
[(M-m3)^2 - (m1+m2)^2]*[(M-m2)^2 - (m1+m3)^2] .:. (m13SqMax - m13SqMin)*(m23SqMax - m23SqMin)
- Returns
- the Dalitz plot box area
Definition at line 278 of file LauKinematics.hh.
Double_t LauKinematics::getm1 |
( |
| ) |
const |
|
inline |
Double_t LauKinematics::getm12 |
( |
| ) |
const |
|
inline |
Get the m12 invariant mass.
- Returns
- the m12 invariant mass
Definition at line 202 of file LauKinematics.hh.
Double_t LauKinematics::getm12Max |
( |
| ) |
const |
|
inline |
Get the m12 maximum defined as (mParent - m3)
- Returns
- the maximum value for m12
Definition at line 338 of file LauKinematics.hh.
Double_t LauKinematics::getm12Min |
( |
| ) |
const |
|
inline |
Get the m12 minimum defined as (m1 + m2)
- Returns
- the minimum value for m12
Definition at line 322 of file LauKinematics.hh.
Double_t LauKinematics::getm12Sq |
( |
| ) |
const |
|
inline |
Get the m12 invariant mass square.
- Returns
- the m12 invariant mass square
Definition at line 218 of file LauKinematics.hh.
Double_t LauKinematics::getm12SqMax |
( |
| ) |
const |
|
inline |
Get the m12Sq maximum, (mParent - m3)^2.
- Returns
- the maximum value for m12Sq
Definition at line 370 of file LauKinematics.hh.
Double_t LauKinematics::getm12SqMin |
( |
| ) |
const |
|
inline |
Get the m12Sq minimum, (m1 + m2)^2.
- Returns
- the minimum value for m12Sq
Definition at line 354 of file LauKinematics.hh.
Double_t LauKinematics::getm13 |
( |
| ) |
const |
|
inline |
Get the m13 invariant mass.
- Returns
- the m13 invariant mass
Definition at line 212 of file LauKinematics.hh.
Double_t LauKinematics::getm13Max |
( |
| ) |
const |
|
inline |
Get the m13 maximum defined as (mParent - m2)
- Returns
- the maximum value for m13
Definition at line 333 of file LauKinematics.hh.
Double_t LauKinematics::getm13Min |
( |
| ) |
const |
|
inline |
Get the m13 minimum defined as (m1 + m3)
- Returns
- the minimum value for m13
Definition at line 317 of file LauKinematics.hh.
Double_t LauKinematics::getm13Sq |
( |
| ) |
const |
|
inline |
Get the m13 invariant mass square.
- Returns
- the m13 invariant mass square
Definition at line 228 of file LauKinematics.hh.
Double_t LauKinematics::getm13SqMax |
( |
| ) |
const |
|
inline |
Get the m13Sq maximum, (mParent - m2)^2.
- Returns
- the maximum value for m13Sq
Definition at line 365 of file LauKinematics.hh.
Double_t LauKinematics::getm13SqMin |
( |
| ) |
const |
|
inline |
Get the m13Sq minimum, (m1 + m3)^2.
- Returns
- the minimum value for m13Sq
Definition at line 349 of file LauKinematics.hh.
Double_t LauKinematics::getm2 |
( |
| ) |
const |
|
inline |
Double_t LauKinematics::getm23 |
( |
| ) |
const |
|
inline |
Get the m23 invariant mass.
- Returns
- the m23 invariant mass
Definition at line 207 of file LauKinematics.hh.
Double_t LauKinematics::getm23Max |
( |
| ) |
const |
|
inline |
Get the m23 maximum defined as (mParent - m1)
- Returns
- the maximum value for m23
Definition at line 328 of file LauKinematics.hh.
Double_t LauKinematics::getm23Min |
( |
| ) |
const |
|
inline |
Get the m23 minimum defined as (m2 + m3)
- Returns
- the minimum value for m23
Definition at line 312 of file LauKinematics.hh.
Double_t LauKinematics::getm23Sq |
( |
| ) |
const |
|
inline |
Get the m23 invariant mass square.
- Returns
- the m23 invariant mass square
Definition at line 223 of file LauKinematics.hh.
Double_t LauKinematics::getm23SqMax |
( |
| ) |
const |
|
inline |
Get the m23Sq maximum, (mParent - m1)^2.
- Returns
- the maximum value for m23Sq
Definition at line 360 of file LauKinematics.hh.
Double_t LauKinematics::getm23SqMin |
( |
| ) |
const |
|
inline |
Get the m23Sq minimum, (m2 + m3)^2.
- Returns
- the minimum value for m23Sq
Definition at line 344 of file LauKinematics.hh.
Double_t LauKinematics::getm3 |
( |
| ) |
const |
|
inline |
Double_t LauKinematics::getmParent |
( |
| ) |
const |
|
inline |
Double_t LauKinematics::getmParentSq |
( |
| ) |
const |
|
inline |
Get parent mass squared.
- Returns
- parent mass squared
Definition at line 269 of file LauKinematics.hh.
Double_t LauKinematics::getmPrime |
( |
| ) |
const |
|
inline |
Double_t LauKinematics::getp1_12 |
( |
| ) |
const |
|
inline |
Get the momentum of the track 1 in 12 rest frame.
- Returns
- the momentum of track 1 in 12 rest frame
Definition at line 376 of file LauKinematics.hh.
Double_t LauKinematics::getp1_13 |
( |
| ) |
const |
|
inline |
Get the momentum of the track 1 in 13 rest frame.
- Returns
- the momentum of track 1 in 13 rest frame
Definition at line 396 of file LauKinematics.hh.
Double_t LauKinematics::getp1_23 |
( |
| ) |
const |
|
inline |
Get the momentum of the track 1 in 23 rest frame.
- Returns
- the momentum of track 1 in 23 rest frame
Definition at line 391 of file LauKinematics.hh.
Double_t LauKinematics::getp1_Parent |
( |
| ) |
const |
|
inline |
Get the momentum of the track 1 in parent rest frame.
- Returns
- the momentum of track 1 in parent rest frame
Definition at line 407 of file LauKinematics.hh.
Double_t LauKinematics::getp2_13 |
( |
| ) |
const |
|
inline |
Get the momentum of the track 2 in 13 rest frame.
- Returns
- the momentum of track 2 in 13 rest frame
Definition at line 401 of file LauKinematics.hh.
Double_t LauKinematics::getp2_23 |
( |
| ) |
const |
|
inline |
Get the momentum of the track 2 in 23 rest frame.
- Returns
- the momentum of track 2 in 23 rest frame
Definition at line 386 of file LauKinematics.hh.
Double_t LauKinematics::getp2_Parent |
( |
| ) |
const |
|
inline |
Get the momentum of the track 2 in parent rest frame.
- Returns
- the momentum of track 2 in parent rest frame
Definition at line 412 of file LauKinematics.hh.
Double_t LauKinematics::getp3_12 |
( |
| ) |
const |
|
inline |
Get the momentum of the track 3 in 12 rest frame.
- Returns
- the momentum of track 3 in 12 rest frame
Definition at line 381 of file LauKinematics.hh.
Double_t LauKinematics::getp3_Parent |
( |
| ) |
const |
|
inline |
Get the momentum of the track 3 in parent rest frame.
- Returns
- the momentum of track 3 in parent rest frame
Definition at line 417 of file LauKinematics.hh.
Double_t LauKinematics::getThetaPrime |
( |
| ) |
const |
|
inline |
Bool_t LauKinematics::gotFullySymmetricDP |
( |
| ) |
const |
|
inline |
Is the DP fully symmetric?
- Returns
- kTRUE if the DP is fully symmetric (i.e. daughters 1, 2 and 3 are identical), kFALSE otherwise
Definition at line 72 of file LauKinematics.hh.
Bool_t LauKinematics::gotSymmetricalDP |
( |
| ) |
const |
|
inline |
Is the DP symmetric?
- Returns
- kTRUE if the DP is symmetric (i.e. daughters 1 and 2 are identical), kFALSE otherwise
Definition at line 66 of file LauKinematics.hh.
Double_t LauKinematics::mFromC |
( |
const Double_t |
mijSq, |
|
|
const Double_t |
cij, |
|
|
const Double_t |
mij, |
|
|
const Int_t |
i, |
|
|
const Int_t |
j, |
|
|
const Int_t |
k |
|
) |
| const |
|
protected |
General method to calculate mikSq given mijSq and cosHel_ij.
- Parameters
-
[in] | mijSq | the mij invariant mass square |
[in] | cij | the helicity angle for the pair which is made from tracks i and j |
[in] | mij | the mij invariant mass |
[in] | i | the index for the first track |
[in] | j | the index for the second track |
[in] | k | the index for the third track |
- Returns
- the invariant mass square mikSq
Definition at line 285 of file LauKinematics.cc.
Copy assignment operator (not implemented)
Double_t LauKinematics::pCalc |
( |
const Double_t |
energy, |
|
|
const Double_t |
massSq |
|
) |
| const |
|
protected |
General method to calculate the momentum of a particle, given its energy and invariant mass squared.
- Parameters
-
[in] | energy | the energy of the particle |
[in] | massSq | the invariant mass squared of the particle |
- Returns
- the momentum of the particle
Definition at line 466 of file LauKinematics.cc.
void LauKinematics::rotateAndUpdateKinematics |
( |
| ) |
|
Cyclically rotates the DP variables (m12 -> m23, m23 -> m13, m13 -> m12) and recalculates all kinematic quantities.
Useful in the case of a fully symmetric Dalitz plot, i.e. when all three final state particles are identical
Definition at line 492 of file LauKinematics.cc.
void LauKinematics::squareDP |
( |
const Bool_t |
calcSquareDPCoords | ) |
|
|
inline |
Enable/disable the calculation of square Dalitz plot co-ordinates.
- Parameters
-
[in] | calcSquareDPCoords | kTRUE/kFALSE to enable/disable calculation of the square DP co-ordinates |
Definition at line 54 of file LauKinematics.hh.
Bool_t LauKinematics::squareDP |
( |
| ) |
const |
|
inline |
Are the square Dalitz plot co-ordinates being calculated?
- Returns
- kTRUE if the square Dalitz plot co-ordinates are being calculated, kFALSE otherwise
Definition at line 60 of file LauKinematics.hh.
void LauKinematics::updateKinematics |
( |
const Double_t |
m13Sq, |
|
|
const Double_t |
m23Sq |
|
) |
| |
Update all kinematic quantities based on the DP co-ordinates m13Sq and m23Sq.
It can be useful to first check that the point is within the kinematic boundary (using LauKinematics::withinDPLimits) before calling this method.
- Parameters
-
[in] | m13Sq | the invariant mass squared of daughters 1 and 3 |
[in] | m23Sq | the invariant mass squared of daughters 2 and 3 |
Definition at line 86 of file LauKinematics.cc.
void LauKinematics::updateKinematicsFrom12 |
( |
const Double_t |
m12, |
|
|
const Double_t |
c12 |
|
) |
| |
Update all kinematic quantities based on m12 and cos(theta12)
- Parameters
-
[in] | m12 | the invariant mass of daughters 1 and 2 |
[in] | c12 | the cosine of the helicity angle theta12, |
- See Also
- getc12
Definition at line 569 of file LauKinematics.cc.
void LauKinematics::updateKinematicsFrom13 |
( |
const Double_t |
m13, |
|
|
const Double_t |
c13 |
|
) |
| |
Update all kinematic quantities based on m13 and cos(theta13)
- Parameters
-
[in] | m13 | the invariant mass of daughters 1 and 3 |
[in] | c13 | the cosine of the helicity angle theta13, |
- See Also
- getc13
Definition at line 554 of file LauKinematics.cc.
void LauKinematics::updateKinematicsFrom23 |
( |
const Double_t |
m23, |
|
|
const Double_t |
c23 |
|
) |
| |
Update all kinematic quantities based on m23 and cos(theta23)
- Parameters
-
[in] | m23 | the invariant mass of daughters 2 and 3 |
[in] | c23 | the cosine of the helicity angle theta23, |
- See Also
- getc23
Definition at line 539 of file LauKinematics.cc.
void LauKinematics::updateMassSq_m12 |
( |
const Double_t |
m12, |
|
|
const Double_t |
c12 |
|
) |
| |
|
protected |
Update the variables m23Sq_ and m13Sq_ given the invariant mass m12 and the cosine of the helicity angle c12.
- Parameters
-
[in] | m12 | the invariant mass m12 |
[in] | c12 | the cosine of the helicity angle c12 |
Definition at line 527 of file LauKinematics.cc.
void LauKinematics::updateMassSq_m13 |
( |
const Double_t |
m13, |
|
|
const Double_t |
c13 |
|
) |
| |
|
protected |
Update the variables m12Sq_ and m23Sq_ given the invariant mass m13 and the cosine of the helicity angle c13.
- Parameters
-
[in] | m13 | the invariant mass m13 |
[in] | c13 | the cosine of the helicity angle c13 |
Definition at line 514 of file LauKinematics.cc.
void LauKinematics::updateMassSq_m23 |
( |
const Double_t |
m23, |
|
|
const Double_t |
c23 |
|
) |
| |
|
protected |
Update the variables m12Sq_ and m13Sq_ given the invariant mass m23 and the cosine of the helicity angle c23.
- Parameters
-
[in] | m23 | the invariant mass m12 |
[in] | c23 | the cosine of the helicity angle c23 |
Definition at line 501 of file LauKinematics.cc.
void LauKinematics::updateMassSquares |
( |
const Double_t |
m13Sq, |
|
|
const Double_t |
m23Sq |
|
) |
| |
|
protected |
Update some kinematic quantities based on the DP co-ordinates m13Sq and m23Sq.
Only the three invariant masses and their squares, plus the parent rest-frame momenta are updated.
- Parameters
-
[in] | m13Sq | the invariant mass squared of daughters 1 and 3 |
[in] | m23Sq | the invariant mass squared of daughters 2 and 3 |
Definition at line 155 of file LauKinematics.cc.
void LauKinematics::updateSqDPKinematics |
( |
const Double_t |
mPrime, |
|
|
const Double_t |
thetaPrime |
|
) |
| |
Update all kinematic quantities based on the square DP co-ordinates m' and theta'.
It can be useful to first check that the point is within the kinematic boundary (using LauKinematics::withinSqDPLimits) before calling this method.
- Parameters
-
[in] | mPrime | the m' co-ordinate |
[in] | thetaPrime | the theta' co-ordinate |
Definition at line 103 of file LauKinematics.cc.
void LauKinematics::updateSqDPMassSquares |
( |
const Double_t |
mPrime, |
|
|
const Double_t |
thetaPrime |
|
) |
| |
|
protected |
Update some kinematic quantities based on the square DP co-ordinates m' and theta'.
Only m', theta', the three invariant masses and their squares, plus the parent rest-frame momenta are updated.
- Parameters
-
[in] | mPrime | the m' co-ordinate |
[in] | thetaPrime | the theta' co-ordinate |
Definition at line 178 of file LauKinematics.cc.
void LauKinematics::warningMessages |
( |
const Bool_t |
boolean | ) |
|
|
inline |
Bool_t LauKinematics::withinDPLimits |
( |
const Double_t |
m13Sq, |
|
|
const Double_t |
m23Sq |
|
) |
| const |
Check whether a given (m13Sq,m23Sq) point is within the kinematic limits of the Dalitz plot.
This method first checks that m13Sq is within its absolute min and max and then for the given m13Sq calculates the local min and max of m23Sq and checks whether the given m23Sq satisfies these bounds.
- Parameters
-
[in] | m13Sq | the invariant mass squared of daughters 1 and 3 |
[in] | m23Sq | the invariant mass squared of daughters 2 and 3 |
- Returns
- kTRUE if the event is inside the kinematic limit, kFALSE otherwise
Definition at line 355 of file LauKinematics.cc.
Bool_t LauKinematics::withinDPLimits2 |
( |
const Double_t |
m13Sq, |
|
|
const Double_t |
m23Sq |
|
) |
| const |
Check whether a given (m13Sq,m23Sq) point is within the kinematic limits of the Dalitz plot (alternate method)
This method first checks that m23Sq is within its absolute min and max and then for the given m23Sq calculates the local min and max of m13Sq and checks whether the given m13Sq satisfies these bounds.
- Parameters
-
[in] | m13Sq | the m13 invariant mass pair squared |
[in] | m23Sq | the m23 invariant mass pair squared |
- Returns
- kTRUE if the event is inside the kinematic limit, kFALSE otherwise
Definition at line 393 of file LauKinematics.cc.
Bool_t LauKinematics::withinSqDPLimits |
( |
const Double_t |
mPrime, |
|
|
const Double_t |
thetaPrime |
|
) |
| const |
Check whether a given (m',theta') point is within the kinematic limits of the Dalitz plot.
- Parameters
-
[in] | mPrime | the m' co-ordinate |
[in] | thetaPrime | the theta' co-ordinate |
- Returns
- kTRUE if the event is inside the kinematic limit, kFALSE otherwise
Definition at line 427 of file LauKinematics.cc.
Double_t LauKinematics::c12_ |
|
private |
Cosine of the helicity angle theta12, which is defined as the angle between 1&3 in the rest frame of 1&2.
Definition at line 614 of file LauKinematics.hh.
Double_t LauKinematics::c13_ |
|
private |
Cosine of the helicity angle theta13, which is defined as the angle between 1&2 in the rest frame of 1&3.
Definition at line 618 of file LauKinematics.hh.
Double_t LauKinematics::c23_ |
|
private |
Cosine of the helicity angle theta23, which is defined as the angle between 1&2 in the rest frame of 2&3.
Definition at line 616 of file LauKinematics.hh.
const Bool_t LauKinematics::fullySymmetricDP_ |
|
private |
Double_t LauKinematics::m12_ |
|
private |
Double_t LauKinematics::m12Sq_ |
|
private |
Double_t LauKinematics::m13_ |
|
private |
Double_t LauKinematics::m13Sq_ |
|
private |
const Double_t LauKinematics::m1_ |
|
private |
const Double_t LauKinematics::m1Sq_ |
|
private |
Double_t LauKinematics::m23_ |
|
private |
Double_t LauKinematics::m23Sq_ |
|
private |
const Double_t LauKinematics::m2_ |
|
private |
const Double_t LauKinematics::m2Sq_ |
|
private |
const Double_t LauKinematics::m3_ |
|
private |
const Double_t LauKinematics::m3Sq_ |
|
private |
std::vector<Double_t> LauKinematics::mass_ |
|
private |
const Double_t LauKinematics::massInt_ |
|
private |
Mass difference between the parent particle and the sum of the daughter particles.
Definition at line 595 of file LauKinematics.hh.
std::vector<Double_t> LauKinematics::mDiff_ |
|
private |
Vector of the difference between the mMax and mMin.
Definition at line 581 of file LauKinematics.hh.
const Double_t LauKinematics::mDTot_ |
|
private |
std::vector<Double_t> LauKinematics::mMax_ |
|
private |
std::vector<Double_t> LauKinematics::mMin_ |
|
private |
const Double_t LauKinematics::mParent_ |
|
private |
const Double_t LauKinematics::mParentSq_ |
|
private |
Double_t LauKinematics::mPrime_ |
|
private |
std::vector<Double_t> LauKinematics::mSq_ |
|
private |
std::vector<Double_t> LauKinematics::mSqDiff_ |
|
private |
Vector of the difference between the mSqMax and mSqMin.
Definition at line 590 of file LauKinematics.hh.
const Double_t LauKinematics::mSqDTot_ |
|
private |
std::vector<Double_t> LauKinematics::mSqMax_ |
|
private |
std::vector<Double_t> LauKinematics::mSqMin_ |
|
private |
Double_t LauKinematics::p1_12_ |
|
private |
Double_t LauKinematics::p1_13_ |
|
private |
Double_t LauKinematics::p1_23_ |
|
private |
Double_t LauKinematics::p1_Parent_ |
|
private |
Double_t LauKinematics::p2_13_ |
|
private |
Double_t LauKinematics::p2_23_ |
|
private |
Double_t LauKinematics::p2_Parent_ |
|
private |
Double_t LauKinematics::p3_12_ |
|
private |
Double_t LauKinematics::p3_Parent_ |
|
private |
Double_t LauKinematics::qi_ |
|
mutableprivate |
Double_t LauKinematics::qk_ |
|
mutableprivate |
Bool_t LauKinematics::squareDP_ |
|
private |
Should we calculate the square DP co-ordinates or not?
Definition at line 651 of file LauKinematics.hh.
const Bool_t LauKinematics::symmetricalDP_ |
|
private |
Double_t LauKinematics::thetaPrime_ |
|
private |
Bool_t LauKinematics::warnings_ |
|
private |
The documentation for this class was generated from the following files:
|