ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
DerivationFramework
DerivationFrameworkTileCal
src
MbtsToVectorsTool.cxx
Go to the documentation of this file.
1
2
3
/*
4
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
5
*/
6
7
// MbtsToVectorsTool.cxx
8
// Implementation file for class MbtsToVectorsTool
10
11
// Tile includes
12
#include "
MbtsToVectorsTool.h
"
13
14
#include "
TileEvent/TileCell.h
"
15
#include "
TileEvent/TileContainer.h
"
16
#include "
TileIdentifier/TileTBID.h
"
17
#include "
AthenaKernel/errorcheck.h
"
18
#include "
StoreGate/ReadHandle.h
"
19
#include "
StoreGate/WriteHandle.h
"
20
21
#include <vector>
22
23
namespace
DerivationFramework
{
24
25
StatusCode
MbtsToVectorsTool::initialize
() {
26
27
ATH_CHECK
(
m_cellContainerKey
.initialize() );
28
ATH_CHECK
(
m_energyKey
.initialize() );
29
ATH_CHECK
(
m_timeKey
.initialize() );
30
ATH_CHECK
(
m_qualityKey
.initialize() );
31
ATH_CHECK
(
m_typeKey
.initialize() );
32
ATH_CHECK
(
m_moduleKey
.initialize() );
33
ATH_CHECK
(
m_channelKey
.initialize() );
34
ATH_CHECK
(
m_etaKey
.initialize(
m_saveEtaPhi
) );
35
ATH_CHECK
(
m_phiKey
.initialize(
m_saveEtaPhi
) );
36
37
ATH_CHECK
( detStore()->retrieve (
m_tileTBID
) );
38
39
return
StatusCode::SUCCESS;
40
}
41
42
43
StatusCode
MbtsToVectorsTool::addBranches
(
const
EventContext& ctx)
const
{
44
45
46
SG::WriteHandle<std::vector<float>
> energy(
m_energyKey
, ctx);
47
ATH_CHECK
( energy.record(std::make_unique<std::vector<float> >()) );
48
energy->reserve(
MAX_MBTS_COUNTER
);
49
50
SG::WriteHandle<std::vector<float>
> time(
m_timeKey
, ctx);
51
ATH_CHECK
( time.record(std::make_unique<std::vector<float> >()) );
52
time->reserve(
MAX_MBTS_COUNTER
);
53
54
SG::WriteHandle<std::vector<int>
> quality(
m_qualityKey
, ctx);
55
ATH_CHECK
( quality.
record
(std::make_unique<std::vector<int> >()) );
56
quality->reserve(
MAX_MBTS_COUNTER
);
57
58
SG::WriteHandle<std::vector<int>
> module(
m_moduleKey
, ctx);
59
ATH_CHECK
( module.record(std::make_unique<std::vector<int> >()) );
60
module
->reserve(MAX_MBTS_COUNTER);
61
62
SG::WriteHandle<std::vector<int>
>
type
(
m_typeKey
, ctx);
63
ATH_CHECK
(
type
.record(std::make_unique<std::vector<int> >()) );
64
type
->reserve(
MAX_MBTS_COUNTER
);
65
66
SG::WriteHandle<std::vector<int>
> channel(
m_channelKey
, ctx);
67
ATH_CHECK
( channel.record(std::make_unique<std::vector<int> >()) );
68
channel->reserve(
MAX_MBTS_COUNTER
);
69
70
SG::ReadHandle<TileCellContainer>
tileCells(
m_cellContainerKey
, ctx);
71
ATH_CHECK
( tileCells.
isValid
() );
72
73
if
(
m_saveEtaPhi
) {
74
SG::WriteHandle<std::vector<float>
>
eta
(
m_etaKey
, ctx);
75
ATH_CHECK
(
eta
.record(std::make_unique<std::vector<float> >()) );
76
eta
->reserve(
MAX_MBTS_COUNTER
);
77
78
SG::WriteHandle<std::vector<float>
>
phi
(
m_phiKey
, ctx);
79
ATH_CHECK
(
phi
.record(std::make_unique<std::vector<float> >()) );
80
phi
->reserve(
MAX_MBTS_COUNTER
);
81
82
for
(
const
TileCell
* cell : *tileCells ){
83
energy->push_back( cell->energy() );
84
eta
->push_back( cell->eta() );
85
phi
->push_back( cell->phi() );
86
time->push_back( cell->time() );
87
quality->push_back(cell->quality() );
88
module
->push_back(m_tileTBID->module( cell->ID() ) );
89
type
->push_back(
m_tileTBID
->type( cell->ID() ) );
90
channel->push_back(
m_tileTBID
->channel( cell->ID() ) );
91
}
92
93
}
else
{
94
95
for
(
const
TileCell
* cell : *tileCells ){
96
energy->push_back( cell->energy() );
97
time->push_back( cell->time() );
98
quality->push_back(cell->quality() );
99
module
->push_back(m_tileTBID->module( cell->ID() ) );
100
type
->push_back(
m_tileTBID
->type( cell->ID() ) );
101
channel->push_back(
m_tileTBID
->channel( cell->ID() ) );
102
}
103
104
}
105
106
return
StatusCode::SUCCESS;
107
}
108
109
}
eta
Scalar eta() const
pseudorapidity method
Definition
AmgMatrixBasePlugin.h:83
phi
Scalar phi() const
phi method
Definition
AmgMatrixBasePlugin.h:67
ATH_CHECK
#define ATH_CHECK
Evaluate an expression and check for errors.
Definition
AthCheckMacros.h:40
errorcheck.h
Helpers for checking error return status codes and reporting errors.
MbtsToVectorsTool.h
ReadHandle.h
Handle class for reading from StoreGate.
WriteHandle.h
Handle class for recording to StoreGate.
TileTBID.h
TileCell.h
TileContainer.h
DerivationFramework::MbtsToVectorsTool::m_typeKey
SG::WriteHandleKey< std::vector< int > > m_typeKey
Definition
MbtsToVectorsTool.h:52
DerivationFramework::MbtsToVectorsTool::m_moduleKey
SG::WriteHandleKey< std::vector< int > > m_moduleKey
Definition
MbtsToVectorsTool.h:53
DerivationFramework::MbtsToVectorsTool::m_qualityKey
SG::WriteHandleKey< std::vector< int > > m_qualityKey
Definition
MbtsToVectorsTool.h:51
DerivationFramework::MbtsToVectorsTool::m_etaKey
SG::WriteHandleKey< std::vector< float > > m_etaKey
Definition
MbtsToVectorsTool.h:49
DerivationFramework::MbtsToVectorsTool::m_cellContainerKey
SG::ReadHandleKey< TileCellContainer > m_cellContainerKey
Definition
MbtsToVectorsTool.h:45
DerivationFramework::MbtsToVectorsTool::addBranches
virtual StatusCode addBranches(const EventContext &ctx) const override final
Definition
MbtsToVectorsTool.cxx:43
DerivationFramework::MbtsToVectorsTool::initialize
virtual StatusCode initialize() override final
Definition
MbtsToVectorsTool.cxx:25
DerivationFramework::MbtsToVectorsTool::m_energyKey
SG::WriteHandleKey< std::vector< float > > m_energyKey
Definition
MbtsToVectorsTool.h:47
DerivationFramework::MbtsToVectorsTool::m_phiKey
SG::WriteHandleKey< std::vector< float > > m_phiKey
Definition
MbtsToVectorsTool.h:50
DerivationFramework::MbtsToVectorsTool::m_channelKey
SG::WriteHandleKey< std::vector< int > > m_channelKey
Definition
MbtsToVectorsTool.h:54
DerivationFramework::MbtsToVectorsTool::m_saveEtaPhi
Gaudi::Property< bool > m_saveEtaPhi
Definition
MbtsToVectorsTool.h:43
DerivationFramework::MbtsToVectorsTool::m_timeKey
SG::WriteHandleKey< std::vector< float > > m_timeKey
Definition
MbtsToVectorsTool.h:48
DerivationFramework::MbtsToVectorsTool::MAX_MBTS_COUNTER
static const unsigned int MAX_MBTS_COUNTER
Definition
MbtsToVectorsTool.h:58
DerivationFramework::MbtsToVectorsTool::m_tileTBID
const TileTBID * m_tileTBID
Definition
MbtsToVectorsTool.h:56
SG::ReadHandle
Definition
StoreGate/StoreGate/ReadHandle.h:67
SG::ReadHandle::isValid
virtual bool isValid() override final
Can the handle be successfully dereferenced?
SG::WriteHandle
Definition
StoreGate/StoreGate/WriteHandle.h:73
SG::WriteHandle::record
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
TileCell
Definition
TileCell.h:57
DerivationFramework
THE reconstruction tool.
Definition
CascadeTools.h:16
type
Generated on
for ATLAS Offline Software by
1.17.0