ATLAS Offline Software
P4JacobianPxPyPzE2PxPyPzM.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 
7 #include <cmath>
8 #include <algorithm>
9 
11  double py,
12  double pz,
13  double E) :
14  HepMatrix(4,4,0)
15 {
16  double pt2 = px*px + py*py;
17  double p2 = pt2 + pz*pz;
18  double M = std::sqrt( std::max( 0., E*E - p2));
19 
20  (*this)[0][0] = 1; // dpx/dpx
21  (*this)[1][1] = 1; // dpy/dpy
22  (*this)[2][2] = 1; // dpz/dpz
23 
24  (*this)[3][0] = -px/M; // dM/dpx
25  (*this)[3][1] = -py/M; // dM/dpy
26  (*this)[3][2] = -pz/M; // dM/dpz
27  (*this)[3][3] = E/M; // dM/dE
28 }
test_pyathena.px
px
Definition: test_pyathena.py:18
max
#define max(a, b)
Definition: cfImp.cxx:41
Amg::pz
@ pz
Definition: GeoPrimitives.h:40
Amg::py
@ py
Definition: GeoPrimitives.h:39
VP1PartSpect::E
@ E
Definition: VP1PartSpectFlags.h:21
P4JacobianPxPyPzE2PxPyPzM.h
P4JacobianPxPyPzE2PxPyPzM::P4JacobianPxPyPzE2PxPyPzM
P4JacobianPxPyPzE2PxPyPzM(double px, double py, double pz, double E)
Definition: P4JacobianPxPyPzE2PxPyPzM.cxx:10