diff --git a/Database/AthenaPOOL/OutputStreamAthenaPool/python/MultipleStreamManager.py b/Database/AthenaPOOL/OutputStreamAthenaPool/python/MultipleStreamManager.py index ff3e14638cab80370cce40604f354910b403e5e6..822bf33fc0ac0611ed36a7ce226de32606eff383 100644 --- a/Database/AthenaPOOL/OutputStreamAthenaPool/python/MultipleStreamManager.py +++ b/Database/AthenaPOOL/OutputStreamAthenaPool/python/MultipleStreamManager.py @@ -564,14 +564,10 @@ class MultipleStreamManager: theApp.CreateSvc += [ "xAODMaker::EventFormatSvc" ] theStream.AddMetaDataItem("xAOD::EventFormat#EventFormat") theStream.Stream.WritingTool.SubLevelBranchName = "<key>" - svcMgr.AthenaPoolCnvSvc.PoolAttributes += [ "DatabaseName = '" + FileName + "';" - "COMPRESSION_LEVEL = '5'" ] - svcMgr.AthenaPoolCnvSvc.PoolAttributes += [ "DatabaseName = '" + FileName + "';" - "ContainerName = 'TTree=CollectionTree';" - "TREE_AUTO_FLUSH = '-10000000'" ] - svcMgr.AthenaPoolCnvSvc.PoolAttributes += [ "DatabaseName = '" + FileName + "';" - "ContainerName = 'TTree=CollectionTree';" - "CONTAINER_SPLITLEVEL = '1'" ] + svcMgr.AthenaPoolCnvSvc.PoolAttributes += [ "DatabaseName = '" + FileName + "'; COMPRESSION_LEVEL = '5'" ] + svcMgr.AthenaPoolCnvSvc.PoolAttributes += [ "DatabaseName = '" + FileName + "'; ContainerName = 'TTree=CollectionTree'; TREE_AUTO_FLUSH = '-10000000'" ] + svcMgr.AthenaPoolCnvSvc.PoolAttributes += [ "DatabaseName = '" + FileName + "'; ContainerName = 'TTree=CollectionTree'; CONTAINER_SPLITLEVEL = '1'" ] + svcMgr.AthenaPoolCnvSvc.PoolAttributes += [ "DatabaseName = '" + FileName + "'; ContainerName = 'TTree=Aux.'; CONTAINER_SPLITLEVEL = '1'"] return theStream diff --git a/Database/AthenaPOOL/OutputStreamAthenaPool/src/AthenaPoolOutputStreamTool.cxx b/Database/AthenaPOOL/OutputStreamAthenaPool/src/AthenaPoolOutputStreamTool.cxx index e3758c58279cc1d662f694e9cdeeaa84c6e55fa2..03c71286a57a25fe25f135d4748b0a6070634d5e 100644 --- a/Database/AthenaPOOL/OutputStreamAthenaPool/src/AthenaPoolOutputStreamTool.cxx +++ b/Database/AthenaPOOL/OutputStreamAthenaPool/src/AthenaPoolOutputStreamTool.cxx @@ -486,8 +486,16 @@ StatusCode AthenaPoolOutputStreamTool::getInputItemList(SG::IFolder* m_p2BWritte it != itLast; ++it) { // Only insert the primary clid, not the ones for the symlinks! CLID clid = it->getPrimaryClassID(); + std::string typeName; if (clid != ClassID_traits<DataHeader>::ID()) { - ATH_MSG_DEBUG("Adding " << clid << "#" << it->getKey() << " to itemlist"); + //check the typename is known ... we make an exception if the key contains 'Aux.' ... aux containers may not have their keys known yet in some cases + //see https://its.cern.ch/jira/browse/ATLASG-59 for the solution + std::string typeName; + if( m_clidSvc->getTypeNameOfID(clid,typeName).isFailure() && it->getKey().find("Aux.") == std::string::npos) { + ATH_MSG_WARNING("Skipping " << it->getKey() << " with unknown clid " << clid ); + continue; + } + ATH_MSG_DEBUG("Adding " << typeName << "#" << it->getKey() << " (clid " << clid << ") to itemlist"); const std::string keyName = it->getKey(); if (keyName.size() > 10 && keyName.substr(0, 10) == hltKey) { m_p2BWrittenFromTool->add(clid, hltKey + "*").ignore();