ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Event
FourMom
src
EigenP4JacobianPxPyPzE2EEtaPhiM.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
FourMom/EigenP4JacobianPxPyPzE2EEtaPhiM.h
"
6
7
#include <cmath>
8
#include <algorithm>
9
10
EigenP4JacobianPxPyPzE2EEtaPhiM::EigenP4JacobianPxPyPzE2EEtaPhiM
(
double
px,
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
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
}
EigenP4JacobianPxPyPzE2EEtaPhiM.h
AmgMatrix
#define AmgMatrix(rows, cols)
Definition
EventPrimitives.h:49
EigenP4JacobianPxPyPzE2EEtaPhiM::EigenP4JacobianPxPyPzE2EEtaPhiM
EigenP4JacobianPxPyPzE2EEtaPhiM()
Definition
EigenP4JacobianPxPyPzE2EEtaPhiM.h:14
Generated on
for ATLAS Offline Software by
1.17.0