ATLAS Offline Software
Loading...
Searching...
No Matches
P4JacobianEEtaPhiM2PtEtaPhiM.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 /* phi */,
13 double M) :
14 HepMatrix(4,4,0)
15{
16 double t = exp(-eta); // == tg(theta/2)
17 double P = std::sqrt( std::max( 0., E*E - M*M));
18 double u = 1+t*t;
19 double cosTheta = (1-t*t)/u;
20 double sinTheta = 2*t/u;
21
22
23 (*this)[0][0] = E/P * sinTheta; // dPt/dE
24 (*this)[0][1] = -P * cosTheta*sinTheta; // dPt/deta
25 (*this)[0][3] = -M/P * sinTheta; // dPt/dM
26
27 (*this)[1][1] = 1; // deta/deta
28 (*this)[2][2] = 1; // dphi/dphi
29 (*this)[3][3] = 1; // dM/dM
30}
Scalar eta() const
pseudorapidity method
static Double_t P(Double_t *tt, Double_t *par)
P4JacobianEEtaPhiM2PtEtaPhiM(double E, double eta, double phi, double M)