ATLAS Offline Software
Loading...
Searching...
No Matches
InDetTrackSelectorTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef InDetTrackSelectorTool_InDetTrackSelectorTool_H
6#define InDetTrackSelectorTool_InDetTrackSelectorTool_H
7
9#include "GaudiKernel/ToolHandle.h"
11#include "TrkEventPrimitives/ParticleHypothesis.h"//enum, do not fwd declare
12#include "TrkParameters/TrackParameters.h" //typedef
13
14#include "CLHEP/Units/SystemOfUnits.h"
15
16
33
34namespace Trk
35{
36 class ITrackSummaryTool;
37 class Vertex;
38 class IExtrapolator;
39 class Track;
40 class TrackParticleBase;
41}
42
43namespace InDet
44{
46 {
47
48 public:
49
50 virtual StatusCode initialize() override;
51
52 InDetTrackSelectorTool(const std::string& t, const std::string& n, const IInterface* p);
53
55
56 virtual bool decision(const Trk::Track& track,const Trk::Vertex* vertex) const override;
57
58 virtual bool decision(const Trk::TrackParticleBase& track,const Trk::Vertex* vertex) const override;
59
60 virtual bool decision(const xAOD::TrackParticle&,const xAOD::Vertex*) const override {
61 ATH_MSG_WARNING("xAOD::TrackParticle selection not implemented yet");
62 return false;
63 }
64
65 private:
66
67 bool decision(const Trk::TrackParameters* track, const Trk::Vertex* vertex, const Trk::ParticleHypothesis) const;
68
69 DoubleProperty m_minPt{this, "minPt", 500., "Minimum Pt of tracks"};
70 DoubleProperty m_IPz0Max
71 {this, "IPz0Max", 10.*CLHEP::mm, "max. z0: |z0*sin(theta)| < z0Max"};
72 DoubleProperty m_maxZ0{this, "maxZ0", 99999., "Maximum z0 of tracks"};
73 DoubleProperty m_maxD0{this, "maxD0", 2.*CLHEP::mm, "Maximum d0 of tracks"};
74 DoubleProperty m_maxD0overSigmaD0
75 {this, "maxD0overSigmaD0", 3., "Maximum d0/sigmad0 of tracks"};
76 IntegerProperty m_numberOfPixelHits{this, "numberOfPixelHits",2};
77 IntegerProperty m_numberOfInLayerHits
78 {this, "numberOfInnermostPixelLayerHits", 1};
79 ToolHandle<Trk::ITrackSummaryTool> m_trackSumTool
80 {this, "TrackSummaryTool", "TrackSummaryTool"};
82
83 ToolHandle<Trk::IExtrapolator> m_extrapolator
84 {this, "Extrapolator", "Trk::Extrapolator"};
85
86 }; //end of class definitions
87} //end of namespace definitions
88
89#endif //TrkMultipleVertexSeedFinders_PVFindingTrackSelectoTool_H
#define ATH_MSG_WARNING(x)
boost::graph_traits< boost::adjacency_list< boost::vecS, boost::vecS, boost::bidirectionalS > >::vertex_descriptor Vertex
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
virtual bool decision(const Trk::Track &track, const Trk::Vertex *vertex) const override
ToolHandle< Trk::ITrackSummaryTool > m_trackSumTool
virtual bool decision(const xAOD::TrackParticle &, const xAOD::Vertex *) const override
InDetTrackSelectorTool(const std::string &t, const std::string &n, const IInterface *p)
ToolHandle< Trk::IExtrapolator > m_extrapolator
virtual StatusCode initialize() override
The abstract interface base class for track selector tools.
This class is a simplest representation of a vertex candidate.
Primary Vertex Finder.
Ensure that the ATLAS eigen extensions are properly loaded.
ParticleHypothesis
Enumeration for Particle hypothesis respecting the interaction with material.
ParametersBase< TrackParametersDim, Charged > TrackParameters
TrackParticle_v1 TrackParticle
Reference the current persistent version:
Vertex_v1 Vertex
Define the latest version of the vertex class.