ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Database
CoolLumiUtilities
src
OnlineLumiCalibrationCondAlg.cxx
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration.
3
*/
11
12
13
#include "
OnlineLumiCalibrationCondAlg.h
"
14
#include "
CoolLumiUtilities/OnlineLumiCalibrator.h
"
15
#include "
StoreGate/ReadCondHandle.h
"
16
#include "
StoreGate/WriteCondHandle.h
"
17
18
22
StatusCode
23
OnlineLumiCalibrationCondAlg::initialize
()
24
{
25
ATH_CHECK
(
m_calibrationFolderInputKey
.initialize() );
26
ATH_CHECK
(
m_lumiCalibOutputKey
.initialize() );
27
return
StatusCode::SUCCESS;
28
}
29
30
35
StatusCode
36
OnlineLumiCalibrationCondAlg::execute
(
const
EventContext& ctx)
const
37
{
38
SG::ReadCondHandle<CondAttrListCollection>
calibrationFolder
39
(
m_calibrationFolderInputKey
, ctx);
40
EventIDRange range;
41
ATH_CHECK
( calibrationFolder.
range
(range) );
42
43
auto
cali = std::make_unique<OnlineLumiCalibrationCondData>();
44
for
(
const
auto
& p : *calibrationFolder.
retrieve
()) {
45
unsigned
int
channel = p.first;
46
const
coral::AttributeList& attrList = p.second;
47
OnlineLumiCalibrator
lc;
48
if
(!lc.setCalibration(attrList)) {
49
ATH_MSG_WARNING
(
"error processing calibration for channel "
<< channel );
50
}
51
else
{
52
ATH_MSG_DEBUG
(
"Calibration for channel "
<< channel <<
": "
<< lc );
53
cali->set (channel, std::move (lc));
54
}
55
}
56
57
SG::WriteCondHandle<OnlineLumiCalibrationCondData>
lumiCalib
58
(
m_lumiCalibOutputKey
, ctx);
59
ATH_CHECK
( lumiCalib.
record
(range, std::move (cali)) );
60
return
StatusCode::SUCCESS;
61
}
ATH_CHECK
#define ATH_CHECK
Evaluate an expression and check for errors.
Definition
AthCheckMacros.h:40
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition
AthMsgStreamMacros.h:32
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition
AthMsgStreamMacros.h:29
OnlineLumiCalibrationCondAlg.h
Produce lumi calibration data from COOL.
OnlineLumiCalibrator.h
ReadCondHandle.h
WriteCondHandle.h
OnlineLumiCalibrationCondAlg::m_lumiCalibOutputKey
SG::WriteCondHandleKey< OnlineLumiCalibrationCondData > m_lumiCalibOutputKey
Output conditions object.
Definition
OnlineLumiCalibrationCondAlg.h:49
OnlineLumiCalibrationCondAlg::execute
virtual StatusCode execute(const EventContext &ctx) const override final
Algorithm execute method.
Definition
OnlineLumiCalibrationCondAlg.cxx:36
OnlineLumiCalibrationCondAlg::initialize
virtual StatusCode initialize() override final
Gaudi initialize method.
Definition
OnlineLumiCalibrationCondAlg.cxx:23
OnlineLumiCalibrationCondAlg::m_calibrationFolderInputKey
SG::ReadCondHandleKey< CondAttrListCollection > m_calibrationFolderInputKey
Input conditions object.
Definition
OnlineLumiCalibrationCondAlg.h:45
OnlineLumiCalibrator
Utility class to apply calibrations from /TDAQ/OLC/CALIBRATIONS folder.
Definition
OnlineLumiCalibrator.h:20
SG::ReadCondHandle
Definition
ReadCondHandle.h:40
SG::ReadCondHandle::retrieve
const_pointer_type retrieve()
Definition
ReadCondHandle.h:161
SG::ReadCondHandle::range
bool range(EventIDRange &r)
Definition
ReadCondHandle.h:223
SG::WriteCondHandle
Definition
WriteCondHandle.h:26
SG::WriteCondHandle::record
StatusCode record(const EventIDRange &range, T *t)
record handle, with explicit range DEPRECATED
Definition
WriteCondHandle.h:161
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition
PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
Generated on
for ATLAS Offline Software by
1.17.0