ATLAS Offline Software
VxJetCandidate.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 /***************************************************************************
6  VxJetCandidate.h - Description
7  -------------------
8 
9  begin : Autumn 2006
10  authors: Giacinto Piacquadio (University of Freiburg),
11  Christian Weiser (University of Freiburg)
12  email : nicola.giacinto.piacquadio@cern.ch,
13  christian.weiser@cern.ch
14  changes: new!
15 
16 This class represents a Jet Candidate with all information about all
17 the vertices which were fitted on the JET AXIS.
18 
19 It is a Multi Vertex Class for fitting vertices on the Jet Axis and is
20 used by the new JetFitter algorithm.
21 
22 Compatibility with the original VxCandidate class is kept for compatibility reasons (and to
23 provide a base class for secondary vertex finders used by the standard B-Tagging algorithms).
24 
25 
26  ***************************************************************************/
27 
28 #ifndef VXJETVERTEX_VXJETCANDIDATE_H
29 #define VXJETVERTEX_VXJETCANDIDATE_H
30 
31 #include <vector>
32 #include <utility>
33 #include "VxVertex/VxCandidate.h"
38 
39 namespace Trk
40 {
41 
42 
43  class RecVertex;
44  class VxTrackAtVertex;
45  class VxJetFitterDebugInfo;
46  class VxClusteringTable;
47  class Track;
48  class VxVertexOnJetAxis;
49 
50  class VxJetCandidate : public VxCandidate
51 {
52  public:// standard constructor for persistency
55  const std::vector<Trk::VxTrackAtVertex*>& vxTrackAtVertex);
56  VxJetCandidate(const std::vector<std::pair<const Trk::TrackParticleBase*,const Trk::TrackParticleBaseCollection*> > &);
57  //VxJetCandidate(const std::vector<std::pair<const Trk::TrackParticleBase*,B*> > &);
58  VxJetCandidate(const std::vector<std::pair<const Track*,const TrackCollection*> > &);
59  VxJetCandidate(const std::vector<const Trk::TrackParticleBase*> &);
60  VxJetCandidate(const std::vector<const Track*> &);
61 
62  virtual VxJetCandidate* clone() const;
63  virtual ~VxJetCandidate();
64  VxJetCandidate(const VxJetCandidate& rhs);
66 
67  void setTracksOrigin(const TrackCollection * );
69 
73 
77 
78  const std::vector<VxVertexOnJetAxis*> & getVerticesOnJetAxis(void) const;
79  void setVerticesOnJetAxis(const std::vector<VxVertexOnJetAxis*> &);
80 
81  const VxVertexOnJetAxis* getPrimaryVertex(void) const;
82  VxVertexOnJetAxis* getPrimaryVertex(void);//non-const overload
83 
85 
88 
92 
93 
94 
95  protected:
100  std::vector<VxVertexOnJetAxis*> m_verticesOnJetAxis;
103 
104 };
105 
107  {
108  return new Trk::VxJetCandidate(*this);
109  }
110 
111 }
112 #endif
113 
114 
115 
116 
117 
118 
119 
120 
121 
122 
123 
124 
125 
Trk::VxJetCandidate::setConstraintVertexPositions
void setConstraintVertexPositions(const Trk::RecVertexPositions &)
Definition: VxJetCandidate.cxx:573
TrackParticleBaseCollection.h
Trk::VxJetCandidate::getVerticesOnJetAxis
const std::vector< VxVertexOnJetAxis * > & getVerticesOnJetAxis(void) const
Definition: VxJetCandidate.cxx:543
Trk::VxCandidate::recVertex
const Trk::RecVertex & recVertex(void) const
Returns a reference to reconstructed vertex.
Definition: VxCandidate.h:132
Trk::VxJetCandidate::getConstraintVertexPositions
const Trk::RecVertexPositions & getConstraintVertexPositions() const
Definition: VxJetCandidate.cxx:577
Trk::VxJetCandidate::getLinearizationVertexPositions
const Trk::VertexPositions & getLinearizationVertexPositions() const
Definition: VxJetCandidate.cxx:531
TrackParticleBase.h
Trk::VxJetCandidate::m_clusteringTable
Trk::VxClusteringTable * m_clusteringTable
Definition: VxJetCandidate.h:123
Trk::VxJetCandidate::m_verticesOnJetAxis
std::vector< VxVertexOnJetAxis * > m_verticesOnJetAxis
Definition: VxJetCandidate.h:121
Trk::VxJetCandidate::m_linearizationPositions
Trk::VertexPositions m_linearizationPositions
Definition: VxJetCandidate.h:119
Trk::VxJetCandidate::setTracksOrigin
void setTracksOrigin(const TrackCollection *)
Definition: VxJetCandidate.cxx:199
Trk::VxVertexOnJetAxis
VxVertexOnJetAxis inherits from Vertex.
Definition: VxVertexOnJetAxis.h:79
Trk::RecVertex
Trk::RecVertex inherits from Trk::Vertex.
Definition: RecVertex.h:44
Trk::VxJetCandidate::setTrackParticlesOrigin
void setTrackParticlesOrigin(const Trk::TrackParticleBaseCollection *)
Definition: VxJetCandidate.cxx:218
Trk::VxJetCandidate::operator=
VxJetCandidate & operator=(const VxJetCandidate &)
Assignement operator.
Definition: VxJetCandidate.cxx:345
Trk::VxJetCandidate::getRecVertexPositions
const Trk::RecVertexPositions & getRecVertexPositions() const
Definition: VxJetCandidate.cxx:519
Trk::VxJetCandidate::getPrimaryVertex
const VxVertexOnJetAxis * getPrimaryVertex(void) const
Definition: VxJetCandidate.cxx:551
Trk::VxCandidate::vxTrackAtVertex
std::vector< Trk::VxTrackAtVertex * > * vxTrackAtVertex(void)
Unconst pointer to the vector of tracks Required by some of the vertex fitters.
Definition: VxCandidate.h:144
TrackCollection.h
Trk::VxClusteringTable
Definition: VxClusteringTable.h:71
Trk::VxJetCandidate::clone
virtual VxJetCandidate * clone() const
Definition: VxJetCandidate.h:127
Trk::VxJetCandidate::~VxJetCandidate
virtual ~VxJetCandidate()
Definition: VxJetCandidate.cxx:483
Trk::VxJetCandidate::setRecVertexPositions
void setRecVertexPositions(const Trk::RecVertexPositions &)
Definition: VxJetCandidate.cxx:527
Trk::VxJetCandidate::setPrimaryVertex
void setPrimaryVertex(const VxVertexOnJetAxis *)
Definition: VxJetCandidate.cxx:559
DataVector< Trk::Track >
VxCandidate.h
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::VxJetCandidate::m_constraintPositions
Trk::RecVertexPositions m_constraintPositions
Definition: VxJetCandidate.h:120
Trk::VxJetCandidate
Definition: VxJetCandidate.h:72
Trk::RecVertexPositions
Definition: RecVertexPositions.h:34
Trk::VxJetCandidate::getClusteringTable
Trk::VxClusteringTable *& getClusteringTable(void)
Definition: VxJetCandidate.cxx:569
Trk::VxJetCandidate::setLinearizationVertexPositions
void setLinearizationVertexPositions(const Trk::VertexPositions &)
Definition: VxJetCandidate.cxx:539
Trk::VxJetCandidate::m_primaryVertex
Trk::VxVertexOnJetAxis * m_primaryVertex
Definition: VxJetCandidate.h:117
Trk::VxJetCandidate::getDebugInfo
Trk::VxJetFitterDebugInfo *& getDebugInfo(void)
Definition: VxJetCandidate.cxx:565
Trk::VxJetCandidate::VxJetCandidate
VxJetCandidate()
Definition: VxJetCandidate.cxx:45
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
Trk::VxJetCandidate::setVerticesOnJetAxis
void setVerticesOnJetAxis(const std::vector< VxVertexOnJetAxis * > &)
Definition: VxJetCandidate.cxx:547
Trk::VertexPositions
VertexPositions class to represent and store a vertex.
Definition: VertexPositions.h:36
Trk::VxJetCandidate::m_fittedPositions
Trk::RecVertexPositions m_fittedPositions
Definition: VxJetCandidate.h:118
Trk::VxJetCandidate::m_debugInfo
Trk::VxJetFitterDebugInfo * m_debugInfo
Definition: VxJetCandidate.h:122
Trk::VxJetFitterDebugInfo
Definition: VxJetFitterDebugInfo.h:44
RecVertexPositions.h