ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
TileCalorimeter
TileRecUtils
src
TileDigitsDumper.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 "
TileDigitsDumper.h
"
15
#include "
StoreGate/ReadHandle.h
"
16
#include "
CxxUtils/StrFormat.h
"
17
#include <fstream>
18
19
25
TileDigitsDumper::TileDigitsDumper
(
const
std::string& name, ISvcLocator* svcloc)
26
:
AthReentrantAlgorithm
(name, svcloc)
27
{
28
}
29
30
34
StatusCode
TileDigitsDumper::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
TileDigitsDumper::execute
(
const
EventContext& ctx)
const
49
{
50
if
(!
m_altContKey
.key().empty()) {
51
SG::ReadHandle<TileDigitsContainer>
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<TileDigitsContainer>
cont (
m_contKey
, ctx);
67
68
fout
<<
"TileDigitsContainer/"
<<
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
TileDigitsCollection
* coll : *cont) {
80
fout << static_cast<std::string>
(*coll);
81
coll->printExtra (
fout
);
82
fout
<<
"\n"
;
83
}
84
85
fout
.close();
86
87
return
StatusCode::SUCCESS;
88
}
89
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.
TileDigitsDumper.h
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition
AthReentrantAlgorithm.h:74
SG::ReadHandle
Definition
StoreGate/StoreGate/ReadHandle.h:67
TileDigitsCollection
Definition
TileDigitsCollection.h:18
TileDigitsDumper::m_altContKey
SG::ReadHandleKey< TileDigitsContainer > m_altContKey
Optional additional input dependency — used when we access the object produced on the side by the con...
Definition
TileDigitsDumper.h:63
TileDigitsDumper::m_prefix
Gaudi::Property< std::string > m_prefix
Output file name prefix.
Definition
TileDigitsDumper.h:67
TileDigitsDumper::execute
virtual StatusCode execute(const EventContext &ctx) const override
Algorithm event processing.
Definition
TileDigitsDumper.cxx:48
TileDigitsDumper::TileDigitsDumper
TileDigitsDumper(const std::string &name, ISvcLocator *svcloc)
Constructor.
Definition
TileDigitsDumper.cxx:25
TileDigitsDumper::initialize
virtual StatusCode initialize() override
Algorithm initialization; called at the beginning of the job.
Definition
TileDigitsDumper.cxx:34
TileDigitsDumper::m_contKey
SG::ReadHandleKey< TileDigitsContainer > m_contKey
Handle to access input tile digits.
Definition
TileDigitsDumper.h:58
TileFragHash::typeToString
static std::string typeToString(TYPE type)
Printable representation of a type.
Definition
TileFragHash.cxx:85
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