ATLAS Offline Software
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>
21 namespace 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;
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
Muon::MmRdoToPrepDataToolMT::m_muDetMgrKey
SG::ReadCondHandleKey< MuonGM::MuonDetectorManager > m_muDetMgrKey
Definition: MmRdoToPrepDataToolMT.h:59
Muon::MuonPrepDataContainer
Template for Muon PRD containers (which are basically collections of MuonPrepDataCollections).
Definition: MuonPrepDataContainer.h:42
Muon::MmRdoToPrepDataToolMT::processCollection
StatusCode processCollection(const EventContext &ctx, Muon::MMPrepDataContainer *mmPrepDataContainer, xAOD::MMClusterContainer *xAODContainer, const std::vector< IdentifierHash > &idsToDecode, const MM_RawDataCollection *rdoColl) const
Definition: MmRdoToPrepDataToolMT.cxx:39
MuonPrepDataCollection_Cache.h
SG::UpdateHandleKey
Property holding a SG store/key/clid from which an UpdateHandle is made.
Definition: UpdateHandleKey.h:40
Muon::MmRdoToPrepDataToolMT::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: MmRdoToPrepDataToolMT.h:63
Muon::MmRdoToPrepDataToolMT::m_clusterBuilderTool
ToolHandle< IMMClusterBuilderTool > m_clusterBuilderTool
Definition: MmRdoToPrepDataToolMT.h:78
Muon::MmRdoToPrepDataToolMT::decode
virtual StatusCode decode(const EventContext &ctx, const std::vector< IdentifierHash > &idVect) const override
Decode method - declared in Muon::IMuonRdoToPrepDataTool.
Definition: MmRdoToPrepDataToolMT.cxx:266
INSWCalibTool.h
Muon::MmRdoToPrepDataToolMT::setupxAODPrepDataContainer
xAOD::MMClusterContainer * setupxAODPrepDataContainer(SG::WriteHandle< xAOD::MMClusterContainer > &outputContainer) const
MMPrepDataContainer.h
Muon::MmRdoToPrepDataToolMT::processRDOContainer
void processRDOContainer(const EventContext &ctx, Muon::MMPrepDataContainer *mmPrepDataContainer, xAOD::MMClusterContainer *xAODContainer, const std::vector< IdentifierHash > &idsToDecode) const
Definition: MmRdoToPrepDataToolMT.cxx:240
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
Muon
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
Definition: TrackSystemController.h:45
Muon::MM_RawDataCollection
Definition: MM_RawDataCollection.h:15
Muon::MmRdoToPrepDataToolMT::m_updateKey
SG::UpdateHandleKey< MMPrepDataCollection_Cache > m_updateKey
This is the key for the cache for the MM PRD containers, can be empty.
Definition: MmRdoToPrepDataToolMT.h:73
Muon::MM_RawDataContainer
Definition: MM_RawDataContainer.h:18
Muon::MmRdoToPrepDataToolMT::~MmRdoToPrepDataToolMT
virtual ~MmRdoToPrepDataToolMT()=default
default destructor
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition: StoreGate/StoreGate/WriteHandleKey.h:40
Muon::MmRdoToPrepDataToolMT
Definition: MmRdoToPrepDataToolMT.h:24
IMuonRdoToPrepDataTool.h
Muon::MmRdoToPrepDataToolMT::m_xAODKey
SG::WriteHandleKey< xAOD::MMClusterContainer > m_xAODKey
Definition: MmRdoToPrepDataToolMT.h:88
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
MMClusterContainer.h
DataVector
Derived DataVector<T>.
Definition: DataVector.h:794
ReadCondHandleKey.h
Muon::MmRdoToPrepDataToolMT::getRdoContainer
const MM_RawDataContainer * getRdoContainer(const EventContext &ctx) const
Definition: MmRdoToPrepDataToolMT.cxx:229
Muon::MmRdoToPrepDataToolMT::m_singleStripChargeCut
Gaudi::Property< float > m_singleStripChargeCut
Definition: MmRdoToPrepDataToolMT.h:85
Muon::MmRdoToPrepDataToolMT::initialize
virtual StatusCode initialize() override
standard Athena-Algorithm method
Definition: MmRdoToPrepDataToolMT.cxx:26
MuonDetectorManager.h
Muon::MmRdoToPrepDataToolMT::m_merge
Gaudi::Property< bool > m_merge
Definition: MmRdoToPrepDataToolMT.h:76
SG::ReadCondHandleKey< MuonGM::MuonDetectorManager >
SG::WriteHandle
Definition: StoreGate/StoreGate/WriteHandle.h:73
MM_RawDataContainer.h
IMMClusterBuilderTool.h
Muon::MmRdoToPrepDataToolMT::provideEmptyContainer
virtual StatusCode provideEmptyContainer(const EventContext &ctx) const override
Definition: MmRdoToPrepDataToolMT.cxx:297
Muon::MmRdoToPrepDataToolMT::setupMM_PrepDataContainer
Muon::MMPrepDataContainer * setupMM_PrepDataContainer(const EventContext &ctx) const
Definition: MmRdoToPrepDataToolMT.cxx:309
Muon::MmRdoToPrepDataToolMT::m_writeKey
SG::WriteHandleKey< Muon::MMPrepDataContainer > m_writeKey
MdtPrepRawData containers.
Definition: MmRdoToPrepDataToolMT.h:67
Muon::MmRdoToPrepDataToolMT::m_calibTool
ToolHandle< INSWCalibTool > m_calibTool
Definition: MmRdoToPrepDataToolMT.h:81
IMuonIdHelperSvc.h
ServiceHandle< Muon::IMuonIdHelperSvc >
Muon::MmRdoToPrepDataToolMT::m_readKey
SG::ReadHandleKey< MM_RawDataContainer > m_readKey
Definition: MmRdoToPrepDataToolMT.h:69