ATLAS Offline Software
Loading...
Searching...
No Matches
P4JacobianPxPyPzM2PxPyPzE.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 M) :
14 HepMatrix(4,4,0)
15{
16 double pt2 = px*px + py*py;
17 double p2 = pt2 + pz*pz;
18 double E = std::sqrt( std::max( 0., M*M + 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/E; // dM/dpx
25 (*this)[3][1] = py/E; // dM/dpy
26 (*this)[3][2] = pz/E; // dM/dpz
27 (*this)[3][3] = M/E; // dM/dE
28}
P4JacobianPxPyPzM2PxPyPzE(double px, double py, double pz, double M)