ATLAS Offline Software
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 
16 namespace 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,
93  std::unique_ptr<Trk::IMode3dInfo>& info,
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>
115  findMultiSeeds (const std::vector<const Trk::TrackParameters*>& perigeeList,
116  const xAOD::Vertex * constraint=0) const override final;
117 
118 
119  private:
120 
126  unsigned int m_maximumTracksNoCut;
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
grepfile.info
info
Definition: grepfile.py:38
Trk::IndexedCrossDistancesSeedFinder::m_mode3dfinder
ToolHandle< IMode3dFinder > m_mode3dfinder
Definition: IndexedCrossDistancesSeedFinder.h:129
Trk::Vertex
Definition: Tracking/TrkEvent/VxVertex/VxVertex/Vertex.h:26
IVertexSeedFinder.h
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
ITrkDistanceFinder.h
Trk::IndexedCrossDistancesSeedFinder::m_maximumDistanceCut
double m_maximumDistanceCut
Definition: IndexedCrossDistancesSeedFinder.h:127
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::IndexedCrossDistancesSeedFinder::m_constrainttemp
float m_constrainttemp
Definition: IndexedCrossDistancesSeedFinder.h:125
Trk::IndexedCrossDistancesSeedFinder::m_distancefinder
ToolHandle< ITrkDistanceFinder > m_distancefinder
Definition: IndexedCrossDistancesSeedFinder.h:132
Trk::IndexedCrossDistancesSeedFinder::m_trackdistcutoff
float m_trackdistcutoff
Definition: IndexedCrossDistancesSeedFinder.h:122
Trk::IndexedCrossDistancesSeedFinder::~IndexedCrossDistancesSeedFinder
virtual ~IndexedCrossDistancesSeedFinder()
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
AthAlgTool.h
Trk::IndexedCrossDistancesSeedFinder::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: IndexedCrossDistancesSeedFinder.cxx:253
Trk::IMode3dInfo
Auxillary interface for getting back additional data.
Definition: IMode3dFinder.h:31
Trk::ParametersBase
Definition: ParametersBase.h:55
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
Trk::IndexedCrossDistancesSeedFinder::m_trackdistexppower
int m_trackdistexppower
Definition: IndexedCrossDistancesSeedFinder.h:123
private
#define private
Definition: DetDescrConditionsDict_dict_fixes.cxx:13
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
Trk::IMode3dFinder
Definition: IMode3dFinder.h:52
xAOD::Vertex_v1
Class describing a Vertex.
Definition: Vertex_v1.h:42
Trk::IndexedCrossDistancesSeedFinder::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: IndexedCrossDistancesSeedFinder.cxx:62
IMode3dFinder.h
Trk::IndexedCrossDistancesSeedFinder::IndexedCrossDistancesSeedFinder
IndexedCrossDistancesSeedFinder(const std::string &t, const std::string &n, const IInterface *p)
Definition: IndexedCrossDistancesSeedFinder.cxx:29
Trk::IndexedCrossDistancesSeedFinder::m_constraintcutoff
float m_constraintcutoff
Definition: IndexedCrossDistancesSeedFinder.h:124
Trk::IndexedCrossDistancesSeedFinder::m_maximumTracksNoCut
unsigned int m_maximumTracksNoCut
Definition: IndexedCrossDistancesSeedFinder.h:126
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
Trk::IndexedCrossDistancesSeedFinder::m_useweights
bool m_useweights
Definition: IndexedCrossDistancesSeedFinder.h:121
Trk::IndexedCrossDistancesSeedFinder::initialize
virtual StatusCode initialize() override
Definition: IndexedCrossDistancesSeedFinder.cxx:53
Trk::IndexedCrossDistancesSeedFinder
Definition: IndexedCrossDistancesSeedFinder.h:36