ATLAS Offline Software
Loading...
Searching...
No Matches
P4JacobianEEtaPhiM2PxPyPzE Class Reference

#include <P4JacobianEEtaPhiM2PxPyPzE.h>

Inheritance diagram for P4JacobianEEtaPhiM2PxPyPzE:
Collaboration diagram for P4JacobianEEtaPhiM2PxPyPzE:

Public Member Functions

 P4JacobianEEtaPhiM2PxPyPzE (double E, double eta, double phi, double M)

Detailed Description

Definition at line 10 of file P4JacobianEEtaPhiM2PxPyPzE.h.

Constructor & Destructor Documentation

◆ P4JacobianEEtaPhiM2PxPyPzE()

P4JacobianEEtaPhiM2PxPyPzE::P4JacobianEEtaPhiM2PxPyPzE ( double E,
double eta,
double phi,
double M )

Definition at line 10 of file P4JacobianEEtaPhiM2PxPyPzE.cxx.

13 :
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 double sinPhi = sin(phi);
22 double cosPhi = cos(phi);
23 double pt = P * sinTheta;
24
25 (*this)[0][0] = E/P * sinTheta*cosPhi; // dpx/dE
26 (*this)[1][0] = E/P * sinTheta*sinPhi; // dpy/dE
27 (*this)[2][0] = E/P * cosTheta; // dpz/dE
28 (*this)[3][0] = 1; // dE/dE
29
30 (*this)[0][1] = -P * cosPhi * cosTheta*sinTheta; // dpx/deta
31 (*this)[1][1] = -P * sinPhi * cosTheta*sinTheta; // dpy/deta
32 (*this)[2][1] = P * sinTheta*sinTheta; // dpz/deta;
33
34 (*this)[0][2] = -pt * sinPhi; // dpx/dphi
35 (*this)[1][2] = pt * cosPhi; // dpy/dphi
36
37 (*this)[0][3] = -M/P * sinTheta*cosPhi; // dpx/dM
38 (*this)[1][3] = -M/P * sinTheta*sinPhi; // dpy/dM
39 (*this)[2][3] = -M/P * cosTheta; // dpz/dM
40}
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
static Double_t P(Double_t *tt, Double_t *par)
@ u
Enums for curvilinear frames.
Definition ParamDefs.h:77

The documentation for this class was generated from the following files: