ATLAS Offline Software
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 
34 namespace Trk
35 {
36  class ITrackSummaryTool;
37  class Vertex;
38  class IExtrapolator;
39  class Track;
40  class TrackParticleBase;
41 }
42 
43 namespace 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 
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
Trk::ITrackSelectorTool
The abstract interface base class for track selector tools.
Definition: ITrackSelectorTool.h:35
Trk::Vertex
Definition: Tracking/TrkEvent/VxVertex/VxVertex/Vertex.h:26
InDet::InDetTrackSelectorTool::m_IPz0Max
DoubleProperty m_IPz0Max
Definition: InDetTrackSelectorTool.h:71
TrackParameters.h
xAOD::Vertex
Vertex_v1 Vertex
Define the latest version of the vertex class.
Definition: Event/xAOD/xAODTracking/xAODTracking/Vertex.h:16
Trk::Track
The ATLAS Track class.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:73
InDet
Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
InDet::InDetTrackSelectorTool::m_extrapolator
ToolHandle< Trk::IExtrapolator > m_extrapolator
Definition: InDetTrackSelectorTool.h:84
InDet::InDetTrackSelectorTool::m_numberOfInLayerHits
IntegerProperty m_numberOfInLayerHits
Definition: InDetTrackSelectorTool.h:78
InDet::InDetTrackSelectorTool::m_maxD0
DoubleProperty m_maxD0
Definition: InDetTrackSelectorTool.h:73
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
InDet::InDetTrackSelectorTool::~InDetTrackSelectorTool
~InDetTrackSelectorTool()
InDet::InDetTrackSelectorTool::m_maxZ0
DoubleProperty m_maxZ0
Definition: InDetTrackSelectorTool.h:72
Trk::TrackParticleBase
Definition: TrackParticleBase.h:41
Trk::ParticleHypothesis
ParticleHypothesis
Definition: ParticleHypothesis.h:25
InDet::InDetTrackSelectorTool
Definition: InDetTrackSelectorTool.h:46
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
InDet::InDetTrackSelectorTool::m_maxD0overSigmaD0
DoubleProperty m_maxD0overSigmaD0
Definition: InDetTrackSelectorTool.h:75
beamspotman.n
n
Definition: beamspotman.py:731
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
InDet::InDetTrackSelectorTool::m_trackSumToolAvailable
bool m_trackSumToolAvailable
Definition: InDetTrackSelectorTool.h:81
AthAlgTool.h
InDet::InDetTrackSelectorTool::InDetTrackSelectorTool
InDetTrackSelectorTool(const std::string &t, const std::string &n, const IInterface *p)
Definition: InDetTrackSelectorTool.cxx:20
InDet::InDetTrackSelectorTool::initialize
virtual StatusCode initialize() override
Definition: InDetTrackSelectorTool.cxx:31
Trk::ParametersBase
Definition: ParametersBase.h:55
ParticleHypothesis.h
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
InDet::InDetTrackSelectorTool::decision
virtual bool decision(const xAOD::TrackParticle &, const xAOD::Vertex *) const override
Definition: InDetTrackSelectorTool.h:60
python.SystemOfUnits.mm
int mm
Definition: SystemOfUnits.py:83
Trk::vertex
@ vertex
Definition: MeasurementType.h:21
InDet::InDetTrackSelectorTool::decision
virtual bool decision(const Trk::Track &track, const Trk::Vertex *vertex) const override
Definition: InDetTrackSelectorTool.cxx:55
xAOD::Vertex_v1
Class describing a Vertex.
Definition: Vertex_v1.h:42
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
InDet::InDetTrackSelectorTool::m_trackSumTool
ToolHandle< Trk::ITrackSummaryTool > m_trackSumTool
Definition: InDetTrackSelectorTool.h:80
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
AthAlgTool
Definition: AthAlgTool.h:26
ITrackSelectorTool.h
InDet::InDetTrackSelectorTool::m_numberOfPixelHits
IntegerProperty m_numberOfPixelHits
Definition: InDetTrackSelectorTool.h:76
InDet::InDetTrackSelectorTool::m_minPt
DoubleProperty m_minPt
Definition: InDetTrackSelectorTool.h:69