ATLAS Offline Software
Loading...
Searching...
No Matches
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
30public:
31 MuonCombinedInDetExtensionAlg(const std::string& name, ISvcLocator* pSvcLocator);
33
34 StatusCode initialize() override;
35 StatusCode execute(const EventContext& ctx) const override;
36
37private:
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
Property holding a SG store/key/clid from which a ReadHandle is made.
An algorithm that can be simultaneously executed in multiple threads.
SG::ReadHandleKey< Muon::TgcPrepDataContainer > m_TGC_ContainerName
SG::WriteHandleKey< TrackCollection > m_METracks
SG::ReadHandleKey< Muon::MMPrepDataContainer > m_MM_ContainerName
MuonCombinedInDetExtensionAlg(const std::string &name, ISvcLocator *pSvcLocator)
SG::WriteHandleKey< MuonCombined::InDetCandidateToTagMap > m_tagMap
SG::WriteHandleKey< Trk::SegmentCollection > m_segments
SG::ReadHandleKey< Muon::sTgcPrepDataContainer > m_sTGC_ContainerName
SG::ReadHandleKey< Muon::CscPrepDataContainer > m_CSC_ContainerName
SG::ReadHandleKey< InDetCandidateCollection > m_indetCandidateCollectionName
StatusCode loadPrdContainer(const EventContext &ctx, const SG::ReadHandleKey< ContType > &key, const ContType *&target_ptr) const
SG::WriteHandleKey< TrackCollection > m_combTracks
SG::ReadHandleKey< Muon::MdtPrepDataContainer > m_MDT_ContainerName
StatusCode execute(const EventContext &ctx) const override
ToolHandle< MuonCombined::IMuonCombinedInDetExtensionTool > m_muonCombinedInDetExtensionTool
SG::ReadHandleKey< Muon::RpcPrepDataContainer > m_RPC_ContainerName
StatusCode record(const EventContext &ctx, const SG::WriteHandleKey< ContType > &key, ContType *&target_ptr) const
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.