13 struct CollectionDebugInfo {
14 std::string_view
name;
18 bool cmpCollections(
const CollectionDebugInfo&
a,
const CollectionDebugInfo&
b) {
19 return a.size >
b.size;
28 return StatusCode::SUCCESS;
34 ATH_MSG_DEBUG(
"Retrieved container with size: " << truncationInfo->size());
41 const size_t nInfos = truncationInfo->size();
44 std::ostringstream
ss;
45 ss << std::endl <<
"================================================================================" << std::endl;
48 ss <<
"Info number " <<
counter <<
" / " << nInfos << std::endl;
49 ss <<
"Module ID: " << moduleId(*
info) << std::endl;
50 ss <<
"Total size: " <<
totalSize(*
info)/1024. <<
" kB" << std::endl << std::endl;
52 ss <<
"Passing Chains IDs (look these IDs up in a menu JSON): ";
54 ss << chainID <<
", ";
56 ss << std::endl << std::endl;
59 std::vector<CollectionDebugInfo> collections;
60 for (
size_t i=0;
i<typeNameVec(*info).size(); ++
i) {
61 collections.push_back({typeNameVec(*info).at(
i),
63 static_cast<bool>(isRecordedVec(*info).at(
i))});
65 std::sort(collections.begin(), collections.end(), cmpCollections);
68 ss <<
"Found " << collections.size() <<
" collections in this module" << std::endl;
69 ss <<
"--------------------------------------------------------------------------------" << std::endl;
70 ss <<
"| Size [kB] | Recorded? | Name |" << std::endl;
71 for (
const CollectionDebugInfo& coll : collections) {
72 ss <<
"| " << std::setw(9) << std::setprecision(2) << std::fixed << coll.size/1024.;
73 ss << (coll.isRecorded ?
" | Y | " :
" | N | ");
74 ss << coll.name <<
" |" << std::endl;
76 ss <<
"--------------------------------------------------------------------------------" << std::endl;
77 ss <<
"================================================================================" << std::endl;
81 return StatusCode::SUCCESS;