laura is hosted by Hepforge, IPPP Durham
Laura++  v2r2p1
A maximum likelihood fitting package for performing Dalitz-plot analysis.

Class for calculating 3-body kinematic quantities. More...

#include <LauKinematics.hh>

Public Member Functions

 LauKinematics (Double_t m1, Double_t m2, Double_t m3, Double_t mParent, Bool_t calcSquareDPCoords=kFALSE)
 Constructor. More...
 
virtual ~LauKinematics ()
 Destructor. More...
 
Bool_t squareDP () const
 Are the square Dalitz plot co-ordinates being calculated? More...
 
void warningMessages (Bool_t boolean)
 Enable/disable warning messages. More...
 
void updateKinematics (Double_t m13Sq, Double_t m23Sq)
 Update all kinematic quantities based on the DP co-ordinates m13Sq and m23Sq. More...
 
void updateSqDPKinematics (Double_t mPrime, Double_t thetaPrime)
 Update all kinematic quantities based on the square DP co-ordinates m' and theta'. More...
 
Double_t calcSqDPJacobian ()
 Calculate the Jacobian for the transformation m23^2, m13^2 -> m', theta' (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 (Double_t m13Sq, Double_t m23Sq) const
 Check whether a given (m13Sq,m23Sq) point is within the kinematic limits of the Dalitz plot. More...
 
Bool_t withinDPLimits2 (Double_t m13Sq, 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 withinDPLimits () const
 Check whether the currently set (m13Sq,m23Sq) point is within the kinematic limits of the Dalitz plot. More...
 
Bool_t withinSqDPLimits (Double_t mPrime, Double_t thetaPrime) const
 Check whether a given (m',theta') point is within the kinematic limits of the Dalitz plot. More...
 
Double_t calcThirdMassSq (Double_t firstMassSq, 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 (Double_t m13Sq, 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...
 
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 (Int_t orientation=1323, Int_t nbins=100)
 Method to draw the Dalitz plot contours on the top of the histo previously drawn. More...
 

Protected Member Functions

void updateMassSq_m12 (Double_t m12, 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 (Double_t m23, 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 (Double_t m13, 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 (Double_t m13Sq, Double_t m23Sq)
 Update some kinematic quantities based on the DP co-ordinates m13Sq and m23Sq. More...
 
void updateSqDPMassSquares (Double_t mPrime, Double_t thetaPrime)
 Update some kinematic quantities based on the square DP co-ordinates m' and theta'. More...
 
Double_t cFromM (Double_t mijSq, Double_t mikSq, Double_t mij, Int_t i, Int_t j, Int_t k) const
 General method to calculate the cos(helicity) variables from the masses of the particles. More...
 
Double_t mFromC (Double_t mijSq, Double_t cij, Double_t mij, Int_t i, Int_t j, Int_t k) const
 General method to calculate mikSq given mijSq and cosHel_ij. More...
 
Double_t pCalc (Double_t energy, 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...
 

Private Attributes

const Double_t m1_
 Mass of particle 1. More...
 
const Double_t m2_
 Mass of particle 2. More...
 
const Double_t m3_
 Mass of particle 3. More...
 
const Double_t mParent_
 Mass of parent particle. More...
 
const Double_t m1Sq_
 Mass of particle 1 squared. More...
 
const Double_t m2Sq_
 Mass of particle 2 squared. More...
 
const Double_t m3Sq_
 Mass of particle 3 squared. More...
 
const Double_t mParentSq_
 Mass of parent particle squared. More...
 
std::vector< Double_t > mass_
 Vector of daughter particles masses. More...
 
std::vector< Double_t > mMin_
 Vector of the minimum mij values. More...
 
std::vector< Double_t > mMax_
 Vector of the maximum mij values. More...
 
std::vector< Double_t > mDiff_
 Vector of the difference between the mMax and mMin. More...
 
std::vector< Double_t > mSq_
 Vector of daughter particles masses squared. More...
 
std::vector< Double_t > mSqMin_
 Vector of the minimum mijSq values. More...
 
std::vector< Double_t > mSqMax_
 Vector of the maximum mijSq values. More...
 
std::vector< Double_t > mSqDiff_
 Vector of the difference between the mSqMax and mSqMin. More...
 
const Double_t mDTot_
 Sum of the daughter masses. More...
 
const Double_t massInt_
 Mass difference between the parent particle and the sum of the daughter particles. More...
 
const Double_t mSqDTot_
 Sum of the squares of the daughter masses. More...
 
Double_t m12_
 Invariant mass m12. More...
 
Double_t m23_
 Invariant mass m23. More...
 
Double_t m13_
 Invariant mass m13. More...
 
Double_t m12Sq_
 Invariant mass m12 squared. More...
 
Double_t m23Sq_
 Invariant mass m23 squared. More...
 
Double_t m13Sq_
 Invariant mass m13 squared. More...
 
Double_t c12_
 Cosine of the helicity angle theta12, which is defined as the angle between 1&3 in the rest frame of 1&2. More...
 
Double_t c23_
 Cosine of the helicity angle theta23, which is defined as the angle between 1&2 in the rest frame of 2&3. More...
 
Double_t c13_
 Cosine of the helicity angle theta13, which is defined as the angle between 1&2 in the rest frame of 1&3. More...
 
Double_t mPrime_
 m' co-ordinate More...
 
Double_t thetaPrime_
 theta' co-ordinate More...
 
Double_t qi_
 Momentum q of particle i. More...
 
Double_t qk_
 Momentum q of particle k. More...
 
Double_t p1_12_
 Momentum of track 1 in 1-2 rest frame. More...
 
Double_t p3_12_
 Momentum of track 3 in 1-2 rest frame. More...
 
Double_t p2_23_
 Momentum of track 2 in 2-3 rest frame. More...
 
Double_t p1_23_
 Momentum of track 1 in 2-3 rest frame. More...
 
Double_t p1_13_
 Momentum of track 1 in 1-3 rest frame. More...
 
Double_t p2_13_
 Momentum of track 2 in 1-3 rest frame. More...
 
Double_t p1_Parent_
 Momentum of track 1 in parent rest frame. More...
 
Double_t p2_Parent_
 Momentum of track 2 in parent rest frame. More...
 
Double_t p3_Parent_
 Momentum of track 3 in parent rest frame. More...
 
Bool_t squareDP_
 Should we calculate the square DP co-ordinates or not? More...
 
Bool_t warnings_
 Enable/disable warning messages. More...
 

Detailed Description

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.

Constructor & Destructor Documentation

LauKinematics::LauKinematics ( Double_t  m1,
Double_t  m2,
Double_t  m3,
Double_t  mParent,
Bool_t  calcSquareDPCoords = kFALSE 
)

Constructor.

Parameters
[in]m1the first daughter mass
[in]m2the second daughter mass
[in]m3the third daughter mass
[in]mParentthe parent particle mass
[in]calcSquareDPCoordsboolean flag to enable/disable calculation of the square Dalitz plot co-ordinates

Definition at line 28 of file LauKinematics.cc.

LauKinematics::~LauKinematics ( )
virtual

Destructor.

Definition at line 77 of file LauKinematics.cc.

Member Function Documentation

void LauKinematics::calcHelicities ( )
protected

Calculate cosines of the helicity angles, momenta of daughters and bachelor in various ij rest frames.

Definition at line 215 of file LauKinematics.cc.

void LauKinematics::calcm12Sq ( )
protected

Calculate m12Sq from m13Sq and m23Sq.

Definition at line 185 of file LauKinematics.cc.

void LauKinematics::calcParentFrameMomenta ( )
protected

Calculate the momenta of each daughter in the parent rest frame.

Definition at line 204 of file LauKinematics.cc.

Double_t LauKinematics::calcSqDPJacobian ( )

Calculate the Jacobian for the transformation m23^2, m13^2 -> m', theta' (square DP)

Returns
the jacobian of the transformation

Definition at line 125 of file LauKinematics.cc.

void LauKinematics::calcSqDPVars ( )
protected

Calculate the m' and theta' variables for the square Dalitz plot.

Definition at line 108 of file LauKinematics.cc.

Double_t LauKinematics::calcThirdMassSq ( Double_t  firstMassSq,
Double_t  secondMassSq 
) const

Calculate the third invariant mass square from the two provided (e.g. mjkSq from mijSq and mikSq)

Parameters
[in]firstMassSqthe first invariant mass squared
[in]secondMassSqthe second invariant mass squared
Returns
the third invariant mass square

Definition at line 432 of file LauKinematics.cc.

Double_t LauKinematics::cFromM ( Double_t  mijSq,
Double_t  mikSq,
Double_t  mij,
Int_t  i,
Int_t  j,
Int_t  k 
) const
protected

General method to calculate the cos(helicity) variables from the masses of the particles.

Parameters
[in]mijSqthe mij invariant mass square
[in]mikSqthe mik invariant mass square
[in]mijthe mij invariant mass
[in]ithe index for the first track
[in]jthe index for the second track
[in]kthe index for the third track
Returns
helicity angle in the ij rest frame

Definition at line 233 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 438 of file LauKinematics.cc.

Double_t LauKinematics::distanceFromDPCentre ( Double_t  m13Sq,
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 443 of file LauKinematics.cc.

void LauKinematics::drawDPContour ( Int_t  orientation = 1323,
Int_t  nbins = 100 
)

Method to draw the Dalitz plot contours on the top of the histo previously drawn.

Parameters
[in]orientationorientation used for the draw, with default set to 1323 that corresponds x = m13, y = m23
[in]nbinsnumber of bins for the contour to be sampled over (default = 100)

Definition at line 549 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 476 of file LauKinematics.cc.

void LauKinematics::genFlatPhaseSpace ( Double_t &  m13Sq,
Double_t &  m23Sq 
) const

Routine to generate events flat in phase-space.

Parameters
[out]m13Sqthe invariant mass squared of daughters 1 and 3
[out]m23Sqthe invariant mass squared of daughters 2 and 3

Definition at line 316 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]mPrimethe m' variable
[out]thetaPrimethe theta' variable

Definition at line 336 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 542 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 530 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 536 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 187 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 199 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 193 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 230 of file LauKinematics.hh.

Double_t LauKinematics::getm1 ( ) const
inline

Get the m1 mass.

Returns
the m1 mass

Definition at line 242 of file LauKinematics.hh.

Double_t LauKinematics::getm12 ( ) const
inline

Get the m12 invariant mass.

Returns
the m12 invariant mass

Definition at line 154 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 284 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 268 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 170 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 316 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 300 of file LauKinematics.hh.

Double_t LauKinematics::getm13 ( ) const
inline

Get the m13 invariant mass.

Returns
the m13 invariant mass

Definition at line 164 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 279 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 263 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 180 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 311 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 295 of file LauKinematics.hh.

Double_t LauKinematics::getm2 ( ) const
inline

Get the m2 mass.

Returns
the m2 mass

Definition at line 247 of file LauKinematics.hh.

Double_t LauKinematics::getm23 ( ) const
inline

Get the m23 invariant mass.

Returns
the m23 invariant mass

Definition at line 159 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 274 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 258 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 175 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 306 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 290 of file LauKinematics.hh.

Double_t LauKinematics::getm3 ( ) const
inline

Get the m3 mass.

Returns
the m3 mass

Definition at line 252 of file LauKinematics.hh.

Double_t LauKinematics::getmParent ( ) const
inline

Get parent mass.

Returns
parent mass

Definition at line 216 of file LauKinematics.hh.

Double_t LauKinematics::getmParentSq ( ) const
inline

Get parent mass squared.

Returns
parent mass squared

Definition at line 221 of file LauKinematics.hh.

Double_t LauKinematics::getmPrime ( ) const
inline

Get m' value.

Returns
m' value

Definition at line 205 of file LauKinematics.hh.

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 322 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 342 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 337 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 353 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 347 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 332 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 358 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 327 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 363 of file LauKinematics.hh.

Double_t LauKinematics::getThetaPrime ( ) const
inline

Get theta' value.

Returns
theta' value

Definition at line 210 of file LauKinematics.hh.

Double_t LauKinematics::mFromC ( Double_t  mijSq,
Double_t  cij,
Double_t  mij,
Int_t  i,
Int_t  j,
Int_t  k 
) const
protected

General method to calculate mikSq given mijSq and cosHel_ij.

Parameters
[in]mijSqthe mij invariant mass square
[in]cijthe helicity angle for the pair which is made from tracks i and j
[in]mijthe mij invariant mass
[in]ithe index for the first track
[in]jthe index for the second track
[in]kthe index for the third track
Returns
the invariant mass square mikSq

Definition at line 275 of file LauKinematics.cc.

Double_t LauKinematics::pCalc ( Double_t  energy,
Double_t  massSq 
) const
protected

General method to calculate the momentum of a particle, given its energy and invariant mass squared.

Parameters
[in]energythe energy of the particle
[in]massSqthe invariant mass squared of the particle
Returns
the momentum of the particle

Definition at line 459 of file LauKinematics.cc.

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 51 of file LauKinematics.hh.

void LauKinematics::updateKinematics ( Double_t  m13Sq,
Double_t  m23Sq 
)

Update all kinematic quantities based on the DP co-ordinates m13Sq and m23Sq.

Parameters
[in]m13Sqthe invariant mass squared of daughters 1 and 3
[in]m23Sqthe invariant mass squared of daughters 2 and 3

Definition at line 82 of file LauKinematics.cc.

void LauKinematics::updateMassSq_m12 ( Double_t  m12,
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]m12the invariant mass m12
[in]c12the cosine of the helicity angle c12

Definition at line 516 of file LauKinematics.cc.

void LauKinematics::updateMassSq_m13 ( Double_t  m13,
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]m13the invariant mass m13
[in]c13the cosine of the helicity angle c13

Definition at line 501 of file LauKinematics.cc.

void LauKinematics::updateMassSq_m23 ( Double_t  m23,
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]m23the invariant mass m12
[in]c23the cosine of the helicity angle c23

Definition at line 486 of file LauKinematics.cc.

void LauKinematics::updateMassSquares ( Double_t  m13Sq,
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]m13Sqthe invariant mass squared of daughters 1 and 3
[in]m23Sqthe invariant mass squared of daughters 2 and 3

Definition at line 144 of file LauKinematics.cc.

void LauKinematics::updateSqDPKinematics ( Double_t  mPrime,
Double_t  thetaPrime 
)

Update all kinematic quantities based on the square DP co-ordinates m' and theta'.

Parameters
[in]mPrimethe m' co-ordinate
[in]thetaPrimethe theta' co-ordinate

Definition at line 99 of file LauKinematics.cc.

void LauKinematics::updateSqDPMassSquares ( Double_t  mPrime,
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]mPrimethe m' co-ordinate
[in]thetaPrimethe theta' co-ordinate

Definition at line 167 of file LauKinematics.cc.

void LauKinematics::warningMessages ( Bool_t  boolean)
inline

Enable/disable warning messages.

Definition at line 54 of file LauKinematics.hh.

Bool_t LauKinematics::withinDPLimits ( Double_t  m13Sq,
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]m13Sqthe invariant mass squared of daughters 1 and 3
[in]m23Sqthe invariant mass squared of daughters 2 and 3
Returns
kTRUE if the event is inside the kinematic limit, kFALSE otherwise

Definition at line 348 of file LauKinematics.cc.

Bool_t LauKinematics::withinDPLimits ( ) const

Check whether the currently set (m13Sq,m23Sq) point is within the kinematic limits of the Dalitz plot.

Returns
kTRUE if the event is inside the kinematic limit, kFALSE otherwise

Definition at line 343 of file LauKinematics.cc.

Bool_t LauKinematics::withinDPLimits2 ( Double_t  m13Sq,
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]m13Sqthe m13 invariant mass pair squared
[in]m23Sqthe m23 invariant mass pair squared
Returns
kTRUE if the event is inside the kinematic limit, kFALSE otherwise

Definition at line 386 of file LauKinematics.cc.

Bool_t LauKinematics::withinSqDPLimits ( Double_t  mPrime,
Double_t  thetaPrime 
) const

Check whether a given (m',theta') point is within the kinematic limits of the Dalitz plot.

Parameters
[in]mPrimethe m' co-ordinate
[in]thetaPrimethe theta' co-ordinate
Returns
kTRUE if the event is inside the kinematic limit, kFALSE otherwise

Definition at line 420 of file LauKinematics.cc.

Member Data Documentation

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 529 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 533 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 531 of file LauKinematics.hh.

Double_t LauKinematics::m12_
private

Invariant mass m12.

Definition at line 515 of file LauKinematics.hh.

Double_t LauKinematics::m12Sq_
private

Invariant mass m12 squared.

Definition at line 522 of file LauKinematics.hh.

Double_t LauKinematics::m13_
private

Invariant mass m13.

Definition at line 519 of file LauKinematics.hh.

Double_t LauKinematics::m13Sq_
private

Invariant mass m13 squared.

Definition at line 526 of file LauKinematics.hh.

const Double_t LauKinematics::m1_
private

Mass of particle 1.

Definition at line 472 of file LauKinematics.hh.

const Double_t LauKinematics::m1Sq_
private

Mass of particle 1 squared.

Definition at line 481 of file LauKinematics.hh.

Double_t LauKinematics::m23_
private

Invariant mass m23.

Definition at line 517 of file LauKinematics.hh.

Double_t LauKinematics::m23Sq_
private

Invariant mass m23 squared.

Definition at line 524 of file LauKinematics.hh.

const Double_t LauKinematics::m2_
private

Mass of particle 2.

Definition at line 474 of file LauKinematics.hh.

const Double_t LauKinematics::m2Sq_
private

Mass of particle 2 squared.

Definition at line 483 of file LauKinematics.hh.

const Double_t LauKinematics::m3_
private

Mass of particle 3.

Definition at line 476 of file LauKinematics.hh.

const Double_t LauKinematics::m3Sq_
private

Mass of particle 3 squared.

Definition at line 485 of file LauKinematics.hh.

std::vector<Double_t> LauKinematics::mass_
private

Vector of daughter particles masses.

Definition at line 490 of file LauKinematics.hh.

const Double_t LauKinematics::massInt_
private

Mass difference between the parent particle and the sum of the daughter particles.

Definition at line 510 of file LauKinematics.hh.

std::vector<Double_t> LauKinematics::mDiff_
private

Vector of the difference between the mMax and mMin.

Definition at line 496 of file LauKinematics.hh.

const Double_t LauKinematics::mDTot_
private

Sum of the daughter masses.

Definition at line 508 of file LauKinematics.hh.

std::vector<Double_t> LauKinematics::mMax_
private

Vector of the maximum mij values.

Definition at line 494 of file LauKinematics.hh.

std::vector<Double_t> LauKinematics::mMin_
private

Vector of the minimum mij values.

Definition at line 492 of file LauKinematics.hh.

const Double_t LauKinematics::mParent_
private

Mass of parent particle.

Definition at line 478 of file LauKinematics.hh.

const Double_t LauKinematics::mParentSq_
private

Mass of parent particle squared.

Definition at line 487 of file LauKinematics.hh.

Double_t LauKinematics::mPrime_
private

m' co-ordinate

Definition at line 536 of file LauKinematics.hh.

std::vector<Double_t> LauKinematics::mSq_
private

Vector of daughter particles masses squared.

Definition at line 499 of file LauKinematics.hh.

std::vector<Double_t> LauKinematics::mSqDiff_
private

Vector of the difference between the mSqMax and mSqMin.

Definition at line 505 of file LauKinematics.hh.

const Double_t LauKinematics::mSqDTot_
private

Sum of the squares of the daughter masses.

Definition at line 512 of file LauKinematics.hh.

std::vector<Double_t> LauKinematics::mSqMax_
private

Vector of the maximum mijSq values.

Definition at line 503 of file LauKinematics.hh.

std::vector<Double_t> LauKinematics::mSqMin_
private

Vector of the minimum mijSq values.

Definition at line 501 of file LauKinematics.hh.

Double_t LauKinematics::p1_12_
private

Momentum of track 1 in 1-2 rest frame.

Definition at line 546 of file LauKinematics.hh.

Double_t LauKinematics::p1_13_
private

Momentum of track 1 in 1-3 rest frame.

Definition at line 554 of file LauKinematics.hh.

Double_t LauKinematics::p1_23_
private

Momentum of track 1 in 2-3 rest frame.

Definition at line 552 of file LauKinematics.hh.

Double_t LauKinematics::p1_Parent_
private

Momentum of track 1 in parent rest frame.

Definition at line 559 of file LauKinematics.hh.

Double_t LauKinematics::p2_13_
private

Momentum of track 2 in 1-3 rest frame.

Definition at line 556 of file LauKinematics.hh.

Double_t LauKinematics::p2_23_
private

Momentum of track 2 in 2-3 rest frame.

Definition at line 550 of file LauKinematics.hh.

Double_t LauKinematics::p2_Parent_
private

Momentum of track 2 in parent rest frame.

Definition at line 561 of file LauKinematics.hh.

Double_t LauKinematics::p3_12_
private

Momentum of track 3 in 1-2 rest frame.

Definition at line 548 of file LauKinematics.hh.

Double_t LauKinematics::p3_Parent_
private

Momentum of track 3 in parent rest frame.

Definition at line 563 of file LauKinematics.hh.

Double_t LauKinematics::qi_
mutableprivate

Momentum q of particle i.

Definition at line 541 of file LauKinematics.hh.

Double_t LauKinematics::qk_
mutableprivate

Momentum q of particle k.

Definition at line 543 of file LauKinematics.hh.

Bool_t LauKinematics::squareDP_
private

Should we calculate the square DP co-ordinates or not?

Definition at line 566 of file LauKinematics.hh.

Double_t LauKinematics::thetaPrime_
private

theta' co-ordinate

Definition at line 538 of file LauKinematics.hh.

Bool_t LauKinematics::warnings_
private

Enable/disable warning messages.

Definition at line 568 of file LauKinematics.hh.


The documentation for this class was generated from the following files: