ATLAS Offline Software
MuonSegContainerMergerAlg.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_MUONSEGMENETMERGERALG_H
6 #define MUONCOMBINEDALGS_MUONSEGMENETMERGERALG_H
7 
9 #include "GaudiKernel/ToolHandle.h"
15 
24 public:
25  MuonSegContainerMergerAlg(const std::string& name, ISvcLocator* pSvcLocator);
26 
28 
29  virtual StatusCode initialize() override;
30  virtual StatusCode execute(const EventContext& ctx) const override;
31 
32 private:
34  SG::ReadHandleKeyArray<MuonCandidateCollection> m_muonCandidateKeys{this, "MuonCandidateMaps", {"MuonCandidates"}, "Muon candidates"};
37  this, "TagMaps", {"muidcoTagMap", "stacoTagMap", "muGirlTagMap", "caloTagMap", "segmentTagMap"}, "ID candidate to tag maps"};
38 
42  this, "InputSegmentContainers", {"TrackMuonSegments"}, "Container names of muon segments not used in muon reconstruction"};
43 
45  SG::WriteHandleKey<Trk::SegmentCollection> m_segTrkContainerName{this, "TrackSegmentContainerName", "TrkMuonSegments",
46  "Track segments"};
48 
50  SG::WriteHandleKey<Trk::SegmentCollection> m_unassocTrkContainerName{this, "UnassociatedSegmentKey", "UnAssocMuonTrkSegments"};
51 
52  ToolHandle<Trk::ITrackAmbiguityProcessorTool> m_ambiguityProcessor{this, "AmbiguityProcessor", ""};
53 
54  Gaudi::Property<bool> m_saveUnassocSegs{this, "saveUnusedSegments", true,
55  "Dumps segments that were not fed into muon reconstruction into a second container"};
56  Gaudi::Property<bool> m_solveAmbi{this, "solveAmbiguities", true, "Solves the ambiguities between unassociated segments"};
57 };
58 
59 #endif
MuonSegContainerMergerAlg::MuonSegContainerMergerAlg
MuonSegContainerMergerAlg(const std::string &name, ISvcLocator *pSvcLocator)
Definition: MuonSegContainerMergerAlg.cxx:20
MuonSegContainerMergerAlg::m_segTrkContainerName
SG::WriteHandleKey< Trk::SegmentCollection > m_segTrkContainerName
Name of the bulk segment output container.
Definition: MuonSegContainerMergerAlg.h:45
MuonTagToSegMap.h
MuonSegContainerMergerAlg::m_saveUnassocSegs
Gaudi::Property< bool > m_saveUnassocSegs
Definition: MuonSegContainerMergerAlg.h:54
SG::HandleKeyArray
Definition: StoreGate/StoreGate/HandleKeyArray.h:38
MuonSegContainerMergerAlg::~MuonSegContainerMergerAlg
~MuonSegContainerMergerAlg()=default
MuonSegContainerMergerAlg::m_solveAmbi
Gaudi::Property< bool > m_solveAmbi
Definition: MuonSegContainerMergerAlg.h:56
ITrackAmbiguityProcessorTool.h
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition: StoreGate/StoreGate/WriteHandleKey.h:40
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
MuonSegContainerMergerAlg::m_muonCandidateKeys
SG::ReadHandleKeyArray< MuonCandidateCollection > m_muonCandidateKeys
Name of all MuonCandidate tags (Main / LRT / EMEO)
Definition: MuonSegContainerMergerAlg.h:34
MuonSegContainerMergerAlg::m_ambiguityProcessor
ToolHandle< Trk::ITrackAmbiguityProcessorTool > m_ambiguityProcessor
Definition: MuonSegContainerMergerAlg.h:52
MuonCandidateCollection.h
AthReentrantAlgorithm.h
InDetCandidateToTagMap.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
MuonSegContainerMergerAlg::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition: MuonSegContainerMergerAlg.cxx:47
MuonSegContainerMergerAlg::m_assocMapKey
SG::WriteHandleKey< MuonCombined::MuonTagToSegMap > m_assocMapKey
Definition: MuonSegContainerMergerAlg.h:47
MuonSegContainerMergerAlg
The MuonSegContainerMergerAlg merges all MuonSegments assocaited with the combined muon tags into a s...
Definition: MuonSegContainerMergerAlg.h:23
MuonSegContainerMergerAlg::initialize
virtual StatusCode initialize() override
Definition: MuonSegContainerMergerAlg.cxx:23
MuonSegContainerMergerAlg::m_tagMaps
SG::ReadHandleKeyArray< MuonCombined::InDetCandidateToTagMap > m_tagMaps
List of all InDetCandidate tags MuidCo, MuGirl from all muon reconstruction streams.
Definition: MuonSegContainerMergerAlg.h:36
MuonSegContainerMergerAlg::m_unassocTrkContainerName
SG::WriteHandleKey< Trk::SegmentCollection > m_unassocTrkContainerName
Name of the unassociated segment container name.
Definition: MuonSegContainerMergerAlg.h:50
InDetCandidateCollection.h
MuonSegContainerMergerAlg::m_inputSegContainerName
SG::ReadHandleKeyArray< Trk::SegmentCollection > m_inputSegContainerName
Optionally segments from containers that are not associated with any segment candidate are dumped int...
Definition: MuonSegContainerMergerAlg.h:41