ATLAS Offline Software
Loading...
Searching...
No Matches
MuonCandidateTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 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
23namespace MuonCombined {
24
25 class MuonCandidateTool : public extends<AthAlgTool, IMuonCandidateTool> {
26 public:
27 using base_class::base_class;
28 virtual ~MuonCandidateTool() = default;
29
30 virtual StatusCode initialize() override;
31
33 virtual void create(const xAOD::TrackParticleContainer& tracks, MuonCandidateCollection& outputCollection,
34 TrackCollection& outputTracks, const EventContext& ctx) const override;
35
36 private:
37 PublicToolHandle<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
DataVector< MuonCombined::MuonCandidate > MuonCandidateCollection
This typedef represents a collection of MuonCandidate objects.
DataVector< Trk::Track > TrackCollection
This typedef represents a collection of Trk::Track objects.
virtual StatusCode initialize() override
ToolHandle< Trk::ITrackAmbiguityProcessorTool > m_ambiguityProcessor
ToolHandle< Trk::IExtendedTrackSummaryTool > m_trackSummaryTool
ToolHandle< Muon::IMuonTrackExtrapolationTool > m_trackExtrapolationTool
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 ...
virtual ~MuonCandidateTool()=default
PublicToolHandle< MuonCombined::IMuonTrackToSegmentAssociationTool > m_trackSegmentAssociationTool
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
PublicToolHandle< Muon::MuonEDMPrinterTool > m_printer
SG::ReadHandleKey< Trk::SegmentCollection > m_segmentKey
Retrieve the segment container to perform the segment association offline.
SG::ReadCondHandleKey< InDet::BeamSpotData > m_beamSpotKey
ToolHandle< Rec::ICombinedMuonTrackBuilder > m_trackBuilder
Gaudi::Property< unsigned int > m_extrapolationStrategy
Gaudi::Property< bool > m_commissioning
Property holding a SG store/key/clid from which a ReadHandle is made.
The MuonTagToSegMap is an auxillary construct that links the MuonSegments associated with a combined ...
TrackParticleContainer_v1 TrackParticleContainer
Definition of the current "TrackParticle container version".