ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
TileCalorimeter
TileRecUtils
src
TileRawChannelDumper.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
3
*/
4
/*
5
*/
12
13
14
#include "
TileRawChannelDumper.h
"
15
#include "
StoreGate/ReadHandle.h
"
16
#include "
CxxUtils/StrFormat.h
"
17
#include <fstream>
18
19
25
TileRawChannelDumper::TileRawChannelDumper
(
const
std::string& name, ISvcLocator* svcloc)
26
:
AthReentrantAlgorithm
(name, svcloc)
27
{
28
}
29
30
34
StatusCode
TileRawChannelDumper::initialize
()
35
{
36
ATH_CHECK
(
m_contKey
.initialize() );
37
if
(!
m_altContKey
.key().empty()) {
38
ATH_CHECK
(
m_altContKey
.initialize() );
39
}
40
return
StatusCode::SUCCESS;
41
}
42
43
48
StatusCode
TileRawChannelDumper::execute
(
const
EventContext& ctx)
const
49
{
50
if
(!
m_altContKey
.key().empty()) {
51
SG::ReadHandle<TileRawChannelContainer>
altCont (
m_altContKey
, ctx);
52
*altCont;
53
}
54
55
std::string fname =
CxxUtils::strformat
(
"%s%s_%08u_%08lu.dump"
,
56
m_prefix
.value().c_str(),
57
m_contKey
.key().c_str(),
58
ctx.eventID().run_number(),
59
ctx.eventID().event_number());
60
std::ofstream
fout
(fname);
61
if
(!
fout
) {
62
ATH_MSG_ERROR
(
"Cannot open dump file: "
<< fname);
63
return
StatusCode::FAILURE;
64
}
65
66
SG::ReadHandle<TileRawChannelContainer>
cont (
m_contKey
, ctx);
67
68
fout
<<
"TileRawChannelContainer/"
<<
m_contKey
.key() <<
" "
69
<<
"run "
<< ctx.eventID().run_number() <<
" "
70
<<
"event "
<< ctx.eventID().event_number() << std::endl;
71
72
fout
<<
"Type: "
<< cont->get_type() <<
" ("
73
<<
TileFragHash::typeToString
(cont->get_type()) <<
") Units: "
74
<< cont->get_unit() <<
" ("
75
<<
TileRawChannelUnit::unitToString
(cont->get_unit())
76
<<
") BSflags: 0x"
<< std::hex << cont->get_bsflags() << std::dec
77
<< std::endl;
78
79
for
(
const
TileRawChannelCollection
* coll : *cont) {
80
fout << static_cast<std::string>
(*coll);
81
fout
<<
"\n"
;
82
}
83
84
fout
.close();
85
86
return
StatusCode::SUCCESS;
87
}
88
ATH_CHECK
#define ATH_CHECK
Evaluate an expression and check for errors.
Definition
AthCheckMacros.h:40
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition
AthMsgStreamMacros.h:33
ReadHandle.h
Handle class for reading from StoreGate.
StrFormat.h
Provide helper functions to create formatted strings.
TileRawChannelDumper.h
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition
AthReentrantAlgorithm.h:74
SG::ReadHandle
Definition
StoreGate/StoreGate/ReadHandle.h:67
TileFragHash::typeToString
static std::string typeToString(TYPE type)
Printable representation of a type.
Definition
TileFragHash.cxx:85
TileRawChannelCollection
Definition
TileRawChannelCollection.h:12
TileRawChannelDumper::initialize
virtual StatusCode initialize() override
Algorithm initialization; called at the beginning of the job.
Definition
TileRawChannelDumper.cxx:34
TileRawChannelDumper::m_prefix
Gaudi::Property< std::string > m_prefix
Output file name prefix.
Definition
TileRawChannelDumper.h:67
TileRawChannelDumper::execute
virtual StatusCode execute(const EventContext &ctx) const override
Algorithm event processing.
Definition
TileRawChannelDumper.cxx:48
TileRawChannelDumper::TileRawChannelDumper
TileRawChannelDumper(const std::string &name, ISvcLocator *svcloc)
Constructor.
Definition
TileRawChannelDumper.cxx:25
TileRawChannelDumper::m_altContKey
SG::ReadHandleKey< TileRawChannelContainer > m_altContKey
Optional additional input dependency — used when we access the object produced on the side by the con...
Definition
TileRawChannelDumper.h:63
TileRawChannelDumper::m_contKey
SG::ReadHandleKey< TileRawChannelContainer > m_contKey
Handle to access input tile digits.
Definition
TileRawChannelDumper.h:58
TileRawChannelUnit::unitToString
static std::string unitToString(UNIT type)
Printable representation of a unit.
Definition
TileRawChannelUnit.cxx:14
fout
static TFile * fout
Definition
listroot.cxx:40
CxxUtils::strformat
std::string strformat(const char *fmt,...)
return a std::string according to a format fmt and varargs
Definition
StrFormat.cxx:49
Generated on
for ATLAS Offline Software by
1.17.0