ATLAS Offline Software
Loading...
Searching...
No Matches
EigenP4JacobianPxPyPzE2EEtaPhiM Class Reference

#include <EigenP4JacobianPxPyPzE2EEtaPhiM.h>

Inheritance diagram for EigenP4JacobianPxPyPzE2EEtaPhiM:
Collaboration diagram for EigenP4JacobianPxPyPzE2EEtaPhiM:

Public Member Functions

 EigenP4JacobianPxPyPzE2EEtaPhiM (double px, double py, double pz, double E)
 EigenP4JacobianPxPyPzE2EEtaPhiM ()

Detailed Description

Definition at line 10 of file EigenP4JacobianPxPyPzE2EEtaPhiM.h.

Constructor & Destructor Documentation

◆ EigenP4JacobianPxPyPzE2EEtaPhiM() [1/2]

EigenP4JacobianPxPyPzE2EEtaPhiM::EigenP4JacobianPxPyPzE2EEtaPhiM ( double px,
double py,
double pz,
double E )

Definition at line 10 of file EigenP4JacobianPxPyPzE2EEtaPhiM.cxx.

13 :
14 AmgMatrix(4,4)()
15{
16 double pt2 = px*px + py*py;
17 double p2 = pt2 + pz*pz;
18 double p = std::sqrt(p2);
19 double M = std::sqrt( std::max( 0., E*E - p2));
20
21 this->setZero();
22 (*this)(0,3) = 1; // dE/dE
23
24 (*this)(1,0) = -px*pz/(p*pt2); // deta/dpx
25 (*this)(1,1) = -py*pz/(p*pt2); // deta/dpy
26 (*this)(1,2) = 1/p; // deta/dpz
27
28 (*this)(2,0) = -py/pt2; // dphi/dpx
29 (*this)(2,1) = px/pt2; // dphi/dpy
30
31 (*this)(3,0) = -px/M; // dM/dpx
32 (*this)(3,1) = -py/M; // dM/dpy
33 (*this)(3,2) = -pz/M; // dM/dpz
34 (*this)(3,3) = E/M; // dM/dE
35}
#define AmgMatrix(rows, cols)

◆ EigenP4JacobianPxPyPzE2EEtaPhiM() [2/2]

EigenP4JacobianPxPyPzE2EEtaPhiM::EigenP4JacobianPxPyPzE2EEtaPhiM ( )
inline

Definition at line 14 of file EigenP4JacobianPxPyPzE2EEtaPhiM.h.

14{}

The documentation for this class was generated from the following files: