ATLAS Offline Software
ISecVertexInJetFinder.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 /***************************************************************************
6  ISecVertexInJetFinder.h - Description
7  -------------------
8  begin : 30-03-2007
9  authors : CSC b-tagging vertexing note members :-)
10  work started by: Giacinto Piacquadio (Freiburg University)
11  email : giacinto.piacquadio@physik.uni-freiburg.de
12  changes :
13  04/2014 : Add possibility to work with xAOD objects
14  ***************************************************************************/
15 
16 
17 #ifndef InDetRecToolInterfaces_ISecVertexInJetFinder_H
18 #define InDetRecToolInterfaces_ISecVertexInJetFinder_H
19 #include "GaudiKernel/AlgTool.h"
20 #include "xAODTracking/Vertex.h"
21 #include <vector>
22 
23 /* Vertex Finder Tool.
24 
25  Abstract class which provides the possibility to implement more than one
26  vertex finder tool (every vertex finder tool inherits from
27  this class).
28 
29  Base class for secondary vertex finders inside jets (takes as input:
30  1) primary vertex
31  2) jet direction (jet momentum is provided)
32  3) list of tracks
33  and gives as output:
34  --> VxSecVertexInfo class
35 
36 */
37 
38 /* Forward declarations */
39 class VxSecVertexInfo;
40 
41 namespace Trk {
42  class RecVertex;
43  class VxSecVertexInfo;
44  class TrackParticleBase;
45 }
46 
47 namespace xAOD {
48  class IParticle;
49 }
50 
51 namespace InDet
52 {
53 static const InterfaceID IID_ISecVertexInJetFinder("ISecVertexInJetFinder", 1, 0);
54 class ISecVertexInJetFinder : virtual public IAlgTool
55  {
56 public:
57  virtual ~ISecVertexInJetFinder() {};
58  static const InterfaceID& interfaceID()
59  {
60  return IID_ISecVertexInJetFinder;
61  };
62 
63 
64  virtual Trk::VxSecVertexInfo* findSecVertex(const xAOD::Vertex & primaryVertex,
65  const TLorentzVector & jetMomentum,
66  const std::vector<const xAOD::IParticle*> & inputTracks) const=0;
67 
68 
72  virtual std::vector<std::string> trackDecorationNames() const
73  {
74  return std::vector<std::string>();
75  }
76  };
77 }
78 #endif
InDet::ISecVertexInJetFinder
Definition: ISecVertexInJetFinder.h:55
InDet
Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
InDet::ISecVertexInJetFinder::trackDecorationNames
virtual std::vector< std::string > trackDecorationNames() const
Return a list of the names of track decorations created by this tool, in order to allow them to be lo...
Definition: ISecVertexInJetFinder.h:72
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
InDet::ISecVertexInJetFinder::interfaceID
static const InterfaceID & interfaceID()
Definition: ISecVertexInJetFinder.h:58
python.TrigInDetConfig.inputTracks
inputTracks
Definition: TrigInDetConfig.py:183
InDet::ISecVertexInJetFinder::findSecVertex
virtual Trk::VxSecVertexInfo * findSecVertex(const xAOD::Vertex &primaryVertex, const TLorentzVector &jetMomentum, const std::vector< const xAOD::IParticle * > &inputTracks) const =0
Vertex.h
InDet::ISecVertexInJetFinder::~ISecVertexInJetFinder
virtual ~ISecVertexInJetFinder()
Definition: ISecVertexInJetFinder.h:57
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::VxSecVertexInfo
Definition: VxSecVertexInfo.h:63
xAOD::Vertex_v1
Class describing a Vertex.
Definition: Vertex_v1.h:42
IParticle
Definition: Event/EventKernel/EventKernel/IParticle.h:43