ATLAS Offline Software
MuonCombinedInDetExtensionAlg.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_MUONCOMBINEDINDETEXTENSIONALG_H
6 #define MUONCOMBINEDALGS_MUONCOMBINEDINDETEXTENSIONALG_H
7 
8 #include <string>
9 
11 #include "GaudiKernel/ToolHandle.h"
15 
26 
27 // uses (further down the call chain) the MuPatHitTool that has a mutable cache of pointers to-be-deleted at the end of the event
28 // thus, currently, the MuonCombinedInDetExtensionAlg cannot become an AthReentrantAlgorithm
30 public:
31  MuonCombinedInDetExtensionAlg(const std::string& name, ISvcLocator* pSvcLocator);
33 
34  StatusCode initialize() override;
35  StatusCode execute(const EventContext& ctx) const override;
36 
37 private:
38  template <class ContType> StatusCode loadPrdContainer(const EventContext& ctx , const SG::ReadHandleKey<ContType>& key, const ContType* & target_ptr) const;
39  template <class ContType> StatusCode record(const EventContext& ctx, const SG::WriteHandleKey<ContType>& key, ContType* & target_ptr) const;
40  ToolHandle<MuonCombined::IMuonCombinedInDetExtensionTool> m_muonCombinedInDetExtensionTool{
41  this, "MuonCombinedInDetExtensionTool", ""};
43  this,
44  "InDetCandidateLocation",
45  "InDetCandidates",
46  "ID candidates",
47  };
49  this,
50  "MDTPrepDataLocation",
51  "MDT_DriftCircles",
52  "MDT prep data",
53  };
55  this,
56  "CSCPrepDataLocation",
57  "CSC_Clusters",
58  "CSC prep data",
59  };
61  this,
62  "RPCPrepDataLocation",
63  "RPC_Measurements",
64  "RPC prep data",
65  };
67  this,
68  "TGCPrepDataLocation",
69  "TGC_Measurements",
70  "TGC prep data",
71  };
73  this,
74  "sTGCPrepDataLocation",
75  "STGC_Measurements",
76  "sTGC prep data",
77  };
79  this,
80  "MMPrepDataLocation",
81  "MM_Measurements",
82  "MM prep data",
83  };
85  this,
86  "TagMap",
87  "muGirlTagMap",
88  "tag map",
89  };
91  this,
92  "CombinedTrackCollection",
93  "MuGirlCombinedTracks",
94  "combined track collection",
95  };
97  this,
98  "METrackCollection",
99  "MuGirlMETracks",
100  "ME track collection",
101  };
103  this,
104  "SegmentCollection",
105  "",
106  "specify segment collection",
107  };
108 
109  Gaudi::Property<bool> m_usePRDs{this, "usePRDs", false};
110  Gaudi::Property<bool> m_hasCSC{this, "HasCSC", true};
111  Gaudi::Property<bool> m_hasSTGC{this, "HasSTgc", true};
112  Gaudi::Property<bool> m_hasMM{this, "HasMM", true};
113 };
114 
115 #endif
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
MuonCombinedInDetExtensionAlg::m_TGC_ContainerName
SG::ReadHandleKey< Muon::TgcPrepDataContainer > m_TGC_ContainerName
Definition: MuonCombinedInDetExtensionAlg.h:66
MuonCombinedInDetExtensionAlg::m_indetCandidateCollectionName
SG::ReadHandleKey< InDetCandidateCollection > m_indetCandidateCollectionName
Definition: MuonCombinedInDetExtensionAlg.h:42
MuonCombinedInDetExtensionAlg::m_combTracks
SG::WriteHandleKey< TrackCollection > m_combTracks
Definition: MuonCombinedInDetExtensionAlg.h:90
MuonCombinedInDetExtensionAlg::m_usePRDs
Gaudi::Property< bool > m_usePRDs
Definition: MuonCombinedInDetExtensionAlg.h:109
MuonCombinedInDetExtensionAlg::initialize
StatusCode initialize() override
Definition: MuonCombinedInDetExtensionAlg.cxx:12
MuonCombinedInDetExtensionAlg::m_tagMap
SG::WriteHandleKey< MuonCombined::InDetCandidateToTagMap > m_tagMap
Definition: MuonCombinedInDetExtensionAlg.h:84
MuonCombinedInDetExtensionAlg::m_segments
SG::WriteHandleKey< Trk::SegmentCollection > m_segments
Definition: MuonCombinedInDetExtensionAlg.h:102
MMPrepDataContainer.h
RpcPrepDataContainer.h
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
MuonCombinedInDetExtensionAlg::~MuonCombinedInDetExtensionAlg
~MuonCombinedInDetExtensionAlg()=default
MuonCombinedInDetExtensionAlg::MuonCombinedInDetExtensionAlg
MuonCombinedInDetExtensionAlg(const std::string &name, ISvcLocator *pSvcLocator)
Definition: MuonCombinedInDetExtensionAlg.cxx:9
sTgcPrepDataContainer.h
MuonCombinedInDetExtensionAlg
Definition: MuonCombinedInDetExtensionAlg.h:29
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
MdtPrepDataContainer.h
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition: StoreGate/StoreGate/WriteHandleKey.h:40
MuonCombinedInDetExtensionAlg::execute
StatusCode execute(const EventContext &ctx) const override
Definition: MuonCombinedInDetExtensionAlg.cxx:30
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
MuonCombinedInDetExtensionAlg::m_hasSTGC
Gaudi::Property< bool > m_hasSTGC
Definition: MuonCombinedInDetExtensionAlg.h:111
TgcPrepDataContainer.h
TrackCollection.h
IMuonCombinedInDetExtensionTool.h
MuonCombinedInDetExtensionAlg::m_sTGC_ContainerName
SG::ReadHandleKey< Muon::sTgcPrepDataContainer > m_sTGC_ContainerName
Definition: MuonCombinedInDetExtensionAlg.h:72
MuonCombinedInDetExtensionAlg::m_CSC_ContainerName
SG::ReadHandleKey< Muon::CscPrepDataContainer > m_CSC_ContainerName
Definition: MuonCombinedInDetExtensionAlg.h:54
AthReentrantAlgorithm.h
MuonCombinedInDetExtensionAlg::m_MDT_ContainerName
SG::ReadHandleKey< Muon::MdtPrepDataContainer > m_MDT_ContainerName
Definition: MuonCombinedInDetExtensionAlg.h:48
MuonCombinedInDetExtensionAlg::m_muonCombinedInDetExtensionTool
ToolHandle< MuonCombined::IMuonCombinedInDetExtensionTool > m_muonCombinedInDetExtensionTool
Definition: MuonCombinedInDetExtensionAlg.h:40
InDetCandidateToTagMap.h
CscPrepDataContainer.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
MuonCombinedInDetExtensionAlg::loadPrdContainer
StatusCode loadPrdContainer(const EventContext &ctx, const SG::ReadHandleKey< ContType > &key, const ContType *&target_ptr) const
Definition: MuonCombinedInDetExtensionAlg.cxx:68
MuonCombinedInDetExtensionAlg::record
StatusCode record(const EventContext &ctx, const SG::WriteHandleKey< ContType > &key, ContType *&target_ptr) const
Definition: MuonCombinedInDetExtensionAlg.cxx:83
MuonCombinedInDetExtensionAlg::m_hasMM
Gaudi::Property< bool > m_hasMM
Definition: MuonCombinedInDetExtensionAlg.h:112
MuonCombinedInDetExtensionAlg::m_RPC_ContainerName
SG::ReadHandleKey< Muon::RpcPrepDataContainer > m_RPC_ContainerName
Definition: MuonCombinedInDetExtensionAlg.h:60
MuonCombinedInDetExtensionAlg::m_hasCSC
Gaudi::Property< bool > m_hasCSC
Definition: MuonCombinedInDetExtensionAlg.h:110
InDetCandidateCollection.h
MuonCombinedInDetExtensionAlg::m_METracks
SG::WriteHandleKey< TrackCollection > m_METracks
Definition: MuonCombinedInDetExtensionAlg.h:96
SegmentCollection.h
MuonCombinedInDetExtensionAlg::m_MM_ContainerName
SG::ReadHandleKey< Muon::MMPrepDataContainer > m_MM_ContainerName
Definition: MuonCombinedInDetExtensionAlg.h:78
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37