ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonCnv
MuonMM_CnvTools
src
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
8
#include "
AthenaBaseComps/AthAlgTool.h
"
9
#include "
MMClusterization/IMMClusterBuilderTool.h
"
10
#include "
MuonCnvToolInterfaces/IMuonRdoToPrepDataTool.h
"
11
#include "
MuonIdHelpers/IMuonIdHelperSvc.h
"
12
#include "
MuonPrepRawData/MMPrepDataContainer.h
"
13
#include "
MuonPrepRawData/MuonPrepDataCollection_Cache.h
"
14
#include "
MuonRDO/MM_RawDataContainer.h
"
15
#include "
MuonReadoutGeometry/MuonDetectorManager.h
"
16
#include "
NSWCalibTools/INSWCalibTool.h
"
17
#include "
StoreGate/ReadCondHandleKey.h
"
18
#include "
xAODMuonPrepData/MMClusterContainer.h
"
19
20
#include "
MuonReadoutGeometryR4/MuonDetectorManager.h
"
21
22
#include <cfloat>
23
namespace
Muon
{
24
25
class
MmRdoToPrepDataToolMT
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
:
49
Muon::MMPrepDataContainer
*
setupMM_PrepDataContainer
(
50
const
EventContext& ctx)
const
;
51
xAOD::MMClusterContainer
*
setupxAODPrepDataContainer
(
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
61
SG::ReadCondHandleKey<MuonGM::MuonDetectorManager>
m_muDetMgrKey
{
62
this
,
"DetectorManagerKey"
,
"MuonDetectorManager"
,
63
"Key of input MuonDetectorManager condition data"
};
64
65
ServiceHandle<Muon::IMuonIdHelperSvc>
m_idHelperSvc
{
66
this
,
"MuonIdHelperSvc"
,
"Muon::MuonIdHelperSvc/MuonIdHelperSvc"
};
67
69
SG::WriteHandleKey<Muon::MMPrepDataContainer>
m_writeKey
{
70
this
,
"OutputCollection"
,
"MM_Measurements"
};
71
SG::ReadHandleKey<MM_RawDataContainer>
m_readKey
{
72
this
,
"InputCollection"
,
"MMRDO"
};
73
75
SG::UpdateHandleKey<MMPrepDataCollection_Cache>
m_updateKey
{
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
90
SG::WriteHandleKey<xAOD::MMClusterContainer>
m_xAODKey
{
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
98
const
MuonGMR4::MuonDetectorManager
*
m_detMgrR4
{
nullptr
};
99
};
100
}
// namespace Muon
101
102
#endif
AthAlgTool.h
IMMClusterBuilderTool.h
IMuonIdHelperSvc.h
IMuonRdoToPrepDataTool.h
INSWCalibTool.h
MMClusterContainer.h
MMPrepDataContainer.h
MM_RawDataContainer.h
MuonDetectorManager.h
MuonDetectorManager.h
MuonPrepDataCollection_Cache.h
ReadCondHandleKey.h
MuonGMR4::MuonDetectorManager
Definition
MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/MuonDetectorManager.h:62
Muon::MM_RawDataCollection
Definition
MM_RawDataCollection.h:15
Muon::MM_RawDataContainer
Definition
MM_RawDataContainer.h:18
Muon::MmRdoToPrepDataToolMT
Definition
MmRdoToPrepDataToolMT.h:26
Muon::MmRdoToPrepDataToolMT::m_detMgrR4
const MuonGMR4::MuonDetectorManager * m_detMgrR4
Definition
MmRdoToPrepDataToolMT.h:98
Muon::MmRdoToPrepDataToolMT::m_writeKey
SG::WriteHandleKey< Muon::MMPrepDataContainer > m_writeKey
MdtPrepRawData containers.
Definition
MmRdoToPrepDataToolMT.h:69
Muon::MmRdoToPrepDataToolMT::initialize
virtual StatusCode initialize() override
standard Athena-Algorithm method
Definition
MmRdoToPrepDataToolMT.cxx:26
Muon::MmRdoToPrepDataToolMT::~MmRdoToPrepDataToolMT
virtual ~MmRdoToPrepDataToolMT()=default
default destructor
Muon::MmRdoToPrepDataToolMT::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition
MmRdoToPrepDataToolMT.h:65
Muon::MmRdoToPrepDataToolMT::m_useNewGeo
Gaudi::Property< bool > m_useNewGeo
Definition
MmRdoToPrepDataToolMT.h:95
Muon::MmRdoToPrepDataToolMT::getRdoContainer
const MM_RawDataContainer * getRdoContainer(const EventContext &ctx) const
Definition
MmRdoToPrepDataToolMT.cxx:231
Muon::MmRdoToPrepDataToolMT::m_xAODKey
SG::WriteHandleKey< xAOD::MMClusterContainer > m_xAODKey
Definition
MmRdoToPrepDataToolMT.h:90
Muon::MmRdoToPrepDataToolMT::m_clusterBuilderTool
ToolHandle< IMMClusterBuilderTool > m_clusterBuilderTool
Definition
MmRdoToPrepDataToolMT.h:80
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:42
Muon::MmRdoToPrepDataToolMT::m_singleStripChargeCut
Gaudi::Property< float > m_singleStripChargeCut
Definition
MmRdoToPrepDataToolMT.h:87
Muon::MmRdoToPrepDataToolMT::m_calibTool
ToolHandle< INSWCalibTool > m_calibTool
Definition
MmRdoToPrepDataToolMT.h:83
Muon::MmRdoToPrepDataToolMT::setupxAODPrepDataContainer
xAOD::MMClusterContainer * setupxAODPrepDataContainer(SG::WriteHandle< xAOD::MMClusterContainer > &outputContainer) const
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:268
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:75
Muon::MmRdoToPrepDataToolMT::m_readKey
SG::ReadHandleKey< MM_RawDataContainer > m_readKey
Definition
MmRdoToPrepDataToolMT.h:71
Muon::MmRdoToPrepDataToolMT::m_merge
Gaudi::Property< bool > m_merge
Definition
MmRdoToPrepDataToolMT.h:78
Muon::MmRdoToPrepDataToolMT::m_muDetMgrKey
SG::ReadCondHandleKey< MuonGM::MuonDetectorManager > m_muDetMgrKey
Definition
MmRdoToPrepDataToolMT.h:61
Muon::MmRdoToPrepDataToolMT::processRDOContainer
void processRDOContainer(const EventContext &ctx, Muon::MMPrepDataContainer *mmPrepDataContainer, xAOD::MMClusterContainer *xAODContainer, const std::vector< IdentifierHash > &idsToDecode) const
Definition
MmRdoToPrepDataToolMT.cxx:242
Muon::MmRdoToPrepDataToolMT::provideEmptyContainer
virtual StatusCode provideEmptyContainer(const EventContext &ctx) const override
Definition
MmRdoToPrepDataToolMT.cxx:299
Muon::MmRdoToPrepDataToolMT::setupMM_PrepDataContainer
Muon::MMPrepDataContainer * setupMM_PrepDataContainer(const EventContext &ctx) const
Definition
MmRdoToPrepDataToolMT.cxx:311
SG::ReadCondHandleKey
Definition
ReadCondHandleKey.h:21
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
SG::UpdateHandleKey
Property holding a SG store/key/clid from which an UpdateHandle is made.
Definition
UpdateHandleKey.h:40
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition
StoreGate/StoreGate/WriteHandleKey.h:40
SG::WriteHandle
Definition
StoreGate/StoreGate/WriteHandle.h:73
ServiceHandle
Definition
ClusterMakerTool.h:36
Muon
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
Definition
TrackSystemController.h:46
Muon::MMPrepDataContainer
MuonPrepDataContainerT< MMPrepData > MMPrepDataContainer
Definition
MuonPrepDataContainer.h:99
xAOD::MMClusterContainer
MMClusterContainer_v1 MMClusterContainer
Definition
MMClusterContainer.h:13
Generated on
for ATLAS Offline Software by
1.17.0