ATLAS Offline Software
Loading...
Searching...
No Matches
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
16Class which inherits from VxSecVertexInfo and contains the additional
17information VKalVrt is able to provide:
181) mass
192) energyFraction
203) two track vertices used for seeding
214) list of "bad" tracks
225) list of tracks from V0s
236) 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"
39#include <vector>
41
42
43namespace Trk {
44
46
47 public:
48
49 /* default constructor for persistency */
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*/
64 double mass,double energyFraction,int nBigImpTrk,
65 const std::vector<const xAOD::IParticle*> & badTracks);
66
67 /* copy constructor */
69
70 /* clone method */
71 virtual VxSecVKalVertexInfo* clone() const;
72
73 /* assignment operator */
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 */
114
115
116 private:
117
118 double m_mass;
124 std::vector<ElementLink<Trk::TrackParticleBaseCollection> > m_badTracksTP;
125 std::vector<ElementLink<xAOD::IParticleContainer> > m_badTracksIP;
126
128
129 };
130
131
132 inline double VxSecVKalVertexInfo::mass() const {
133 return m_mass;
134 }
135
137 return m_energyFraction;
138 }
139
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 */
151
153 return m_n2trackvertices;
154 }
155
157 return m_nBigImpTracks;
158 }
159
161 return m_pseudoVertex;
162 }
163
164 /* clone method */
166 return new VxSecVKalVertexInfo(*this);
167 }
168
169
170}//end namespace Trk
171
172#endif
Define macros for attributes used to control the static checker.
virtual VxSecVKalVertexInfo * clone() const
std::vector< const Trk::TrackParticleBase * > badTracksTP() const
void setIParticleOrigin(const xAOD::IParticleContainer *iparticleTES)
VxSecVKalVertexInfo(const VxSecVKalVertexInfo &)
const xAOD::Vertex * m_pseudoVertex
std::vector< ElementLink< xAOD::IParticleContainer > > m_badTracksIP
const xAOD::Vertex * pseudoVertex() const
void setTrackParticleOrigin(const Trk::TrackParticleBaseCollection *trkpartTES)
std::vector< ElementLink< Trk::TrackParticleBaseCollection > > m_badTracksTP
std::vector< const xAOD::IParticle * > badTracksIP() const
VxSecVKalVertexInfo & operator=(const VxSecVKalVertexInfo &)
void setDstToMatLay(double Value)
const std::vector< xAOD::Vertex * > & vertices() const
tag-value pair class.
Definition Value.h:39
Ensure that the ATLAS eigen extensions are properly loaded.
DataVector< TrackParticleBase > TrackParticleBaseCollection
Vertex_v1 Vertex
Define the latest version of the vertex class.
DataVector< IParticle > IParticleContainer
Simple convenience declaration of IParticleContainer.