ATLAS Offline Software
Loading...
Searching...
No Matches
EigenP5toP4JacobianPhiThetaEM2PxPyPzE.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
6#include <cmath>
7
9 const double theta,
10 const double E,
11 const double mass ):
12 AmgMatrix(4,5)()
13{
14 this->setZero();
15 double sinp = std::sin(phi0);
16 double cosp = std::cos(phi0);
17 double sint = std::sin(theta);
18 double cost = std::cos(theta);
19 double mom = std::sqrt((E*E)-(mass*mass));
20
21 // transformation of track parameters
22 double px = mom*cosp*sint;
23 double py = mom*sinp*sint;
24 double pz = mom*cost;
25 double EoverP = E/mom;
26
27
28 (*this)(0,2) = -py; // dpx/dphi0
29 (*this)(0,3) = pz*cosp; // dpx/dtheta
30 (*this)(0,4) = EoverP*sint*cosp; // dpx/E
31
32 (*this)(1,2) = px; // dpy/dphi0
33 (*this)(1,3) = pz*sinp; // dpy/dtheta
34 (*this)(1,4) = EoverP*sint*sinp; // dpy/dE
35
36 (*this)(2,3) = -sint*mom; // dpz/dtheta
37 (*this)(2,4) = EoverP*cost; // dpz/dE
38
39 (*this)(3,4) = 1.; // dE/dE
40
41}
42
Scalar theta() const
theta method
#define AmgMatrix(rows, cols)
EigenP5toP4JacobianPhiThetaEM2PxPyPzE(const double phi0, const double theta, const double E, const double mass=ParticleConstants::muonMassInMeV)
int cost(std::vector< std::string > &files, node &n, const std::string &directory="", bool deleteref=false, bool relocate=false)
Definition hcg.cxx:922