Kinematics tools
From Charm-Tau Detector
Revision as of 21:53, 25 April 2020 by V.S.Vorobev (Talk | contribs)
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)
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)