ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
LArCalorimeter
LArCalibTools
src
LArFEBTemp2Ntuple.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
LArCalibTools/LArFEBTemp2Ntuple.h
"
6
#include "
LArElecCalib/ILArFEBTempTool.h
"
7
#include "
LArIdentifier/LArOnlineID.h
"
8
#include "
StoreGate/StoreGateSvc.h
"
9
#include "GaudiKernel/IToolSvc.h"
10
11
LArFEBTemp2Ntuple::LArFEBTemp2Ntuple
(
const
std::string& name, ISvcLocator* pSvcLocator)
12
:
LArCond2NtupleBase
(name, pSvcLocator)
13
{
14
m_ntTitle
=
"FEB Temperatures"
;
15
m_ntpath
=
"/NTUPLES/FILE1/FEBTEMP"
;
16
}
17
18
LArFEBTemp2Ntuple::~LArFEBTemp2Ntuple
()
19
=
default
;
20
21
StatusCode
LArFEBTemp2Ntuple::stop
() {
22
StatusCode
sc
;
23
NTuple::Item<float> temp1;
24
NTuple::Item<float> temp2;
25
26
sc
=
m_nt
->addItem(
"temp1"
,temp1,-1000.,5000.);
27
if
(
sc
!=StatusCode::SUCCESS)
28
{
ATH_MSG_ERROR
(
"addItem 'temp1' failed"
);
29
return
StatusCode::FAILURE;
30
}
31
32
sc
=
m_nt
->addItem(
"temp2"
,temp2,-1000.,5000.);
33
if
(
sc
!=StatusCode::SUCCESS)
34
{
ATH_MSG_ERROR
(
"addItem 'temp2' failed"
);
35
return
StatusCode::FAILURE;
36
}
37
38
SmartIF<IToolSvc> toolSvc{Gaudi::svcLocator()->service(
"ToolSvc"
)};
39
if
(!toolSvc.isValid()) {
40
ATH_MSG_ERROR
(
"Unable to retrieve IToolSvc"
);
41
return
StatusCode::FAILURE;
42
}
43
44
ILArFEBTempTool
*larFEBTempTool;
45
sc
= toolSvc->retrieveTool(
"LArFEBTempTool"
, larFEBTempTool);
46
if
(
sc
!=StatusCode::SUCCESS) {
47
ATH_MSG_ERROR
(
"Unable to retrieve LArFEBTempTool from ToolSvc"
);
48
return
StatusCode::FAILURE;
49
}
50
51
for
(
const
HWIdentifier
hwid:
m_onlineId
->channel_range()) {
52
FEBTemp
tv = larFEBTempTool->
getFebTemp
(hwid);
53
ATH_MSG_DEBUG
( hwid <<
" "
<< tv.size() );
54
55
if
( !tv.empty() )
56
{
57
FEBTemp::const_iterator itb = tv.begin();
58
FEBTemp::const_iterator ite = tv.end();
59
60
for
(;itb!=ite;++itb)
61
{
62
temp1 = (*itb).first;
63
temp2 = (*itb).second;
64
65
fillFromIdentifier
(hwid);
66
67
sc
=
ntupleSvc
()->writeRecord(
m_nt
);
68
69
if
(
sc
!=StatusCode::SUCCESS)
70
{
71
ATH_MSG_ERROR
(
"writeRecord failed"
);
72
return
StatusCode::FAILURE;
73
}
74
}
75
}
76
}
77
78
ATH_MSG_INFO
(
"LArFEBTemp2Ntuple has finished."
);
79
80
return
StatusCode::SUCCESS;
81
82
}
// end finalize-method.
83
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition
AthMsgStreamMacros.h:33
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition
AthMsgStreamMacros.h:31
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition
AthMsgStreamMacros.h:29
ILArFEBTempTool.h
FEBTemp
std::vector< std::pair< float, float > > FEBTemp
Definition
ILArFEBTempTool.h:27
LArFEBTemp2Ntuple.h
LArOnlineID.h
sc
static Double_t sc
Definition
LArPhysWaveHECTool.cxx:37
ntupleSvc
INTupleSvc * ntupleSvc()
Definition
ServiceAccessor.h:14
StoreGateSvc.h
HWIdentifier
Definition
HWIdentifier.h:13
ILArFEBTempTool
Interface for Tool to provide FEB TEMP DCS information.
Definition
ILArFEBTempTool.h:30
ILArFEBTempTool::getFebTemp
virtual FEBTemp getFebTemp(const HWIdentifier &id)=0
LArCond2NtupleBase::m_ntTitle
std::string m_ntTitle
Definition
LArCond2NtupleBase.h:68
LArCond2NtupleBase::m_nt
NTuple::Tuple * m_nt
Definition
LArCond2NtupleBase.h:71
LArCond2NtupleBase::m_onlineId
const LArOnlineID_Base * m_onlineId
Definition
LArCond2NtupleBase.h:88
LArCond2NtupleBase::m_ntpath
std::string m_ntpath
Definition
LArCond2NtupleBase.h:68
LArCond2NtupleBase::fillFromIdentifier
bool fillFromIdentifier(const HWIdentifier &id)
Definition
LArCond2NtupleBase.cxx:290
LArCond2NtupleBase::LArCond2NtupleBase
LArCond2NtupleBase(const std::string &name, ISvcLocator *pSvcLocator)
Definition
LArCond2NtupleBase.cxx:15
LArFEBTemp2Ntuple::~LArFEBTemp2Ntuple
~LArFEBTemp2Ntuple()
LArFEBTemp2Ntuple::LArFEBTemp2Ntuple
LArFEBTemp2Ntuple(const std::string &name, ISvcLocator *pSvcLocator)
Definition
LArFEBTemp2Ntuple.cxx:11
LArFEBTemp2Ntuple::stop
virtual StatusCode stop() override
Definition
LArFEBTemp2Ntuple.cxx:21
Generated on
for ATLAS Offline Software by
1.17.0