ATLAS Offline Software
VxCascadeInfo.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 /****************************************
6 
7  VxCascadeInfo.h - Description
8  -------------------
9 
10  begin: June 2008
11  author: V.Kostyukhin
12  e-mail: vadim.kostyukhin@cern.ch
13  changes: new!
14 
15  Base VxSecVertexInfo class contains a vector of pointers
16  to xAOD::Vertex's of cascade vertices. There all tracking
17  information is kept. VxCascadeInfo class itself contains physics
18  momenta and their covariances of particles and pseudoparticles
19  in each cascade vertex. Structure of cascade (order of vertices)
20  is the same in vector<xAOD::Vertex*>, vector<vector<TLorentzVector> and
21  vector< Amg::MatrixX >.
22 
23  For vertex iv in VxCascadeInfo:
24 
25  vertices[iv] - xAOD::Vertex of fitted vertex
26  momenta[iv][...] - TLorentzVectors for all particles in vertex (real+pseudotracks from cascade vertices)
27  covariance[iv] - Amg::MatrixX for given vertex in form (Vx,Vy,Vz,Px1,Py1,Pz1,.....Pxn,Pyn,Pzn)
28 
29  vector< Amg::MatrixX > may contain also as NVertex_In_Cascade+1 entry (the very last one) the FULL covariance
30  matrix of cascade including all vertices and particles. Order of parameters in the same as above and all
31  cross correlations are present.
32 
33 ********************************************/
34 
35 #ifndef TRKVKALVRTFITTER_VXCASCADEINFO_H
36 #define TRKVKALVRTFITTER_VXCASCADEINFO_H
37 
41 #include <vector>
42 
43 namespace Trk {
44 
45  //class VxCandidate;
46 
47  class VxCascadeInfo : public VxSecVertexInfo {
48 
49  public:
50 
51  /* default constructor for persistency */
52  VxCascadeInfo();
53 
54  /* constructor */
55  VxCascadeInfo(std::vector<xAOD::Vertex*> vertices,
56  std::vector<std::vector<TLorentzVector> > moms,
57  std::vector< Amg::MatrixX > covs,
58  int nDoF, double Chi2);
59 
60 
61  /* copy constructor */
63  VxCascadeInfo(VxCascadeInfo &&) noexcept = default;
64 
65 
66  /* assignment operator */
67  VxCascadeInfo operator= (const VxCascadeInfo &);
68  VxCascadeInfo& operator= (VxCascadeInfo &&) noexcept = default;
69 
70  /* destructor */
71  ~VxCascadeInfo();
72 
73 
74  /* get list of particle momenta at vertices */
75  const std::vector< std::vector<TLorentzVector> > & getParticleMoms() const { return m_particleMomAtVertex;}
76  const std::vector< Amg::MatrixX > & getCovariance() const { return m_covarianceAtVertex; }
77  int nDoF() const { return m_nDoF; }
78  double fitChi2() const { return m_fullChi2; }
80 
81 
82  private:
83 
84  std::vector< std::vector<TLorentzVector> > m_particleMomAtVertex;
85  std::vector< Amg::MatrixX > m_covarianceAtVertex;
86  int m_nDoF{};
87  double m_fullChi2{};
88 
89  };
90 
91 
92 
93 
94 }//end namespace Trk
95 
96 #endif
Trk::VxCascadeInfo::m_nDoF
int m_nDoF
Definition: VxCascadeInfo.h:142
Amg::MatrixX
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Definition: EventPrimitives.h:27
Trk::VxSecVertexInfo::vertices
const std::vector< xAOD::Vertex * > & vertices() const
Definition: VxSecVertexInfo.cxx:100
Trk::VxCascadeInfo::m_particleMomAtVertex
std::vector< std::vector< TLorentzVector > > m_particleMomAtVertex
Definition: VxCascadeInfo.h:140
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
Trk::VxCascadeInfo::nDoF
int nDoF() const
Definition: VxCascadeInfo.h:133
Trk::VxCascadeInfo::getCovariance
const std::vector< Amg::MatrixX > & getCovariance() const
Definition: VxCascadeInfo.h:132
GeoPrimitives.h
Trk::VxCascadeInfo::VxCascadeInfo
VxCascadeInfo()
Definition: VxCascadeInfo.cxx:15
vector
Definition: MultiHisto.h:13
Trk::VxCascadeInfo::fitChi2
double fitChi2() const
Definition: VxCascadeInfo.h:134
VxSecVertexInfo.h
Trk::VxCascadeInfo::setFullCascadeCovariance
void setFullCascadeCovariance(const Amg::MatrixX &)
Definition: VxCascadeInfo.cxx:28
EventPrimitives.h
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::VxCascadeInfo::getParticleMoms
const std::vector< std::vector< TLorentzVector > > & getParticleMoms() const
Definition: VxCascadeInfo.h:131
python.CaloScaleNoiseConfig.default
default
Definition: CaloScaleNoiseConfig.py:79
Trk::VxCascadeInfo::m_covarianceAtVertex
std::vector< Amg::MatrixX > m_covarianceAtVertex
Definition: VxCascadeInfo.h:141
Trk::VxCascadeInfo::m_fullChi2
double m_fullChi2
Definition: VxCascadeInfo.h:143