ATLAS Offline Software
EigenP4JacobianEEtaPhiM2PtEtaPhiM.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 
7 #include <cmath>
8 #include <algorithm>
9 
11  double eta,
12  double M) :
13  AmgMatrix(4,4)()
14 {
15  double t = std::exp(-eta);
16  double P = std::sqrt( std::max( 0., E*E - M*M));
17  double u = 1+t*t;
18  double cosTheta = (1-t*t)/u;
19  double sinTheta = 2*t/u;
20 
21  this->setZero();
22  (*this)(0,0) = E/P * sinTheta; // dPt/dE
23  (*this)(0,1) = -P * cosTheta*sinTheta; // dPt/deta
24  (*this)(0,3) = -M/P * sinTheta; // dPt/dM
25 
26  (*this)(1,1) = 1; // deta/deta
27  (*this)(2,2) = 1; // dphi/dphi
28  (*this)(3,3) = 1; // dM/dM
29 }
EigenP4JacobianEEtaPhiM2PtEtaPhiM::EigenP4JacobianEEtaPhiM2PtEtaPhiM
EigenP4JacobianEEtaPhiM2PtEtaPhiM(double E, double eta, double M)
Definition: EigenP4JacobianEEtaPhiM2PtEtaPhiM.cxx:10
max
#define max(a, b)
Definition: cfImp.cxx:41
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
drawFromPickle.exp
exp
Definition: drawFromPickle.py:36
Trk::u
@ u
Enums for curvilinear frames.
Definition: ParamDefs.h:83
AmgMatrix
#define AmgMatrix(rows, cols)
Definition: EventPrimitives.h:51
EigenP4JacobianEEtaPhiM2PtEtaPhiM.h
VP1PartSpect::E
@ E
Definition: VP1PartSpectFlags.h:21