ATLAS Offline Software
ConstraintFitInput.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 CONSTRAINTFITINPUT_H
6 #define CONSTRAINTFITINPUT_H
8 #include "TLorentzVector.h"
9 
10 namespace ZMassConstraint
11 {
13 
14 
15  public:
16 
20 
22  unsigned int getNConstituents() const { return m_particles.size(); }
23 
25  const TLorentzVector& getConstituentFourVector(int i) const { return m_particles[i]; }
26 
28  const AmgMatrix(5,5)& getConstituentCovariance(int i) const { return m_covariances[i]; }
29 
31  void getConstituentCovariancePhiThetaP(int i, AmgMatrix(3,3)& outMatrix) const
32  { outMatrix = m_covariances[i].block(2, 2, 3, 3); }
33 
35  const AmgMatrix(5,5)& getCovarianceCartesian(int ipart) const { return m_cartCovariances[ipart]; }
36 
38  void addConstituent_FourVector_d0z0PhiThetaP(const TLorentzVector& vector,
39  const AmgMatrix(5,5)& covard0z0PhiThetaP,
40  const AmgMatrix(5,5)& covarXYZ,
41  bool isOK)
42  { m_particles.push_back(vector); m_covariances.push_back(covard0z0PhiThetaP);
43  m_cartCovariances.push_back(covarXYZ); if (m_isOK) m_isOK = isOK; }
44 
46  inline bool isOK() { return m_isOK; }
47 
48  protected:
49  std::vector<TLorentzVector> m_particles;
50  std::vector<AmgMatrix(5,5)> m_covariances;
51  std::vector<AmgMatrix(5,5)> m_cartCovariances;
52  bool m_isOK;
53 
54  };
55 }
56 
57 
58 #endif
ZMassConstraint::ConstraintFitInput::m_covariances
std::vector< AmgMatrix(5, 5)> m_covariances
Definition: ConstraintFitInput.h:50
ZMassConstraint::ConstraintFitInput::getNConstituents
unsigned int getNConstituents() const
Number of particles.
Definition: ConstraintFitInput.h:22
ZMassConstraint::ConstraintFitInput::AmgMatrix
const AmgMatrix(5, 5) &getCovarianceCartesian(int ipart) const
Access to individual to full cartesian covariance (5,5)
Definition: ConstraintFitInput.h:35
ZMassConstraint::ConstraintFitInput::m_particles
std::vector< TLorentzVector > m_particles
Definition: ConstraintFitInput.h:49
ZMassConstraint::ConstraintFitInput::getConstituentFourVector
const TLorentzVector & getConstituentFourVector(int i) const
Access to individual particle 4-vec.
Definition: ConstraintFitInput.h:25
ZMassConstraint::ConstraintFitInput::getConstituentCovariancePhiThetaP
void getConstituentCovariancePhiThetaP(int i, AmgMatrix(3, 3)&outMatrix) const
Access to individual covariance PhiThetaP (3,3)
Definition: ConstraintFitInput.h:31
ZMassConstraint::ConstraintFitInput::~ConstraintFitInput
~ConstraintFitInput()
Definition: ConstraintFitInput.h:19
ZMassConstraint::ConstraintFitInput::m_cartCovariances
std::vector< AmgMatrix(5, 5)> m_cartCovariances
d0z0PhiThetaQoverP
Definition: ConstraintFitInput.h:51
lumiFormat.i
int i
Definition: lumiFormat.py:92
vector
Definition: MultiHisto.h:13
ZMassConstraint::ConstraintFitInput
Definition: ConstraintFitInput.h:12
ZMassConstraint
Definition: ConstraintFit.cxx:12
ZMassConstraint::ConstraintFitInput::AmgMatrix
const AmgMatrix(5, 5) &getConstituentCovariance(int i) const
Access to individual covariance d0z0PhiThetaP (5,5)
Definition: ConstraintFitInput.h:28
EventPrimitives.h
ZMassConstraint::ConstraintFitInput::ConstraintFitInput
ConstraintFitInput()
Constructor/destructor.
Definition: ConstraintFitInput.h:18
ZMassConstraint::ConstraintFitInput::m_isOK
bool m_isOK
Cartesian Covariance.
Definition: ConstraintFitInput.h:52
ZMassConstraint::ConstraintFitInput::isOK
bool isOK()
Check that covariance matrix is OK.
Definition: ConstraintFitInput.h:46
ZMassConstraint::ConstraintFitInput::addConstituent_FourVector_d0z0PhiThetaP
void addConstituent_FourVector_d0z0PhiThetaP(const TLorentzVector &vector, const AmgMatrix(5, 5)&covard0z0PhiThetaP, const AmgMatrix(5, 5)&covarXYZ, bool isOK)
Set the inputs.
Definition: ConstraintFitInput.h:38