ATLAS Offline Software
MmRdoToPrepDataToolMT.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef MUONMmRdoToPrepDataToolMT_H
6 #define MUONMmRdoToPrepDataToolMT_H
7 
19 
20 namespace Muon {
21 
23  : public extends<AthAlgTool, IMuonRdoToPrepDataTool> {
24  public:
25  MmRdoToPrepDataToolMT(const std::string&, const std::string&,
26  const IInterface*);
27 
29  virtual ~MmRdoToPrepDataToolMT() = default;
30 
32  virtual StatusCode initialize() override;
33 
35  virtual StatusCode decode(const EventContext& ctx,
36  const std::vector<IdentifierHash>& idVect) const override;
37  virtual StatusCode decode(const EventContext& ctx,
38  const std::vector<uint32_t>& robIds) const override;
39  virtual StatusCode provideEmptyContainer(const EventContext& ctx) const override;
41  const EventContext& ctx, Muon::MMPrepDataContainer* mmPrepDataContainer,
42  xAOD::MMClusterContainer* xAODContainer,
43  const std::vector<IdentifierHash>& idsToDecode,
44  const MM_RawDataCollection* rdoColl) const;
45 
46 
47  protected:
49  const EventContext& ctx) const;
51  SG::WriteHandle<xAOD::MMClusterContainer>& outputContainer) const;
52 
53  const MM_RawDataContainer* getRdoContainer(const EventContext& ctx) const;
54 
55  void processRDOContainer(const EventContext& ctx,
56  Muon::MMPrepDataContainer* mmPrepDataContainer,
57  xAOD::MMClusterContainer* xAODContainer,
58  const std::vector<IdentifierHash>& idsToDecode) const;
59 
61  this, "DetectorManagerKey", "MuonDetectorManager",
62  "Key of input MuonDetectorManager condition data"};
63 
65  this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
66 
69  this, "OutputCollection", "MM_Measurements"};
71  this, "InputCollection", "MMRDO"};
72 
75  this, "PrdCacheKey", "",
76  "Optional external cache for the MM PRD container"};
77  Gaudi::Property<bool> m_merge{this, "MergePrds", true};
78 
79  ToolHandle<IMMClusterBuilderTool> m_clusterBuilderTool{
80  this, "ClusterBuilderTool",
81  "Muon::SimpleMMClusterBuilderTool/SimpleMMClusterBuilderTool"};
82  ToolHandle<INSWCalibTool> m_calibTool{this, "NSWCalibTool", ""};
83 
84  // charge cut is temporarily disabled for comissioning studies. Should be
85  // reenabled at some point. pscholer 13.05.2022
86  Gaudi::Property<float> m_singleStripChargeCut{
87  this, "singleStripChargeCut",
88  FLT_MIN /*6241 * 0.4*/}; // 0.4 fC from BB5 cosmics
90  this, "xAODKey", "",
91  "If empty, do not produce xAOD, otherwise this is the key of the output "
92  "xAOD MDT PRD container"};
93 };
94 } // namespace Muon
95 
96 #endif
Muon::MmRdoToPrepDataToolMT::m_muDetMgrKey
SG::ReadCondHandleKey< MuonGM::MuonDetectorManager > m_muDetMgrKey
Definition: MmRdoToPrepDataToolMT.h:60
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:47
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:64
Muon::MmRdoToPrepDataToolMT::m_clusterBuilderTool
ToolHandle< IMMClusterBuilderTool > m_clusterBuilderTool
Definition: MmRdoToPrepDataToolMT.h:79
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:308
INSWCalibTool.h
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:281
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
Muon
This class provides conversion from CSC RDO data to CSC Digits.
Definition: TrackSystemController.h:49
Muon::MM_RawDataCollection
Definition: MM_RawDataCollection.h:15
Muon::MM_RawDataContainer
Definition: MM_RawDataContainer.h:18
Muon::MmRdoToPrepDataToolMT::~MmRdoToPrepDataToolMT
virtual ~MmRdoToPrepDataToolMT()=default
default destructor
Muon::MmRdoToPrepDataToolMT::setupxAODPrepDataContainer
xAOD::MMClusterContainer * setupxAODPrepDataContainer(SG::WriteHandle< xAOD::MMClusterContainer > &outputContainer) const
Definition: MmRdoToPrepDataToolMT.cxx:384
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:23
IMuonRdoToPrepDataTool.h
Muon::MmRdoToPrepDataToolMT::m_xAODKey
SG::WriteHandleKey< xAOD::MMClusterContainer > m_xAODKey
Definition: MmRdoToPrepDataToolMT.h:89
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:581
ReadCondHandleKey.h
Muon::MmRdoToPrepDataToolMT::m_mmPrepDataContainerKey
SG::WriteHandleKey< Muon::MMPrepDataContainer > m_mmPrepDataContainerKey
MdtPrepRawData containers.
Definition: MmRdoToPrepDataToolMT.h:68
Muon::MmRdoToPrepDataToolMT::m_rdoContainerKey
SG::ReadHandleKey< MM_RawDataContainer > m_rdoContainerKey
Definition: MmRdoToPrepDataToolMT.h:70
Muon::MmRdoToPrepDataToolMT::setupMM_PrepDataContainer
Muon::MMPrepDataContainer * setupMM_PrepDataContainer(const EventContext &ctx) const
Definition: MmRdoToPrepDataToolMT.cxx:343
Muon::MmRdoToPrepDataToolMT::getRdoContainer
const MM_RawDataContainer * getRdoContainer(const EventContext &ctx) const
Definition: MmRdoToPrepDataToolMT.cxx:269
Muon::MmRdoToPrepDataToolMT::m_singleStripChargeCut
Gaudi::Property< float > m_singleStripChargeCut
Definition: MmRdoToPrepDataToolMT.h:86
Muon::MmRdoToPrepDataToolMT::MmRdoToPrepDataToolMT
MmRdoToPrepDataToolMT(const std::string &, const std::string &, const IInterface *)
Definition: MmRdoToPrepDataToolMT.cxx:28
Muon::MmRdoToPrepDataToolMT::initialize
virtual StatusCode initialize() override
standard Athena-Algorithm method
Definition: MmRdoToPrepDataToolMT.cxx:33
MuonDetectorManager.h
Muon::MmRdoToPrepDataToolMT::m_merge
Gaudi::Property< bool > m_merge
Definition: MmRdoToPrepDataToolMT.h:77
SG::ReadCondHandleKey< MuonGM::MuonDetectorManager >
SG::WriteHandle
Definition: StoreGate/StoreGate/WriteHandle.h:76
MM_RawDataContainer.h
IMMClusterBuilderTool.h
Muon::MmRdoToPrepDataToolMT::m_prdContainerCacheKey
SG::UpdateHandleKey< MMPrepDataCollection_Cache > m_prdContainerCacheKey
This is the key for the cache for the MM PRD containers, can be empty.
Definition: MmRdoToPrepDataToolMT.h:74
Muon::MmRdoToPrepDataToolMT::provideEmptyContainer
virtual StatusCode provideEmptyContainer(const EventContext &ctx) const override
Definition: MmRdoToPrepDataToolMT.cxx:336
Muon::MmRdoToPrepDataToolMT::m_calibTool
ToolHandle< INSWCalibTool > m_calibTool
Definition: MmRdoToPrepDataToolMT.h:82
IMuonIdHelperSvc.h
ServiceHandle< Muon::IMuonIdHelperSvc >