Belle II Software development
CollisionAxisCMS Class Reference

This class contains the measured values of the orientation of the collision axis in the CM system obtained by pure Lorentz boost angleXZ = atan(pHERcms.X / pHERcms.Z) angleYZ = atan(pHERcms.Y / pHERcms.Z) where pHERcms is HER momentum in CM system obtained by boost. More...

#include <CollisionAxisCMS.h>

Inheritance diagram for CollisionAxisCMS:

Public Member Functions

bool operator== (const CollisionAxisCMS &other) const
 equality operator
 
void setAngles (double angleXZ, double angleYZ, const TMatrixDSym &centerCovariance)
 Set the central values and uncertainty of them.
 
void setSpread (const TMatrixDSym &spreadCovariance, double spreadXZunc, double spreadYZunc, double spreadPhiUnc)
 Set spread covariance and uncertainties of the eigenvalues of this matrix.
 
double getAngleXZ () const
 Get the mean XZ angle of the HER beam in the CM frame obtained by pure boost.
 
double getAngleYZ () const
 Get the mean YZ angle of the HER beam in the CM frame obtained by pure boost.
 
const TMatrixDSym & getCenterCovariance () const
 Get the covariance matrix describing uncertainties of m_angleXZ and m_angleYZ.
 
const TMatrixDSym & getSpreadCovariance () const
 Get the covariance matrix describing "natural" spread of angleXZ and angleYZ.
 
double getSpreadXZunc () const
 Get the uncertainty of the eigenvalue of m_spreadCovariance corresponding to eigenvector closer to x-axis

 
double getSpreadYZunc () const
 Get the uncertainty of the eigenvalue of m_spreadCovariance corresponding to eigenvector closer to y-axis

 
double getSpreadPhiUnc () const
 Get the uncertainty of the angle of the eigenvector of m_spreadCovariance.
 

Private Member Functions

 ClassDef (CollisionAxisCMS, 1)
 direction of collision axis in CMS and its spread
 

Private Attributes

double m_angleXZ
 the XZ angle of the HER beam in the CM system obtained by pure boost
 
double m_angleYZ
 the YZ angle of the HER beam in the CM system obtained by pure boost
 
TMatrixDSym m_centerCovariance {2}
 Covariance matrix describing uncertainties of m_angleXZ and m_angleYZ.
 
TMatrixDSym m_spreadCovariance {2}
 Covariance matrix describing "natural" spread of m_angleXZ and m_angleYZ.
 
double m_spreadXZunc
 Uncertainty of the eigenvalue of m_spreadCovariance corresponding to eigenvector closer to x-axis.
 
double m_spreadYZunc
 Uncertainty of the eigenvalue of m_spreadCovariance corresponding to eigenvector closer to y-axis.
 
double m_spreadPhiUnc
 Uncertainty of the angle of the eigenvector of m_spreadCovariance.
 

Detailed Description

This class contains the measured values of the orientation of the collision axis in the CM system obtained by pure Lorentz boost angleXZ = atan(pHERcms.X / pHERcms.Z) angleYZ = atan(pHERcms.Y / pHERcms.Z) where pHERcms is HER momentum in CM system obtained by boost.

These angles do not have sharp value, but vary event-by-event due to the spread of HER/LER momenta. Therefore, both central values and spread are stored together with the uncertainties.

This class is needed for Lorentz transformation to the standard CM system, where particles collide along z-axis.

Definition at line 27 of file CollisionAxisCMS.h.

Member Function Documentation

◆ getAngleXZ()

double getAngleXZ ( ) const
inline

Get the mean XZ angle of the HER beam in the CM frame obtained by pure boost.

Definition at line 57 of file CollisionAxisCMS.h.

57{ return m_angleXZ; }
double m_angleXZ
the XZ angle of the HER beam in the CM system obtained by pure boost

◆ getAngleYZ()

double getAngleYZ ( ) const
inline

Get the mean YZ angle of the HER beam in the CM frame obtained by pure boost.

Definition at line 60 of file CollisionAxisCMS.h.

60{ return m_angleYZ; }
double m_angleYZ
the YZ angle of the HER beam in the CM system obtained by pure boost

◆ getCenterCovariance()

const TMatrixDSym & getCenterCovariance ( ) const
inline

Get the covariance matrix describing uncertainties of m_angleXZ and m_angleYZ.

Definition at line 64 of file CollisionAxisCMS.h.

64{ return m_centerCovariance; }
TMatrixDSym m_centerCovariance
Covariance matrix describing uncertainties of m_angleXZ and m_angleYZ.

◆ getSpreadCovariance()

const TMatrixDSym & getSpreadCovariance ( ) const
inline

