Kinematics tools
From Charm-Tau Detector
(Difference between revisions)
V.S.Vorobev (Talk | contribs) (Created page with "Event_selection_framework Kinematic tools are defined in [https://git.inp.nsk.su/sctau/aurora/-/blob/master/Common/Kinematics/Kinematics| Common/Kinematics] package. SCT ...") |
Revision as of 21:53, 25 April 2020
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)