ATLAS Offline Software
CscRdoToCscPrepDataToolMT.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef MUONCSC_CNVTOOLS_CscRdoToCscPrepDataToolMT_H
6 #define MUONCSC_CNVTOOLS_CscRdoToCscPrepDataToolMT_H
7 
8 #include <string>
9 #include <vector>
10 
14 #include "GaudiKernel/ServiceHandle.h"
15 #include "GaudiKernel/ToolHandle.h"
23 
25 
34 
35 namespace Muon {
36 
39  class CscRdoToCscPrepDataToolMT : public extends<AthAlgTool, IMuonRdoToPrepDataTool> {
40  public:
41  CscRdoToCscPrepDataToolMT(const std::string& type, const std::string& name, const IInterface* parent);
42 
43  virtual ~CscRdoToCscPrepDataToolMT() = default;
44 
45  virtual StatusCode initialize() override;
46 
47  virtual StatusCode decode(const EventContext& ctx, const std::vector<IdentifierHash>& givenIdhs) const override;
48  virtual StatusCode decode(const EventContext& ctx, const std::vector<uint32_t>& robIDs) const override;
49  virtual StatusCode provideEmptyContainer(const EventContext& ctx) const override;
50 
51 
52  protected:
53 
55  IdentifierHash givenHashId) const;
57 
58 
59  SG::ReadCondHandleKey<MuonGM::MuonDetectorManager> m_muDetMgrKey{this, "DetectorManagerKey", "MuonDetectorManager",
60  "Key of input MuonDetectorManager condition data"};
61 
62  ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc{this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
63 
65  SG::WriteHandleKey<Muon::CscStripPrepDataContainer> m_outputCollectionKey{this, "OutputCollection", "CSC_Measurements",
66  "Muon::CscStripPrepDataContainer to record"};
67 
68  SG::ReadHandleKey<CscRawDataContainer> m_rdoContainerKey{this, "RDOContainer", "CSCRDO", "CscRawDataContainer to retrieve"};
69 
72  "Optional external cache for the CSC RDO container"};
73 
74 
76  ToolHandle<ICscCalibTool> m_cscCalibTool{this, "CscCalibTool", "CscCalibTool/CscCalibTool"};
77  ToolHandle<ICSC_RDO_Decoder> m_cscRdoDecoderTool{this, "CscRdoDecoderTool", "Muon::CscRDO_Decoder/CscRDO_Decoder"};
78 
79  ServiceHandle<CSCcablingSvc> m_cabling{this, "CablingSvc", "CSCcablingSvc"};
81  Gaudi::Property<int> m_cscOffset{this, "CSCHashIdOffset", 22000};
82 
83  Gaudi::Property<bool> m_decodeData{this, "DecodeData", true};
84  };
85 } // namespace Muon
86 #endif
ICSC_RDO_Decoder.h
Muon::MuonPrepDataContainer
Template for Muon PRD containers (which are basically collections of MuonPrepDataCollections).
Definition: MuonPrepDataContainer.h:42
CscStripPrepDataContainer.h
Muon::CscRdoToCscPrepDataToolMT::CscRdoToCscPrepDataToolMT
CscRdoToCscPrepDataToolMT(const std::string &type, const std::string &name, const IInterface *parent)
Definition: CscRdoToCscPrepDataToolMT.cxx:21
MuonPrepDataCollection_Cache.h
SG::UpdateHandleKey
Property holding a SG store/key/clid from which an UpdateHandle is made.
Definition: UpdateHandleKey.h:40
Muon::CscRdoToCscPrepDataToolMT::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: CscRdoToCscPrepDataToolMT.h:62
Muon::CscRdoToCscPrepDataToolMT::~CscRdoToCscPrepDataToolMT
virtual ~CscRdoToCscPrepDataToolMT()=default
Muon::CscRdoToCscPrepDataToolMT::decode
virtual StatusCode decode(const EventContext &ctx, const std::vector< IdentifierHash > &givenIdhs) const override
Definition: CscRdoToCscPrepDataToolMT.cxx:63
ICscCalibTool.h
SG::ReadHandleKey< CscRawDataContainer >
Muon
This class provides conversion from CSC RDO data to CSC Digits.
Definition: TrackSystemController.h:49
Muon::CscRdoToCscPrepDataToolMT::m_cscCalibTool
ToolHandle< ICscCalibTool > m_cscCalibTool
CSC Calibration tools.
Definition: CscRdoToCscPrepDataToolMT.h:76
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition: StoreGate/StoreGate/WriteHandleKey.h:40
IMuonRdoToPrepDataTool.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
Muon::CscRdoToCscPrepDataToolMT::decodeImpl
StatusCode decodeImpl(Muon::CscStripPrepDataContainer *outputCollection, const CscRawDataContainer *rdoContainer, IdentifierHash givenHashId) const
Definition: CscRdoToCscPrepDataToolMT.cxx:124
Muon::CscRdoToCscPrepDataToolMT::m_cabling
ServiceHandle< CSCcablingSvc > m_cabling
Definition: CscRdoToCscPrepDataToolMT.h:79
test_pyathena.parent
parent
Definition: test_pyathena.py:15
Muon::CscRdoToCscPrepDataToolMT::m_rdoContainerKey
SG::ReadHandleKey< CscRawDataContainer > m_rdoContainerKey
Definition: CscRdoToCscPrepDataToolMT.h:68
ReadCondHandleKey.h
Muon::CscRdoToCscPrepDataToolMT::m_decodeData
Gaudi::Property< bool > m_decodeData
toggle on/off the decoding of CSC RDO into CscStripPrepData
Definition: CscRdoToCscPrepDataToolMT.h:83
postInclude.outputCollection
outputCollection
Definition: postInclude.SortInput.py:27
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
MuonDetectorManager.h
SG::ReadCondHandleKey< MuonGM::MuonDetectorManager >
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
CscRawDataContainer
This container provides access to collections of CSC RDOs and a mechanism for recording them.
Definition: CscRawDataContainer.h:23
Muon::CscRdoToCscPrepDataToolMT::m_outputCollectionKey
SG::WriteHandleKey< Muon::CscStripPrepDataContainer > m_outputCollectionKey
CscStripPrepRawData containers.
Definition: CscRdoToCscPrepDataToolMT.h:65
Muon::CscRdoToCscPrepDataToolMT::initialize
virtual StatusCode initialize() override
Definition: CscRdoToCscPrepDataToolMT.cxx:25
IdentifierHash
Definition: IdentifierHash.h:38
Muon::CscRdoToCscPrepDataToolMT::m_cscOffset
Gaudi::Property< int > m_cscOffset
Identifier hash offset.
Definition: CscRdoToCscPrepDataToolMT.h:81
Muon::CscRdoToCscPrepDataToolMT::m_muDetMgrKey
SG::ReadCondHandleKey< MuonGM::MuonDetectorManager > m_muDetMgrKey
Definition: CscRdoToCscPrepDataToolMT.h:59
IMuonIdHelperSvc.h
Muon::CscRdoToCscPrepDataToolMT
This class is only used in a single-thread mode as CscRdoToCscPrepDataToolMT has the equivalent funct...
Definition: CscRdoToCscPrepDataToolMT.h:39
CSCcablingSvc.h
Muon::CscRdoToCscPrepDataToolMT::m_cscRdoDecoderTool
ToolHandle< ICSC_RDO_Decoder > m_cscRdoDecoderTool
Definition: CscRdoToCscPrepDataToolMT.h:77
Muon::CscRdoToCscPrepDataToolMT::m_prdContainerCacheKey
SG::UpdateHandleKey< CscStripPrepDataCollection_Cache > m_prdContainerCacheKey
This is the key for the cache for the CSC PRD containers, can be empty.
Definition: CscRdoToCscPrepDataToolMT.h:71
ServiceHandle< Muon::IMuonIdHelperSvc >
Muon::CscRdoToCscPrepDataToolMT::provideEmptyContainer
virtual StatusCode provideEmptyContainer(const EventContext &ctx) const override
Definition: CscRdoToCscPrepDataToolMT.cxx:42