Kinematics tools

From Charm-Tau Detector
Revision as of 21:53, 25 April 2020 by V.S.Vorobev (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Event_selection_framework

Kinematic tools are defined in Common/Kinematics package. SCT kinematics classes are based on Eigen3 library. ROOT implementation of vectors and matrices is abandoned intentionally as too slow.


ThreeVector

| ThreeVector.h (contributors: D. Yakovlev, V. Vorobyev)

The ThreeVector class inherits from Eigen::Matrix<ftype, 1, 3>

template <typename ftype = double>
class ThreeVector : public Eigen::Matrix<ftype, 1, 3>

ThreeVector can be initialized in Cartesian or polar coordinates:

ThreeVector v1(x, y, z);
ThreeVector v2 = ThreeVector::fromRPhiCosth(r, phi, costh)

ThreeVecotor API compared with ROOT TVector3 API
Operation ThreeVector API TVector3 API
x component x(), px() X(), Px()
y component y(), py() Y(), Py()
z component z(), pz() Z(), Pz()
Transverse momentum pt() Pt()
Norm norm() Mag()
Squared norm norm2(), squaredNorm() Mag2()

--V.S.Vorobev (talk) 21:53, 25 April 2020 (+07)

Personal tools