ATLAS Offline Software
Event
FourMom
src
P4JacobianEEtaPhiM2PxPyPzE.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/P4JacobianEEtaPhiM2PxPyPzE.h
"
6
7
#include <cmath>
8
#include <algorithm>
9
10
P4JacobianEEtaPhiM2PxPyPzE::P4JacobianEEtaPhiM2PxPyPzE
(
double
E
,
11
double
eta
,
12
double
phi
,
13
double
M) :
14
HepMatrix(4,4,0)
15
{
16
double
t
=
exp
(-
eta
);
// == tg(theta/2)
17
double
P
= std::sqrt(
std::max
( 0.,
E
*
E
- M*M));
18
double
u
= 1+
t
*
t
;
19
double
cosTheta = (1-
t
*
t
)/
u
;
20
double
sinTheta = 2*
t
/
u
;
21
double
sinPhi =
sin
(
phi
);
22
double
cosPhi =
cos
(
phi
);
23
double
pt
=
P
* sinTheta;
24
25
(*this)[0][0] =
E
/
P
* sinTheta*cosPhi;
// dpx/dE
26
(*this)[1][0] =
E
/
P
* sinTheta*sinPhi;
// dpy/dE
27
(*this)[2][0] =
E
/
P
* cosTheta;
// dpz/dE
28
(*this)[3][0] = 1;
// dE/dE
29
30
(*this)[0][1] = -
P
* cosPhi * cosTheta*sinTheta;
// dpx/deta
31
(*this)[1][1] = -
P
* sinPhi * cosTheta*sinTheta;
// dpy/deta
32
(*this)[2][1] =
P
* sinTheta*sinTheta;
// dpz/deta;
33
34
(*this)[0][2] = -
pt
* sinPhi;
// dpx/dphi
35
(*this)[1][2] =
pt
* cosPhi;
// dpy/dphi
36
37
(*this)[0][3] = -M/
P
* sinTheta*cosPhi;
// dpx/dM
38
(*this)[1][3] = -M/
P
* sinTheta*sinPhi;
// dpy/dM
39
(*this)[2][3] = -M/
P
* cosTheta;
// dpz/dM
40
}
phi
Scalar phi() const
phi method
Definition:
AmgMatrixBasePlugin.h:67
eta
Scalar eta() const
pseudorapidity method
Definition:
AmgMatrixBasePlugin.h:83
max
constexpr double max()
Definition:
ap_fixedTest.cxx:33
DMTest::P
P_v1 P
Definition:
P.h:23
test_pyathena.pt
pt
Definition:
test_pyathena.py:11
read_hist_ntuple.t
t
Definition:
read_hist_ntuple.py:5
drawFromPickle.cos
cos
Definition:
drawFromPickle.py:36
drawFromPickle.exp
exp
Definition:
drawFromPickle.py:36
Trk::u
@ u
Enums for curvilinear frames.
Definition:
ParamDefs.h:77
VP1PartSpect::E
@ E
Definition:
VP1PartSpectFlags.h:21
P4JacobianEEtaPhiM2PxPyPzE.h
P4JacobianEEtaPhiM2PxPyPzE::P4JacobianEEtaPhiM2PxPyPzE
P4JacobianEEtaPhiM2PxPyPzE(double E, double eta, double phi, double M)
Definition:
P4JacobianEEtaPhiM2PxPyPzE.cxx:10
drawFromPickle.sin
sin
Definition:
drawFromPickle.py:36
Generated on Wed Sep 3 2025 21:16:09 for ATLAS Offline Software by
1.8.18