ATLAS Offline Software
Loading...
Searching...
No Matches
TrackDensitySeedFinder.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TRKVERTEXSEEDFINDERTOOLS_TrackDensitySeedFinder_H
6#define TRKVERTEXSEEDFINDERTOOLS_TrackDensitySeedFinder_H
7
9#include "GaudiKernel/ToolHandle.h"
12
13namespace Trk
14{
15
16 class Track;
17 class IMode1dFinder;
19
20 // @author D. Casper
21 //
22 // @ATLAS software
23 //
24 // This class implements a seed finder for the primary vertex finding
25 // which is based on the use of a density function along the beam line
26 //
27 // -------------------------------------------
28
29 class TrackDensitySeedFinder final: public extends<AthAlgTool, IVertexAnalyticSeedFinder>
30 {
31 public:
32 // Standard Gaudi constructor.
33 TrackDensitySeedFinder (const std::string& t,
34 const std::string& n,
35 const IInterface* p);
36
37
39
40
41 virtual StatusCode initialize() override;
42 virtual StatusCode finalize() override;
43
44
46
52 virtual Amg::Vector3D
53 findSeed (const std::vector<const Trk::Track*> & vectorTrk,
54 const xAOD::Vertex * constraint=0) const override final;
55
56
62 virtual Amg::Vector3D
64 const xAOD::Vertex * constraint=0) const override final;
65
66 virtual std::pair<Amg::Vector3D, Amg::MatrixX> findAnalyticSeed(
67 const std::vector<const Trk::TrackParameters*>& perigeeList,
68 const xAOD::Vertex* constraint = 0) const override final;
69
75 virtual std::vector<Amg::Vector3D>
77 const xAOD::Vertex * constraint=0) const override final;
78
79
86 virtual std::vector<Amg::Vector3D>
88 const xAOD::Vertex * constraint=0) const override final;
89
90
91 private:
93 this,
94 "DensityEstimator",
95 "Trk::GaussianTrackDensity",
96 "Track density tool"
97 };
98 };
99}
100#endif
Eigen::Matrix< double, 3, 1 > Vector3D
Interface class for the algotool which calculates the mode of a unidimensional distribution.
virtual Amg::Vector3D findSeed(const std::vector< const Trk::Track * > &vectorTrk, const xAOD::Vertex *constraint=0) const =0
Finds a linearization point out of a vector of tracks and returns it as an Amg::Vector3D object.
An abstract base class for implementation of weight functions for seeding.
ToolHandle< IVertexTrackDensityEstimator > m_densityEstimator
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 ...
TrackDensitySeedFinder(const std::string &t, const std::string &n, const IInterface *p)
virtual std::pair< Amg::Vector3D, Amg::MatrixX > findAnalyticSeed(const std::vector< const Trk::TrackParameters * > &perigeeList, const xAOD::Vertex *constraint=0) const override final
virtual StatusCode initialize() override
virtual StatusCode finalize() override
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.
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