ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkEvent
VxSecVertex
VxSecVertex
VxSecVKalVertexInfo.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
/****************************************
6
7
VxSecVKalVertexInfo.h - Description
8
-------------------
9
10
begin: March 2007
11
authors: CSC vertexing note group members :-)
12
work started by: Giacinto Piacquadio (University of Freiburg)
13
e-mail: giacinto.piacquadio@physik.uni-freiburg.de
14
changes: new!
15
16
Class which inherits from VxSecVertexInfo and contains the additional
17
information VKalVrt is able to provide:
18
1) mass
19
2) energyFraction
20
3) two track vertices used for seeding
21
4) list of "bad" tracks
22
5) list of tracks from V0s
23
6) Jet track energy - needed for multivertex fit
24
25
26
April 2014: Migration to xAOD::Vertex and xAOD::IParticle
27
28
VxSecVKalVertexInfo owns m_pseudoVertex!
29
30
********************************************/
31
32
#ifndef VXSECVERTEX_VXSECVKALVERTEXINFO_H
33
#define VXSECVERTEX_VXSECVKALVERTEXINFO_H
34
35
#include "AthLinks/ElementLink.h"
36
#include "
TrkParticleBase/TrackParticleBaseCollection.h
"
37
#include "
xAODBase/IParticleContainer.h
"
38
#include "
VxSecVertex/VxSecVertexInfo.h
"
39
#include <vector>
40
#include "
CxxUtils/checker_macros.h
"
41
42
43
namespace
Trk
{
44
45
class
VxSecVKalVertexInfo
:
public
VxSecVertexInfo
{
46
47
public
:
48
49
/* default constructor for persistency */
50
VxSecVKalVertexInfo
();
51
52
/* constructor with everything for Trk::TrackParticleBase + jet energy */
53
VxSecVKalVertexInfo
(
const
std::vector<xAOD::Vertex*> &
vertices
,
54
double
mass
,
double
energyFraction
,
int
n2trackvertices
,
double
energyTrkInJet
,
55
const
std::vector<const Trk::TrackParticleBase*> & badTracks);
56
57
/* constructor with everything for xAOD::IParticle + jet energy */
58
VxSecVKalVertexInfo
(
const
std::vector<xAOD::Vertex*> &
vertices
,
59
double
mass
,
double
energyFraction
,
int
n2trackvertices
,
double
energyTrkInJet
,
60
const
std::vector<const xAOD::IParticle*> & badTracks);
61
62
/* constructor for non-standard pseudo-vertex in a jet*/
63
VxSecVKalVertexInfo
(
const
xAOD::Vertex
*
pseudoVertex
,
64
double
mass
,
double
energyFraction
,
int
nBigImpTrk,
65
const
std::vector<const xAOD::IParticle*> & badTracks);
66
67
/* copy constructor */
68
VxSecVKalVertexInfo
(
const
VxSecVKalVertexInfo
&);
69
70
/* clone method */
71
virtual
VxSecVKalVertexInfo
*
clone
()
const
;
72
73
/* assignment operator */
74
VxSecVKalVertexInfo
&
operator=
(
const
VxSecVKalVertexInfo
&);
75
76
/* destructor */
77
virtual
~VxSecVKalVertexInfo
();
78
79
/* get mass */
80
double
mass
()
const
;
81
82
/* get energyFraction */
83
double
energyFraction
()
const
;
84
85
/* get energy of all tracks in jet */
86
double
energyTrkInJet
()
const
;
87
88
/* get minimal distance to any material layer */
89
double
dstToMatLay
()
const
;
90
91
/* set minimal distance to any material layer */
92
void
setDstToMatLay
(
double
Value
);
93
94
/* get number of 2track vertices */
95
int
n2trackvertices
()
const
;
96
97
/* get number of tracks with big impact */
98
int
nBigImpTracks
()
const
;
99
100
/* get pseudo-vertex when normal vertices are absent*/
101
const
xAOD::Vertex
*
pseudoVertex
()
const
;
102
103
/* get list of bad TP */
104
std::vector<const Trk::TrackParticleBase*>
badTracksTP
()
const
;
105
106
/* get list of bad Tracks */
107
std::vector<const xAOD::IParticle*>
badTracksIP
()
const
;
108
109
/* set origin collection for IParticle */
110
void
setIParticleOrigin
(
const
xAOD::IParticleContainer
* iparticleTES);
111
112
/* set origin collectino for TrackParticle */
113
void
setTrackParticleOrigin
(
const
Trk::TrackParticleBaseCollection
* trkpartTES);
114
115
116
private
:
117
118
double
m_mass
;
119
double
m_energyFraction
;
120
double
m_energyTrkInJet
;
121
double
m_dstToMatLayer
;
122
int
m_n2trackvertices
;
123
int
m_nBigImpTracks
;
124
std::vector<ElementLink<Trk::TrackParticleBaseCollection> >
m_badTracksTP
;
125
std::vector<ElementLink<xAOD::IParticleContainer> >
m_badTracksIP
;
126
127
const
xAOD::Vertex
*
m_pseudoVertex
;
128
129
};
130
131
132
inline
double
VxSecVKalVertexInfo::mass
()
const
{
133
return
m_mass
;
134
}
135
136
inline
double
VxSecVKalVertexInfo::energyFraction
()
const
{
137
return
m_energyFraction
;
138
}
139
140
inline
double
VxSecVKalVertexInfo::energyTrkInJet
()
const
{
141
return
m_energyTrkInJet
;
142
}
143
144
inline
double
VxSecVKalVertexInfo::dstToMatLay
()
const
{
145
return
m_dstToMatLayer
;
146
}
147
/* set minimal distance to any material layer */
148
inline
void
VxSecVKalVertexInfo::setDstToMatLay
(
double
Value
) {
149
m_dstToMatLayer
=
Value
;
150
}
151
152
inline
int
VxSecVKalVertexInfo::n2trackvertices
()
const
{
153
return
m_n2trackvertices
;
154
}
155
156
inline
int
VxSecVKalVertexInfo::nBigImpTracks
()
const
{
157
return
m_nBigImpTracks
;
158
}
159
160
inline
const
xAOD::Vertex
*
VxSecVKalVertexInfo::pseudoVertex
()
const
{
161
return
m_pseudoVertex
;
162
}
163
164
/* clone method */
165
inline
VxSecVKalVertexInfo
*
VxSecVKalVertexInfo::clone
()
const
{
166
return
new
VxSecVKalVertexInfo
(*
this
);
167
}
168
169
170
}
//end namespace Trk
171
172
#endif
TrackParticleBaseCollection.h
VxSecVertexInfo.h
checker_macros.h
Define macros for attributes used to control the static checker.
Trk::VxSecVKalVertexInfo::clone
virtual VxSecVKalVertexInfo * clone() const
Definition
VxSecVKalVertexInfo.h:165
Trk::VxSecVKalVertexInfo::badTracksTP
std::vector< const Trk::TrackParticleBase * > badTracksTP() const
Definition
VxSecVKalVertexInfo.cxx:131
Trk::VxSecVKalVertexInfo::energyFraction
double energyFraction() const
Definition
VxSecVKalVertexInfo.h:136
Trk::VxSecVKalVertexInfo::setIParticleOrigin
void setIParticleOrigin(const xAOD::IParticleContainer *iparticleTES)
Definition
VxSecVKalVertexInfo.cxx:181
Trk::VxSecVKalVertexInfo::~VxSecVKalVertexInfo
virtual ~VxSecVKalVertexInfo()
Definition
VxSecVKalVertexInfo.cxx:128
Trk::VxSecVKalVertexInfo::VxSecVKalVertexInfo
VxSecVKalVertexInfo(const VxSecVKalVertexInfo &)
Trk::VxSecVKalVertexInfo::m_pseudoVertex
const xAOD::Vertex * m_pseudoVertex
Definition
VxSecVKalVertexInfo.h:127
Trk::VxSecVKalVertexInfo::m_badTracksIP
std::vector< ElementLink< xAOD::IParticleContainer > > m_badTracksIP
Definition
VxSecVKalVertexInfo.h:125
Trk::VxSecVKalVertexInfo::energyTrkInJet
double energyTrkInJet() const
Definition
VxSecVKalVertexInfo.h:140
Trk::VxSecVKalVertexInfo::n2trackvertices
int n2trackvertices() const
Definition
VxSecVKalVertexInfo.h:152
Trk::VxSecVKalVertexInfo::m_energyTrkInJet
double m_energyTrkInJet
Definition
VxSecVKalVertexInfo.h:120
Trk::VxSecVKalVertexInfo::m_energyFraction
double m_energyFraction
Definition
VxSecVKalVertexInfo.h:119
Trk::VxSecVKalVertexInfo::m_mass
double m_mass
Definition
VxSecVKalVertexInfo.h:118
Trk::VxSecVKalVertexInfo::pseudoVertex
const xAOD::Vertex * pseudoVertex() const
Definition
VxSecVKalVertexInfo.h:160
Trk::VxSecVKalVertexInfo::nBigImpTracks
int nBigImpTracks() const
Definition
VxSecVKalVertexInfo.h:156
Trk::VxSecVKalVertexInfo::m_n2trackvertices
int m_n2trackvertices
Definition
VxSecVKalVertexInfo.h:122
Trk::VxSecVKalVertexInfo::m_dstToMatLayer
double m_dstToMatLayer
Definition
VxSecVKalVertexInfo.h:121
Trk::VxSecVKalVertexInfo::setTrackParticleOrigin
void setTrackParticleOrigin(const Trk::TrackParticleBaseCollection *trkpartTES)
Definition
VxSecVKalVertexInfo.cxx:169
Trk::VxSecVKalVertexInfo::m_badTracksTP
std::vector< ElementLink< Trk::TrackParticleBaseCollection > > m_badTracksTP
Definition
VxSecVKalVertexInfo.h:124
Trk::VxSecVKalVertexInfo::badTracksIP
std::vector< const xAOD::IParticle * > badTracksIP() const
Definition
VxSecVKalVertexInfo.cxx:150
Trk::VxSecVKalVertexInfo::mass
double mass() const
Definition
VxSecVKalVertexInfo.h:132
Trk::VxSecVKalVertexInfo::operator=
VxSecVKalVertexInfo & operator=(const VxSecVKalVertexInfo &)
Definition
VxSecVKalVertexInfo.cxx:109
Trk::VxSecVKalVertexInfo::m_nBigImpTracks
int m_nBigImpTracks
Definition
VxSecVKalVertexInfo.h:123
Trk::VxSecVKalVertexInfo::VxSecVKalVertexInfo
VxSecVKalVertexInfo()
Definition
VxSecVKalVertexInfo.cxx:25
Trk::VxSecVKalVertexInfo::dstToMatLay
double dstToMatLay() const
Definition
VxSecVKalVertexInfo.h:144
Trk::VxSecVKalVertexInfo::setDstToMatLay
void setDstToMatLay(double Value)
Definition
VxSecVKalVertexInfo.h:148
Trk::VxSecVertexInfo::vertices
const std::vector< xAOD::Vertex * > & vertices() const
Definition
VxSecVertexInfo.cxx:88
Trk::VxSecVertexInfo::VxSecVertexInfo
VxSecVertexInfo()
Definition
VxSecVertexInfo.cxx:24
Value
tag-value pair class.
Definition
Value.h:39
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition
FakeTrackBuilder.h:9
Trk::TrackParticleBaseCollection
DataVector< TrackParticleBase > TrackParticleBaseCollection
Definition
TrackParticleBaseCollection.h:14
xAOD::Vertex
Vertex_v1 Vertex
Define the latest version of the vertex class.
Definition
Event/xAOD/xAODTracking/xAODTracking/Vertex.h:16
xAOD::IParticleContainer
DataVector< IParticle > IParticleContainer
Simple convenience declaration of IParticleContainer.
Definition
xAOD/xAODBase/xAODBase/IParticleContainer.h:32
IParticleContainer.h
Generated on
for ATLAS Offline Software by
1.17.0