ATLAS Offline Software
Loading...
Searching...
No Matches
P4ErrorTransforms.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3*/
4
10
11namespace P4ErrorTransforms {
12
13std::unique_ptr<ErrorMatrixEEtaPhiM> toEEtaPhiM( const ErrorMatrixPxPyPzE& em,
14 double px, double py, double pz, double E)
15 {
16 P4JacobianPxPyPzE2EEtaPhiM J( px, py, pz, E);
17 CLHEP::HepSymMatrix res(4);
18 res = em.hsm().similarity(J);
19 return std::make_unique<ErrorMatrixEEtaPhiM>(res);
20 }
21
22std::unique_ptr<ErrorMatrixPxPyPzE> toPxPyPzE( const ErrorMatrixEEtaPhiM& em,
23 double E, double eta, double phi, double M)
24 {
26 CLHEP::HepSymMatrix res(4);
27 res = em.hsm().similarity(J);
28 return std::make_unique<ErrorMatrixPxPyPzE>(res);
29 }
30
31
32}
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
std::pair< std::vector< unsigned int >, bool > res
const CLHEP::HepSymMatrix & hsm() const
const CLHEP::HepSymMatrix & hsm() const
std::unique_ptr< ErrorMatrixPxPyPzE > toPxPyPzE(const ErrorMatrixEEtaPhiM &em, double E, double eta, double phi, double M)
std::unique_ptr< ErrorMatrixEEtaPhiM > toEEtaPhiM(const ErrorMatrixPxPyPzE &em, double px, double py, double pz, double E)