ATLAS Offline Software
JacobianPxyzToPhiThetaQoverPcartesian.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // JacobianPxyzToPhiThetaQoverPcartesian.cxx, (c) ATLAS Detector software
8 
10 #include <cmath>
11 
13  AmgMatrix(3,3)()
14 {
15  // initialize to zero
16  this->setZero();
17 
18  double r = std::pow(px,2) + std::pow(py,2) + std::pow(pz,2);
19  double l = std::pow(px,2) + std::pow(py,2);
20  (*this)(0,0) = -py/l;
21  (*this)(0,1) = px/l;
22  (*this)(0,2) = 0.;
23  (*this)(1,0) = px*pz/(r*std::sqrt(l));
24  (*this)(1,1) = py*pz/(r*std::sqrt(l));
25  (*this)(1,2) = -std::sqrt(l)/r;
26  (*this)(2,0) = -charge*px/std::pow(std::sqrt(r),3);
27  (*this)(2,1) = -charge*py/std::pow(std::sqrt(r),3);
28  (*this)(2,2) = -charge*pz/std::pow(std::sqrt(r),3);
29 
30 }
31 
beamspotman.r
def r
Definition: beamspotman.py:676
Trk::JacobianPxyzToPhiThetaQoverPcartesian::JacobianPxyzToPhiThetaQoverPcartesian
JacobianPxyzToPhiThetaQoverPcartesian(const double px, const double py, const double pz, double charge)
Definition: JacobianPxyzToPhiThetaQoverPcartesian.cxx:12
Trk::py
@ py
Definition: ParamDefs.h:66
test_pyathena.px
px
Definition: test_pyathena.py:18
conifer::pow
constexpr int pow(int x)
Definition: conifer.h:20
UploadAMITag.l
list l
Definition: UploadAMITag.larcaf.py:158
Trk::pz
@ pz
global momentum (cartesian)
Definition: ParamDefs.h:67
AmgMatrix
#define AmgMatrix(rows, cols)
Definition: EventPrimitives.h:51
Trk::px
@ px
Definition: ParamDefs.h:65
Amg::pz
@ pz
Definition: GeoPrimitives.h:40
Amg::py
@ py
Definition: GeoPrimitives.h:39
charge
double charge(const T &p)
Definition: AtlasPID.h:494
JacobianPxyzToPhiThetaQoverPcartesian.h