diff --git a/Hlt/HltServices/src/GitANNSvc.cpp b/Hlt/HltServices/src/GitANNSvc.cpp index a8d7d4b295a8591aa2f3dd821fa220770b4b3e2f..57dd0085625ba019e05d3ec444045fb8313c93e2 100644 --- a/Hlt/HltServices/src/GitANNSvc.cpp +++ b/Hlt/HltServices/src/GitANNSvc.cpp @@ -196,13 +196,19 @@ class GitANNSvc : public ANNSvcBase { error() << "wrong version" << endmsg; return {}; } - auto j = json->find( "CounterDefinition" ); + auto sz = json->find( "size" ); + if ( sz == json->end() ) { + error() << "no size" << endmsg; + return {}; + } + auto j = json->find( "counters" ); if ( j == json->end() ) { - error() << "no counterdef" << endmsg; + error() << "no counters" << endmsg; return {}; } lumi_schema_t m; - std::transform( j->begin(), j->end(), std::back_inserter( m ), + m.size = sz; + std::transform( j->begin(), j->end(), std::back_inserter( m.counters ), []( const nlohmann::json& k ) { return IIndexedLumiSchemaSvc::from_json( k ); } ); return m; } diff --git a/Kernel/HltInterfaces/include/Kernel/IIndexedLumiSchemaSvc.h b/Kernel/HltInterfaces/include/Kernel/IIndexedLumiSchemaSvc.h index 39100ffda1dd76c2ebaec1f340fd647ac08cf998..36df796eef1fd972d6b6271b66387dd4080dcbda 100644 --- a/Kernel/HltInterfaces/include/Kernel/IIndexedLumiSchemaSvc.h +++ b/Kernel/HltInterfaces/include/Kernel/IIndexedLumiSchemaSvc.h @@ -38,7 +38,10 @@ public: json["offset"].template get<unsigned>()}; } - using lumi_schema_t = std::vector<CounterDefinition>; + struct lumi_schema_t { + unsigned size; + std::vector<CounterDefinition> counters; + }; // given a bank of version `version`, and a key `key`, return which counters can be found where virtual lumi_schema_t const& lumiCounters( unsigned key, unsigned version ) const = 0;