ATLAS Offline Software
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
}
test_pyathena.px
px
Definition:
test_pyathena.py:18
max
#define max(a, b)
Definition:
cfImp.cxx:41
EigenP4JacobianPxPyPzE2EEtaPhiM.h
AmgMatrix
#define AmgMatrix(rows, cols)
Definition:
EventPrimitives.h:49
TRTCalib_cfilter.p2
p2
Definition:
TRTCalib_cfilter.py:131
python.utils.AtlRunQueryDQUtils.p
p
Definition:
AtlRunQueryDQUtils.py:210
Amg::pz
@ pz
Definition:
GeoPrimitives.h:40
EigenP4JacobianPxPyPzE2EEtaPhiM::EigenP4JacobianPxPyPzE2EEtaPhiM
EigenP4JacobianPxPyPzE2EEtaPhiM()
Definition:
EigenP4JacobianPxPyPzE2EEtaPhiM.h:14
Amg::py
@ py
Definition:
GeoPrimitives.h:39
VP1PartSpect::E
@ E
Definition:
VP1PartSpectFlags.h:21
Generated on Thu Nov 7 2024 21:14:21 for ATLAS Offline Software by
1.8.18