ATLAS Offline Software
Loading...
Searching...
No Matches
MmRdoToPrepDataToolMT.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef MUONMmRdoToPrepDataToolMT_H
6#define MUONMmRdoToPrepDataToolMT_H
7
19
21
22#include <cfloat>
23namespace Muon {
24
26 : public extends<AthAlgTool, IMuonRdoToPrepDataTool> {
27 public:
28 using base_class::base_class;
30 virtual ~MmRdoToPrepDataToolMT() = default;
31
33 virtual StatusCode initialize() override;
34
36 virtual StatusCode decode(const EventContext& ctx,
37 const std::vector<IdentifierHash>& idVect) const override;
38 virtual StatusCode decode(const EventContext& ctx,
39 const std::vector<uint32_t>& robIds) const override;
40 virtual StatusCode provideEmptyContainer(const EventContext& ctx) const override;
41 StatusCode processCollection(
42 const EventContext& ctx, Muon::MMPrepDataContainer* mmPrepDataContainer,
43 xAOD::MMClusterContainer* xAODContainer,
44 const std::vector<IdentifierHash>& idsToDecode,
45 const MM_RawDataCollection* rdoColl) const;
46
47
48 protected:
50 const EventContext& ctx) const;
52 SG::WriteHandle<xAOD::MMClusterContainer>& outputContainer) const;
53
54 const MM_RawDataContainer* getRdoContainer(const EventContext& ctx) const;
55
56 void processRDOContainer(const EventContext& ctx,
57 Muon::MMPrepDataContainer* mmPrepDataContainer,
58 xAOD::MMClusterContainer* xAODContainer,
59 const std::vector<IdentifierHash>& idsToDecode) const;
60
62 this, "DetectorManagerKey", "MuonDetectorManager",
63 "Key of input MuonDetectorManager condition data"};
64
66 this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
67
70 this, "OutputCollection", "MM_Measurements"};
72 this, "InputCollection", "MMRDO"};
73
76 this, "PrdCacheKey", "",
77 "Optional external cache for the MM PRD container"};
78 Gaudi::Property<bool> m_merge{this, "MergePrds", true};
79
80 ToolHandle<IMMClusterBuilderTool> m_clusterBuilderTool{
81 this, "ClusterBuilderTool",
82 "Muon::SimpleMMClusterBuilderTool/SimpleMMClusterBuilderTool"};
83 ToolHandle<INSWCalibTool> m_calibTool{this, "NSWCalibTool", ""};
84
85 // charge cut is temporarily disabled for comissioning studies. Should be
86 // reenabled at some point. pscholer 13.05.2022
87 Gaudi::Property<float> m_singleStripChargeCut{
88 this, "singleStripChargeCut",
89 FLT_MIN /*6241 * 0.4*/}; // 0.4 fC from BB5 cosmics
91 this, "xAODKey", "",
92 "If empty, do not produce xAOD, otherwise this is the key of the output "
93 "xAOD MDT PRD container"};
94
95 Gaudi::Property<bool> m_useNewGeo{this, "UseR4DetMgr", false,
96 "Switch between the legacy and the new geometry"};
97
99};
100} // namespace Muon
101
102#endif
const MuonGMR4::MuonDetectorManager * m_detMgrR4
SG::WriteHandleKey< Muon::MMPrepDataContainer > m_writeKey
MdtPrepRawData containers.
virtual StatusCode initialize() override
standard Athena-Algorithm method
virtual ~MmRdoToPrepDataToolMT()=default
default destructor
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Gaudi::Property< bool > m_useNewGeo
const MM_RawDataContainer * getRdoContainer(const EventContext &ctx) const
SG::WriteHandleKey< xAOD::MMClusterContainer > m_xAODKey
ToolHandle< IMMClusterBuilderTool > m_clusterBuilderTool
StatusCode processCollection(const EventContext &ctx, Muon::MMPrepDataContainer *mmPrepDataContainer, xAOD::MMClusterContainer *xAODContainer, const std::vector< IdentifierHash > &idsToDecode, const MM_RawDataCollection *rdoColl) const
Gaudi::Property< float > m_singleStripChargeCut
ToolHandle< INSWCalibTool > m_calibTool
xAOD::MMClusterContainer * setupxAODPrepDataContainer(SG::WriteHandle< xAOD::MMClusterContainer > &outputContainer) const
virtual StatusCode decode(const EventContext &ctx, const std::vector< IdentifierHash > &idVect) const override
Decode method - declared in Muon::IMuonRdoToPrepDataTool.
SG::UpdateHandleKey< MMPrepDataCollection_Cache > m_updateKey
This is the key for the cache for the MM PRD containers, can be empty.
SG::ReadHandleKey< MM_RawDataContainer > m_readKey
Gaudi::Property< bool > m_merge
SG::ReadCondHandleKey< MuonGM::MuonDetectorManager > m_muDetMgrKey
void processRDOContainer(const EventContext &ctx, Muon::MMPrepDataContainer *mmPrepDataContainer, xAOD::MMClusterContainer *xAODContainer, const std::vector< IdentifierHash > &idsToDecode) const
virtual StatusCode provideEmptyContainer(const EventContext &ctx) const override
Muon::MMPrepDataContainer * setupMM_PrepDataContainer(const EventContext &ctx) const
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which an UpdateHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
MuonPrepDataContainerT< MMPrepData > MMPrepDataContainer
MMClusterContainer_v1 MMClusterContainer