ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
LumiBlock
LumiBlockComps
src
BunchCrossingIntensityCondTest.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
// Local include(s):
6
#include "
BunchCrossingIntensityCondTest.h
"
7
8
9
StatusCode
BunchCrossingIntensityCondTest::initialize
() {
10
ATH_MSG_INFO
(
"Initializing..."
);
11
12
ATH_CHECK
(
m_inputKey
.initialize() );
13
14
if
(
m_fileName
.size()>0) {
15
m_fileOut
.open(
m_fileName
);
16
if
(
m_fileOut
.is_open()) {
17
ATH_MSG_INFO
(
"Writing to file "
<<
m_fileName
);
18
}
19
else
{
20
msg
(MSG::ERROR) <<
"Failed to open file "
<<
m_fileName
<<
endmsg
;
21
return
StatusCode::FAILURE;
22
}
23
}
24
else
25
ATH_MSG_INFO
(
"Writing to stdout"
);
26
27
return
StatusCode::SUCCESS;
28
}
29
30
31
StatusCode
BunchCrossingIntensityCondTest::execute
(
const
EventContext& ctx) {
32
33
// Retrieve the object holding the BCID of the current event:
34
35
36
std::ostream& out =
m_fileOut
.good() ?
m_fileOut
: std::cout;
37
38
SG::ReadCondHandle<BunchCrossingIntensityCondData>
readHdl(
m_inputKey
, ctx);
39
const
BunchCrossingIntensityCondData
* bccd=*readHdl;
40
41
out <<
"\nTimestamp:"
<< ctx.eventID().time_stamp() <<
" ns:"
<< ctx.eventID().time_stamp_ns_offset() << std::endl;
42
43
for
(
unsigned
bcid=0;bcid<4;++bcid) {
44
45
printInfo
(bccd,bcid,out,0);
46
printInfo
(bccd,bcid,out,1);
47
48
}
49
50
return
StatusCode::SUCCESS;
51
}
52
53
54
void
BunchCrossingIntensityCondTest::printInfo
(
const
BunchCrossingIntensityCondData
* bccd,
unsigned
int
bcid, std::ostream& out ,
int
channel ) {
55
56
out <<
"BCID "
<< bcid<<
" LB "
<<bccd->
GetRunLB
();
57
out <<
"Beam1IntensityBCID="
<< bccd->
GetBeam1IntensityBCID
(bcid,channel) <<
", Beam2IntensityBCID="
<<bccd->
GetBeam2IntensityBCID
(bcid,channel);
58
out << std::endl;
59
60
}
endmsg
#define endmsg
Definition
AnalysisConfig_Ntuple.cxx:61
ATH_CHECK
#define ATH_CHECK
Evaluate an expression and check for errors.
Definition
AthCheckMacros.h:40
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition
AthMsgStreamMacros.h:31
BunchCrossingIntensityCondTest.h
AthCommonAlgorithm< Gaudi::Algorithm >::msg
MsgStream & msg() const
Definition
AthCommonMsg.h:24
BunchCrossingIntensityCondData
Definition
BunchCrossingIntensityCondData.h:23
BunchCrossingIntensityCondData::GetRunLB
unsigned long long GetRunLB() const
Definition
BunchCrossingIntensityCondData.cxx:75
BunchCrossingIntensityCondData::GetBeam2IntensityBCID
float GetBeam2IntensityBCID(const bcid_type bcid, int channel) const
Definition
BunchCrossingIntensityCondData.cxx:18
BunchCrossingIntensityCondData::GetBeam1IntensityBCID
float GetBeam1IntensityBCID(const bcid_type bcid, int channel) const
Definition
BunchCrossingIntensityCondData.cxx:7
BunchCrossingIntensityCondTest::m_inputKey
SG::ReadCondHandleKey< BunchCrossingIntensityCondData > m_inputKey
Definition
BunchCrossingIntensityCondTest.h:33
BunchCrossingIntensityCondTest::m_fileOut
std::ofstream m_fileOut
Definition
BunchCrossingIntensityCondTest.h:38
BunchCrossingIntensityCondTest::execute
virtual StatusCode execute(const EventContext &ctx)
Function called once per event.
Definition
BunchCrossingIntensityCondTest.cxx:31
BunchCrossingIntensityCondTest::printInfo
static void printInfo(const BunchCrossingIntensityCondData *bccd, unsigned int bcid, std::ostream &out, int channel)
Function for printing detailed info about a given bunch crossing.
Definition
BunchCrossingIntensityCondTest.cxx:54
BunchCrossingIntensityCondTest::initialize
virtual StatusCode initialize()
Initialization run before the event loop.
Definition
BunchCrossingIntensityCondTest.cxx:9
BunchCrossingIntensityCondTest::m_fileName
Gaudi::Property< std::string > m_fileName
Definition
BunchCrossingIntensityCondTest.h:35
SG::ReadCondHandle
Definition
ReadCondHandle.h:40
Generated on
for ATLAS Offline Software by
1.17.0