ATLAS Offline Software
Loading...
Searching...
No Matches
ConstraintFitOutput.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef CONSTRAINTFITOUTPUT_H
6#define CONSTRAINTFITOUTPUT_H
8#include "TLorentzVector.h"
9
10namespace ZMassConstraint
11{
13 {
14 public:
15
19
21 unsigned int getNConstituents() const { return m_particleList.size(); }
22
24 const TLorentzVector& getConstituentFourVector(int index) const { return m_particleList.at(index); }
25
27 void getCompositeFourVector(TLorentzVector& lv) const
28 { lv = TLorentzVector(); for( auto lv1 : m_particleList ) lv += lv1; }
29
32 { return m_covariancePhiThetaP.block(5*index +2, 5*index+2, 3, 3); }
33
35 void getConstituentCovariancePhiThetaP(int index, AmgMatrix(3,3)& outMatrix) const
36 { outMatrix = m_covariancePhiThetaP.block(5*index +2, 5*index+2, 3, 3); }
37
41
43 void getConstituentCovarianced0z0PhiThetaP(int index, AmgMatrix(5,5)& outMatrix) const
44 { outMatrix = m_covariancePhiThetaP.block(5*index, 5*index, 5, 5); }
45
49
51 void setFitOutput(const std::vector<TLorentzVector>& particleList,
52 const Amg::MatrixX& covarXYZ,
53 const Amg::MatrixX& covard0z0PhiThetaP)
54 { m_particleList = particleList; m_covariance = covarXYZ; m_covariancePhiThetaP = covard0z0PhiThetaP; }
55
56 protected:
57 std::vector<TLorentzVector> m_particleList;
60 };
61}
62
63#endif
#define AmgMatrix(rows, cols)
Amg::MatrixX getConstituentCovarianced0z0PhiThetaP(int index) const
Access to individual covariance d0z0PhiThetaP (5,5)
ConstraintFitOutput()
Constructor/destructor.
std::vector< TLorentzVector > m_particleList
void getCompositeFourVector(TLorentzVector &lv) const
Access to combined 4-vec.
const TLorentzVector & getConstituentFourVector(int index) const
Access to individual particle 4-vec.
Amg::MatrixX getConstituentCovariancePhiThetaP(int index) const
Access to individual covariance PhiThetaP (3,3)
void getConstituentCovariancePhiThetaP(int index, AmgMatrix(3, 3)&outMatrix) const
Access to individual covariance PhiThetaP (3,3)
void getConstituentCovarianced0z0PhiThetaP(int index, AmgMatrix(5, 5)&outMatrix) const
Access to individual covariance d0z0PhiThetaP (5,5)
const Amg::MatrixX & getConstituentCovariancePhiThetaP() const
Access to full covariance d0z0PhiThetaP (5 * nparticle, 5 * nparticle)
unsigned int getNConstituents() const
Number of particles.
void setFitOutput(const std::vector< TLorentzVector > &particleList, const Amg::MatrixX &covarXYZ, const Amg::MatrixX &covard0z0PhiThetaP)
Set output.
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Definition index.py:1