ATLAS Offline Software
Loading...
Searching...
No Matches
IndexedCrossDistancesSeedFinder.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3*/
4#ifndef TRKVERTEXSEEDFINDERTOOLS_INDEXCROSSDISTANCESSEEDFINDER_H
5#define TRKVERTEXSEEDFINDERTOOLS_INDEXCROSSDISTANCESSEEDFINDER_H
6
10#include "GaudiKernel/ToolHandle.h"
11
14
15
16namespace Trk
17{
18 class Track;
19
20 // @author N. Giacinto Piacquadio (Albert-Ludwigs-Universitaet Freiburg - Germany)
21 //
22 // @ATLAS software
23 //
24 // This class implements a seed finder for the vertexing algorithm
25 // which is based on the mean points of the distances between all tracks
26 // (taken two by two). There's actually no selection on the tracks.
27 //
28 //
29 // A very similar point finder was implemented for the first time by Waltenberger
30 // in CMS. I suggest his PhD thesis (2005) as a reference for the different concepts
31 // of point finders.
32 //
33 // ------------------------------------
34
35 class IndexedCrossDistancesSeedFinder final: public extends<AthAlgTool, IVertexSeedFinder>
36 {
37 public:
38 // Standard Gaudi constructor.
39 IndexedCrossDistancesSeedFinder (const std::string& t,
40 const std::string& n,
41 const IInterface* p);
42
43
45
46
47 virtual StatusCode initialize() override;
48
49
55 virtual Amg::Vector3D
56 findSeed (const std::vector<const Trk::Track*> & vectorTrk,
57 const xAOD::Vertex * constraint=0) const override final;
58
59
65 virtual Amg::Vector3D
66 findSeed (const std::vector<const Trk::TrackParameters*> & perigeeList,
67 const xAOD::Vertex * constraint=0) const override final;
68
69
76 virtual Amg::Vector3D
77 findSeed(const double vx,
78 const double vy,
79 const std::vector<const Trk::TrackParameters*>& perigeeList,
80 const xAOD::Vertex * constraint=0) const override final;
81
82
90 virtual Amg::Vector3D
91 findSeed(const double vx,
92 const double vy,
94 const std::vector<const Trk::TrackParameters*>& perigeeList,
95 const xAOD::Vertex * constraint=0) const override final;
96
97
103 virtual std::vector<Amg::Vector3D>
104 findMultiSeeds (const std::vector<const Trk::Track*>& vectorTrk,
105 const xAOD::Vertex * constraint=0) const override final;
106
107
114 virtual std::vector<Amg::Vector3D>
116 const xAOD::Vertex * constraint=0) const override final;
117
118
119 private:
120
128
129 ToolHandle<IMode3dFinder> m_mode3dfinder{ this,
130 "Mode3dFinder",
131 "Trk::Mode3dFromFsmw1dFinder" };
132 ToolHandle<ITrkDistanceFinder> m_distancefinder{
133 this,
134 "TrkDistanceFinder",
135 "Trk::SeedNewtonTrkDistanceFinder"
136 };
137 };
138}
139#endif
Eigen::Matrix< double, 3, 1 > Vector3D
Interface class for the algotool which calculates the mode of a threedimensional distribution.
Auxillary interface for getting back additional data.
virtual Amg::Vector3D findSeed(const std::vector< const Trk::Track * > &vectorTrk, const xAOD::Vertex *constraint=0) const override final
Finds a linearization point out of a vector of tracks and returns it as an Amg::Vector3D object.
IndexedCrossDistancesSeedFinder(const std::string &t, const std::string &n, const IInterface *p)
virtual std::vector< Amg::Vector3D > findMultiSeeds(const std::vector< const Trk::Track * > &vectorTrk, const xAOD::Vertex *constraint=0) const override final
Finds full vector of linearization points from a vector of tracks and returns it as an Amg::Vector3D ...
This class is a simplest representation of a vertex candidate.
STL class.
Definition of ATLAS Math & Geometry primitives (Amg)
Eigen::Matrix< double, 3, 1 > Vector3D
Ensure that the ATLAS eigen extensions are properly loaded.
ParametersBase< TrackParametersDim, Charged > TrackParameters
STL namespace.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Vertex_v1 Vertex
Define the latest version of the vertex class.
#define private