ATLAS Offline Software
Loading...
Searching...
No Matches
Event
FourMom
src
P4JacobianPxPyPzE2EEtaPhiM.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/P4JacobianPxPyPzE2EEtaPhiM.h
"
6
7
#include <cmath>
8
#include <algorithm>
9
10
P4JacobianPxPyPzE2EEtaPhiM::P4JacobianPxPyPzE2EEtaPhiM
(
double
px,
11
double
py,
12
double
pz,
13
double
E) :
14
HepMatrix
(4,4,0)
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)[0][3] = 1;
// dE/dE
22
23
(*this)[1][0] = -px*pz/(p*pt2);
// deta/dpx
24
(*this)[1][1] = -py*pz/(p*pt2);
// deta/dpy
25
(*this)[1][2] = 1/p;
// deta/dpz
26
27
(*this)[2][0] = -py/pt2;
// dphi/dpx
28
(*this)[2][1] = px/pt2;
// dphi/dpy
29
30
(*this)[3][0] = -px/M;
// dM/dpx
31
(*this)[3][1] = -py/M;
// dM/dpy
32
(*this)[3][2] = -pz/M;
// dM/dpz
33
(*this)[3][3] = E/M;
// dM/dE
34
}
P4JacobianPxPyPzE2EEtaPhiM.h
HepMatrix
P4JacobianPxPyPzE2EEtaPhiM::P4JacobianPxPyPzE2EEtaPhiM
P4JacobianPxPyPzE2EEtaPhiM(double px, double py, double pz, double E)
Definition
P4JacobianPxPyPzE2EEtaPhiM.cxx:10
Generated on
for ATLAS Offline Software by
1.14.0