From 30eed8110bc092caa99ec38006f3e3ca200efb73 Mon Sep 17 00:00:00 2001 From: Peter van Gemmeren <gemmeren@anl.gov> Date: Thu, 31 Aug 2017 14:13:30 -0500 Subject: [PATCH] Allow setting and printing of ROOT Domain attributes for Input. --- .../AthenaPoolTest/share/AthenaPoolTestRead.py | 12 ++++++------ .../AthenaPoolCnvSvc/python/ReadAthenaPool.py | 3 --- .../share/AthenaPoolCnvSvc_jobOptions.py | 7 +++++-- .../AthenaPoolCnvSvc/src/AthenaPoolCnvSvc.cxx | 18 +++++++++++++++--- .../AthenaPoolExample_ReadAgainJobOptions.py | 12 ++++++------ .../AthenaPoolExample_ReadBNJobOptions.py | 12 ++++++------ .../share/AthenaPoolExample_ReadJobOptions.py | 12 ++++++------ .../AthenaPoolExample_ReadNoBNJobOptions.py | 12 ++++++------ .../AthenaPoolExample_ReadTagJobOptions.py | 12 ++++++------ 9 files changed, 56 insertions(+), 44 deletions(-) diff --git a/AtlasTest/DatabaseTest/AthenaPoolTest/share/AthenaPoolTestRead.py b/AtlasTest/DatabaseTest/AthenaPoolTest/share/AthenaPoolTestRead.py index 393121976d82..30271ad226df 100755 --- a/AtlasTest/DatabaseTest/AthenaPoolTest/share/AthenaPoolTestRead.py +++ b/AtlasTest/DatabaseTest/AthenaPoolTest/share/AthenaPoolTestRead.py @@ -62,14 +62,14 @@ AthenaEventLoopMgr.OutputLevel = INFO # Turn on the tree cache for the CollectionTree - tree cache only # works for one tree. And set tree cache size - default is 10 MB (10 000 000) -svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "ContainerName = 'CollectionTree'; TREE_CACHE = '100000'" ] +svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "DatabaseName = '*'; ContainerName = 'CollectionTree'; TREE_CACHE = '100000'" ] # Set number of events for learning before turning on cache - default is 5 -svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "TREE_CACHE_LEARN_EVENTS = '6'" ] +svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "DatabaseName = '*'; TREE_CACHE_LEARN_EVENTS = '6'" ] # Print out values - must have PoolSvc in info mode svcMgr.PoolSvc.OutputLevel = INFO -svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "TREE_CACHE_LEARN_EVENTS = 'int'" ] -svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "TREE_CACHE_SIZE = 'int'" ] +svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "DatabaseName = '*'; TREE_CACHE_LEARN_EVENTS = 'int'" ] +svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "DatabaseName = '*'; TREE_CACHE_SIZE = 'int'" ] # Print out for each event the number of bytes read and the number of # read calls. With the tree cache, one should see jumps in the bytes @@ -78,8 +78,8 @@ svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "TREE_CACHE_SIZE = 'int'" ] # tree (CollectionTree) - and we read some things from other trees, so # one does see a small increase event-by-event. svcMgr.PoolSvc.OutputLevel = INFO -svcMgr.AthenaPoolCnvSvc.PrintInputAttrPerEvt += [ "BYTES_READ = 'double'" ] -svcMgr.AthenaPoolCnvSvc.PrintInputAttrPerEvt += [ "READ_CALLS = 'int'" ] +svcMgr.AthenaPoolCnvSvc.PrintInputAttrPerEvt += [ "DatabaseName = '*'; BYTES_READ = 'double'" ] +svcMgr.AthenaPoolCnvSvc.PrintInputAttrPerEvt += [ "DatabaseName = '*'; READ_CALLS = 'int'" ] # No stats printout diff --git a/Database/AthenaPOOL/AthenaPoolCnvSvc/python/ReadAthenaPool.py b/Database/AthenaPOOL/AthenaPoolCnvSvc/python/ReadAthenaPool.py index 626833bb6851..ace75aa84406 100644 --- a/Database/AthenaPOOL/AthenaPoolCnvSvc/python/ReadAthenaPool.py +++ b/Database/AthenaPOOL/AthenaPoolCnvSvc/python/ReadAthenaPool.py @@ -32,9 +32,6 @@ def _configureReadAthenaPool(): # Load the basic services import AthenaPoolCnvSvc.AthenaPool - # Switch off TTreeCache for POOLContainerForm (most of the time only first entry is needed - #svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "ContainerName = 'POOLContainerForm'; TREE_CACHE = '0'" ] - # Load ProxyProviderSvc if not hasattr (svcMgr, 'ProxyProviderSvc'): svcMgr += CfgMgr.ProxyProviderSvc() diff --git a/Database/AthenaPOOL/AthenaPoolCnvSvc/share/AthenaPoolCnvSvc_jobOptions.py b/Database/AthenaPOOL/AthenaPoolCnvSvc/share/AthenaPoolCnvSvc_jobOptions.py index d9359998088e..97760027cdbe 100644 --- a/Database/AthenaPOOL/AthenaPoolCnvSvc/share/AthenaPoolCnvSvc_jobOptions.py +++ b/Database/AthenaPOOL/AthenaPoolCnvSvc/share/AthenaPoolCnvSvc_jobOptions.py @@ -52,11 +52,14 @@ svcMgr.AthenaPoolCnvSvc.PoolAttributes += [ "DatabaseName = '<fileName>'; <attri # Set Container Attribute svcMgr.AthenaPoolCnvSvc.PoolAttributes += [ "DatabaseName = '<fileName>'; ContainerName = '<type>/<key>'; <attributeName> = '<value>'" ] -# Set Input Database Attribute - set attribute for each incoming file/db +# Set Input Database Attribute - set attribute for domain svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "<attributeName> = '<value>'" ] +# Set Input Database Attribute - set attribute for each incoming file/db +svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "DatabaseName = '*'; <attributeName> = '<value>'" ] + # Set Input Database Attribute - set attribute for each incoming file/db for a particular container/tree -svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "ContainerName = '<treeName>'; <attributeName> = '<value>'" ] +svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "DatabaseName = '*'; ContainerName = '<treeName>'; <attributeName> = '<value>'" ] # To get an Attribute value printed to the log while commit, use the same syntax as for # setting attributes, but replace the <value> with its <dataType> (int, DbLonglong, double). diff --git a/Database/AthenaPOOL/AthenaPoolCnvSvc/src/AthenaPoolCnvSvc.cxx b/Database/AthenaPOOL/AthenaPoolCnvSvc/src/AthenaPoolCnvSvc.cxx index 1f34429dc872..4b5aa892eb82 100644 --- a/Database/AthenaPOOL/AthenaPoolCnvSvc/src/AthenaPoolCnvSvc.cxx +++ b/Database/AthenaPOOL/AthenaPoolCnvSvc/src/AthenaPoolCnvSvc.cxx @@ -110,9 +110,9 @@ StatusCode AthenaPoolCnvSvc::initialize() { // Extracting OUTPUT POOL ItechnologySpecificAttributes for Domain, Database and Container. extractPoolAttributes(m_poolAttr, &m_containerAttr, &m_databaseAttr, &m_domainAttr); // Extracting INPUT POOL ItechnologySpecificAttributes for Domain, Database and Container. - extractPoolAttributes(m_inputPoolAttr, &m_inputAttr, &m_inputAttr); + extractPoolAttributes(m_inputPoolAttr, &m_inputAttr, &m_inputAttr, &m_inputAttr); // Extracting the INPUT POOL ItechnologySpecificAttributes which are to be printed for each event - extractPoolAttributes(m_inputPoolAttrPerEvent, &m_inputAttrPerEvent, &m_inputAttrPerEvent); + extractPoolAttributes(m_inputPoolAttrPerEvent, &m_inputAttrPerEvent, &m_inputAttrPerEvent, &m_inputAttrPerEvent); if (!m_inputPoolAttrPerEvent.value().empty()) { // Setup incident for EndEvent to print out attributes each event ServiceHandle<IIncidentSvc> incSvc("IncidentSvc", name()); @@ -121,6 +121,12 @@ StatusCode AthenaPoolCnvSvc::initialize() { incSvc->addListener(this, "EndEvent", pri); ATH_MSG_DEBUG("Subscribed to EndEvent for printing out input file attributes."); } + pool::DbType dbType = m_dbType; + m_dbType = pool::DbType(pool::ROOTTREE_StorageType); + if (!processPoolAttributes(m_inputAttr, "", IPoolSvc::kInputStream, false, true, true).isSuccess()) { + ATH_MSG_DEBUG("setInputAttribute failed setting POOL domain attributes."); + } + m_dbType = dbType; m_doChronoStat = m_skipFirstChronoCommit.value() ? false : true; return(StatusCode::SUCCESS); } @@ -859,12 +865,15 @@ StatusCode AthenaPoolCnvSvc::cleanUp() { StatusCode AthenaPoolCnvSvc::setInputAttributes(const std::string& fileName) { // Set attributes for input file m_lastFileName = fileName; // Save file name for printing attributes per event + pool::DbType dbType = m_dbType; + m_dbType = pool::DbType(pool::ROOTTREE_StorageType); if (!processPoolAttributes(m_inputAttr, m_lastFileName, IPoolSvc::kInputStream, false, true, false).isSuccess()) { ATH_MSG_DEBUG("setInputAttribute failed setting POOL database/container attributes."); } if (!processPoolAttributes(m_inputAttr, m_lastFileName, IPoolSvc::kInputStream, true, false).isSuccess()) { ATH_MSG_DEBUG("setInputAttribute failed getting POOL database/container attributes."); } + m_dbType = dbType; return(StatusCode::SUCCESS); } //______________________________________________________________________________ @@ -993,9 +1002,12 @@ StatusCode AthenaPoolCnvSvc::readData() const { //______________________________________________________________________________ void AthenaPoolCnvSvc::handle(const Incident& incident) { if (incident.type() == "EndEvent") { + pool::DbType dbType = m_dbType; + m_dbType = pool::DbType(pool::ROOTTREE_StorageType); if (!processPoolAttributes(m_inputAttrPerEvent, m_lastFileName, IPoolSvc::kInputStream).isSuccess()) { ATH_MSG_DEBUG("handle EndEvent failed process POOL database attributes."); } + m_dbType = dbType; } } //______________________________________________________________________________ @@ -1144,7 +1156,7 @@ StatusCode AthenaPoolCnvSvc::processPoolAttributes(std::vector<std::vector<std:: std::string data = (*iter)[1]; const std::string& file = (*iter)[2]; const std::string& cont = (*iter)[3]; - if ((file == fileName || (file.substr(0, 1) == "*" + if (!fileName.empty() && (file == fileName || (file.substr(0, 1) == "*" && file.find("," + fileName + ",") == std::string::npos))) { if (data == "int" || data == "DbLonglong" || data == "double" || data == "string") { if (doGet) { diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadAgainJobOptions.py b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadAgainJobOptions.py index b7e11d36d348..42872a68c4b5 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadAgainJobOptions.py +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadAgainJobOptions.py @@ -52,13 +52,13 @@ svcMgr.EventSelector.SkipEventSequence = [ 9, 10 ]; # // skip two more events #Switch Off for TAG - start # Turn on the tree cache for the CollectionTree - tree cache only works for one tree. # Set number of events for learning before turning on cache - default is 5 -svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "TREE_CACHE_LEARN_EVENTS = '6'" ] +svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "DatabaseName = '*'; TREE_CACHE_LEARN_EVENTS = '6'" ] # And set tree cache size - default is 10 MB (10 000 000) -svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "ContainerName = 'CollectionTree'; TREE_CACHE = '100000'" ] +svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "DatabaseName = '*'; ContainerName = 'CollectionTree'; TREE_CACHE = '100000'" ] # Print out values - must have PoolSvc in info mode -svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "TREE_CACHE_LEARN_EVENTS = 'int'" ] -svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "TREE_CACHE_SIZE = 'int'" ] +svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "DatabaseName = '*'; TREE_CACHE_LEARN_EVENTS = 'int'" ] +svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "DatabaseName = '*'; TREE_CACHE_SIZE = 'int'" ] # Print out for each event the number of bytes read and the number of # read calls. With the tree cache, one should see jumps in the bytes @@ -66,8 +66,8 @@ svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "TREE_CACHE_SIZE = 'int'" ] # event. However, the cache only works on one tree - the main event # tree (CollectionTree) - and we read some things from other trees, so # one does see a small increase event-by-event. -svcMgr.AthenaPoolCnvSvc.PrintInputAttrPerEvt += [ "BYTES_READ = 'double'" ] -svcMgr.AthenaPoolCnvSvc.PrintInputAttrPerEvt += [ "READ_CALLS = 'int'" ] +svcMgr.AthenaPoolCnvSvc.PrintInputAttrPerEvt += [ "DatabaseName = '*'; BYTES_READ = 'double'" ] +svcMgr.AthenaPoolCnvSvc.PrintInputAttrPerEvt += [ "DatabaseName = '*'; READ_CALLS = 'int'" ] #Switch Off for TAG - end from AthenaPoolExampleAlgorithms.AthenaPoolExampleAlgorithmsConf import AthPoolEx__QueryTag diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadBNJobOptions.py b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadBNJobOptions.py index dbecbb178c45..a7c10fc6827d 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadBNJobOptions.py +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadBNJobOptions.py @@ -51,13 +51,13 @@ svcMgr.EventSelector.SkipEventSequence = [ 9, 10 ]; # // skip two more events #Switch Off for TAG - start # Turn on the tree cache for the CollectionTree - tree cache only works for one tree. # Set number of events for learning before turning on cache - default is 5 -svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "TREE_CACHE_LEARN_EVENTS = '6'" ] +svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "DatabaseName = '*'; TREE_CACHE_LEARN_EVENTS = '6'" ] # And set tree cache size - default is 10 MB (10 000 000) -svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "ContainerName = 'CollectionTree'; TREE_CACHE = '100000'" ] +svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "DatabaseName = '*'; ContainerName = 'CollectionTree'; TREE_CACHE = '100000'" ] # Print out values - must have PoolSvc in info mode -svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "TREE_CACHE_LEARN_EVENTS = 'int'" ] -svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "TREE_CACHE_SIZE = 'int'" ] +svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "DatabaseName = '*'; TREE_CACHE_LEARN_EVENTS = 'int'" ] +svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "DatabaseName = '*'; TREE_CACHE_SIZE = 'int'" ] # Print out for each event the number of bytes read and the number of # read calls. With the tree cache, one should see jumps in the bytes @@ -65,8 +65,8 @@ svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "TREE_CACHE_SIZE = 'int'" ] # event. However, the cache only works on one tree - the main event # tree (CollectionTree) - and we read some things from other trees, so # one does see a small increase event-by-event. -svcMgr.AthenaPoolCnvSvc.PrintInputAttrPerEvt += [ "BYTES_READ = 'double'" ] -svcMgr.AthenaPoolCnvSvc.PrintInputAttrPerEvt += [ "READ_CALLS = 'int'" ] +svcMgr.AthenaPoolCnvSvc.PrintInputAttrPerEvt += [ "DatabaseName = '*'; BYTES_READ = 'double'" ] +svcMgr.AthenaPoolCnvSvc.PrintInputAttrPerEvt += [ "DatabaseName = '*'; READ_CALLS = 'int'" ] #Switch Off for TAG - end from AthenaPoolExampleAlgorithms.AthenaPoolExampleAlgorithmsConf import AthPoolEx__QueryTag diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadJobOptions.py b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadJobOptions.py index 59e181dacca5..70a31a1fc6ef 100755 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadJobOptions.py +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadJobOptions.py @@ -52,13 +52,13 @@ svcMgr.EventSelector.SkipEventSequence = [ 9, 10 ]; # // skip two more events #Switch Off for TAG - start # Turn on the tree cache for the CollectionTree - tree cache only works for one tree. # Set number of events for learning before turning on cache - default is 5 -svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "TREE_CACHE_LEARN_EVENTS = '6'" ] +svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "DatabaseName = '*'; TREE_CACHE_LEARN_EVENTS = '6'" ] # And set tree cache size - default is 10 MB (10 000 000) -svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "ContainerName = 'CollectionTree'; TREE_CACHE = '100000'" ] +svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "DatabaseName = '*'; ContainerName = 'CollectionTree'; TREE_CACHE = '100000'" ] # Print out values - must have PoolSvc in info mode -svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "TREE_CACHE_LEARN_EVENTS = 'int'" ] -svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "TREE_CACHE_SIZE = 'int'" ] +svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "DatabaseName = '*'; TREE_CACHE_LEARN_EVENTS = 'int'" ] +svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "DatabaseName = '*'; TREE_CACHE_SIZE = 'int'" ] # Print out for each event the number of bytes read and the number of # read calls. With the tree cache, one should see jumps in the bytes @@ -66,8 +66,8 @@ svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "TREE_CACHE_SIZE = 'int'" ] # event. However, the cache only works on one tree - the main event # tree (CollectionTree) - and we read some things from other trees, so # one does see a small increase event-by-event. -svcMgr.AthenaPoolCnvSvc.PrintInputAttrPerEvt += [ "BYTES_READ = 'double'" ] -svcMgr.AthenaPoolCnvSvc.PrintInputAttrPerEvt += [ "READ_CALLS = 'int'" ] +svcMgr.AthenaPoolCnvSvc.PrintInputAttrPerEvt += [ "DatabaseName = '*'; BYTES_READ = 'double'" ] +svcMgr.AthenaPoolCnvSvc.PrintInputAttrPerEvt += [ "DatabaseName = '*'; READ_CALLS = 'int'" ] #Switch Off for TAG - end from AthenaPoolExampleAlgorithms.AthenaPoolExampleAlgorithmsConf import AthPoolEx__QueryTag diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadNoBNJobOptions.py b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadNoBNJobOptions.py index b6a35e242895..a0ce83296593 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadNoBNJobOptions.py +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadNoBNJobOptions.py @@ -51,13 +51,13 @@ svcMgr.EventSelector.SkipEventSequence = [ 9, 10 ]; # // skip two more events #Switch Off for TAG - start # Turn on the tree cache for the CollectionTree - tree cache only works for one tree. # Set number of events for learning before turning on cache - default is 5 -svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "TREE_CACHE_LEARN_EVENTS = '6'" ] +svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "DatabaseName = '*'; TREE_CACHE_LEARN_EVENTS = '6'" ] # And set tree cache size - default is 10 MB (10 000 000) -svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "ContainerName = 'CollectionTree'; TREE_CACHE = '100000'" ] +svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "DatabaseName = '*'; ContainerName = 'CollectionTree'; TREE_CACHE = '100000'" ] # Print out values - must have PoolSvc in info mode -svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "TREE_CACHE_LEARN_EVENTS = 'int'" ] -svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "TREE_CACHE_SIZE = 'int'" ] +svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "DatabaseName = '*'; TREE_CACHE_LEARN_EVENTS = 'int'" ] +svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "DatabaseName = '*'; TREE_CACHE_SIZE = 'int'" ] # Print out for each event the number of bytes read and the number of # read calls. With the tree cache, one should see jumps in the bytes @@ -65,8 +65,8 @@ svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "TREE_CACHE_SIZE = 'int'" ] # event. However, the cache only works on one tree - the main event # tree (CollectionTree) - and we read some things from other trees, so # one does see a small increase event-by-event. -svcMgr.AthenaPoolCnvSvc.PrintInputAttrPerEvt += [ "BYTES_READ = 'double'" ] -svcMgr.AthenaPoolCnvSvc.PrintInputAttrPerEvt += [ "READ_CALLS = 'int'" ] +svcMgr.AthenaPoolCnvSvc.PrintInputAttrPerEvt += [ "DatabaseName = '*'; BYTES_READ = 'double'" ] +svcMgr.AthenaPoolCnvSvc.PrintInputAttrPerEvt += [ "DatabaseName = '*'; READ_CALLS = 'int'" ] #Switch Off for TAG - end from AthenaPoolExampleAlgorithms.AthenaPoolExampleAlgorithmsConf import AthPoolEx__QueryTag diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadTagJobOptions.py b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadTagJobOptions.py index bcda1824c63a..41252ccc23c5 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadTagJobOptions.py +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadTagJobOptions.py @@ -51,13 +51,13 @@ svcMgr.EventSelector.CollectionType = "ExplicitROOT" """ # Turn on the tree cache for the CollectionTree - tree cache only works for one tree. # Set number of events for learning before turning on cache - default is 5 -svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "TREE_CACHE_LEARN_EVENTS = '6'" ] +svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "DatabaseName = '*'; TREE_CACHE_LEARN_EVENTS = '6'" ] # And set tree cache size - default is 10 MB (10 000 000) -svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "ContainerName = 'CollectionTree'; TREE_CACHE = '100000'" ] +svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "DatabaseName = '*'; ContainerName = 'CollectionTree'; TREE_CACHE = '100000'" ] # Print out values - must have PoolSvc in info mode -svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "TREE_CACHE_LEARN_EVENTS = 'int'" ] -svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "TREE_CACHE_SIZE = 'int'" ] +svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "DatabaseName = '*'; TREE_CACHE_LEARN_EVENTS = 'int'" ] +svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "DatabaseName = '*'; TREE_CACHE_SIZE = 'int'" ] # Print out for each event the number of bytes read and the number of # read calls. With the tree cache, one should see jumps in the bytes @@ -65,8 +65,8 @@ svcMgr.AthenaPoolCnvSvc.InputPoolAttributes += [ "TREE_CACHE_SIZE = 'int'" ] # event. However, the cache only works on one tree - the main event # tree (CollectionTree) - and we read some things from other trees, so # one does see a small increase event-by-event. -svcMgr.AthenaPoolCnvSvc.PrintInputAttrPerEvt += [ "BYTES_READ = 'double'" ] -svcMgr.AthenaPoolCnvSvc.PrintInputAttrPerEvt += [ "READ_CALLS = 'int'" ] +svcMgr.AthenaPoolCnvSvc.PrintInputAttrPerEvt += [ "DatabaseName = '*'; BYTES_READ = 'double'" ] +svcMgr.AthenaPoolCnvSvc.PrintInputAttrPerEvt += [ "DatabaseName = '*'; READ_CALLS = 'int'" ] """ from AthenaPoolExampleAlgorithms.AthenaPoolExampleAlgorithmsConf import AthPoolEx__QueryTag -- GitLab