ATLAS Offline Software
Loading...
Searching...
No Matches
Event
FourMom
src
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
5
#include "
FourMom/EigenP5toP4JacobianPhiThetaEM2PxPyPzE.h
"
6
#include <cmath>
7
8
EigenP5toP4JacobianPhiThetaEM2PxPyPzE::EigenP5toP4JacobianPhiThetaEM2PxPyPzE
(
const
double
phi0,
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
theta
Scalar theta() const
theta method
Definition
AmgMatrixBasePlugin.h:75
EigenP5toP4JacobianPhiThetaEM2PxPyPzE.h
AmgMatrix
#define AmgMatrix(rows, cols)
Definition
EventPrimitives.h:49
EigenP5toP4JacobianPhiThetaEM2PxPyPzE::EigenP5toP4JacobianPhiThetaEM2PxPyPzE
EigenP5toP4JacobianPhiThetaEM2PxPyPzE(const double phi0, const double theta, const double E, const double mass=ParticleConstants::muonMassInMeV)
Definition
EigenP5toP4JacobianPhiThetaEM2PxPyPzE.cxx:8
cost
int cost(std::vector< std::string > &files, node &n, const std::string &directory="", bool deleteref=false, bool relocate=false)
Definition
hcg.cxx:922
Generated on
for ATLAS Offline Software by
1.14.0