ATLAS Offline Software
InDetTrackSummaryHelperTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef INDETTRACKSUMMARYHELPERTOOL_H
6 #define INDETTRACKSUMMARYHELPERTOOL_H
7 
10 
15 #include "TrkTrackSummary/TrackSummary.h" // defines the Trk::numberOfDetectorTypes enum
16 
19 
20 #include "GaudiKernel/ToolHandle.h"
21 
22 #include <bitset>
23 #include <vector>
24 
25 class ITRT_StrawSummaryTool;
26 class PixelID;
27 class SCT_ID;
28 class TRT_ID;
29 
30 namespace Trk {
32 class RIO_OnTrack;
33 class Track;
34 class TrackStateOnSurface;
35 }
36 
37 namespace InDet {
38 
40  : public extends<AthAlgTool, Trk::IExtendedTrackSummaryHelperTool>
41 {
42 public:
44  InDetTrackSummaryHelperTool(const std::string&,
45  const std::string&,
46  const IInterface*);
47 
49  virtual ~InDetTrackSummaryHelperTool() = default;
50 
53  virtual StatusCode initialize() override;
54  virtual StatusCode finalize() override;
55 
61  using IExtendedTrackSummaryHelperTool::addDetailedTrackSummary;
62  using IExtendedTrackSummaryHelperTool::analyse;
63 
64  virtual void analyse(
65  const EventContext& ctx,
66  const Trk::Track& track,
67  const Trk::RIO_OnTrack* rot,
68  const Trk::TrackStateOnSurface* tsos,
69  std::vector<int>& information,
70  std::bitset<Trk::numberOfDetectorTypes>& hitPattern) const override final;
71 
72  virtual void analyse(
73  const EventContext& ctx,
74  const Trk::Track& track,
75  const Trk::CompetingRIOsOnTrack* crot,
76  const Trk::TrackStateOnSurface* tsos,
77  std::vector<int>& information,
78  std::bitset<Trk::numberOfDetectorTypes>& hitPattern) const override final;
82  virtual void addDetailedTrackSummary(const EventContext& ctx,
83  const Trk::Track&,
84  Trk::TrackSummary&) const override final;
85 
95  virtual void searchForHoles(
96  const Trk::Track& track,
97  std::vector<int>& information,
98  const Trk::ParticleHypothesis partHyp = Trk::pion) const override final;
99 
100 
101 private:
102 
104  const PixelID* m_pixelId{ nullptr };
105 
107  const SCT_ID* m_sctId{ nullptr };
108 
110  const TRT_ID* m_trtId{ nullptr };
111 
112  ToolHandle<Trk::ITrackHoleSearchTool> m_holeSearchTool{
113  this,
114  "HoleSearch",
115  "InDet::InDetTrackHoleSearchTool"
116  };
117 
118  ToolHandle<ITRT_StrawStatusSummaryTool> m_TRTStrawSummaryTool{
119  this,
120  "TRTStrawSummarySvc",
121  "TRT_StrawStatusSummaryTool",
122  "The ConditionsSummaryTool"
123  };
124 
125  BooleanProperty m_usePixel{ this, "usePixel", true };
126  BooleanProperty m_useSCT{ this, "useSCT", true };
127  BooleanProperty m_useTRT{ this, "useTRT", true };
128 };
129 
130 }
131 #endif
IPixelToTPIDTool.h
Trk::Track
The ATLAS Track class.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:73
PixelCluster.h
InDet
DUMMY Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
InDet::InDetTrackSummaryHelperTool::m_TRTStrawSummaryTool
ToolHandle< ITRT_StrawStatusSummaryTool > m_TRTStrawSummaryTool
Definition: InDetTrackSummaryHelperTool.h:118
Trk::RIO_OnTrack
Definition: RIO_OnTrack.h:70
InDet::InDetTrackSummaryHelperTool::addDetailedTrackSummary
virtual void addDetailedTrackSummary(const EventContext &ctx, const Trk::Track &, Trk::TrackSummary &) const override final
Definition: InDetTrackSummaryHelperTool.cxx:238
InDet::InDetTrackSummaryHelperTool::~InDetTrackSummaryHelperTool
virtual ~InDetTrackSummaryHelperTool()=default
destructor
Trk::ParticleHypothesis
ParticleHypothesis
Definition: ParticleHypothesis.h:25
InDet::InDetTrackSummaryHelperTool::finalize
virtual StatusCode finalize() override
Definition: InDetTrackSummaryHelperTool.cxx:246
ITRT_StrawStatusSummaryTool.h
abstract interface to TRT straw status constants
Trk::MeasurementBaseType::CompetingRIOsOnTrack
@ CompetingRIOsOnTrack
Definition: MeasurementBase.h:50
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
InDet::InDetTrackSummaryHelperTool::m_usePixel
BooleanProperty m_usePixel
Definition: InDetTrackSummaryHelperTool.h:125
InDet::InDetTrackSummaryHelperTool::m_trtId
const TRT_ID * m_trtId
ID TRT helper.
Definition: InDetTrackSummaryHelperTool.h:110
Trk::pion
@ pion
Definition: ParticleHypothesis.h:29
AthAlgTool.h
Trk::CompetingRIOsOnTrack
Base class for all CompetingRIOsOnTack implementations, extends the common MeasurementBase.
Definition: CompetingRIOsOnTrack.h:64
TrackSummary.h
InDet::InDetTrackSummaryHelperTool
Definition: InDetTrackSummaryHelperTool.h:41
ParticleHypothesis.h
InDet::InDetTrackSummaryHelperTool::m_holeSearchTool
ToolHandle< Trk::ITrackHoleSearchTool > m_holeSearchTool
Definition: InDetTrackSummaryHelperTool.h:112
InDet::InDetTrackSummaryHelperTool::searchForHoles
virtual void searchForHoles(const Trk::Track &track, std::vector< int > &information, const Trk::ParticleHypothesis partHyp=Trk::pion) const override final
Input : track, partHyp Output: Changes in information This method first calls the method getListOfHit...
Definition: InDetTrackSummaryHelperTool.cxx:226
ITrackHoleSearchTool.h
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::TrackStateOnSurface
represents the track state (measurement, material, fit parameters and quality) at a surface.
Definition: TrackStateOnSurface.h:71
InDet::InDetTrackSummaryHelperTool::m_useTRT
BooleanProperty m_useTRT
Definition: InDetTrackSummaryHelperTool.h:127
Trk::TrackSummary
A summary of the information contained by a track.
Definition: Tracking/TrkEvent/TrkTrackSummary/TrkTrackSummary/TrackSummary.h:287
IExtendedTrackSummaryHelperTool.h
Trk::MeasurementBaseType::RIO_OnTrack
@ RIO_OnTrack
Definition: MeasurementBase.h:49
InDet::InDetTrackSummaryHelperTool::analyse
virtual void analyse(const EventContext &ctx, const Trk::Track &track, const Trk::RIO_OnTrack *rot, const Trk::TrackStateOnSurface *tsos, std::vector< int > &information, std::bitset< Trk::numberOfDetectorTypes > &hitPattern) const override final
Definition: InDetTrackSummaryHelperTool.cxx:67
TRT_ID
Definition: TRT_ID.h:84
SCT_ID
Definition: SCT_ID.h:68
InDet::InDetTrackSummaryHelperTool::InDetTrackSummaryHelperTool
InDetTrackSummaryHelperTool(const std::string &, const std::string &, const IInterface *)
constructor
Definition: InDetTrackSummaryHelperTool.cxx:25
InDet::InDetTrackSummaryHelperTool::m_useSCT
BooleanProperty m_useSCT
Definition: InDetTrackSummaryHelperTool.h:126
ClusterSplitProbabilityContainer.h
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
InDet::InDetTrackSummaryHelperTool::m_pixelId
const PixelID * m_pixelId
ID pixel helper.
Definition: InDetTrackSummaryHelperTool.h:104
PixelID
Definition: PixelID.h:67
InDet::InDetTrackSummaryHelperTool::initialize
virtual StatusCode initialize() override
standard AlgTool methods: initialise retrieves Tools, finalize does nothing
Definition: InDetTrackSummaryHelperTool.cxx:35
InDet::InDetTrackSummaryHelperTool::m_sctId
const SCT_ID * m_sctId
ID SCT helper.
Definition: InDetTrackSummaryHelperTool.h:107