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