ATLAS Offline Software
Loading...
Searching...
No Matches
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}
Scalar eta() const
pseudorapidity method
#define AmgMatrix(rows, cols)
static Double_t P(Double_t *tt, Double_t *par)
EigenP4JacobianEEtaPhiM2PtEtaPhiM(double E, double eta, double M)