ATLAS Offline Software
Loading...
Searching...
No Matches
MuonCombinedInDetCandidateAlg.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef MUONCOMBINEDALGS_MUONCOMBINEDINDETCANDIDATEALG_H
6#define MUONCOMBINEDALGS_MUONCOMBINEDINDETCANDIDATEALG_H
7
8
13
17
20
22public:
23 using AthReentrantAlgorithm::AthReentrantAlgorithm;
25
26 virtual StatusCode initialize() override final;
27 virtual StatusCode execute(const EventContext& ctx) const override final;
28
30 SG::ReadHandleKeyArray<xAOD::TrackParticleContainer> m_indetTrackParticleLocation{
31 this, "TrackParticleLocation", {"InDetTrackParticles"}};
34 "InDetForwardTrackParticles"};
35
38
39 SG::WriteHandleKey<InDetCandidateCollection> m_candidateCollectionName{this, "InDetCandidateLocation", "InDetCandidates"};
40
41 ToolHandle<Trk::ITrackSelectorTool> m_trackSelector{
42 this, "TrackSelector", "InDet::InDetDetailedTrackSelectorTool/MuonCombinedInDetDetailedTrackSelectorTool", "Track selector tool"};
43 ToolHandle<Trk::ITrackSelectorTool> m_forwardTrackSelector{
44 this, "InDetForwardTrackSelector", "InDet::InDetDetailedTrackSelectorTool/MuonCombinedInDetDetailedForwardTrackSelectorTool",
45 "Forward track selector tool"};
46 ToolHandle<Muon::IMuonSystemExtensionTool> m_muonSystemExtensionTool{this, "MuonSystemExtensionTool", "", "Muon system extension tool"};
47
54 bool flagAsSAF{false};
56 std::unique_ptr<InDetCandidateCollection> outputContainer = std::make_unique<InDetCandidateCollection>(SG::OWN_ELEMENTS);
59 };
60
61 StatusCode create(const EventContext& ctx, InDetCandidateCache& output_cache) const;
62
63 bool isValidTrackParticle(const Trk::ITrackSelectorTool* currentTrackSelector, const xAOD::TrackParticle* const tp) const;
64 void printTrackParticleInfo(const xAOD::TrackParticle* const tp, const std::string& what) const;
65
66 static int getCount(const xAOD::TrackParticle& tp, const xAOD::SummaryType type);
67
68 Gaudi::Property<bool> m_doSiliconForwardMuons{this, "DoSiliconAssocForwardMuons", false};
70 Gaudi::Property<float> m_extThreshold{this, "ExtensionPtThreshold", 2500};
72 Gaudi::Property<bool> m_extendSAF{this, "ExtendSAF", false};
74 Gaudi::Property<bool> m_extendBulk{this, "ExtendBulk", true};
76 Gaudi::Property<bool> m_requireExtension{this, "RequireExtension", true};
78 Gaudi::Property<bool> m_waitForTrackLink{this, "WaitForTrackLink", true};
79};
80
81#endif
DataVector< Trk::CaloExtension > CaloExtensionCollection
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
An algorithm that can be simultaneously executed in multiple threads.
Gaudi::Property< bool > m_requireExtension
Reject muon candidates without a muon system extension – only effective if the candidate shall actual...
Gaudi::Property< float > m_extThreshold
Minimum pt threshold of the IdCandidate to be extrapolated through the spectrometer.
SG::ReadHandleKey< CaloExtensionCollection > m_caloFwdExtensionLocation
Gaudi::Property< bool > m_waitForTrackLink
Schedule the data dependency on the trackLink decoration.
static int getCount(const xAOD::TrackParticle &tp, const xAOD::SummaryType type)
SG::ReadHandleKeyArray< xAOD::TrackParticleContainer > m_indetTrackParticleLocation
Gaudi::Property< bool > m_extendBulk
Shall ordinary ID tracks be equiped with a muon system extension used by MuGirl later.
Gaudi::Property< bool > m_extendSAF
Shall SAF tracks be equiped with a muon system extension used by MuGirl later.
SG::WriteHandleKey< InDetCandidateCollection > m_candidateCollectionName
ToolHandle< Muon::IMuonSystemExtensionTool > m_muonSystemExtensionTool
void printTrackParticleInfo(const xAOD::TrackParticle *const tp, const std::string &what) const
virtual StatusCode execute(const EventContext &ctx) const override final
ToolHandle< Trk::ITrackSelectorTool > m_trackSelector
ToolHandle< Trk::ITrackSelectorTool > m_forwardTrackSelector
virtual StatusCode initialize() override final
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_indetForwardTrackParticleLocation
StatusCode create(const EventContext &ctx, InDetCandidateCache &output_cache) const
bool isValidTrackParticle(const Trk::ITrackSelectorTool *currentTrackSelector, const xAOD::TrackParticle *const tp) const
SG::ReadDecorHandleKeyArray< xAOD::TrackParticleContainer > m_trkLinkKey
SG::ReadHandleKeyArray< CaloExtensionCollection > m_caloExtensionLocation
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
The abstract interface base class for track selector tools.
Forward declaration.
DecorHandleKeyArray< ReadDecorHandle< T, S >, ReadDecorHandleKey< T >, Gaudi::DataHandle::Reader > ReadDecorHandleKeyArray
HandleKeyArray< ReadHandle< T >, ReadHandleKey< T >, Gaudi::DataHandle::Reader > ReadHandleKeyArray
@ OWN_ELEMENTS
this data object owns its elements
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
TrackParticle_v1 TrackParticle
Reference the current persistent version:
TrackParticleContainer_v1 TrackParticleContainer
Definition of the current "TrackParticle container version".
SummaryType
Enumerates the different types of information stored in Summary.
const CaloExtensionCollection * extensionContainer
Cache of the CaloExtensions.
bool flagAsSAF
Flag the candidates as sillicion forward associated.
std::unique_ptr< InDetCandidateCollection > outputContainer
Output container for the StoreGate.
const Trk::ITrackSelectorTool * trackSelector
Corresponding track selector.
const xAOD::TrackParticleContainer * inDetContainer
Track particle container.
#define private
Definition testRead.cxx:27