Skip to content

Commit 5cb2237

Browse files
Saransh-cppianna
andauthored
docs: add metric and transformation conventions (#568)
* docs: add metric and transformation conventions * be more explicit about coordinates' order * add more physics details Co-authored-by: Ianna Osborne <[email protected]> --------- Co-authored-by: Ianna Osborne <[email protected]>
1 parent 162dc04 commit 5cb2237

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

docs/index.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,22 @@ Finally, vectors come in two flavors:
6565

6666
Names and coordinate conventions were chosen to align with [ROOT](https://root.cern/)'s [TLorentzVector](https://root.cern.ch/doc/master/classTLorentzVector.html) and [Math::LorentzVector](https://root.cern.ch/doc/master/classROOT_1_1Math_1_1LorentzVector.html), as well as [scikit-hep/math](https://github.com/scikit-hep/scikit-hep/tree/master/skhep/math), [uproot-methods TLorentzVector](https://github.com/scikit-hep/uproot3-methods/blob/master/uproot3_methods/classes/TLorentzVector.py), [henryiii/hepvector](https://github.com/henryiii/hepvector), and [coffea.nanoevents.methods.vector](https://coffea-hep.readthedocs.io/en/latest/modules/coffea.nanoevents.methods.vector.html).
6767

68+
Vector follows the $(-, -, -, +)$ (`x, y, z, t`) metric convention for Lorentz vectors. The $(-,-,-,+)$ metric convention for Lorentz vectors corresponds to the Minkowski metric:
69+
70+
```{math}
71+
g_{\mu\nu} = \text{diag}(-1, -1, -1, +1)
72+
```
73+
74+
For a Lorentz vector $p^\mu = (p_x, p_y, p_z, E)$, the squared norm (or invariant mass squared) is given by:
75+
76+
```{math}
77+
p^\mu p_\mu = g_{\mu\nu} p^\mu p^\nu = E^2 - p_x^2 - p_y^2 - p_z^2
78+
```
79+
80+
This convention is widely used in high-energy physics (HEP), including frameworks such as ROOT.
81+
82+
Further, the transformations and rotations (including boosts) are active, and the Euler angle conventions align with the formalisations in the [GenVector package](https://root.cern/topical/GenVector.pdf). More precisely, the implementation of `rotate_euler` uses the matrices defined in the [wikipedia article](https://en.wikipedia.org/wiki/Euler_angles#Rotation_matrix).
83+
6884
## Getting help
6985

7086
- Source code on GitHub: [scikit-hep/vector](https://github.com/scikit-hep/vector)

0 commit comments

Comments
 (0)