ATLAS Offline Software
Loading...
Searching...
No Matches
EigenP4JacobianPxPyPzM2PxPyPzE.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 AmgMatrix(4,4)()
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->setZero();
21 (*this)(0,0) = 1; // dpx/dpx
22 (*this)(1,1) = 1; // dpy/dpy
23 (*this)(2,2) = 1; // dpz/dpz
24
25 (*this)(3,0) = px/E; // dM/dpx
26 (*this)(3,1) = py/E; // dM/dpy
27 (*this)(3,2) = pz/E; // dM/dpz
28 (*this)(3,3) = M/E; // dM/dE
29}
#define AmgMatrix(rows, cols)
EigenP4JacobianPxPyPzM2PxPyPzE(double px, double py, double pz, double M)