Get the covariance matrix describing "natural" spread of angleXZ and angleYZ.

Definition at line 67 of file CollisionAxisCMS.h.

67{ return m_spreadCovariance; }
TMatrixDSym m_spreadCovariance
Covariance matrix describing "natural" spread of m_angleXZ and m_angleYZ.

◆ getSpreadPhiUnc()

double getSpreadPhiUnc ( ) const
inline

Get the uncertainty of the angle of the eigenvector of m_spreadCovariance.

Definition at line 76 of file CollisionAxisCMS.h.

76{ return m_spreadPhiUnc; }
double m_spreadPhiUnc
Uncertainty of the angle of the eigenvector of m_spreadCovariance.

◆ getSpreadXZunc()

double getSpreadXZunc ( ) const
inline

Get the uncertainty of the eigenvalue of m_spreadCovariance corresponding to eigenvector closer to x-axis

Definition at line 70 of file CollisionAxisCMS.h.

70{ return m_spreadXZunc; }
double m_spreadXZunc
Uncertainty of the eigenvalue of m_spreadCovariance corresponding to eigenvector closer to x-axis.

◆ getSpreadYZunc()

double getSpreadYZunc ( ) const
inline

Get the uncertainty of the eigenvalue of m_spreadCovariance corresponding to eigenvector closer to y-axis

Definition at line 73 of file CollisionAxisCMS.h.

73{ return m_spreadYZunc; }
double m_spreadYZunc
Uncertainty of the eigenvalue of m_spreadCovariance corresponding to eigenvector closer to y-axis.

◆ operator==()

bool operator== ( const CollisionAxisCMS other) const
inline

equality operator

Definition at line 31 of file CollisionAxisCMS.h.

32 {
33 return other.m_angleXZ == m_angleXZ && other.m_angleYZ == m_angleYZ &&
34 other.m_centerCovariance == m_centerCovariance && other.m_spreadCovariance == m_spreadCovariance &&
35 other.m_spreadXZunc == m_spreadXZunc && other.m_spreadYZunc == m_spreadYZunc && other.m_spreadPhiUnc == m_spreadPhiUnc;
36 }

◆ setAngles()

void setAngles ( double  angleXZ,
double  angleYZ,
const TMatrixDSym &  centerCovariance 
)
inline

Set the central values and uncertainty of them.

Definition at line 39 of file CollisionAxisCMS.h.

40 {
41 m_angleXZ = angleXZ;
42 m_angleYZ = angleYZ;
43 m_centerCovariance = centerCovariance;
44 }

◆ setSpread()

void setSpread ( const TMatrixDSym &  spreadCovariance,
double  spreadXZunc,
double  spreadYZunc,
double  spreadPhiUnc 
)
inline

Set spread covariance and uncertainties of the eigenvalues of this matrix.

Definition at line 47 of file CollisionAxisCMS.h.

48 {
49 m_spreadCovariance = spreadCovariance;
50 m_spreadXZunc = spreadXZunc;
51 m_spreadYZunc = spreadYZunc;
52 m_spreadPhiUnc = spreadPhiUnc;
53 }

Member Data Documentation

◆ m_angleXZ

double m_angleXZ
private

the XZ angle of the HER beam in the CM system obtained by pure boost

Definition at line 81 of file CollisionAxisCMS.h.

◆ m_angleYZ

double m_angleYZ
private

the YZ angle of the HER beam in the CM system obtained by pure boost

Definition at line 82 of file CollisionAxisCMS.h.

◆ m_centerCovariance

TMatrixDSym m_centerCovariance {2}
private

Covariance matrix describing uncertainties of m_angleXZ and m_angleYZ.

Definition at line 85 of file CollisionAxisCMS.h.

◆ m_spreadCovariance

TMatrixDSym m_spreadCovariance {2}
private

Covariance matrix describing "natural" spread of m_angleXZ and m_angleYZ.

Definition at line 88 of file CollisionAxisCMS.h.

◆ m_spreadPhiUnc

double m_spreadPhiUnc
private

Uncertainty of the angle of the eigenvector of m_spreadCovariance.

Definition at line 93 of file CollisionAxisCMS.h.

◆ m_spreadXZunc

double m_spreadXZunc
private

Uncertainty of the eigenvalue of m_spreadCovariance corresponding to eigenvector closer to x-axis.

Definition at line 91 of file CollisionAxisCMS.h.

◆ m_spreadYZunc

double m_spreadYZunc
private

Uncertainty of the eigenvalue of m_spreadCovariance corresponding to eigenvector closer to y-axis.

Definition at line 92 of file CollisionAxisCMS.h.


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