ATLAS Offline Software
CrossDistancesSeedFinder.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRKVERTEXSEEDFINDERTOOLS_CROSSDISTANCESSEEDFINDER_H
6 #define TRKVERTEXSEEDFINDERTOOLS_CROSSDISTANCESSEEDFINDER_H
7 
10 #include "GaudiKernel/ToolHandle.h"
11 
14 
15 namespace Trk
16 {
17  class Track;
18 
19  // @author N. Giacinto Piacquadio (Albert-Ludwigs-Universitaet Freiburg - Germany)
20  //
21  // @ATLAS software
22  //
23  // This class implements a seed finder for the vertexing algorithm
24  // which is based on the mean points of the distances between all tracks
25  // (taken two by two). There's actually no selection on the tracks.
26  //
27  //
28  // A very similar point finder was implemented for the first time by Waltenberger
29  // in CMS. I suggest his PhD thesis (2005) as a reference for the different concepts
30  // of point finders.
31  //
32  // ---------------------------------------
33  // Changes:
34  //
35  // David Shope <david.richard.shope@cern.ch> (2016-04-19)
36  //
37  // EDM Migration to xAOD - from Trk::VxCandidate to xAOD::Vertex,
38  // from Trk::RecVertex to xAOD::Vertex,
39  // from Trk::Vertex to Amg::Vector3D
40 
41 
42  class CrossDistancesSeedFinder final: public extends<AthAlgTool, IVertexSeedFinder>
43  {
44  public:
45  // Standard Gaudi constructor.
46  CrossDistancesSeedFinder (const std::string& t,
47  const std::string& n,
48  const IInterface* p);
49 
50 
52 
53  virtual StatusCode initialize() override;
54 
55 
57 
63  virtual Amg::Vector3D
64  findSeed (const std::vector<const Trk::Track*> & vectorTrk,
65  const xAOD::Vertex * constraint=0) const override final;
66 
67 
73  virtual Amg::Vector3D
74  findSeed (const std::vector<const Trk::TrackParameters*> & perigeeList,
75  const xAOD::Vertex * constraint=0) const override final;
76 
77 
83  virtual std::vector<Amg::Vector3D>
84  findMultiSeeds (const std::vector<const Trk::Track*>& vectorTrk,
85  const xAOD::Vertex * constraint=0) const override final;
86 
87 
94  virtual std::vector<Amg::Vector3D>
95  findMultiSeeds (const std::vector<const Trk::TrackParameters*>& perigeeList,
96  const xAOD::Vertex * constraint=0) const override final;
97 
98 
99  private:
100 
106  unsigned int m_maximumTracksNoCut;
108 
109  ToolHandle<IMode3dFinder> m_mode3dfinder{ this,
110  "Mode3dFinder",
111  "Trk::Mode3dTo1dFinder" };
112  ToolHandle<ITrkDistanceFinder> m_distancefinder{
113  this,
114  "TrkDistanceFinder",
115  "Trk::SeedNewtonTrkDistanceFinder"
116  };
117  };
118 }
119 #endif
Trk::CrossDistancesSeedFinder::m_trackdistcutoff
float m_trackdistcutoff
Definition: CrossDistancesSeedFinder.h:102
Trk::CrossDistancesSeedFinder::m_distancefinder
ToolHandle< ITrkDistanceFinder > m_distancefinder
Definition: CrossDistancesSeedFinder.h:112
Trk::Vertex
Definition: Tracking/TrkEvent/VxVertex/VxVertex/Vertex.h:26
IVertexSeedFinder.h
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
ITrkDistanceFinder.h
Trk::CrossDistancesSeedFinder::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: CrossDistancesSeedFinder.cxx:73
Trk::CrossDistancesSeedFinder::m_maximumDistanceCut
double m_maximumDistanceCut
Definition: CrossDistancesSeedFinder.h:107
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::CrossDistancesSeedFinder::~CrossDistancesSeedFinder
virtual ~CrossDistancesSeedFinder()
Trk::CrossDistancesSeedFinder::initialize
virtual StatusCode initialize() override
Definition: CrossDistancesSeedFinder.cxx:66
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::CrossDistancesSeedFinder::m_trackdistexppower
int m_trackdistexppower
Definition: CrossDistancesSeedFinder.h:103
Trk::CrossDistancesSeedFinder::m_constrainttemp
float m_constrainttemp
Definition: CrossDistancesSeedFinder.h:105
Trk::ParametersBase
Definition: ParametersBase.h:55
Trk::CrossDistancesSeedFinder::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: CrossDistancesSeedFinder.cxx:244
Trk::CrossDistancesSeedFinder::m_useweights
bool m_useweights
Definition: CrossDistancesSeedFinder.h:101
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
Trk::CrossDistancesSeedFinder::CrossDistancesSeedFinder
CrossDistancesSeedFinder(const std::string &t, const std::string &n, const IInterface *p)
Definition: CrossDistancesSeedFinder.cxx:42
Trk::CrossDistancesSeedFinder
Definition: CrossDistancesSeedFinder.h:43
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::CrossDistancesSeedFinder::m_maximumTracksNoCut
unsigned int m_maximumTracksNoCut
Definition: CrossDistancesSeedFinder.h:106
IMode3dFinder.h
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
Trk::CrossDistancesSeedFinder::m_mode3dfinder
ToolHandle< IMode3dFinder > m_mode3dfinder
Definition: CrossDistancesSeedFinder.h:109
Trk::CrossDistancesSeedFinder::m_constraintcutoff
float m_constraintcutoff
Definition: CrossDistancesSeedFinder.h:104