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 using CLHEP::mm;
17 
35 namespace Trk
36 {
37  class ITrackSummaryTool;
38  class Vertex;
39  class IExtrapolator;
40  class Track;
41  class TrackParticleBase;
42 }
43 
44 namespace InDet
45 {
47  {
48 
49  public:
50 
51  virtual StatusCode initialize() override;
52 
53  InDetTrackSelectorTool(const std::string& t, const std::string& n, const IInterface* p);
54 
56 
57  virtual bool decision(const Trk::Track& track,const Trk::Vertex* vertex) const override;
58 
59  virtual bool decision(const Trk::TrackParticleBase& track,const Trk::Vertex* vertex) const override;
60 
61  virtual bool decision(const xAOD::TrackParticle&,const xAOD::Vertex*) const override {
62  ATH_MSG_WARNING("xAOD::TrackParticle selection not implemented yet");
63  return false;
64  }
65 
66  private:
67 
69 
70  DoubleProperty m_minPt{this, "minPt", 500., "Minimum Pt of tracks"};
71  DoubleProperty m_IPz0Max
72  {this, "IPz0Max", 10.*mm, "max. z0: |z0*sin(theta)| < z0Max"};
73  DoubleProperty m_maxZ0{this, "maxZ0", 99999., "Maximum z0 of tracks"};
74  DoubleProperty m_maxD0{this, "maxD0", 2.*mm, "Maximum d0 of tracks"};
75  DoubleProperty m_maxD0overSigmaD0
76  {this, "maxD0overSigmaD0", 3., "Maximum d0/sigmad0 of tracks"};
77  IntegerProperty m_numberOfPixelHits{this, "numberOfPixelHits",2};
78  IntegerProperty m_numberOfInLayerHits
79  {this, "numberOfInnermostPixelLayerHits", 1};
80  ToolHandle<Trk::ITrackSummaryTool> m_trackSumTool
81  {this, "TrackSummaryTool", "TrackSummaryTool"};
83 
84  ToolHandle<Trk::IExtrapolator> m_extrapolator
85  {this, "Extrapolator", "Trk::Extrapolator"};
86 
87  }; //end of class definitions
88 } //end of namespace definitions
89 
90 #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:72
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:85
InDet::InDetTrackSelectorTool::m_numberOfInLayerHits
IntegerProperty m_numberOfInLayerHits
Definition: InDetTrackSelectorTool.h:79
InDet::InDetTrackSelectorTool::m_maxD0
DoubleProperty m_maxD0
Definition: InDetTrackSelectorTool.h:74
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:73
Trk::TrackParticleBase
Definition: TrackParticleBase.h:41
Trk::ParticleHypothesis
ParticleHypothesis
Definition: ParticleHypothesis.h:25
InDet::InDetTrackSelectorTool
Definition: InDetTrackSelectorTool.h:47
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
InDet::InDetTrackSelectorTool::m_maxD0overSigmaD0
DoubleProperty m_maxD0overSigmaD0
Definition: InDetTrackSelectorTool.h:76
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:82
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:61
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:81
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:77
InDet::InDetTrackSelectorTool::m_minPt
DoubleProperty m_minPt
Definition: InDetTrackSelectorTool.h:70