ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkVertexFitter
TrkVertexSeedFinderTools
TrkVertexSeedFinderTools
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
8
#include "
AthenaBaseComps/AthAlgTool.h
"
9
#include "
TrkVertexFitterInterfaces/IVertexSeedFinder.h
"
10
#include "GaudiKernel/ToolHandle.h"
11
12
#include "
TrkVertexSeedFinderUtils/IMode3dFinder.h
"
13
#include "
TrkVertexSeedFinderUtils/ITrkDistanceFinder.h
"
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
51
virtual
~CrossDistancesSeedFinder
();
52
53
virtual
StatusCode
initialize
()
override
;
54
55
56
using
IVertexSeedFinder::findSeed
;
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
101
bool
m_useweights
;
102
float
m_trackdistcutoff
;
103
int
m_trackdistexppower
;
104
float
m_constraintcutoff
;
105
float
m_constrainttemp
;
106
unsigned
int
m_maximumTracksNoCut
;
107
double
m_maximumDistanceCut
;
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
AthAlgTool.h
IMode3dFinder.h
ITrkDistanceFinder.h
IVertexSeedFinder.h
Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition
GeoPrimitives.h:47
Trk::CrossDistancesSeedFinder::m_constrainttemp
float m_constrainttemp
Definition
CrossDistancesSeedFinder.h:105
Trk::CrossDistancesSeedFinder::m_distancefinder
ToolHandle< ITrkDistanceFinder > m_distancefinder
Definition
CrossDistancesSeedFinder.h:112
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_maximumTracksNoCut
unsigned int m_maximumTracksNoCut
Definition
CrossDistancesSeedFinder.h:106
Trk::CrossDistancesSeedFinder::m_constraintcutoff
float m_constraintcutoff
Definition
CrossDistancesSeedFinder.h:104
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_maximumDistanceCut
double m_maximumDistanceCut
Definition
CrossDistancesSeedFinder.h:107
Trk::CrossDistancesSeedFinder::m_mode3dfinder
ToolHandle< IMode3dFinder > m_mode3dfinder
Definition
CrossDistancesSeedFinder.h:109
Trk::CrossDistancesSeedFinder::CrossDistancesSeedFinder
CrossDistancesSeedFinder(const std::string &t, const std::string &n, const IInterface *p)
Definition
CrossDistancesSeedFinder.cxx:42
Trk::CrossDistancesSeedFinder::initialize
virtual StatusCode initialize() override
Definition
CrossDistancesSeedFinder.cxx:66
Trk::CrossDistancesSeedFinder::m_trackdistexppower
int m_trackdistexppower
Definition
CrossDistancesSeedFinder.h:103
Trk::CrossDistancesSeedFinder::m_useweights
bool m_useweights
Definition
CrossDistancesSeedFinder.h:101
Trk::CrossDistancesSeedFinder::m_trackdistcutoff
float m_trackdistcutoff
Definition
CrossDistancesSeedFinder.h:102
Trk::CrossDistancesSeedFinder::~CrossDistancesSeedFinder
virtual ~CrossDistancesSeedFinder()
Trk::IMode3dFinder
Interface class for the algotool which calculates the mode of a threedimensional distribution.
Definition
IMode3dFinder.h:52
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::Track
The ATLAS Track class.
Definition
Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:73
Trk::Vertex
This class is a simplest representation of a vertex candidate.
Definition
Tracking/TrkEvent/VxVertex/VxVertex/Vertex.h:26
vector
Definition
MultiHisto.h:13
const
Amg
Definition of ATLAS Math & Geometry primitives (Amg).
Definition
AmgStringHelpers.h:19
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition
GeoPrimitives.h:47
Track
Definition
TriggerChamberClusterOnTrackCreator.h:19
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition
FakeTrackBuilder.h:9
Trk::TrackParameters
ParametersBase< TrackParametersDim, Charged > TrackParameters
Definition
Tracking/TrkEvent/TrkParameters/TrkParameters/TrackParameters.h:27
std
STL namespace.
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition
ICaloAffectedTool.h:24
xAOD::Vertex
Vertex_v1 Vertex
Define the latest version of the vertex class.
Definition
Event/xAOD/xAODTracking/xAODTracking/Vertex.h:16
private
#define private
Definition
testRead.cxx:27
Generated on
for ATLAS Offline Software by
1.17.0