ATLAS Offline Software
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 
13 namespace Trk
14 {
15 
16  class Track;
17  class IMode1dFinder;
18  class ITrackToVertexIPEstimator;
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
63  findSeed(const std::vector<const Trk::TrackParameters*> & perigeeList,
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>
76  findMultiSeeds (const std::vector<const Trk::Track*>& vectorTrk,
77  const xAOD::Vertex * constraint=0) const override final;
78 
79 
86  virtual std::vector<Amg::Vector3D>
87  findMultiSeeds (const std::vector<const Trk::TrackParameters*>& perigeeList,
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
Trk::Vertex
Definition: Tracking/TrkEvent/VxVertex/VxVertex/Vertex.h:26
IVertexAnalyticSeedFinder.h
Trk::TrackDensitySeedFinder::m_densityEstimator
ToolHandle< IVertexTrackDensityEstimator > m_densityEstimator
Definition: TrackDensitySeedFinder.h:92
Amg::MatrixX
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Definition: EventPrimitives.h:29
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
Trk::TrackDensitySeedFinder::findMultiSeeds
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 ...
Definition: TrackDensitySeedFinder.cxx:138
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:562
Trk::TrackDensitySeedFinder::findAnalyticSeed
virtual std::pair< Amg::Vector3D, Amg::MatrixX > findAnalyticSeed(const std::vector< const Trk::TrackParameters * > &perigeeList, const xAOD::Vertex *constraint=0) const override final
Definition: TrackDensitySeedFinder.cxx:95
Trk::TrackDensitySeedFinder::finalize
virtual StatusCode finalize() override
Definition: TrackDensitySeedFinder.cxx:44
beamspotman.n
n
Definition: beamspotman.py:731
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
vector
Definition: MultiHisto.h:13
Trk::TrackDensitySeedFinder
Definition: TrackDensitySeedFinder.h:30
AthAlgTool.h
Trk::TrackDensitySeedFinder::~TrackDensitySeedFinder
virtual ~TrackDensitySeedFinder()
Trk::ParametersBase
Definition: ParametersBase.h:55
Trk::IVertexSeedFinder::findSeed
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.
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Amg
Definition of ATLAS Math & Geometry primitives (Amg)
Definition: AmgStringHelpers.h:19
private
#define private
Definition: DetDescrConditionsDict_dict_fixes.cxx:13
IVertexTrackDensityEstimator.h
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
xAOD::Vertex_v1
Class describing a Vertex.
Definition: Vertex_v1.h:42
Trk::TrackDensitySeedFinder::initialize
virtual StatusCode initialize() override
Definition: TrackDensitySeedFinder.cxx:37
Trk::TrackDensitySeedFinder::TrackDensitySeedFinder
TrackDensitySeedFinder(const std::string &t, const std::string &n, const IInterface *p)
Definition: TrackDensitySeedFinder.cxx:27
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
Trk::TrackDensitySeedFinder::findSeed
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.
Definition: TrackDensitySeedFinder.cxx:50
Trk::IVertexTrackDensityEstimator
Definition: IVertexTrackDensityEstimator.h:33