ATLAS Offline Software
MuonCreatorAlg.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 MUONCOMBINEDALGS_MUONCREATORALG_H
6 #define MUONCOMBINEDALGS_MUONCREATORALG_H
7 
8 #include <string>
9 
14 #include "GaudiKernel/ToolHandle.h"
24 #include "xAODMuon/MuonContainer.h"
27 
29 public:
30  MuonCreatorAlg(const std::string& name, ISvcLocator* pSvcLocator);
31 
32  ~MuonCreatorAlg() = default;
33 
34  virtual StatusCode initialize() override;
35  virtual StatusCode execute(const EventContext& ctx) const override;
36 
37 private:
38  ToolHandle<MuonCombined::IMuonCreatorTool> m_muonCreatorTool{this, "MuonCreatorTool", "MuonCombined::MuonCreatorTool/MuonCreatorTool",
39  "Muon creator tool"};
40  SG::WriteHandleKey<xAOD::MuonContainer> m_muonCollectionName{this, "MuonContainerLocation", "Muons", "Muon Container"};
41  SG::WriteHandleKey<xAOD::SlowMuonContainer> m_slowMuonCollectionName{this, "SlowMuonContainerLocation", "SlowMuons",
42  "Slow Muon Container"};
43  SG::WriteHandleKey<xAOD::TrackParticleContainer> m_combinedCollectionName{this, "CombinedLocation", "CombinedMuon", "Combined muons"};
44  SG::WriteHandleKey<TrackCollection> m_combinedTrkCollectionName{this, "CombinedTrackLocation", "CombinedMuon", "Combined muon tracks"};
45  SG::WriteHandleKey<xAOD::TrackParticleContainer> m_extrapolatedCollectionName{this, "ExtrapolatedLocation", "ExtrapolatedMuon",
46  "Extrapolated muons"};
47  SG::WriteHandleKey<TrackCollection> m_extrapolatedTrkCollectionName{this, "ExtrapolatedTrackLocation", "ExtrapolatedMuon",
48  "Extrapolated muon tracks"};
50  "MSOnlyExtrapolatedMuon", "MS Extrapolated muons"};
52  this, "MSOnlyExtrapolatedTrackLocation", "MSOnlyExtrapolatedMuonTracks", "MS extrapolated muon tracks"};
53  SG::ReadHandleKey<InDetCandidateCollection> m_indetCandidateCollectionName{this, "InDetCandidateLocation", "InDetCandidates",
54  "ID candidates"};
55 
57  this, "MuonCandidateLocation", {"MuonCandidates"}, "Muon candidates"};
59  this, "TagMaps", {"muidcoTagMap", "stacoTagMap", "muGirlTagMap", "caloTagMap", "segmentTagMap"}, "ID candidate to tag maps"};
60 
61  SG::ReadHandleKey<MuonCombined::MuonTagToSegMap> m_segAssocMapKey{this, "TagToSegmentKey", "MuonTagSegMap"};
62  SG::ReadHandleKey<xAOD::MuonSegmentContainer> m_segContainerName{this, "SegmentContainerName", "MuonSegments", "Segments"};
63 
64  SG::WriteHandleKey<xAOD::CaloClusterContainer> m_clusterContainerName{this, "ClusterContainerName", "MuonClusterCollection",
65  "Clusters"};
66  SG::WriteHandleKey<CaloClusterCellLinkContainer> m_clusterContainerLinkName{this, "CaloClusterCellLinkName", "MuonClusterCollection",
67  "Cluster links"};
68 
69  Gaudi::Property<bool> m_buildSlowMuon{this, "BuildSlowMuon", false};
70  Gaudi::Property<bool> m_doSA{this, "CreateSAmuons", false};
71  Gaudi::Property<bool> m_makeClusters{this, "MakeClusters", true};
72 
73  // Monitoring tool
74  ToolHandle<GenericMonitoringTool> m_monTool{this, "MonTool", "", "Monitoring tool"};
75 };
76 
77 #endif
ReadHandleKeyArray.h
MuonCreatorAlg::m_slowMuonCollectionName
SG::WriteHandleKey< xAOD::SlowMuonContainer > m_slowMuonCollectionName
Definition: MuonCreatorAlg.h:41
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
MuonCreatorAlg::m_msOnlyExtrapolatedTrkCollectionName
SG::WriteHandleKey< TrackCollection > m_msOnlyExtrapolatedTrkCollectionName
Definition: MuonCreatorAlg.h:51
MuonCreatorAlg::m_segContainerName
SG::ReadHandleKey< xAOD::MuonSegmentContainer > m_segContainerName
Definition: MuonCreatorAlg.h:62
MuonCreatorAlg::m_muonCollectionName
SG::WriteHandleKey< xAOD::MuonContainer > m_muonCollectionName
Definition: MuonCreatorAlg.h:40
MuonCreatorAlg::m_clusterContainerLinkName
SG::WriteHandleKey< CaloClusterCellLinkContainer > m_clusterContainerLinkName
Definition: MuonCreatorAlg.h:66
MuonCreatorAlg::m_combinedTrkCollectionName
SG::WriteHandleKey< TrackCollection > m_combinedTrkCollectionName
Definition: MuonCreatorAlg.h:44
MuonCreatorAlg::m_makeClusters
Gaudi::Property< bool > m_makeClusters
Definition: MuonCreatorAlg.h:71
MuonCreatorAlg::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition: MuonCreatorAlg.cxx:72
MuonCreatorAlg::m_segAssocMapKey
SG::ReadHandleKey< MuonCombined::MuonTagToSegMap > m_segAssocMapKey
Definition: MuonCreatorAlg.h:61
MuonCreatorAlg::m_muonCreatorTool
ToolHandle< MuonCombined::IMuonCreatorTool > m_muonCreatorTool
Definition: MuonCreatorAlg.h:38
MuonCreatorAlg::m_doSA
Gaudi::Property< bool > m_doSA
Definition: MuonCreatorAlg.h:70
SG::HandleKeyArray
Definition: StoreGate/StoreGate/HandleKeyArray.h:38
MuonCreatorAlg::initialize
virtual StatusCode initialize() override
Definition: MuonCreatorAlg.cxx:32
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
IMuonCreatorTool.h
MuonCreatorAlg::m_tagMaps
SG::ReadHandleKeyArray< MuonCombined::InDetCandidateToTagMap > m_tagMaps
Definition: MuonCreatorAlg.h:58
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
MuonCreatorAlg::m_extrapolatedCollectionName
SG::WriteHandleKey< xAOD::TrackParticleContainer > m_extrapolatedCollectionName
Definition: MuonCreatorAlg.h:45
AthAlgorithm.h
GenericMonitoringTool.h
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition: StoreGate/StoreGate/WriteHandleKey.h:40
MuonCreatorAlg::m_extrapolatedTrkCollectionName
SG::WriteHandleKey< TrackCollection > m_extrapolatedTrkCollectionName
Definition: MuonCreatorAlg.h:47
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TrackCollection.h
MuonCreatorAlg::~MuonCreatorAlg
~MuonCreatorAlg()=default
MuonCreatorAlg::m_clusterContainerName
SG::WriteHandleKey< xAOD::CaloClusterContainer > m_clusterContainerName
Definition: MuonCreatorAlg.h:64
Monitored.h
Header file to be included by clients of the Monitored infrastructure.
MuonCreatorAlg::m_msOnlyExtrapolatedCollectionName
SG::WriteHandleKey< xAOD::TrackParticleContainer > m_msOnlyExtrapolatedCollectionName
Definition: MuonCreatorAlg.h:49
MuonCandidateCollection.h
SlowMuonContainer.h
AthReentrantAlgorithm.h
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
InDetCandidateToTagMap.h
MuonCreatorAlg::m_indetCandidateCollectionName
SG::ReadHandleKey< InDetCandidateCollection > m_indetCandidateCollectionName
Definition: MuonCreatorAlg.h:53
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
MuonCreatorAlg::m_monTool
ToolHandle< GenericMonitoringTool > m_monTool
Definition: MuonCreatorAlg.h:74
MuonCreatorAlg::m_combinedCollectionName
SG::WriteHandleKey< xAOD::TrackParticleContainer > m_combinedCollectionName
Definition: MuonCreatorAlg.h:43
MuonContainer.h
MuonCreatorAlg::m_muonCandidateKeys
SG::ReadHandleKeyArray< MuonCandidateCollection > m_muonCandidateKeys
Definition: MuonCreatorAlg.h:56
MuonCreatorAlg::m_buildSlowMuon
Gaudi::Property< bool > m_buildSlowMuon
Definition: MuonCreatorAlg.h:69
MuonCreatorAlg
Definition: MuonCreatorAlg.h:28
MuonSegment.h
InDetCandidateCollection.h
MuonCreatorAlg::MuonCreatorAlg
MuonCreatorAlg(const std::string &name, ISvcLocator *pSvcLocator)
Definition: MuonCreatorAlg.cxx:30
TrackParticleContainer.h