ATLAS Offline Software
Loading...
Searching...
No Matches
MuonLRTMergingAlg.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
6
7
8
9#ifndef ASG_ANALYSIS_ALGORITHMS__MUON_LRT_MERGING_ALGORITHM__H
10#define ASG_ANALYSIS_ALGORITHMS__MUON_LRT_MERGING_ALGORITHM__H
11
16#include <AsgTools/ToolHandle.h>
17
24
25namespace CP
26{
28
30 {
32 public:
33 MuonLRTMergingAlg (const std::string& name,
34 ISvcLocator* pSvcLocator);
35 StatusCode initialize () override;
36 StatusCode execute (const EventContext &ctx) const override;
37
38 private:
39
41
43
45
46 SG::ReadHandleKey<xAOD::MuonContainer> m_promptMuonLocation{this, "PromptMuonLocation","Muons", "Prompt muons to merge"};
47 SG::ReadHandleKey<xAOD::MuonContainer> m_lrtMuonLocation{this, "LRTMuonLocation","MuonsLRT", "LRT muons to merge"};
48 SG::WriteHandleKey<xAOD::MuonContainer> m_outMuonLocation{this, "OutputMuonLocation", "StdWithLRTMuons", "name of the muon container to write"};
49
51 Gaudi::Property<bool> m_createViewCollection{this, "CreateViewCollection", true};
52 ToolHandle<CP::IMuonLRTOverlapRemovalTool> m_overlapRemovalTool{this, "overlapRemovalTool", "", "tool to determine overlaps between regular and LRT muons"};
53
56 Gaudi::Property<int> m_ORstrategy{this, "overlapStrategy", CP::IMuonLRTOverlapRemovalTool::defaultStrategy, "Overlap removal strategy to use (0 = default, 1 = write all muons and decorate with overlap type)"};
57 Gaudi::Property<bool> m_useRun3WP{this, "UseRun3WP", false, "Switch to toggle the run 2 & run 3 geometry for the muon ID working points used in the prompt-LRT overlap resolution. Set to true for run 3 and false for run 2."};
58
60
62
64 StatusCode mergeMuon(const xAOD::MuonContainer & muonCol,
65 const std::vector<bool> & muonIsGood,
67
69 StatusCode mergeMuon(const xAOD::MuonContainer & muonCol,
70 const std::vector<bool> & muonIsGood,
71 xAOD::MuonContainer* outputCol) const;
72
73
78 };
79}
80
81#endif
Property holding a SG store/key/clid from which a ReadHandle is made.
Handle class for reading from StoreGate.
Property holding a SG store/key/clid from which a WriteHandle is made.
Handle class for recording to StoreGate.
ToolHandle< CP::IMuonLRTOverlapRemovalTool > m_overlapRemovalTool
MuonLRTMergingAlg(const std::string &name, ISvcLocator *pSvcLocator)
the standard constructor
SG::WriteHandleKey< xAOD::MuonContainer > m_outMuonLocation
Vector of muon collections to be merged.
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_lrtIsLRTKey
StatusCode initialize() override
Gaudi::Property< bool > m_createViewCollection
Combined muon collection.
StatusCode mergeMuon(const xAOD::MuonContainer &muonCol, const std::vector< bool > &muonIsGood, ConstDataVector< xAOD::MuonContainer > *outputCol) const
Private methods:
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_promptIsLRTKey
SG::ReadHandleKey< xAOD::MuonContainer > m_lrtMuonLocation
Vector of muon collections to be merged.
SG::ReadHandleKey< xAOD::MuonContainer > m_promptMuonLocation
Private data:
StatusCode execute(const EventContext &ctx) const override
Gaudi::Property< bool > m_useRun3WP
Gaudi::Property< int > m_ORstrategy
allows to pass an overlap removal strategy to the underlying removal tool, without manually configuri...
DataVector adapter that acts like it holds const pointers.
the base class for EventLoop reentrant algorithms
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
Select isolated Photons, Electrons and Muons.
MuonContainer_v1 MuonContainer
Definition of the current "Muon container version".