21#ifndef INDETPRIVXFINDERTOOL_INDETITERATIVESECVXFINDERTOOL_H
22#define INDETPRIVXFINDERTOOL_INDETITERATIVESECVXFINDERTOOL_H
32#include "GaudiKernel/ToolHandle.h"
33#include "GaudiKernel/ServiceHandle.h"
74 using extends::extends;
86 std::pair<xAOD::VertexContainer*, xAOD::VertexAuxContainer*>
88 std::pair<xAOD::VertexContainer*, xAOD::VertexAuxContainer*>
97 std::pair<xAOD::VertexContainer*, xAOD::VertexAuxContainer*>
99 std::pair<xAOD::VertexContainer*, xAOD::VertexAuxContainer*>
100 findVertex(
const std::vector<const xAOD::IParticle*> & inputTracks)
override;
104 int getModes1d( std::vector<int> *, std::vector<int> *, std::vector<int> * )
const ;
109 std::pair<xAOD::VertexContainer*, xAOD::VertexAuxContainer*>
110 findVertex(
const std::vector<Trk::ITrackLink*> & trackVector) ;
114 bool V0kine(
const std::vector<Amg::Vector3D>&,
const Amg::Vector3D &position ,
float & ,
float & )
const;
134 std::vector<const Trk::TrackParameters*> & perigeesToFit,
135 std::vector<Trk::ITrackLink*> & seedTracks)
const;
137 void removeAllFrom(std::vector<const Trk::TrackParameters*> & perigeesToFit,
138 std::vector<Trk::ITrackLink*> & seedTracks)
const;
145 float & ndf,
int & ntracks)
const;
149 ToolHandle< Trk::AdaptiveVertexFitter >
m_iVertexFitter{
this,
"VertexFitterTool",
"Trk::AdaptiveVertexFitter",
"Vertex Fitter"};
150 ToolHandle< InDet::IInDetTrackSelectionTool >
m_trkFilter{
this,
"BaseTrackSelector",
"InDet::InDetTrackSelection",
"base track selector"};
151 ToolHandle< InDet::IInDetTrackSelectionTool >
m_SVtrkFilter{
this,
"SecVtxTrackSelector",
"InDet::InDetSecVtxTrackSelection",
"SV track selector"};
152 ToolHandle< Trk::IVertexSeedFinder >
m_SeedFinder{
this,
"SeedFinder",
"Trk::IndexedCrossDistancesSeedFinder",
"seed finder"};
153 ToolHandle< Trk::IImpactPoint3dEstimator >
m_ImpactPoint3dEstimator{
this,
"ImpactPoint3dEstimator",
"Trk::ImpactPoint3dEstimator",
"impact point estimator"};
154 ToolHandle< Trk::IVertexLinearizedTrackFactory >
m_LinearizedTrackFactory{
this,
"LinearizedTrackFactory",
"Trk::FullLinearizedTrackFactory",
"linearized track factory"};
163 Gaudi::Property<float>
m_privtxRef{
this,
"MomentumProjectionOnDirection",-999.9,
""};
164 Gaudi::Property<float>
m_minVtxDist{
this,
"SeedsMinimumDistance",0.1,
""};
171 Gaudi::Property<unsigned int>
m_maxTracks{
this,
"MaxTracks", 5000,
""};
173 void SGError(
const std::string& errService);
175 virtual void printParameterSettings();
196 mutable float m_v0mass{}, m_v0ee{}, m_dir{}, m_ndf{}, m_hif{} ;
#define AmgSymMatrix(dim)
DataVector< Trk::Track > TrackCollection
This typedef represents a collection of Trk::Track objects.
Define macros for attributes used to control the static checker.
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
An abstract class which is meant to represent an element link to the Trk::Track or Trk::TrackParticle...
An Abstract Base Class for the LinearizedTrackFactories.
An abstract base class for implementation of Linearization point finders.
Eigen::Matrix< double, 3, 1 > Vector3D
Ensure that the ATLAS eigen extensions are properly loaded.
DataVector< TrackParticleBase > TrackParticleBaseCollection
ParametersBase< TrackParametersDim, Charged > TrackParameters
Vertex_v1 Vertex
Define the latest version of the vertex class.
TrackParticleContainer_v1 TrackParticleContainer
Definition of the current "TrackParticle container version".