ATLAS Offline Software
Loading...
Searching...
No Matches
MmRdoToPrepDataToolMT.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef MUONMmRdoToPrepDataToolMT_H
6#define MUONMmRdoToPrepDataToolMT_H
7
19
20#include <cfloat>
21namespace Muon {
22
24 : public extends<AthAlgTool, IMuonRdoToPrepDataTool> {
25 public:
26 using base_class::base_class;
28 virtual ~MmRdoToPrepDataToolMT() = default;
29
31 virtual StatusCode initialize() override;
32
34 virtual StatusCode decode(const EventContext& ctx,
35 const std::vector<IdentifierHash>& idVect) const override;
36 virtual StatusCode decode(const EventContext& ctx,
37 const std::vector<uint32_t>& robIds) const override;
38 virtual StatusCode provideEmptyContainer(const EventContext& ctx) const override;
39 StatusCode processCollection(
40 const EventContext& ctx, Muon::MMPrepDataContainer* mmPrepDataContainer,
41 xAOD::MMClusterContainer* xAODContainer,
42 const std::vector<IdentifierHash>& idsToDecode,
43 const MM_RawDataCollection* rdoColl) const;
44
45
46 protected:
48 const EventContext& ctx) const;
50 SG::WriteHandle<xAOD::MMClusterContainer>& outputContainer) const;
51
52 const MM_RawDataContainer* getRdoContainer(const EventContext& ctx) const;
53
54 void processRDOContainer(const EventContext& ctx,
55 Muon::MMPrepDataContainer* mmPrepDataContainer,
56 xAOD::MMClusterContainer* xAODContainer,
57 const std::vector<IdentifierHash>& idsToDecode) const;
58
60 this, "DetectorManagerKey", "MuonDetectorManager",
61 "Key of input MuonDetectorManager condition data"};
62
64 this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
65
68 this, "OutputCollection", "MM_Measurements"};
70 this, "InputCollection", "MMRDO"};
71
74 this, "PrdCacheKey", "",
75 "Optional external cache for the MM PRD container"};
76 Gaudi::Property<bool> m_merge{this, "MergePrds", true};
77
78 ToolHandle<IMMClusterBuilderTool> m_clusterBuilderTool{
79 this, "ClusterBuilderTool",
80 "Muon::SimpleMMClusterBuilderTool/SimpleMMClusterBuilderTool"};
81 ToolHandle<INSWCalibTool> m_calibTool{this, "NSWCalibTool", ""};
82
83 // charge cut is temporarily disabled for comissioning studies. Should be
84 // reenabled at some point. pscholer 13.05.2022
85 Gaudi::Property<float> m_singleStripChargeCut{
86 this, "singleStripChargeCut",
87 FLT_MIN /*6241 * 0.4*/}; // 0.4 fC from BB5 cosmics
89 this, "xAODKey", "",
90 "If empty, do not produce xAOD, otherwise this is the key of the output "
91 "xAOD MDT PRD container"};
92};
93} // namespace Muon
94
95#endif
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
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