Helper for collecting data for analysis tracking.
More...
#include <AnalysisTrackingHelper.h>
Helper for collecting data for analysis tracking.
Definition at line 20 of file AnalysisTrackingHelper.h.
◆ AnalysisTrackingHelper()
top::AnalysisTrackingHelper::AnalysisTrackingHelper |
( |
| ) |
|
◆ ~AnalysisTrackingHelper()
top::AnalysisTrackingHelper::~AnalysisTrackingHelper |
( |
| ) |
|
◆ addInputFile()
void top::AnalysisTrackingHelper::addInputFile |
( |
std::string const & |
path, |
|
|
unsigned long long |
entriesProcessed |
|
) |
| |
Notify helper that an input file was processed.
- Parameters
-
path | Path to the input file. |
entriesProcessed | Number of entries that were processed. |
Definition at line 67 of file AnalysisTrackingHelper.cxx.
72 } BOOST_SCOPE_EXIT_END
◆ finish()
void top::AnalysisTrackingHelper::finish |
( |
| ) |
|
|
private |
Definition at line 91 of file AnalysisTrackingHelper.cxx.
92 std::ostringstream
out;
94 std::string
const json_null(
"null");
100 char const*
sep =
"\n ";
101 for (
auto&& kv :
config.stringData()) {
102 if (!kv.second.m_set)
continue;
111 char const*
sep =
"\n ";
112 auto dumpEnvVar = [&](
char const*
name) {
118 dumpEnvVar(
"AnalysisBase_DIR");
119 dumpEnvVar(
"AnalysisBase_VERSION");
120 dumpEnvVar(
"AnalysisBaseExternals_DIR");
121 dumpEnvVar(
"AnalysisBaseExternals_VERSION");
122 dumpEnvVar(
"AnalysisTop_DIR");
123 dumpEnvVar(
"AnalysisTop_VERSION");
124 dumpEnvVar(
"AtlasVersion");
125 dumpEnvVar(
"HOSTNAME");
126 dumpEnvVar(
"PanDA_TaskID");
127 dumpEnvVar(
"PandaID");
143 std::map<std::string, std::set<std::string> >
libs;
147 std::ifstream
stream(
"/proc/self/maps", std::ios_base::in | std::ios_base::binary);
149 if (boost::regex_match(
line.c_str(),
m, reLine)) {
150 std::string
const&
path =
m[1];
151 size_t i =
path.rfind(
'/');
152 assert(
i != std::string::npos);
155 std::string dirpath =
path.substr(0, (
i ?
i : 1));
169 char const* sep1 =
"\n ";
170 for (
auto&& lib :
libs) {
173 char const* sep2 =
"\n ";
174 for (
auto&&
basename : lib.second) {
186 char const*
sep =
"\n ";
198 out <<
" " <<
json_dump(
"readEntriesByContainer") <<
": {";
199 char const*
sep =
"\n ";
200 for (
auto&& kv : readStats.containers()) {
202 if (std::string(bs.GetName()).ends_with(
"TDS") || std::string(bs.GetName()).ends_with(
"Aux."))
continue;
211 out <<
" " <<
json_dump(
"readEntriesByBranch") <<
": {";
212 char const*
sep =
"\n ";
213 for (
auto&& kv : readStats.branches()) {
228 PropertyValueJsonDumper json_dump_prop;
229 char const* toolsep =
"\n ";
230 for (std::string
const&
toolname : listToolStore()) {
231 auto&&
tool = asg::ToolStore::get<asg::AsgTool>(
toolname);
232 if (
tool ==
nullptr)
continue;
233 if (
tool->name().starts_with(
"top::"))
continue;
235 auto&& props = *
tool->getPropertyMgr();
236 char const* propsep =
"\n ";
237 for (
auto&& prop : props.getProperties()) {
238 if (!prop.second->isValid())
continue;
239 auto&& jvalue = json_dump_prop(prop.second);
240 if (jvalue == std::nullopt)
continue;
241 out << propsep <<
json_dump(prop.first) <<
": " << *jvalue;
◆ setTopConfig()
void top::AnalysisTrackingHelper::setTopConfig |
( |
std::shared_ptr< TopConfig > const & |
topConfig | ) |
|
◆ writeTree()
void top::AnalysisTrackingHelper::writeTree |
( |
std::string const & |
treename | ) |
|
Store tracking data in current TFile.
- Parameters
-
treename | Name of the TTree used to store the data. |
Definition at line 81 of file AnalysisTrackingHelper.cxx.
83 TTree*
t =
new TTree(
treename.c_str(),
"");
86 t->Branch(
"jsonData", &
m_json, 262144);
◆ m_finished
bool top::AnalysisTrackingHelper::m_finished |
|
private |
◆ m_inputFiles
std::vector<InputFileInfo> top::AnalysisTrackingHelper::m_inputFiles |
|
private |
◆ m_json
std::string top::AnalysisTrackingHelper::m_json |
|
private |
◆ m_topConfig
std::shared_ptr<TopConfig> top::AnalysisTrackingHelper::m_topConfig |
|
private |
The documentation for this class was generated from the following files: