ATLAS Offline Software
Loading...
Searching...
No Matches
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
double charge(const T &p)
Definition AtlasPID.h:997
JacobianPxyzToPhiThetaQoverPcartesian(const double px, const double py, const double pz, double charge)
int r
Definition globals.cxx:22
AmgMatrix(3, 3) NeutralParticleParameterCalculator
@ pz
global momentum (cartesian)
Definition ParamDefs.h:61
@ px
Definition ParamDefs.h:59
@ py
Definition ParamDefs.h:60