ATLAS Offline Software
InDetConversionTrackSelectorTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef InDetTrackSelectorTool_InDetConversionTrackSelectorTool_H
6 #define InDetTrackSelectorTool_InDetConversionTrackSelectorTool_H
7 
12 #include "GaudiKernel/EventContext.h"
13 #include "GaudiKernel/ToolHandle.h"
24 namespace Trk {
25 class Vertex;
26 class Track;
27 class TrackParticleBase;
28 }
29 
30 namespace InDet {
31 
33  : virtual public Trk::ITrackSelectorTool
34  , public AthAlgTool
35 {
36 
37 public:
38  virtual StatusCode initialize() override;
39 
40  InDetConversionTrackSelectorTool(const std::string& t,
41  const std::string& n,
42  const IInterface* p);
43 
45 
47  virtual bool decision(const Trk::Track& track,
48  const Trk::Vertex* vertex) const override final;
49 
51  virtual bool decision(const Trk::TrackParticleBase& track,
52  const Trk::Vertex* vertex) const override final;
53 
54  virtual bool decision(const xAOD::TrackParticle&,
55  const xAOD::Vertex*) const override final;
56 
57 private:
59  {
60  uint8_t val;
61  if (!tp.summaryValue(val, type))
62  return 0;
63  return val > 0 ? val : 0;
64  }
65 
66  // Get Eta bin for eta-dependent TRT-track cuts
67  unsigned int getEtaBin(const Trk::Perigee& perigee) const;
68 
69  Amg::Vector3D getPosOrBeamSpot(const EventContext& ctx,
70  const xAOD::Vertex*) const;
71 
72  ToolHandle<Trk::IExtrapolator> m_extrapolator{ this,
73  "Extrapolator",
74  "",
75  "Extrapolator Tool" };
77  this,
78  "BeamSpotKey",
79  "BeamSpotData",
80  "SG key for beam spot"
81  };
82  SG::ReadHandleKey<xAOD::EventInfo> m_eventInfo_key{this, "EventInfo", "EventInfo", "Input event information"};
83  Gaudi::Property<bool> m_useEventInfoBs{this,"UseEventInfoBS",false};
84  Trk::Vertex* getBeamSpot(const EventContext& ctx) const;
86  double m_maxSiD0;
87  double m_maxTrtD0;
88  double m_maxSiZ0;
89  double m_maxTrtZ0;
90  double m_minPt;
91  double m_trRatio1;
92  double m_trRatio2;
93  double m_trRatio3;
94  double m_trRatioTRT;
95  std::vector<double> m_TRTTrksEtaBins;
96  std::vector<double> m_TRTTrksBinnedRatioTRT;
97  double m_trRatioV0;
98  double m_sD0_Si;
99  double m_sD0_Trt;
100  double m_sZ0_Trt;
101  bool m_isConv;
103 
104 }; // end of class definitions
105 } // end of namespace definitions
106 
107 #endif
Trk::ITrackSelectorTool
The abstract interface base class for track selector tools.
Definition: ITrackSelectorTool.h:35
InDet::InDetConversionTrackSelectorTool::m_extrapolator
ToolHandle< Trk::IExtrapolator > m_extrapolator
Definition: InDetConversionTrackSelectorTool.h:72
Trk::Vertex
Definition: Tracking/TrkEvent/VxVertex/VxVertex/Vertex.h:26
InDet::InDetConversionTrackSelectorTool::~InDetConversionTrackSelectorTool
virtual ~InDetConversionTrackSelectorTool()=default
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
xAOD::Vertex
Vertex_v1 Vertex
Define the latest version of the vertex class.
Definition: Event/xAOD/xAODTracking/xAODTracking/Vertex.h:16
xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:575
InDet::InDetConversionTrackSelectorTool::m_isConv
bool m_isConv
Conversion flag.
Definition: InDetConversionTrackSelectorTool.h:101
Trk::Track
The ATLAS Track class.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:73
InDet::InDetConversionTrackSelectorTool::m_sD0_Si
double m_sD0_Si
Cut on D0 significance of Si tracks.
Definition: InDetConversionTrackSelectorTool.h:98
Trk::ParametersT
Dummy class used to allow special convertors to be called for surfaces owned by a detector element.
Definition: EMErrorDetail.h:25
InDet
DUMMY Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
InDet::InDetConversionTrackSelectorTool::m_trRatio1
double m_trRatio1
TR ratio for tracks with 15-20 TRT hits.
Definition: InDetConversionTrackSelectorTool.h:91
InDet::InDetConversionTrackSelectorTool::m_trRatioV0
double m_trRatioV0
TR ratio for pion selection during V0 reconstruction.
Definition: InDetConversionTrackSelectorTool.h:97
ParticleTest.tp
tp
Definition: ParticleTest.py:25
IExtrapolator.h
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
SG::ReadHandleKey< xAOD::EventInfo >
InDet::InDetConversionTrackSelectorTool::m_sZ0_Trt
double m_sZ0_Trt
Cut on Z0 significance of TRT tracks.
Definition: InDetConversionTrackSelectorTool.h:100
Trk::TrackParticleBase
Definition: TrackParticleBase.h:41
InDet::InDetConversionTrackSelectorTool::m_beamSpotKey
SG::ReadCondHandleKey< InDet::BeamSpotData > m_beamSpotKey
Definition: InDetConversionTrackSelectorTool.h:76
InDet::InDetConversionTrackSelectorTool::m_TRTTrksBinnedRatioTRT
std::vector< double > m_TRTTrksBinnedRatioTRT
Eta-binned eProbabilityHT for TRT-only track cuts.
Definition: InDetConversionTrackSelectorTool.h:96
xAOD::SummaryType
SummaryType
Enumerates the different types of information stored in Summary.
Definition: TrackingPrimitives.h:228
InDet::InDetConversionTrackSelectorTool::m_trRatio2
double m_trRatio2
TR ratio for tracks with 20-25 TRT hits.
Definition: InDetConversionTrackSelectorTool.h:92
InDet::InDetConversionTrackSelectorTool
Definition: InDetConversionTrackSelectorTool.h:35
InDet::InDetConversionTrackSelectorTool::m_eventInfo_key
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfo_key
Definition: InDetConversionTrackSelectorTool.h:82
InDet::InDetConversionTrackSelectorTool::initialize
virtual StatusCode initialize() override
Definition: InDetConversionTrackSelectorTool.cxx:71
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::InDetConversionTrackSelectorTool::m_PIDonlyForXe
bool m_PIDonlyForXe
Only check TRT PID if all hits are Xe hits.
Definition: InDetConversionTrackSelectorTool.h:102
AthAlgTool.h
InDet::InDetConversionTrackSelectorTool::m_sD0_Trt
double m_sD0_Trt
Cut on D0 significance of TRT tracks.
Definition: InDetConversionTrackSelectorTool.h:99
InDet::InDetConversionTrackSelectorTool::m_TRTTrksEtaBins
std::vector< double > m_TRTTrksEtaBins
Eta bins (10 expected) for TRT-only track cuts.
Definition: InDetConversionTrackSelectorTool.h:95
InDet::InDetConversionTrackSelectorTool::m_maxSiD0
double m_maxSiD0
Properties for track selection:all cuts are ANDed.
Definition: InDetConversionTrackSelectorTool.h:86
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
InDet::InDetConversionTrackSelectorTool::InDetConversionTrackSelectorTool
InDetConversionTrackSelectorTool(const std::string &t, const std::string &n, const IInterface *p)
eProbHT cut for Si trks, ntrt<=15
Definition: InDetConversionTrackSelectorTool.cxx:21
InDet::InDetConversionTrackSelectorTool::m_maxTrtD0
double m_maxTrtD0
Maximal d0 at (0,0,0) for standalone TRT tracks.
Definition: InDetConversionTrackSelectorTool.h:87
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
EventInfo.h
InDet::InDetConversionTrackSelectorTool::getPosOrBeamSpot
Amg::Vector3D getPosOrBeamSpot(const EventContext &ctx, const xAOD::Vertex *) const
Definition: InDetConversionTrackSelectorTool.cxx:357
SG::ReadCondHandleKey< InDet::BeamSpotData >
TrackParticle.h
Trk::vertex
@ vertex
Definition: MeasurementType.h:21
InDet::InDetConversionTrackSelectorTool::getCount
int getCount(const xAOD::TrackParticle &tp, xAOD::SummaryType type) const
Definition: InDetConversionTrackSelectorTool.h:58
xAOD::Vertex_v1
Class describing a Vertex.
Definition: Vertex_v1.h:42
InDet::InDetConversionTrackSelectorTool::m_trRatio3
double m_trRatio3
TR ratio for tracks with >25 TRT hits.
Definition: InDetConversionTrackSelectorTool.h:93
InDet::InDetConversionTrackSelectorTool::getEtaBin
unsigned int getEtaBin(const Trk::Perigee &perigee) const
Definition: InDetConversionTrackSelectorTool.cxx:105
InDet::InDetConversionTrackSelectorTool::getBeamSpot
Trk::Vertex * getBeamSpot(const EventContext &ctx) const
Definition: InDetConversionTrackSelectorTool.cxx:80
InDet::InDetConversionTrackSelectorTool::decision
virtual bool decision(const Trk::Track &track, const Trk::Vertex *vertex) const override final
Select a Trk::Track
Definition: InDetConversionTrackSelectorTool.cxx:121
Pythia8_RapidityOrderMPI.val
val
Definition: Pythia8_RapidityOrderMPI.py:14
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
InDet::InDetConversionTrackSelectorTool::m_maxTrtZ0
double m_maxTrtZ0
Maximal z0 at (0,0,0) for standalone TRT tracks.
Definition: InDetConversionTrackSelectorTool.h:89
InDet::InDetConversionTrackSelectorTool::m_minPt
double m_minPt
Minimum Pt of tracks.
Definition: InDetConversionTrackSelectorTool.h:90
BeamSpotData.h
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::InDetConversionTrackSelectorTool::m_maxSiZ0
double m_maxSiZ0
Maximal z0 at (0,0,0)
Definition: InDetConversionTrackSelectorTool.h:88
InDet::InDetConversionTrackSelectorTool::m_trRatioTRT
double m_trRatioTRT
TR ratio for TRT only tracks.
Definition: InDetConversionTrackSelectorTool.h:94
InDet::InDetConversionTrackSelectorTool::m_useEventInfoBs
Gaudi::Property< bool > m_useEventInfoBs
Definition: InDetConversionTrackSelectorTool.h:83