ATLAS Offline Software
Loading...
Searching...
No Matches
MuonCalibStreamDataProviderSvc.cxx
Go to the documentation of this file.
1// Include files.
3
4#include "GaudiKernel/ISvcLocator.h"
6
7// Constructor.
8MuonCalibStreamDataProviderSvc::MuonCalibStreamDataProviderSvc(const std::string &name, ISvcLocator *svcloc) :
9 base_class(name, svcloc),
10 m_lumiBlockCoolSvc("MuonCalibRunLumiBlockCoolSvc", "MuonCalibRunLumiBlockCoolSvc"),
13 m_event(nullptr),
14 m_evtN(0),
15 m_runN(0),
16 m_fake_evtN(0),
17 m_fake_runN(-1),
18 m_fake_lumiB(200),
19 m_pt(0),
20 m_timeStamp(0) {
21 declareProperty("RunNumber", m_fake_runN, "run number to be used for DB access");
22 declareProperty("FirstEventNumber", m_fake_evtN, "reset fake event number to this value");
23 declareProperty("LumiBlockCoolSvc", m_lumiBlockCoolSvc);
24 declareProperty("RunNumberFromCool", m_run_number_from_cool);
25 declareProperty("LumiBlockNumberFromCool", m_lumi_block_number_from_cool);
26}
27
28// Destructor.
30
31// Initialization
34 return StatusCode::SUCCESS;
35}
36
37void MuonCalibStreamDataProviderSvc::setNextEvent(const LVL2_MUON_CALIBRATION::CalibEvent *re) {
38 m_event = re;
39 m_evtN = m_event->lvl1_id();
40 m_runN = m_event->run_number();
41 m_pt = m_event->pt();
42 m_timeStamp = m_event->timestamp();
45 int runN(-1);
47 if (m_fake_runN >= 0)
48 runN = m_fake_runN;
49 else
50 runN = m_runN;
51 }
52 int lb_nr = 200;
53 if (!m_lumiBlockCoolSvc->GetRunEventNumber(m_timeStamp, runN, lb_nr).isSuccess()) {
54 ATH_MSG_FATAL("Failed to get run event number!");
55 return;
56 }
57 if (m_run_number_from_cool) { m_fake_runN = runN; }
59 }
60 return;
61}
62
63const LVL2_MUON_CALIBRATION::CalibEvent *MuonCalibStreamDataProviderSvc::getEvent() { return m_event; }
64
66 if (m_fake_runN < 0) {
67 return m_evtN;
68 } else {
69 return m_fake_evtN;
70 }
71}
72
74 if (m_fake_runN < 0) {
75 return m_runN;
76 } else {
77 return m_fake_runN;
78 }
79}
80
82
86
const boost::regex re(r_e)
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_FATAL(x)
ServiceHandle< MuonCalibRunLumiBlockCoolSvc > m_lumiBlockCoolSvc
const LVL2_MUON_CALIBRATION::CalibEvent * m_event
virtual const LVL2_MUON_CALIBRATION::CalibEvent * getEvent()
virtual void setNextEvent(const LVL2_MUON_CALIBRATION::CalibEvent *re)
MuonCalibStreamDataProviderSvc(const std::string &name, ISvcLocator *svcloc)