#include <CandKinResolution.h>
Public Types | |
typedef math::XYZTLorentzVector | LorentzVector |
enum | Parametrization { Invalid =0, Cart = 0x04, ECart = 0x14, Spher = 0x24, ESpher = 0x34, MomDev = 0x44, EMomDev = 0x54, MCCart = 0x03, MCSpher = 0x13, MCPInvSpher = 0x23, EtEtaPhi = 0x33, EtThetaPhi = 0x43, MCMomDev = 0x53, EScaledMomDev = 0x63 } |
typedef float | Scalar |
Public Member Functions | |
CandKinResolution () | |
CandKinResolution (Parametrization parametrization, const std::vector< Scalar > &covariances, const std::vector< Scalar > &constraints=std::vector< Scalar >()) | |
CandKinResolution (Parametrization parametrization, const AlgebraicSymMatrix44 &covariance, const std::vector< Scalar > &constraints=std::vector< Scalar >()) | |
Fill in a cresolution object given a parametrization code, a covariance matrix and a vector of constraints. More... | |
const std::vector< Scalar > & | constraints () const |
The constraints associated with this parametrization. More... | |
const AlgebraicSymMatrix44 & | covariance () const |
Returns the full covariance matrix. More... | |
uint32_t | dimension () const |
Returns the number of free parameters in this parametrization. More... | |
Parametrization | parametrization () const |
Return the code of the parametrization used in this object. More... | |
double | resolE (const LorentzVector &p4) const |
Resolution on energy, given the 4-momentum of the associated Candidate. More... | |
double | resolEt (const LorentzVector &p4) const |
Resolution on et, given the 4-momentum of the associated Candidate. More... | |
double | resolEta (const LorentzVector &p4) const |
Resolution on eta, given the 4-momentum of the associated Candidate. More... | |
double | resolM (const LorentzVector &p4) const |
double | resolP (const LorentzVector &p4) const |
Resolution on p, given the 4-momentum of the associated Candidate. More... | |
double | resolPhi (const LorentzVector &p4) const |
Resolution on phi, given the 4-momentum of the associated Candidate. More... | |
double | resolPInv (const LorentzVector &p4) const |
Resolution on 1/p, given the 4-momentum of the associated Candidate. More... | |
double | resolPt (const LorentzVector &p4) const |
Resolution on pt, given the 4-momentum of the associated Candidate. More... | |
double | resolPx (const LorentzVector &p4) const |
Resolution on px, given the 4-momentum of the associated Candidate. More... | |
double | resolPy (const LorentzVector &p4) const |
Resolution on py, given the 4-momentum of the associated Candidate. More... | |
double | resolPz (const LorentzVector &p4) const |
Resolution on pz, given the 4-momentum of the associated Candidate. More... | |
double | resolTheta (const LorentzVector &p4) const |
Resolution on theta, given the 4-momentum of the associated Candidate. More... | |
~CandKinResolution () | |
Static Public Member Functions | |
static int | dimensionFrom (Parametrization parametrization) |
static void | fillMatrixFrom (Parametrization parametrization, const std::vector< Scalar > &covariances, AlgebraicSymMatrix44 &covmatrix) |
Private Member Functions | |
void | fillMatrix () |
Fill matrix from vector. More... | |
void | fillVector () |
Fill vectoor from matrix. More... | |
Private Attributes | |
std::vector< Scalar > | constraints_ |
Constraints. More... | |
std::vector< Scalar > | covariances_ |
Matrix, streamed as a vector. More... | |
AlgebraicSymMatrix44 | covmatrix_ |
Transient copy of the full 4x4 covariance matrix. More... | |
Parametrization | parametrization_ |
Parametrization code. More... | |
Definition at line 10 of file CandKinResolution.h.
(lowercase means values, uppercase means fixed parameters)
Cart = (px, py, pz, m) KinFitter uses (px, py, pz, m/M0) with M0 = mass of the starting p4
ECart = (px, py, pz, e) as in KinFitter
MCCart = (px, py, pz, M) as in KinFitter
Spher = (p, theta, phi, m) KinFitter uses (p, theta, phi, m/M0) with M0 = mass of the starting p4
ESpher = (p, theta, phi, e) KinFitter uses (p, theta, phi, e/E0) with E0 = energy of the starting
MCSpher = (p, eta, phi, M) as in KinFitter
MCPInvSpher = (1/p, theta, phi, M) as in KinFitter
EtEtaPhi = (et, eta, phi, M == 0) as in KinFitter
EtThetaPhi = (et, theta, phi, M == 0) as in KinFitter
MomDev = (p/P0, dp_theta, dp_phi, m/M0), so that P = [0]*|P0|*u_r + [1]*u_theta + [2]*u_phi
the "u_<xyz>" are polar unit vectors around the initial momentum P0, their directions are:
u_r ~ P0, u_phi ~ u_z x u_r, u_theta ~ u_r x u_phi M0 is the mass of the initial 4-momentum.
EMomDev = (p/P0, dp_theta, dp_phi, E/E0) with the P defined as for MomDev
MCMomDev = (p/P0, dp_theta, dp_phi, M) with the P defined as for MomDev
EScaledMomDev = (p/P0, dp_theta, dp_phi,E/P=E0/P0) with the P defined as for MomDev, fixed E/p to E0/P0
Definition at line 32 of file CandKinResolution.h.
typedef float pat::CandKinResolution::Scalar |
Definition at line 33 of file CandKinResolution.h.
Enumerator | |
---|---|
Invalid | |
Cart | |
ECart | |
Spher | |
ESpher | |
MomDev | |
EMomDev | |
MCCart | |
MCSpher | |
MCPInvSpher | |
EtEtaPhi | |
EtThetaPhi | |
MCMomDev | |
EScaledMomDev |
Definition at line 35 of file CandKinResolution.h.
pat::CandKinResolution::CandKinResolution | ( | ) |
Definition at line 6 of file CandKinResolution.cc.
pat::CandKinResolution::CandKinResolution | ( | Parametrization | parametrization, |
const std::vector< Scalar > & | covariances, | ||
const std::vector< Scalar > & | constraints = std::vector<Scalar>() |
||
) |
Create a resolution object given a parametrization code, a covariance matrix (streamed as a vector) and a vector of constraints.
In the vector you can put either the full triangular block or just the diagonal terms
The triangular block should be written in a way that the constructor AlgebraicSymMatrixNN(covariance.begin(), covariance.end())
works (N = 3 or 4)
Definition at line 14 of file CandKinResolution.cc.
References fillMatrix().
pat::CandKinResolution::CandKinResolution | ( | Parametrization | parametrization, |
const AlgebraicSymMatrix44 & | covariance, | ||
const std::vector< Scalar > & | constraints = std::vector<Scalar>() |
||
) |
Fill in a cresolution object given a parametrization code, a covariance matrix and a vector of constraints.
Definition at line 23 of file CandKinResolution.cc.
References fillMatrix(), and fillVector().
pat::CandKinResolution::~CandKinResolution | ( | ) |
Definition at line 35 of file CandKinResolution.cc.
|
inline |
The constraints associated with this parametrization.
Definition at line 84 of file CandKinResolution.h.
References constraints_, p4, resolE(), resolEt(), resolEta(), resolM(), resolP(), resolPhi(), resolPInv(), resolPt(), resolPx(), resolPy(), resolPz(), and resolTheta().
|
inline |
Returns the full covariance matrix.
Definition at line 79 of file CandKinResolution.h.
References covmatrix_.
|
inline |
Returns the number of free parameters in this parametrization.
Definition at line 74 of file CandKinResolution.h.
References dimensionFrom(), and parametrization_.
Referenced by fillMatrixFrom(), and fillVector().
|
inlinestatic |
Definition at line 123 of file CandKinResolution.h.
References fillMatrixFrom().
Referenced by dimension(), and fillMatrixFrom().
|
private |
Fill matrix from vector.
Definition at line 116 of file CandKinResolution.cc.
References covariances_, covmatrix_, fillMatrixFrom(), and parametrization_.
Referenced by CandKinResolution().
|
static |
Definition at line 96 of file CandKinResolution.cc.
References dimension(), dimensionFrom(), and mps_fire::i.
Referenced by dimensionFrom(), and fillMatrix().
|
private |
Fill vectoor from matrix.
Definition at line 87 of file CandKinResolution.cc.
References covariances_, covmatrix_, and dimension().
Referenced by CandKinResolution().
|
inline |
Return the code of the parametrization used in this object.
Definition at line 71 of file CandKinResolution.h.
References parametrization_.
double pat::CandKinResolution::resolE | ( | const LorentzVector & | p4 | ) | const |
Resolution on energy, given the 4-momentum of the associated Candidate.
Definition at line 50 of file CandKinResolution.cc.
References covmatrix_, pat::helper::ResolutionHelper::getResolE(), and parametrization_.
Referenced by constraints(), and pat::PATObject< reco::Muon >::resolE().
double pat::CandKinResolution::resolEt | ( | const LorentzVector & | p4 | ) | const |
Resolution on et, given the 4-momentum of the associated Candidate.
Definition at line 54 of file CandKinResolution.cc.
References covmatrix_, pat::helper::ResolutionHelper::getResolEt(), and parametrization_.
Referenced by constraints(), and pat::PATObject< reco::Muon >::resolEt().
double pat::CandKinResolution::resolEta | ( | const LorentzVector & | p4 | ) | const |
Resolution on eta, given the 4-momentum of the associated Candidate.
Definition at line 38 of file CandKinResolution.cc.
References covmatrix_, pat::helper::ResolutionHelper::getResolEta(), and parametrization_.
Referenced by constraints(), and pat::PATObject< reco::Muon >::resolEta().
double pat::CandKinResolution::resolM | ( | const LorentzVector & | p4 | ) | const |
Resolution on the invariant mass, given the 4-momentum of the associated Candidate Warning: returns 0 for mass-constrained parametrizations.
Definition at line 58 of file CandKinResolution.cc.
References covmatrix_, pat::helper::ResolutionHelper::getResolM(), and parametrization_.
Referenced by constraints(), and pat::PATObject< reco::Muon >::resolM().
double pat::CandKinResolution::resolP | ( | const LorentzVector & | p4 | ) | const |
Resolution on p, given the 4-momentum of the associated Candidate.
Definition at line 62 of file CandKinResolution.cc.
References covmatrix_, pat::helper::ResolutionHelper::getResolP(), and parametrization_.
Referenced by constraints(), and pat::PATObject< reco::Muon >::resolP().
double pat::CandKinResolution::resolPhi | ( | const LorentzVector & | p4 | ) | const |
Resolution on phi, given the 4-momentum of the associated Candidate.
Definition at line 46 of file CandKinResolution.cc.
References covmatrix_, pat::helper::ResolutionHelper::getResolPhi(), and parametrization_.
Referenced by constraints(), and pat::PATObject< reco::Muon >::resolPhi().
double pat::CandKinResolution::resolPInv | ( | const LorentzVector & | p4 | ) | const |
Resolution on 1/p, given the 4-momentum of the associated Candidate.
Definition at line 70 of file CandKinResolution.cc.
References covmatrix_, pat::helper::ResolutionHelper::getResolPInv(), and parametrization_.
Referenced by constraints(), and pat::PATObject< reco::Muon >::resolPInv().
double pat::CandKinResolution::resolPt | ( | const LorentzVector & | p4 | ) | const |
Resolution on pt, given the 4-momentum of the associated Candidate.
Definition at line 66 of file CandKinResolution.cc.
References covmatrix_, pat::helper::ResolutionHelper::getResolPt(), and parametrization_.
Referenced by constraints(), and pat::PATObject< reco::Muon >::resolPt().
double pat::CandKinResolution::resolPx | ( | const LorentzVector & | p4 | ) | const |
Resolution on px, given the 4-momentum of the associated Candidate.
Definition at line 74 of file CandKinResolution.cc.
References covmatrix_, pat::helper::ResolutionHelper::getResolPx(), and parametrization_.
Referenced by constraints(), and pat::PATObject< reco::Muon >::resolPx().
double pat::CandKinResolution::resolPy | ( | const LorentzVector & | p4 | ) | const |
Resolution on py, given the 4-momentum of the associated Candidate.
Definition at line 78 of file CandKinResolution.cc.
References covmatrix_, pat::helper::ResolutionHelper::getResolPy(), and parametrization_.
Referenced by constraints(), and pat::PATObject< reco::Muon >::resolPy().
double pat::CandKinResolution::resolPz | ( | const LorentzVector & | p4 | ) | const |
Resolution on pz, given the 4-momentum of the associated Candidate.
Definition at line 82 of file CandKinResolution.cc.
References covmatrix_, pat::helper::ResolutionHelper::getResolPz(), and parametrization_.
Referenced by constraints(), and pat::PATObject< reco::Muon >::resolPz().
double pat::CandKinResolution::resolTheta | ( | const LorentzVector & | p4 | ) | const |
Resolution on theta, given the 4-momentum of the associated Candidate.
Definition at line 42 of file CandKinResolution.cc.
References covmatrix_, pat::helper::ResolutionHelper::getResolTheta(), and parametrization_.
Referenced by constraints(), and pat::PATObject< reco::Muon >::resolTheta().
|
private |
|
private |
Matrix, streamed as a vector.
Definition at line 135 of file CandKinResolution.h.
Referenced by fillMatrix(), and fillVector().
|
private |
Transient copy of the full 4x4 covariance matrix.
Definition at line 142 of file CandKinResolution.h.
Referenced by covariance(), fillMatrix(), fillVector(), resolE(), resolEt(), resolEta(), resolM(), resolP(), resolPhi(), resolPInv(), resolPt(), resolPx(), resolPy(), resolPz(), and resolTheta().
|
private |
Parametrization code.
Definition at line 133 of file CandKinResolution.h.
Referenced by dimension(), fillMatrix(), parametrization(), resolE(), resolEt(), resolEta(), resolM(), resolP(), resolPhi(), resolPInv(), resolPt(), resolPx(), resolPy(), resolPz(), and resolTheta().