ATLAS Offline Software
Loading...
Searching...
No Matches
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
43namespace Trk {
44
45 //class VxCandidate;
46
48
49 public:
50
51 /* default constructor for persistency */
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 */
68 VxCascadeInfo& operator= (VxCascadeInfo &&) noexcept = default;
69
70 /* destructor */
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
std::vector< Amg::MatrixX > m_covarianceAtVertex
std::vector< std::vector< TLorentzVector > > m_particleMomAtVertex
void setFullCascadeCovariance(const Amg::MatrixX &)
VxCascadeInfo(VxCascadeInfo &&) noexcept=default
double fitChi2() const
const std::vector< Amg::MatrixX > & getCovariance() const
const std::vector< std::vector< TLorentzVector > > & getParticleMoms() const
VxCascadeInfo(const VxCascadeInfo &)
const std::vector< xAOD::Vertex * > & vertices() const
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Ensure that the ATLAS eigen extensions are properly loaded.
STL namespace.