diff --git a/FWCore/FWCore/PodioDataSvc.h b/FWCore/FWCore/PodioDataSvc.h index 09194a30c404263f1b06f4457eafb02282a1e399..54d9bc830bc3bd228a526a9aca1b7ea871478347 100644 --- a/FWCore/FWCore/PodioDataSvc.h +++ b/FWCore/FWCore/PodioDataSvc.h @@ -37,7 +37,7 @@ public: using DataSvc::registerObject; /// Overriding standard behaviour of evt service /// Register object with the data store. - virtual StatusCode registerObject(const std::string& fullPath, DataObject* pObject) final; + virtual StatusCode registerObject(std::string_view parentPath, std::string_view fullPath, DataObject* pObject) override final; StatusCode readCollection(const std::string& collectionName, int collectionID); diff --git a/FWCore/src/PodioDataSvc.cpp b/FWCore/src/PodioDataSvc.cpp index ce7d3699d5b7cd7e09d59be617ab73222803ad6c..c2920e12f90f95a147d03d9480c5ab805881b88d 100644 --- a/FWCore/src/PodioDataSvc.cpp +++ b/FWCore/src/PodioDataSvc.cpp @@ -101,10 +101,10 @@ StatusCode PodioDataSvc::readCollection(const std::string& collName, int collect collection->setID(id); wrapper->setData(collection); m_readCollections.emplace_back(std::make_pair(collName, collection)); - return DataSvc::registerObject(collName, wrapper); + return DataSvc::registerObject("/Event", "/" + collName, wrapper); } -StatusCode PodioDataSvc::registerObject(const std::string& fullPath, DataObject* pObject) { +StatusCode PodioDataSvc::registerObject(std::string_view parentPath, std::string_view fullPath, DataObject* pObject) { DataWrapperBase* wrapper = dynamic_cast<DataWrapperBase*>(pObject); if (wrapper != nullptr) { podio::CollectionBase* coll = wrapper->collectionBase(); @@ -116,5 +116,5 @@ StatusCode PodioDataSvc::registerObject(const std::string& fullPath, DataObject* m_collections.emplace_back(std::make_pair(shortPath, coll)); } } - return DataSvc::registerObject(fullPath, pObject); + return DataSvc::registerObject(parentPath, fullPath, pObject); }