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 ...") |
V.S.Vorobev (Talk | contribs) |
||
Line 14: | Line 14: | ||
</code> | </code> | ||
− | ThreeVector can be initialized | + | ThreeVector can be initialized with Cartesian or polar coordinates: |
<code> | <code> | ||
Line 31: | Line 31: | ||
| z component || z(), pz() || Z(), Pz() | | z component || z(), pz() || Z(), Pz() | ||
|- | |- | ||
− | | Transverse momentum || pt() || Pt() | + | | Transverse momentum || pt() || Pt(), Perp() |
|- | |- | ||
| Norm || norm() || Mag() | | Norm || norm() || Mag() | ||
|- | |- | ||
| Squared norm || norm2(), squaredNorm() || Mag2() | | Squared norm || norm2(), squaredNorm() || Mag2() | ||
+ | |- | ||
+ | | Rotation around x axis || RotateX(double) || RotateX (Double_t) | ||
+ | |- | ||
+ | | Rotation around y axis || RotateY(double) || RotateY (Double_t) | ||
+ | |- | ||
+ | | Rotation around z axis || RotateZ(double) || RotateZ (Double_t) | ||
|} | |} | ||
--[[User:V.S.Vorobev|V.S.Vorobev]] ([[User talk:V.S.Vorobev|talk]]) 21:53, 25 April 2020 (+07) | --[[User:V.S.Vorobev|V.S.Vorobev]] ([[User talk:V.S.Vorobev|talk]]) 21:53, 25 April 2020 (+07) |
Revision as of 21:56, 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 with 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(), Perp() |
Norm | norm() | Mag() |
Squared norm | norm2(), squaredNorm() | Mag2() |
Rotation around x axis | RotateX(double) | RotateX (Double_t) |
Rotation around y axis | RotateY(double) | RotateY (Double_t) |
Rotation around z axis | RotateZ(double) | RotateZ (Double_t) |
--V.S.Vorobev (talk) 21:53, 25 April 2020 (+07)