ATLAS Offline Software
MuonCandidateTool.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 MUONCOMBINEDBASETOOLS_MUONCANDIDATETOOL_H
6 #define MUONCOMBINEDBASETOOLS_MUONCANDIDATETOOL_H
7 
10 #include "GaudiKernel/ToolHandle.h"
22 
23 namespace MuonCombined {
24 
25  class MuonCandidateTool : public AthAlgTool, virtual public IMuonCandidateTool {
26  public:
27  MuonCandidateTool(const std::string& type, const std::string& name, const IInterface* parent);
28  virtual ~MuonCandidateTool() = default;
29 
30  virtual StatusCode initialize() override;
31 
34  TrackCollection& outputTracks, const EventContext& ctx) const override;
35 
36  private:
37  ToolHandle<Muon::MuonEDMPrinterTool> m_printer{this, "Printer", "Muon::MuonEDMPrinterTool/MuonEDMPrinterTool"};
38  ToolHandle<Rec::ICombinedMuonTrackBuilder> m_trackBuilder{this, "TrackBuilder", "", ""};
39  ToolHandle<Muon::IMuonTrackExtrapolationTool> m_trackExtrapolationTool{this, "TrackExtrapolationTool",
40  "ExtrapolateMuonToIPTool/ExtrapolateMuonToIPTool"};
41  ToolHandle<Trk::ITrackAmbiguityProcessorTool> m_ambiguityProcessor{this, "AmbiguityProcessor",
42  "Trk::TrackSelectionProcessorTool/MuonAmbiProcessor"};
43  ToolHandle<Trk::IExtendedTrackSummaryTool> m_trackSummaryTool{this, "TrackSummaryTool", "MuonTrackSummaryTool"};
44 
45  ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc{this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
46 
47  SG::ReadCondHandleKey<InDet::BeamSpotData> m_beamSpotKey{this, "BeamSpotKey", "BeamSpotData", "SG key for beam spot"};
48 
51  PublicToolHandle<MuonCombined::IMuonTrackToSegmentAssociationTool> m_trackSegmentAssociationTool{
52  this, "TrackSegmentAssociationTool", "MuonCombined::TrackSegmentAssociationTool/TrackSegmentAssociationTool"};
53 
54  Gaudi::Property<unsigned int> m_extrapolationStrategy{this, "ExtrapolationStrategy", 0};
55 
56  Gaudi::Property<bool> m_commissioning{this, "Commissioning", false,
57  "Flag deciding whether the candidate belongs to the comissioning."};
58  };
59 
60 } // namespace MuonCombined
61 
62 #endif
MuonCombined::MuonCandidateTool::m_commissioning
Gaudi::Property< bool > m_commissioning
Definition: MuonCandidateTool.h:56
ICombinedMuonTrackBuilder.h
MuonCombined::MuonCandidateTool::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: MuonCandidateTool.h:45
MuonCombined::MuonCandidateTool::~MuonCandidateTool
virtual ~MuonCandidateTool()=default
MuonEDMPrinterTool.h
MuonCombined::MuonCandidateTool::m_trackBuilder
ToolHandle< Rec::ICombinedMuonTrackBuilder > m_trackBuilder
Definition: MuonCandidateTool.h:38
MuonCombined::IMuonCandidateTool
interface for tools building MuonCandidateCollection from a TrackParticleCollection of spectrometer t...
Definition: IMuonCandidateTool.h:20
IMuonTrackToSegmentAssociationTool.h
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
MuonCombined::MuonCandidateTool::initialize
virtual StatusCode initialize() override
Definition: MuonCandidateTool.cxx:34
ITrackAmbiguityProcessorTool.h
MuonSegmentContainer.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
MuonCombined::MuonCandidateTool::m_printer
ToolHandle< Muon::MuonEDMPrinterTool > m_printer
Definition: MuonCandidateTool.h:37
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
DataVector< xAOD::TrackParticle_v1 >
ReadCondHandleKey.h
postInclude.outputCollection
outputCollection
Definition: postInclude.SortInput.py:27
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
MuonCombined::MuonCandidateTool::MuonCandidateTool
MuonCandidateTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: MuonCandidateTool.cxx:29
MuonCombined::MuonCandidateTool::m_trackSegmentAssociationTool
PublicToolHandle< MuonCombined::IMuonTrackToSegmentAssociationTool > m_trackSegmentAssociationTool
Definition: MuonCandidateTool.h:51
SG::ReadCondHandleKey< InDet::BeamSpotData >
MuonCombined::MuonCandidateTool::m_extrapolationStrategy
Gaudi::Property< unsigned int > m_extrapolationStrategy
Definition: MuonCandidateTool.h:54
IExtendedTrackSummaryTool.h
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
MuonCombined
The MuonTagToSegMap is an auxillary construct that links the MuonSegments associated with a combined ...
Definition: IMuonSystemExtensionTool.h:23
MuonCombined::MuonCandidateTool::m_trackExtrapolationTool
ToolHandle< Muon::IMuonTrackExtrapolationTool > m_trackExtrapolationTool
Definition: MuonCandidateTool.h:39
BeamSpotData.h
AthAlgTool
Definition: AthAlgTool.h:26
IMuonCandidateTool.h
MuonCombined::MuonCandidateTool::m_segmentKey
SG::ReadHandleKey< Trk::SegmentCollection > m_segmentKey
Retrieve the segment container to perform the segment association offline.
Definition: MuonCandidateTool.h:50
TrackParticleContainer.h
IMuonTrackExtrapolationTool.h
IMuonIdHelperSvc.h
MuonCombined::MuonCandidateTool::m_beamSpotKey
SG::ReadCondHandleKey< InDet::BeamSpotData > m_beamSpotKey
Definition: MuonCandidateTool.h:47
MuonCombined::MuonCandidateTool
Definition: MuonCandidateTool.h:25
MuonCombined::MuonCandidateTool::m_ambiguityProcessor
ToolHandle< Trk::ITrackAmbiguityProcessorTool > m_ambiguityProcessor
Definition: MuonCandidateTool.h:41
MuonCombined::MuonCandidateTool::m_trackSummaryTool
ToolHandle< Trk::IExtendedTrackSummaryTool > m_trackSummaryTool
Definition: MuonCandidateTool.h:43
ServiceHandle< Muon::IMuonIdHelperSvc >
MuonCombined::MuonCandidateTool::create
virtual void create(const xAOD::TrackParticleContainer &tracks, MuonCandidateCollection &outputCollection, TrackCollection &outputTracks, const EventContext &ctx) const override
IMuonCandidateTool interface: build a MuonCandidateCollection from a TrackCollection of spectrometer ...
Definition: MuonCandidateTool.cxx:53