ATLAS Offline Software
IMuTagMatchingTool.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 IMuTagMatchingTool_H
6 #define IMuTagMatchingTool_H
7 
8 #include "GaudiKernel/IAlgTool.h"
11 
15 #include "TrkTrack/Track.h"
20 namespace Muon {
21  class MuonSegment;
22 }
23 
24 class IMuTagMatchingTool : virtual public IAlgTool {
25 public:
26  virtual ~IMuTagMatchingTool() = default;
27  static const InterfaceID& interfaceID() {
28  static const InterfaceID IID_IMuTagMatchingTool("IMuTagMatchingTool", 1, 0);
29  return IID_IMuTagMatchingTool;
30  }
31 
34 
35  virtual bool match(const Trk::TrackParameters& atSurface, const Muon::MuonSegment& segment, int surfaceName) const = 0;
36 
37  virtual bool surfaceMatch(const Muon::MuonSegment& segment, int surfaceName) const = 0;
38 
39  virtual bool phiMatch(const Trk::TrackParameters& atSurface, const Muon::MuonSegment& segment) const = 0;
40 
41  virtual bool thetaMatch(const Trk::TrackParameters& atSurface, const Muon::MuonSegment& segment) const = 0;
42 
43  virtual bool rMatch(const Trk::TrackParameters& atSurface, const Muon::MuonSegment& segment) const = 0;
44 
46  virtual std::unique_ptr<Trk::TrackParameters> ExtrapolateTrktoMSEntrance(const EventContext& ctx, const Trk::Track& pTrack,
47  Trk::PropDirection direction) const = 0;
48 
50  virtual std::unique_ptr<Trk::TrackParameters> ExtrapolateTrktoMSSurface(const EventContext& ctx, const Trk::Surface& surface,
51  const Trk::TrackParameters& pTrack,
52  Trk::PropDirection direction) const = 0;
53 
55  virtual std::shared_ptr<Trk::AtaPlane> ExtrapolateTrktoSegmentSurface(const EventContext& ctx, const Muon::MuonSegment& segment,
56  const Trk::TrackParameters& pTrack,
57  Trk::PropDirection direction) const = 0;
58 
59  virtual bool matchSegmentPosition(const MuonCombined::MuonSegmentInfo& info, bool idHasEtaHits) const = 0;
60 
61  virtual bool matchSegmentDirection(const MuonCombined::MuonSegmentInfo& info, bool idHasEtaHits) const = 0;
62 
63  virtual bool matchPtDependentPull(const MuonCombined::MuonSegmentInfo& info, const Trk::Track& trk) const = 0;
64 
65  virtual bool matchDistance(const MuonCombined::MuonSegmentInfo& info) const = 0;
66 
67  virtual bool matchCombinedPull(const MuonCombined::MuonSegmentInfo& info) const = 0;
68 
70  std::shared_ptr<const Trk::AtaPlane> exTrack) const = 0;
71 };
72 
73 #endif // IMuTagMatchingTool_H
grepfile.info
info
Definition: grepfile.py:38
MuonCombined::MuonSegmentInfo
Definition: MuonSegmentInfo.h:23
TrackParameters.h
IMuTagMatchingTool::ExtrapolateTrktoSegmentSurface
virtual std::shared_ptr< Trk::AtaPlane > ExtrapolateTrktoSegmentSurface(const EventContext &ctx, const Muon::MuonSegment &segment, const Trk::TrackParameters &pTrack, Trk::PropDirection direction) const =0
Get extrapolation at Segment Plane Surface level.
Trk::Track
The ATLAS Track class.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:73
PropDirection.h
IMuTagMatchingTool::matchPtDependentPull
virtual bool matchPtDependentPull(const MuonCombined::MuonSegmentInfo &info, const Trk::Track &trk) const =0
Muon
This class provides conversion from CSC RDO data to CSC Digits.
Definition: TrackSystemController.h:49
MuonSegmentInfo.h
IMuTagMatchingTool::muTagSegmentInfo
virtual MuonCombined::MuonSegmentInfo muTagSegmentInfo(const EventContext &ctx, const Trk::Track *track, const Muon::MuonSegment &segment, std::shared_ptr< const Trk::AtaPlane > exTrack) const =0
xAOD::MuonSegment
MuonSegment_v1 MuonSegment
Reference the current persistent version:
Definition: Event/xAOD/xAODMuon/xAODMuon/MuonSegment.h:13
Track.h
MuonSegmentTagSurfaces.h
Trk::PropDirection
PropDirection
Definition: PropDirection.h:19
IMuTagMatchingTool::interfaceID
static const InterfaceID & interfaceID()
Definition: IMuTagMatchingTool.h:27
IMuTagMatchingTool::thetaMatch
virtual bool thetaMatch(const Trk::TrackParameters &atSurface, const Muon::MuonSegment &segment) const =0
IMuTagMatchingTool::phiMatch
virtual bool phiMatch(const Trk::TrackParameters &atSurface, const Muon::MuonSegment &segment) const =0
IMuTagMatchingTool::matchDistance
virtual bool matchDistance(const MuonCombined::MuonSegmentInfo &info) const =0
IMuTagMatchingTool::~IMuTagMatchingTool
virtual ~IMuTagMatchingTool()=default
Trk::ParametersBase
Definition: ParametersBase.h:55
IMuTagMatchingTool::matchCombinedPull
virtual bool matchCombinedPull(const MuonCombined::MuonSegmentInfo &info) const =0
IMuTagMatchingTool::matchSegmentDirection
virtual bool matchSegmentDirection(const MuonCombined::MuonSegmentInfo &info, bool idHasEtaHits) const =0
MuonCombined::MuonSegmentTagSurfaces::SurfDef
SurfDef
Definition: MuonSegmentTagSurfaces.h:23
IMuTagMatchingTool::ExtrapolateTrktoMSSurface
virtual std::unique_ptr< Trk::TrackParameters > ExtrapolateTrktoMSSurface(const EventContext &ctx, const Trk::Surface &surface, const Trk::TrackParameters &pTrack, Trk::PropDirection direction) const =0
Get extrapolation at MSSurface level.
IMuTagMatchingTool::ExtrapolateTrktoMSEntrance
virtual std::unique_ptr< Trk::TrackParameters > ExtrapolateTrktoMSEntrance(const EventContext &ctx, const Trk::Track &pTrack, Trk::PropDirection direction) const =0
Get extrapolation at MS entrance level.
IMuTagMatchingTool::match
virtual bool match(const Trk::TrackParameters &atSurface, const Muon::MuonSegment &segment, int surfaceName) const =0
IMuTagMatchingTool::surfaceMatch
virtual bool surfaceMatch(const Muon::MuonSegment &segment, int surfaceName) const =0
IMuTagMatchingTool::rMatch
virtual bool rMatch(const Trk::TrackParameters &atSurface, const Muon::MuonSegment &segment) const =0
IMuTagMatchingTool
Definition: IMuTagMatchingTool.h:24
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
Muon::MuonSegment
Definition: MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonSegment/MuonSegment/MuonSegment.h:45
IMuonSegmentHitSummaryTool.h
Trk::Surface
Definition: Tracking/TrkDetDescr/TrkSurfaces/TrkSurfaces/Surface.h:75
IMuTagMatchingTool::matchSegmentPosition
virtual bool matchSegmentPosition(const MuonCombined::MuonSegmentInfo &info, bool idHasEtaHits) const =0
NSWL1::PadTriggerAdapter::segment
Muon::NSW_PadTriggerSegment segment(const NSWL1::PadTrigger &data)
Definition: PadTriggerAdapter.cxx:5