From 285e0d271d1253273efc54294b35123a0936ae28 Mon Sep 17 00:00:00 2001
From: Scott Snyder <scott.snyder@cern.ch>
Date: Sat, 24 Dec 2016 04:26:47 +0100
Subject: [PATCH] 'varhandle fixes.  gaudi v28 updates.'
 (AthenaPoolMultiTest-00-02-42)

	* Tagging AthenaPoolMultiTest-00-02-42.
	* varhandle fixes.  gaudi v28 updates.

2016-12-21  Charles Leggett
	* remove unneeded and deprecated PropertyMgr.h include
	* tag AthenaPoolMultiTest-00-02-41

M       src/EventSplit.cxx
M       src/TagEventTagWriter.cxx

2016-12-20  scott snyder  <snyder@bnl.gov>

	* Tagging AthenaPoolMultiTest-00-02-40.
	* Update reference files for DecisionSvc changes.

2016-12-20  scott snyder  <snyder@bnl.gov>

	* Tagging AthenaPoolMultiTest-00-02-39.
	* Tag previous changes in trunk.
...
(Long ChangeLog diff - truncated)
---
 .../AthenaPoolMultiTest/CMakeLists.txt        |  46 +++-
 .../AthenaPoolMultiTest/cmt/requirements      |   1 +
 .../AthenaPoolMultiTestBSMetaWrite.ref        |  13 +-
 .../AthenaPoolMultiTestBSMetaWriteNone.ref    |  17 +-
 .../AthenaPoolMultiTestBuildInput.ref         |  25 +-
 .../AthenaPoolMultiTestCheckEDM.ref           |   0
 .../AthenaPoolMultiTestCheckEDM2.ref          |   0
 .../share/AthenaPoolMultiTestCheckNull.ref    |  45 ++++
 .../AthenaPoolMultiTestCheckOutput.ref        |  23 ++
 .../share/AthenaPoolMultiTestCollectInput.ref |  46 ++++
 .../AthenaPoolMultiTestCollectSplit.ref       |   0
 .../AthenaPoolMultiTestCount1.ref             |   0
 .../AthenaPoolMultiTestCount2.ref             |   0
 .../AthenaPoolMultiTestCount3.ref             |   0
 .../AthenaPoolMultiTestEventSplit.ref         | 248 ++----------------
 .../AthenaPoolMultiTest/share/BSMetaWrite.py  |   4 +
 .../share/BSMetaWriteNone.py                  |   4 +
 .../AthenaPoolMultiTest/src/AddTrigMap.cxx    |  72 ++---
 .../AthenaPoolMultiTest/src/AddTrigMap.h      |  13 +-
 .../src/DummyLumirangeTool.cxx                |  26 +-
 .../src/DummyLumirangeTool.h                  |   5 +
 .../AthenaPoolMultiTest/src/EventSplit.cxx    |  79 ++----
 .../AthenaPoolMultiTest/src/EventSplit.h      |   7 +-
 .../src/EventTagReader.cxx                    |  38 +--
 .../AthenaPoolMultiTest/src/EventTagReader.h  |   6 -
 .../src/EventTagWriter.cxx                    | 201 +++++---------
 .../AthenaPoolMultiTest/src/EventTagWriter.h  |   5 -
 .../src/RunEventMetaWriter.cxx                |  66 ++---
 .../src/RunEventTagWriter.cxx                 | 151 ++++-------
 .../src/RunEventTagWriter.h                   |  10 +-
 .../AthenaPoolMultiTest/src/StoreDump.cxx     |  20 +-
 .../src/TagEventTagWriter.cxx                 | 192 +++++---------
 .../src/TagEventTagWriter.h                   |   4 -
 .../src/UserMetadataExample.cxx               |  73 ------
 .../src/UserMetadataExample.h                 |  40 ---
 .../src/UserMetadataRestoreExample.cxx        | 123 ---------
 .../src/UserMetadataRestoreExample.h          |  43 ---
 .../AthenaPoolMultiTest_entries.cxx           |   6 -
 .../test/AthenaPoolMultiTestCheckNull.ref     |  62 -----
 .../test/AthenaPoolMultiTestCollectInput.ref  |  40 ---
 .../test/athenapoolmultitest_test.sh.in       |   8 +
 .../AthenaPoolMultiTest/test/post_check_bi.sh | 107 ++++----
 .../AthenaPoolMultiTest/test/post_check_bs.sh |   5 +-
 .../AthenaPoolMultiTest/test/post_check_ci.sh |   6 +-
 .../AthenaPoolMultiTest/test/post_check_cn.sh |   5 +-
 .../AthenaPoolMultiTest/test/post_check_co.sh |   5 +-
 .../AthenaPoolMultiTest/test/post_check_ec.sh |   5 +-
 .../test/post_check_ec2.sh                    |   5 +-
 .../test/post_check_eco.sh                    |   5 +-
 .../AthenaPoolMultiTest/test/post_check_es.sh |   5 +-
 50 files changed, 631 insertions(+), 1279 deletions(-)
 rename AtlasTest/DatabaseTest/AthenaPoolMultiTest/{test => share}/AthenaPoolMultiTestBSMetaWrite.ref (74%)
 rename AtlasTest/DatabaseTest/AthenaPoolMultiTest/{test => share}/AthenaPoolMultiTestBSMetaWriteNone.ref (70%)
 rename AtlasTest/DatabaseTest/AthenaPoolMultiTest/{test => share}/AthenaPoolMultiTestBuildInput.ref (83%)
 rename AtlasTest/DatabaseTest/AthenaPoolMultiTest/{test => share}/AthenaPoolMultiTestCheckEDM.ref (100%)
 rename AtlasTest/DatabaseTest/AthenaPoolMultiTest/{test => share}/AthenaPoolMultiTestCheckEDM2.ref (100%)
 create mode 100644 AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCheckNull.ref
 rename AtlasTest/DatabaseTest/AthenaPoolMultiTest/{test => share}/AthenaPoolMultiTestCheckOutput.ref (95%)
 create mode 100755 AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCollectInput.ref
 rename AtlasTest/DatabaseTest/AthenaPoolMultiTest/{test => share}/AthenaPoolMultiTestCollectSplit.ref (100%)
 rename AtlasTest/DatabaseTest/AthenaPoolMultiTest/{test => share}/AthenaPoolMultiTestCount1.ref (100%)
 rename AtlasTest/DatabaseTest/AthenaPoolMultiTest/{test => share}/AthenaPoolMultiTestCount2.ref (100%)
 rename AtlasTest/DatabaseTest/AthenaPoolMultiTest/{test => share}/AthenaPoolMultiTestCount3.ref (100%)
 rename AtlasTest/DatabaseTest/AthenaPoolMultiTest/{test => share}/AthenaPoolMultiTestEventSplit.ref (71%)
 delete mode 100644 AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/UserMetadataExample.cxx
 delete mode 100644 AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/UserMetadataExample.h
 delete mode 100644 AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/UserMetadataRestoreExample.cxx
 delete mode 100644 AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/UserMetadataRestoreExample.h
 delete mode 100644 AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/AthenaPoolMultiTestCheckNull.ref
 delete mode 100755 AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/AthenaPoolMultiTestCollectInput.ref
 create mode 100755 AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/athenapoolmultitest_test.sh.in

diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/CMakeLists.txt b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/CMakeLists.txt
index 12568e3780e..92d78ea4344 100644
--- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/CMakeLists.txt
+++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/CMakeLists.txt
@@ -22,6 +22,7 @@ atlas_depends_on_subdirs( PUBLIC
                           Database/APR/StorageSvc
                           Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleData
                           Database/AthenaPOOL/AthenaPoolUtilities
+                          Database/PersistentDataModel
                           Database/AthenaPOOL/DBDataModel
                           Event/ByteStreamCnvSvc
                           Event/ByteStreamData
@@ -39,7 +40,7 @@ atlas_add_library( AthenaPoolMultiTestLib
                    PUBLIC_HEADERS AthenaPoolMultiTest
                    PRIVATE_INCLUDE_DIRS ${CORAL_INCLUDE_DIRS}
                    LINK_LIBRARIES StoreGateLib SGtests GoodRunsListsLib ByteStreamData_test
-                   PRIVATE_LINK_LIBRARIES ${CORAL_LIBRARIES} AthenaPoolTestData AthenaBaseComps SGTools CollectionBase CollectionUtilities POOLCore PersistencySvc StorageSvc AthenaPoolExampleData AthenaPoolUtilities DBDataModel ByteStreamData EventInfo xAODEventInfo GaudiKernel )
+                   PRIVATE_LINK_LIBRARIES ${CORAL_LIBRARIES} AthenaPoolTestData AthenaBaseComps SGTools CollectionBase CollectionUtilities POOLCore PersistencySvc StorageSvc AthenaPoolExampleData AthenaPoolUtilities PersistentDataModel DBDataModel ByteStreamData EventInfo xAODEventInfo GaudiKernel )
 
 atlas_add_component( AthenaPoolMultiTest
                      src/components/*.cxx
@@ -49,3 +50,46 @@ atlas_add_component( AthenaPoolMultiTest
 # Install files from the package:
 atlas_install_joboptions( share/*.py )
 
+
+function (athenapoolmultitest_run_test testName jo postScript)
+  cmake_parse_arguments( ARG "" "DEPENDS" "" ${ARGN} )
+
+  configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/test/athenapoolmultitest_test.sh.in
+                  ${CMAKE_CURRENT_BINARY_DIR}/athenapoolmultitest_${testName}.sh
+                  @ONLY )
+  atlas_add_test( ${testName}
+                  SCRIPT ${CMAKE_CURRENT_BINARY_DIR}/athenapoolmultitest_${testName}.sh
+                  ENVIRONMENT PATH=${CMAKE_CURRENT_SOURCE_DIR}/test:$ENV{PATH}
+                  POST_EXEC_SCRIPT "${CMAKE_CURRENT_SOURCE_DIR}/test/${postScript}.sh ${testName} "
+                  PROPERTIES TIMEOUT 600
+                   )
+  if( ARG_DEPENDS )
+    set_tests_properties( AthenaPoolMultiTest_${testName}_ctest
+                          PROPERTIES DEPENDS AthenaPoolMultiTest_${ARG_DEPENDS}_ctest )
+  endif()
+endfunction (athenapoolmultitest_run_test)
+
+
+athenapoolmultitest_run_test( AthenaPoolMultiTestBuildInput SplittableData_jo
+                              post_check_bi )
+athenapoolmultitest_run_test( AthenaPoolMultiTestCollectInput TestSimpleCollection
+                              post_check_ci
+                              DEPENDS AthenaPoolMultiTestBuildInput )
+athenapoolmultitest_run_test( AthenaPoolMultiTestEventSplit EventSplit_jo
+                              post_check_es
+                              DEPENDS AthenaPoolMultiTestBuildInput )
+athenapoolmultitest_run_test( AthenaPoolMultiTestCheckCollections CheckExplicit_jo
+                              post_check_co
+                              DEPENDS AthenaPoolMultiTestEventSplit )
+athenapoolmultitest_run_test( AthenaPoolMultiTestCheckNull CheckNull_jo
+                              post_check_cn
+                              DEPENDS AthenaPoolMultiTestEventSplit )
+athenapoolmultitest_run_test( AthenaPoolMultiTestCheckOutput CheckImplicit_jo
+                              post_check_co
+                              DEPENDS AthenaPoolMultiTestEventSplit )
+
+athenapoolmultitest_run_test( AthenaPoolMultiTestBSMetaWrite BSMetaWrite
+                              post_check_bs )
+athenapoolmultitest_run_test( AthenaPoolMultiTestBSMetaWriteNone BSMetaWriteNone
+                              post_check_bs
+                              DEPENDS AthenaPoolMultiTestBSMetaWrite )
diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/cmt/requirements b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/cmt/requirements
index 8a487b08812..0465ac9dcc2 100755
--- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/cmt/requirements
+++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/cmt/requirements
@@ -70,3 +70,4 @@ macro_append AthenaPoolMultiTestCollectInput_test_dependencies " AthenaPoolMulti
 # BS Read must come after write
 macro_append AthenaPoolMultiTestBSMetaWriteNone_test_dependencies " AthenaPoolMultiTestBSMetaWrite_test "
 end_private
+
diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/AthenaPoolMultiTestBSMetaWrite.ref b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestBSMetaWrite.ref
similarity index 74%
rename from AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/AthenaPoolMultiTestBSMetaWrite.ref
rename to AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestBSMetaWrite.ref
index 88a6aa51cca..5fe4fb35195 100644
--- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/AthenaPoolMultiTestBSMetaWrite.ref
+++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestBSMetaWrite.ref
@@ -1,15 +1,17 @@
 AthAlgSeq            INFO Member list: RunEventMetaWriter, StoreDump
 DecisionSvc          INFO Inserting stream: StreamBSFileOutput with no Algs
-ByteStreamEvent...   INFO Initializing ByteStreamEventStorageOutputSvc - package version ByteStreamCnvSvc-01-34-37
+ByteStreamEvent...   INFO Initializing ByteStreamEventStorageOutputSvc - package version ByteStreamCnvSvc-01-34-51
+ByteStreamAttLi...  DEBUG Property update for OutputLevel : new value = 2
+ByteStreamAttLi...  DEBUG ByteStreamAttListMetadataSvc::initialize()
 ByteStreamEvent...   INFO eformat version to use: "current"
 ByteStreamEvent...   INFO event storage (BS) version to use: "current"
 ByteStreamEvent...   INFO Reinitialization...
 StreamBSFileOutput   INFO Found HelperTools = PrivateToolHandleArray([])
 StreamBSFileOutput   INFO Data output: ByteStreamEventStorageOutputSvc
 StreamBSFileOutput   INFO I/O reinitialization...
- flags: (  valid, UNLOCKED,  reset) --- data:  0xfc06f80 --- key: RunEventTag
+ flags: (  valid, UNLOCKED,  reset) --- data: 0x135b9e00 --- key: RunEventTag
 StoreDump            INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> 
- flags: (  valid, UNLOCKED,  reset) --- data:  0xfc06f80 --- key: RunEventTag
+ flags: (  valid, UNLOCKED,  reset) --- data: 0x135b9e00 --- key: RunEventTag
 StoreDump            INFO AttributeList has size 2
 ByteStreamAttLi...   INFO ByteStreamAttListMetadataSvc::toBSMetadata
 ByteStreamAttLi...   INFO Found RunEventTag in DetectorStore
@@ -18,8 +20,7 @@ ByteStreamAttLi...   INFO About to push back RunNumber, 88
 ByteStreamAttLi...  DEBUG  name EventNumber type unsigned int value 99
 ByteStreamAttLi...   INFO About to push back EventNumber, 99
 StoreDump            INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> 
- flags: (  valid, UNLOCKED,  reset) --- data:  0xfc06f80 --- key: RunEventTag
- flags: (  valid, UNLOCKED,  reset) --- data:  0xfc077f0 --- key: RunEventTag
+ flags: (  valid, UNLOCKED,  reset) --- data: 0x135b9e00 --- key: RunEventTag
+ flags: (  valid, UNLOCKED,  reset) --- data: 0x13613cc0 --- key: RunEventTag
 StoreDump            INFO AttributeList has size 2
 ByteStreamEvent...   INFO number of events written: 2
-DecisionSvc          INFO List of registered 1 Streams: StreamBSFileOutput 
diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/AthenaPoolMultiTestBSMetaWriteNone.ref b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestBSMetaWriteNone.ref
similarity index 70%
rename from AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/AthenaPoolMultiTestBSMetaWriteNone.ref
rename to AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestBSMetaWriteNone.ref
index 4851207e32e..23aefb17feb 100644
--- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/AthenaPoolMultiTestBSMetaWriteNone.ref
+++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestBSMetaWriteNone.ref
@@ -1,4 +1,5 @@
 AthAlgSeq            INFO Member list: PassNoneFilter, RunEventMetaWriter, StoreDump
+StreamBSFileOutput  DEBUG Property update for OutputLevel : new value = 2
 StreamBSFileOutput  DEBUG In initialize 
 StreamBSFileOutput  DEBUG Found IDecisionSvc.
 DecisionSvc          INFO Inserting stream: StreamBSFileOutput with no Algs
@@ -6,7 +7,9 @@ StreamBSFileOutput  DEBUG Trying to add PassNoneFilter of stream StreamBSFileOut
 StreamBSFileOutput  DEBUG End initialize 
 StreamBSFileOutput  DEBUG In initialize
 StreamBSFileOutput  DEBUG Found StoreGateSvc store.
-ByteStreamEvent...   INFO Initializing ByteStreamEventStorageOutputSvc - package version ByteStreamCnvSvc-01-34-37
+ByteStreamEvent...   INFO Initializing ByteStreamEventStorageOutputSvc - package version ByteStreamCnvSvc-01-34-51
+ByteStreamAttLi...  DEBUG Property update for OutputLevel : new value = 2
+ByteStreamAttLi...  DEBUG ByteStreamAttListMetadataSvc::initialize()
 ByteStreamEvent...   INFO eformat version to use: "current"
 ByteStreamEvent...   INFO event storage (BS) version to use: "current"
 ByteStreamEvent...   INFO Reinitialization...
@@ -14,12 +17,17 @@ StreamBSFileOutput   INFO Found HelperTools = PrivateToolHandleArray([])
 StreamBSFileOutput   INFO Data output: ByteStreamEventStorageOutputSvc
 StreamBSFileOutput   INFO I/O reinitialization...
 StreamBSFileOutput  DEBUG End initialize
- flags: (  valid, UNLOCKED,  reset) --- data:  0xf60c7b0 --- key: RunEventTag
+StreamBSFileOutput  DEBUG input handles: 0
+StreamBSFileOutput  DEBUG output handles: 0
+StreamBSFileOutput  DEBUG Registering all Tools in ToolHandleArray HelperTools
+StreamBSFileOutput  DEBUG Adding private ToolHandle tool StreamBSFileOutput.DefaultNameTool (AthenaOutputStreamTool)
+StreamBSFileOutput  DEBUG Data Deps for StreamBSFileOutput
+ flags: (  valid, UNLOCKED,  reset) --- data: 0x13330190 --- key: RunEventTag
 StoreDump            INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> 
- flags: (  valid, UNLOCKED,  reset) --- data:  0xf60c7b0 --- key: RunEventTag
+ flags: (  valid, UNLOCKED,  reset) --- data: 0x13330190 --- key: RunEventTag
 StoreDump            INFO AttributeList has size 2
 StoreDump            INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> 
- flags: (  valid, UNLOCKED,  reset) --- data:  0xf60c7b0 --- key: RunEventTag
+ flags: (  valid, UNLOCKED,  reset) --- data: 0x13330190 --- key: RunEventTag
 StoreDump            INFO AttributeList has size 2
 ByteStreamAttLi...   INFO ByteStreamAttListMetadataSvc::toBSMetadata
 ByteStreamAttLi...   INFO Found RunEventTag in DetectorStore
@@ -32,4 +40,3 @@ StreamBSFileOutput  DEBUG Leaving handle
 StreamBSFileOutput  DEBUG finalize: Optimize output
 StreamBSFileOutput  DEBUG finalize: end optimize output
 ByteStreamEvent...   INFO number of events written: 0
-DecisionSvc          INFO List of registered 1 Streams: StreamBSFileOutput 
diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/AthenaPoolMultiTestBuildInput.ref b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestBuildInput.ref
similarity index 83%
rename from AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/AthenaPoolMultiTestBuildInput.ref
rename to AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestBuildInput.ref
index ed95e6b75c6..bcf36b6ba63 100755
--- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/AthenaPoolMultiTestBuildInput.ref
+++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestBuildInput.ref
@@ -1,124 +1,108 @@
 AthAlgSeq            INFO Member list: PassAllFilter, PassNoneFilter, AddTrigMap, EventTagWriter, TagEventTagWriter, DummyLumirangeTool, RegistrationStreamDefMeta/default, AthPoolEx::WriteData/WriteData, AthenaOutputStream/DataStream, RegistrationStream/FullColl, RegistrationStream/NullColl
 AddTrigMap           INFO in initialize()
+WriteData           DEBUG Property update for OutputLevel : new value = 2
 WriteData            INFO in initialize()
+WriteData           DEBUG input handles: 0
+WriteData           DEBUG output handles: 0
+WriteData           DEBUG Data Deps for WriteData
 DecisionSvc          INFO Inserting stream: FullColl with no Algs
 DecisionSvc          INFO Inserting stream: NullColl with no Algs
-AddTrigMap           INFO Found EventInfo in SG
 AddTrigMap           INFO EventInfo event: 0 run: 0
 AddTrigMap           INFO registered all data
 WriteData           DEBUG in execute()
 WriteData            INFO EventInfo event: 0  run: 0
 WriteData            INFO registered all data
 FullColl.Regist...   INFO No Primary Key defined
-AddTrigMap           INFO Found EventInfo in SG
 AddTrigMap           INFO EventInfo event: 1 run: 0
 AddTrigMap           INFO registered all data
 WriteData           DEBUG in execute()
 WriteData            INFO EventInfo event: 1  run: 0
 WriteData            INFO registered all data
-AddTrigMap           INFO Found EventInfo in SG
 AddTrigMap           INFO EventInfo event: 2 run: 0
 AddTrigMap           INFO registered all data
 WriteData           DEBUG in execute()
 WriteData            INFO EventInfo event: 2  run: 0
 WriteData            INFO registered all data
-AddTrigMap           INFO Found EventInfo in SG
 AddTrigMap           INFO EventInfo event: 3 run: 0
 AddTrigMap           INFO registered all data
 WriteData           DEBUG in execute()
 WriteData            INFO EventInfo event: 3  run: 0
 WriteData            INFO registered all data
-AddTrigMap           INFO Found EventInfo in SG
 AddTrigMap           INFO EventInfo event: 4 run: 0
 AddTrigMap           INFO registered all data
 WriteData           DEBUG in execute()
 WriteData            INFO EventInfo event: 4  run: 0
 WriteData            INFO registered all data
-AddTrigMap           INFO Found EventInfo in SG
 AddTrigMap           INFO EventInfo event: 5 run: 0
 AddTrigMap           INFO registered all data
 WriteData           DEBUG in execute()
 WriteData            INFO EventInfo event: 5  run: 0
 WriteData            INFO registered all data
-AddTrigMap           INFO Found EventInfo in SG
 AddTrigMap           INFO EventInfo event: 6 run: 0
 AddTrigMap           INFO registered all data
 WriteData           DEBUG in execute()
 WriteData            INFO EventInfo event: 6  run: 0
 WriteData            INFO registered all data
-AddTrigMap           INFO Found EventInfo in SG
 AddTrigMap           INFO EventInfo event: 7 run: 0
 AddTrigMap           INFO registered all data
 WriteData           DEBUG in execute()
 WriteData            INFO EventInfo event: 7  run: 0
 WriteData            INFO registered all data
-AddTrigMap           INFO Found EventInfo in SG
 AddTrigMap           INFO EventInfo event: 8 run: 0
 AddTrigMap           INFO registered all data
 WriteData           DEBUG in execute()
 WriteData            INFO EventInfo event: 8  run: 0
 WriteData            INFO registered all data
-AddTrigMap           INFO Found EventInfo in SG
 AddTrigMap           INFO EventInfo event: 9 run: 0
 AddTrigMap           INFO registered all data
 WriteData           DEBUG in execute()
 WriteData            INFO EventInfo event: 9  run: 0
 WriteData            INFO registered all data
-AddTrigMap           INFO Found EventInfo in SG
 AddTrigMap           INFO EventInfo event: 10 run: 0
 AddTrigMap           INFO registered all data
 WriteData           DEBUG in execute()
 WriteData            INFO EventInfo event: 10  run: 0
 WriteData            INFO registered all data
-AddTrigMap           INFO Found EventInfo in SG
 AddTrigMap           INFO EventInfo event: 11 run: 0
 AddTrigMap           INFO registered all data
 WriteData           DEBUG in execute()
 WriteData            INFO EventInfo event: 11  run: 0
 WriteData            INFO registered all data
-AddTrigMap           INFO Found EventInfo in SG
 AddTrigMap           INFO EventInfo event: 12 run: 0
 AddTrigMap           INFO registered all data
 WriteData           DEBUG in execute()
 WriteData            INFO EventInfo event: 12  run: 0
 WriteData            INFO registered all data
-AddTrigMap           INFO Found EventInfo in SG
 AddTrigMap           INFO EventInfo event: 13 run: 0
 AddTrigMap           INFO registered all data
 WriteData           DEBUG in execute()
 WriteData            INFO EventInfo event: 13  run: 0
 WriteData            INFO registered all data
-AddTrigMap           INFO Found EventInfo in SG
 AddTrigMap           INFO EventInfo event: 14 run: 0
 AddTrigMap           INFO registered all data
 WriteData           DEBUG in execute()
 WriteData            INFO EventInfo event: 14  run: 0
 WriteData            INFO registered all data
-AddTrigMap           INFO Found EventInfo in SG
 AddTrigMap           INFO EventInfo event: 15 run: 0
 AddTrigMap           INFO registered all data
 WriteData           DEBUG in execute()
 WriteData            INFO EventInfo event: 15  run: 0
 WriteData            INFO registered all data
-AddTrigMap           INFO Found EventInfo in SG
 AddTrigMap           INFO EventInfo event: 16 run: 0
 AddTrigMap           INFO registered all data
 WriteData           DEBUG in execute()
 WriteData            INFO EventInfo event: 16  run: 0
 WriteData            INFO registered all data
-AddTrigMap           INFO Found EventInfo in SG
 AddTrigMap           INFO EventInfo event: 17 run: 0
 AddTrigMap           INFO registered all data
 WriteData           DEBUG in execute()
 WriteData            INFO EventInfo event: 17  run: 0
 WriteData            INFO registered all data
-AddTrigMap           INFO Found EventInfo in SG
 AddTrigMap           INFO EventInfo event: 18 run: 0
 AddTrigMap           INFO registered all data
 WriteData           DEBUG in execute()
 WriteData            INFO EventInfo event: 18  run: 0
 WriteData            INFO registered all data
-AddTrigMap           INFO Found EventInfo in SG
 AddTrigMap           INFO EventInfo event: 19 run: 0
 AddTrigMap           INFO registered all data
 WriteData           DEBUG in execute()
@@ -128,4 +112,3 @@ FullColl.Regist...   INFO Collection Events output: 20
 NullColl.Regist...   INFO Collection Events output: 0
 WriteData            INFO in finalize()
 WriteData           DEBUG Calling destructor
-DecisionSvc          INFO List of registered 3 Streams: DataStream FullColl NullColl 
diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/AthenaPoolMultiTestCheckEDM.ref b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCheckEDM.ref
similarity index 100%
rename from AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/AthenaPoolMultiTestCheckEDM.ref
rename to AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCheckEDM.ref
diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/AthenaPoolMultiTestCheckEDM2.ref b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCheckEDM2.ref
similarity index 100%
rename from AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/AthenaPoolMultiTestCheckEDM2.ref
rename to AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCheckEDM2.ref
diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCheckNull.ref b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCheckNull.ref
new file mode 100644
index 00000000000..15877f5f8c9
--- /dev/null
+++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCheckNull.ref
@@ -0,0 +1,45 @@
+AthAlgSeq            INFO Member list: AthPoolEx::ReadData/ReadData, RunEventTagWriter, RegistrationStreamDefMeta/DefaultCollMeta
+ReadData            DEBUG Property update for OutputLevel : new value = 2
+ReadData             INFO in initialize()
+EventSelector       DEBUG Property update for OutputLevel : new value = 2
+EventSelector        INFO reinitialization...
+EventSelector        INFO EventSelection with query 
+EventSelector       DEBUG Try item: "PFN:NullableCollection.root" from the collection list.
+EventSelector        INFO Using standard collection ref 
+EventSelector       DEBUG Try item: "PFN:NullableCollection.root" from the collection list.
+EventSelector        INFO reinitialization...
+EventSelector        INFO EventSelection with query 
+EventSelector       DEBUG Try item: "PFN:NullableCollection.root" from the collection list.
+EventSelector        INFO Using standard collection ref 
+EventSelector       DEBUG Try item: "PFN:NullableCollection.root" from the collection list.
+ReadData            DEBUG input handles: 0
+ReadData            DEBUG output handles: 0
+ReadData            DEBUG Data Deps for ReadData
+AthRegSeq            INFO Member list: RegistrationStream/FullColl
+FullColl.FullCo...  DEBUG Property update for OutputLevel : new value = 2
+FullColl            DEBUG Property update for OutputLevel : new value = 2
+FullColl            DEBUG In initialize 
+FullColl            DEBUG Found IDecisionSvc.
+DecisionSvc          INFO Inserting stream: FullColl with no Algs
+FullColl            DEBUG End initialize 
+FullColl            DEBUG In initialize 
+FullColl            DEBUG Found  'StoreName':StoreGateSvc store.
+FullColl.Regist...  DEBUG Property update for OutputLevel : new value = 2
+FullColl            DEBUG  Tool initialized
+FullColl            DEBUG Retrieved IncidentSvc
+FullColl            DEBUG Added MetaDataStop listener
+FullColl            DEBUG  Not class requested by Tool, skipping (40774348,"RunEventTag") 
+FullColl            DEBUG  Not class requested by Tool, skipping (222376821,"*") 
+FullColl            DEBUG Adding cmd key Default
+FullColl            DEBUG End initialize 
+FullColl            DEBUG input handles: 0
+FullColl            DEBUG output handles: 0
+FullColl            DEBUG Adding private ToolHandle tool FullColl.RegistrationStreamLCGTool (RegistrationStreamLCGTool)
+FullColl            DEBUG Data Deps for FullColl
+AthenaEventLoopMgr   INFO Setup EventSelector service EventSelector
+EventSelector       DEBUG Try item: "PFN:NullableCollection.root" from the collection list.
+FullColl            DEBUG handle() incident type: MetaDataStop
+FullColl.Regist...   INFO Collection Events output: 0
+ReadData             INFO in finalize()
+ReadData            DEBUG Calling destructor
+FullColl            DEBUG In finalize
diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/AthenaPoolMultiTestCheckOutput.ref b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCheckOutput.ref
similarity index 95%
rename from AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/AthenaPoolMultiTestCheckOutput.ref
rename to AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCheckOutput.ref
index e6d969a7db0..b238700aeac 100755
--- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/AthenaPoolMultiTestCheckOutput.ref
+++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCheckOutput.ref
@@ -2,7 +2,10 @@ AthAlgSeq            INFO Member list: AthPoolEx::ReadData/ReadData
 ReadData             INFO in initialize()
 EventSelector        INFO reinitialization...
 EventSelector        INFO EventSelection with query 
+EventSelector        INFO reinitialization...
+EventSelector        INFO EventSelection with query 
 AthenaEventLoopMgr   INFO Setup EventSelector service EventSelector
+AthenaPoolConve...   INFO massageEventInfo: unable to get OverrideRunNumberFromInput property from EventSelector 
 ReadData             INFO EventStreamInfo: Number of events = 7
 ReadData             INFO EventStreamInfo: ItemList:
 ReadData             INFO CLID = 2101, key = McEventInfo
@@ -14,6 +17,7 @@ ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/a
 ReadData             INFO TagInfo: 
 ReadData             INFO EventInfo event: 0 run: 0
 ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
 ReadData             INFO Hit x = 1.2 y = -2.3 z = 226.6 detector = DummyHitDetector
 ReadData             INFO Hit x = 4.4 y = -8.0 z = 94.7 detector = DummyHitDetector
 ReadData             INFO Hit x = 7.6 y = -13.7 z = 70.2 detector = DummyHitDetector
@@ -35,6 +39,7 @@ ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/a
 ReadData             INFO TagInfo: 
 ReadData             INFO EventInfo event: 6 run: 0
 ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
 ReadData             INFO Hit x = 601.2 y = -2.3 z = -373.3 detector = DummyHitDetector
 ReadData             INFO Hit x = 604.4 y = -8.0 z = -505.2 detector = DummyHitDetector
 ReadData             INFO Hit x = 607.6 y = -13.7 z = -529.7 detector = DummyHitDetector
@@ -56,6 +61,7 @@ ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/a
 ReadData             INFO TagInfo: 
 ReadData             INFO EventInfo event: 9 run: 0
 ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
 ReadData             INFO Hit x = 901.2 y = -2.3 z = -673.3 detector = DummyHitDetector
 ReadData             INFO Hit x = 904.4 y = -8.0 z = -805.2 detector = DummyHitDetector
 ReadData             INFO Hit x = 907.6 y = -13.7 z = -829.7 detector = DummyHitDetector
@@ -77,6 +83,7 @@ ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/a
 ReadData             INFO TagInfo: 
 ReadData             INFO EventInfo event: 12 run: 0
 ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
 ReadData             INFO Hit x = 1201.2 y = -2.3 z = -973.3 detector = DummyHitDetector
 ReadData             INFO Hit x = 1204.4 y = -8.0 z = -1105.2 detector = DummyHitDetector
 ReadData             INFO Hit x = 1207.6 y = -13.7 z = -1129.7 detector = DummyHitDetector
@@ -98,6 +105,7 @@ ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/a
 ReadData             INFO TagInfo: 
 ReadData             INFO EventInfo event: 15 run: 0
 ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
 ReadData             INFO Hit x = 1501.2 y = -2.3 z = -1273.3 detector = DummyHitDetector
 ReadData             INFO Hit x = 1504.4 y = -8.0 z = -1405.2 detector = DummyHitDetector
 ReadData             INFO Hit x = 1507.6 y = -13.7 z = -1429.7 detector = DummyHitDetector
@@ -119,6 +127,7 @@ ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/a
 ReadData             INFO TagInfo: 
 ReadData             INFO EventInfo event: 16 run: 0
 ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
 ReadData             INFO Hit x = 1601.2 y = -2.3 z = -1373.3 detector = DummyHitDetector
 ReadData             INFO Hit x = 1604.4 y = -8.0 z = -1505.2 detector = DummyHitDetector
 ReadData             INFO Hit x = 1607.6 y = -13.7 z = -1529.7 detector = DummyHitDetector
@@ -140,6 +149,7 @@ ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/a
 ReadData             INFO TagInfo: 
 ReadData             INFO EventInfo event: 18 run: 0
 ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
 ReadData             INFO Hit x = 1801.2 y = -2.3 z = -1573.3 detector = DummyHitDetector
 ReadData             INFO Hit x = 1804.4 y = -8.0 z = -1705.2 detector = DummyHitDetector
 ReadData             INFO Hit x = 1807.6 y = -13.7 z = -1729.7 detector = DummyHitDetector
@@ -170,6 +180,7 @@ ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/a
 ReadData             INFO TagInfo: 
 ReadData             INFO EventInfo event: 1 run: 0
 ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
 ReadData             INFO Hit x = 101.2 y = -2.3 z = 126.6 detector = DummyHitDetector
 ReadData             INFO Hit x = 104.4 y = -8.0 z = -5.2 detector = DummyHitDetector
 ReadData             INFO Hit x = 107.6 y = -13.7 z = -29.7 detector = DummyHitDetector
@@ -200,6 +211,7 @@ ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/a
 ReadData             INFO TagInfo: 
 ReadData             INFO EventInfo event: 2 run: 0
 ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
 ReadData             INFO Hit x = 201.2 y = -2.3 z = 26.6 detector = DummyHitDetector
 ReadData             INFO Hit x = 204.4 y = -8.0 z = -105.2 detector = DummyHitDetector
 ReadData             INFO Hit x = 207.6 y = -13.7 z = -129.7 detector = DummyHitDetector
@@ -230,6 +242,7 @@ ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/a
 ReadData             INFO TagInfo: 
 ReadData             INFO EventInfo event: 4 run: 0
 ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
 ReadData             INFO Hit x = 401.2 y = -2.3 z = -173.3 detector = DummyHitDetector
 ReadData             INFO Hit x = 404.4 y = -8.0 z = -305.2 detector = DummyHitDetector
 ReadData             INFO Hit x = 407.6 y = -13.7 z = -329.7 detector = DummyHitDetector
@@ -260,6 +273,7 @@ ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/a
 ReadData             INFO TagInfo: 
 ReadData             INFO EventInfo event: 5 run: 0
 ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
 ReadData             INFO Hit x = 501.2 y = -2.3 z = -273.3 detector = DummyHitDetector
 ReadData             INFO Hit x = 504.4 y = -8.0 z = -405.2 detector = DummyHitDetector
 ReadData             INFO Hit x = 507.6 y = -13.7 z = -429.7 detector = DummyHitDetector
@@ -290,6 +304,7 @@ ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/a
 ReadData             INFO TagInfo: 
 ReadData             INFO EventInfo event: 7 run: 0
 ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
 ReadData             INFO Hit x = 701.2 y = -2.3 z = -473.3 detector = DummyHitDetector
 ReadData             INFO Hit x = 704.4 y = -8.0 z = -605.2 detector = DummyHitDetector
 ReadData             INFO Hit x = 707.6 y = -13.7 z = -629.7 detector = DummyHitDetector
@@ -320,6 +335,7 @@ ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/a
 ReadData             INFO TagInfo: 
 ReadData             INFO EventInfo event: 8 run: 0
 ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
 ReadData             INFO Hit x = 801.2 y = -2.3 z = -573.3 detector = DummyHitDetector
 ReadData             INFO Hit x = 804.4 y = -8.0 z = -705.2 detector = DummyHitDetector
 ReadData             INFO Hit x = 807.6 y = -13.7 z = -729.7 detector = DummyHitDetector
@@ -350,6 +366,7 @@ ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/a
 ReadData             INFO TagInfo: 
 ReadData             INFO EventInfo event: 10 run: 0
 ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
 ReadData             INFO Hit x = 1001.2 y = -2.3 z = -773.3 detector = DummyHitDetector
 ReadData             INFO Hit x = 1004.4 y = -8.0 z = -905.2 detector = DummyHitDetector
 ReadData             INFO Hit x = 1007.6 y = -13.7 z = -929.7 detector = DummyHitDetector
@@ -380,6 +397,7 @@ ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/a
 ReadData             INFO TagInfo: 
 ReadData             INFO EventInfo event: 11 run: 0
 ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
 ReadData             INFO Hit x = 1101.2 y = -2.3 z = -873.3 detector = DummyHitDetector
 ReadData             INFO Hit x = 1104.4 y = -8.0 z = -1005.2 detector = DummyHitDetector
 ReadData             INFO Hit x = 1107.6 y = -13.7 z = -1029.7 detector = DummyHitDetector
@@ -410,6 +428,7 @@ ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/a
 ReadData             INFO TagInfo: 
 ReadData             INFO EventInfo event: 13 run: 0
 ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
 ReadData             INFO Hit x = 1301.2 y = -2.3 z = -1073.3 detector = DummyHitDetector
 ReadData             INFO Hit x = 1304.4 y = -8.0 z = -1205.2 detector = DummyHitDetector
 ReadData             INFO Hit x = 1307.6 y = -13.7 z = -1229.7 detector = DummyHitDetector
@@ -440,6 +459,7 @@ ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/a
 ReadData             INFO TagInfo: 
 ReadData             INFO EventInfo event: 14 run: 0
 ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
 ReadData             INFO Hit x = 1401.2 y = -2.3 z = -1173.3 detector = DummyHitDetector
 ReadData             INFO Hit x = 1404.4 y = -8.0 z = -1305.2 detector = DummyHitDetector
 ReadData             INFO Hit x = 1407.6 y = -13.7 z = -1329.7 detector = DummyHitDetector
@@ -470,6 +490,7 @@ ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/a
 ReadData             INFO TagInfo: 
 ReadData             INFO EventInfo event: 17 run: 0
 ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
 ReadData             INFO Hit x = 1701.2 y = -2.3 z = -1473.3 detector = DummyHitDetector
 ReadData             INFO Hit x = 1704.4 y = -8.0 z = -1605.2 detector = DummyHitDetector
 ReadData             INFO Hit x = 1707.6 y = -13.7 z = -1629.7 detector = DummyHitDetector
@@ -500,6 +521,7 @@ ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/a
 ReadData             INFO TagInfo: 
 ReadData             INFO EventInfo event: 19 run: 0
 ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
 ReadData             INFO Hit x = 1901.2 y = -2.3 z = -1673.3 detector = DummyHitDetector
 ReadData             INFO Hit x = 1904.4 y = -8.0 z = -1805.2 detector = DummyHitDetector
 ReadData             INFO Hit x = 1907.6 y = -13.7 z = -1829.7 detector = DummyHitDetector
@@ -522,6 +544,7 @@ ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/a
 ReadData             INFO TagInfo: 
 ReadData             INFO EventInfo event: 3 run: 0
 ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
 ReadData             INFO Hit x = 301.2 y = -2.3 z = -73.3 detector = DummyHitDetector
 ReadData             INFO Hit x = 304.4 y = -8.0 z = -205.2 detector = DummyHitDetector
 ReadData             INFO Hit x = 307.6 y = -13.7 z = -229.7 detector = DummyHitDetector
diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCollectInput.ref b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCollectInput.ref
new file mode 100755
index 00000000000..a4f1def6d45
--- /dev/null
+++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCollectInput.ref
@@ -0,0 +1,46 @@
+AthAlgSeq            INFO Member list: RunEventTagWriter, xAODMaker::EventInfoCnvAlg, EventCount, RegistrationStream/RegStream1
+EventSelector        INFO reinitialization...
+EventSelector        INFO EventSelection with query RunNumber != 1000000 && EventNumber > 0
+RootCollection Info Opening Collection File SplittableCollection.root in mode: READ
+RootCollection Info File SplittableCollection.root opened
+EventSelector        INFO Using standard collection ref 
+Domain[ROOT_All] Info                           AthenaPoolMultiTest_Splittable0.root
+RootDatabase.open Info AthenaPoolMultiTest_Splittable0.root File version:60802
+EventSelector        INFO reinitialization...
+EventSelector        INFO EventSelection with query RunNumber != 1000000 && EventNumber > 0
+RootCollection Info Opening Collection File SplittableCollection.root in mode: READ
+RootCollection Info File SplittableCollection.root opened
+EventSelector        INFO Using standard collection ref 
+DecisionSvc          INFO Inserting stream: RegStream1 with no Algs
+AthenaEventLoopMgr   INFO Setup EventSelector service EventSelector
+RootCollection Info Closing open collection 'SplittableCollection.root'
+RootCollection Info Opening Collection File SplittableCollection.root in mode: READ
+RootCollection Info File SplittableCollection.root opened
+AthenaPoolConve...   INFO massageEventInfo: unable to get OverrideRunNumberFromInput property from EventSelector 
+ flags: (  valid,   locked,  reset) --- data: 0x152214d0 --- key: EventSelector
+RegStream1.Regi...   INFO No Primary Key defined
+ flags: (  valid,   locked,  reset) --- data: 0x141c8050 --- key: EventSelector
+ flags: (  valid,   locked,  reset) --- data: 0x1521fbd0 --- key: EventSelector
+ flags: (  valid,   locked,  reset) --- data: 0x141c8d20 --- key: EventSelector
+ flags: (  valid,   locked,  reset) --- data: 0x141c8dc0 --- key: EventSelector
+ flags: (  valid,   locked,  reset) --- data: 0x141c8e60 --- key: EventSelector
+ flags: (  valid,   locked,  reset) --- data: 0x141c8f00 --- key: EventSelector
+ flags: (  valid,   locked,  reset) --- data: 0x141c8fa0 --- key: EventSelector
+ flags: (  valid,   locked,  reset) --- data: 0x141c9040 --- key: EventSelector
+ flags: (  valid,   locked,  reset) --- data: 0x141c90e0 --- key: EventSelector
+ flags: (  valid,   locked,  reset) --- data: 0x141c9180 --- key: EventSelector
+ flags: (  valid,   locked,  reset) --- data: 0x141c9220 --- key: EventSelector
+ flags: (  valid,   locked,  reset) --- data: 0x141c92c0 --- key: EventSelector
+ flags: (  valid,   locked,  reset) --- data: 0x141c9360 --- key: EventSelector
+ flags: (  valid,   locked,  reset) --- data: 0x141c9400 --- key: EventSelector
+ flags: (  valid,   locked,  reset) --- data: 0x141c94a0 --- key: EventSelector
+ flags: (  valid,   locked,  reset) --- data: 0x141c9540 --- key: EventSelector
+ flags: (  valid,   locked,  reset) --- data: 0x141c95e0 --- key: EventSelector
+ flags: (  valid,   locked,  reset) --- data: 0x141c9680 --- key: EventSelector
+RootCollection Info Closing open collection 'SplittableCollection.root'
+AthenaPoolMultiTest_Splittable0.root Info Database being retired...
+RootCollection Info Opening Collection File NullableCollection.root in mode: READ
+RootCollection Info File NullableCollection.root opened
+RootCollection Info Closing open collection 'NullableCollection.root'
+RegStream1.Regi...   INFO Collection Events output: 19
+name: "SplittableCollection.root"  tech: ROOT  desc: TAG  flags: READ  i_flags: READ  Fd: 4  ptr: 0x14e07040  [o] [u]
diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/AthenaPoolMultiTestCollectSplit.ref b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCollectSplit.ref
similarity index 100%
rename from AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/AthenaPoolMultiTestCollectSplit.ref
rename to AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCollectSplit.ref
diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/AthenaPoolMultiTestCount1.ref b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCount1.ref
similarity index 100%
rename from AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/AthenaPoolMultiTestCount1.ref
rename to AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCount1.ref
diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/AthenaPoolMultiTestCount2.ref b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCount2.ref
similarity index 100%
rename from AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/AthenaPoolMultiTestCount2.ref
rename to AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCount2.ref
diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/AthenaPoolMultiTestCount3.ref b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCount3.ref
similarity index 100%
rename from AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/AthenaPoolMultiTestCount3.ref
rename to AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCount3.ref
diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/AthenaPoolMultiTestEventSplit.ref b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestEventSplit.ref
similarity index 71%
rename from AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/AthenaPoolMultiTestEventSplit.ref
rename to AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestEventSplit.ref
index d72a9065db5..d6cd77ce5f7 100755
--- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/AthenaPoolMultiTestEventSplit.ref
+++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestEventSplit.ref
@@ -1,14 +1,27 @@
 Py:Athena            INFO including file "AthenaPoolMultiTest/ExampleStreamConfig.py"
+PoolSvc              INFO Setting up APR FileCatalog and Streams
 RootCollection Info Opening Collection File SplittableCollection.root in mode: READ
 RootCollection Info File SplittableCollection.root opened
 RootCollection Info Root collection opened, size = 20
+RootCollection Info Opening Collection File SplittableCollection.root in mode: READ
+RootCollection Info File SplittableCollection.root opened
+RootCollection Info Root collection opened, size = 20
+Splitter1           DEBUG Property update for OutputLevel : new value = 2
 Splitter1            INFO in initialize()
+Splitter1           DEBUG input handles: 0
+Splitter1           DEBUG output handles: 0
+Splitter1           DEBUG Data Deps for Splitter1
 Splitter2            INFO in initialize()
+Splitter3           DEBUG Property update for OutputLevel : new value = 2
 Splitter3            INFO in initialize()
+Splitter3           DEBUG input handles: 0
+Splitter3           DEBUG output handles: 0
+Splitter3           DEBUG Data Deps for Splitter3
 Splitter456          INFO in initialize()
 Splitter7            INFO in initialize()
 Splitter48           INFO in initialize()
 Triggered            INFO in initialize()
+DefaultCollMeta     DEBUG Property update for OutputLevel : new value = 2
 DefaultCollMeta     DEBUG In initialize 
 DefaultCollMeta     DEBUG Found metadata store, MetaDataStore
 DefaultCollMeta     DEBUG Filled a metadata container of size 3
@@ -17,39 +30,42 @@ DefaultCollMeta     DEBUG Size: 3
 DefaultCollMeta     DEBUG Contents: 
 DefaultCollMeta     DEBUG     Project AthenaPoolMultiTest
 DefaultCollMeta     DEBUG     Stream EventSplit
+DefaultCollMeta     DEBUG input handles: 0
+DefaultCollMeta     DEBUG output handles: 0
+DefaultCollMeta     DEBUG Data Deps for DefaultCollMeta
 DecisionSvc          INFO Inserting stream: Stream2 with no Algs
-OutputStreamSeq...   INFO Initializing OutputStreamSequencerSvc - package version AthenaServices-01-59-33
-Stream2.Stream2...   INFO Initializing Stream2.Stream2Tool - package version OutputStreamAthenaPool-00-02-81
+OutputStreamSeq...   INFO Initializing OutputStreamSequencerSvc - package version AthenaServices-01-60-45-01
+Stream2.Stream2...   INFO Initializing Stream2.Stream2Tool - package version OutputStreamAthenaPool-00-02-90
 Stream2.Stream2...   INFO streamProperty ProcessingTag = Stream2
-Stream2.Stream2...   INFO Initializing Stream2.Stream2_MakeEventStreamInfo - package version OutputStreamAthenaPool-00-02-81
+Stream2.Stream2...   INFO Initializing Stream2.Stream2_MakeEventStreamInfo - package version OutputStreamAthenaPool-00-02-90
 Stream2              INFO Found HelperTools = PrivateToolHandleArray(['MakeEventStreamInfo/Stream2_MakeEventStreamInfo'])
 Stream2              INFO Data output: AthenaPoolMultiTest_Split2.root
 Stream2              INFO I/O reinitialization...
 DecisionSvc          INFO Inserting stream: Stream1 with no Algs
-Stream1.Stream1...   INFO Initializing Stream1.Stream1Tool - package version OutputStreamAthenaPool-00-02-81
+Stream1.Stream1...   INFO Initializing Stream1.Stream1Tool - package version OutputStreamAthenaPool-00-02-90
 Stream1.Stream1...   INFO streamProperty ProcessingTag = Stream1
-Stream1.Stream1...   INFO Initializing Stream1.Stream1_MakeEventStreamInfo - package version OutputStreamAthenaPool-00-02-81
+Stream1.Stream1...   INFO Initializing Stream1.Stream1_MakeEventStreamInfo - package version OutputStreamAthenaPool-00-02-90
 Stream1              INFO Found HelperTools = PrivateToolHandleArray(['MakeEventStreamInfo/Stream1_MakeEventStreamInfo'])
 Stream1              INFO Data output: AthenaPoolMultiTest_Split1.root
 Stream1              INFO I/O reinitialization...
 DecisionSvc          INFO Inserting stream: Stream3 with no Algs
-Stream3.Stream3...   INFO Initializing Stream3.Stream3Tool - package version OutputStreamAthenaPool-00-02-81
+Stream3.Stream3...   INFO Initializing Stream3.Stream3Tool - package version OutputStreamAthenaPool-00-02-90
 Stream3.Stream3...   INFO streamProperty ProcessingTag = Stream3
-Stream3.Stream3...   INFO Initializing Stream3.Stream3_MakeEventStreamInfo - package version OutputStreamAthenaPool-00-02-81
+Stream3.Stream3...   INFO Initializing Stream3.Stream3_MakeEventStreamInfo - package version OutputStreamAthenaPool-00-02-90
 Stream3              INFO Found HelperTools = PrivateToolHandleArray(['MakeEventStreamInfo/Stream3_MakeEventStreamInfo'])
 Stream3              INFO Data output: AthenaPoolMultiTest_Split2.root
 Stream3              INFO I/O reinitialization...
 DecisionSvc          INFO Inserting stream: Others with no Algs
-Others.OthersTool    INFO Initializing Others.OthersTool - package version OutputStreamAthenaPool-00-02-81
+Others.OthersTool    INFO Initializing Others.OthersTool - package version OutputStreamAthenaPool-00-02-90
 Others.OthersTool    INFO streamProperty ProcessingTag = Others
-Others.Others_M...   INFO Initializing Others.Others_MakeEventStreamInfo - package version OutputStreamAthenaPool-00-02-81
+Others.Others_M...   INFO Initializing Others.Others_MakeEventStreamInfo - package version OutputStreamAthenaPool-00-02-90
 Others               INFO Found HelperTools = PrivateToolHandleArray(['MakeEventStreamInfo/Others_MakeEventStreamInfo'])
 Others               INFO Data output: AthenaPoolMultiTest_Missed.root
 Others               INFO I/O reinitialization...
 DecisionSvc          INFO Inserting stream: Bad with no Algs
-Bad.BadTool          INFO Initializing Bad.BadTool - package version OutputStreamAthenaPool-00-02-81
+Bad.BadTool          INFO Initializing Bad.BadTool - package version OutputStreamAthenaPool-00-02-90
 Bad.BadTool          INFO streamProperty ProcessingTag = Bad
-Bad.Bad_MakeEve...   INFO Initializing Bad.Bad_MakeEventStreamInfo - package version OutputStreamAthenaPool-00-02-81
+Bad.Bad_MakeEve...   INFO Initializing Bad.Bad_MakeEventStreamInfo - package version OutputStreamAthenaPool-00-02-90
 Bad                  INFO Found HelperTools = PrivateToolHandleArray(['MakeEventStreamInfo/Bad_MakeEventStreamInfo'])
 Bad                  INFO Data output: AthenaPoolMultiTest_Missed.root
 Bad                  INFO I/O reinitialization...
@@ -72,28 +88,21 @@ ToolSvc.copyTool    DEBUG Found Input CollectionMetadata
 ToolSvc.copyTool     INFO CollectionMetadata copied to MetaDataStore for PFN:SplittableCollection.root
 Splitter1           DEBUG in execute()
 Splitter1            INFO EventInfo event: 0 run: 0
-Splitter1            INFO Get Smart data ptr 1
 Splitter1           DEBUG Trigmask = 1
 Splitter1            INFO L1 passed
 Splitter2            INFO EventInfo event: 0 run: 0
-Splitter2            INFO Get Smart data ptr 1
 Splitter2            INFO L1 failed
 Splitter3           DEBUG in execute()
 Splitter3            INFO EventInfo event: 0 run: 0
-Splitter3            INFO Get Smart data ptr 1
 Splitter3           DEBUG Trigmask = 1
 Splitter3            INFO L1 failed
 Splitter456          INFO EventInfo event: 0 run: 0
-Splitter456          INFO Get Smart data ptr 1
 Splitter456          INFO L1 failed
 Splitter7            INFO EventInfo event: 0 run: 0
-Splitter7            INFO Get Smart data ptr 1
 Splitter7            INFO L1 failed
 Splitter48           INFO EventInfo event: 0 run: 0
-Splitter48           INFO Get Smart data ptr 1
 Splitter48           INFO L1 failed
 Triggered            INFO EventInfo event: 0 run: 0
-Triggered            INFO Get Smart data ptr 1
 Triggered            INFO L1 passed
 DefaultCollMeta     DEBUG In execute 
 PoolSvc              INFO Writing ExplicitROOT Collection - do not pass session pointer
@@ -110,28 +119,21 @@ RootCollection::Metadata Info  ****** Created metadata tree in the collection fi
 CollTrig.CollTr...   INFO No Primary Key defined
 Splitter1           DEBUG in execute()
 Splitter1            INFO EventInfo event: 1 run: 0
-Splitter1            INFO Get Smart data ptr 1
 Splitter1           DEBUG Trigmask = 2
 Splitter1            INFO L1 failed
 Splitter2            INFO EventInfo event: 1 run: 0
-Splitter2            INFO Get Smart data ptr 1
 Splitter2            INFO L1 passed
 Splitter3           DEBUG in execute()
 Splitter3            INFO EventInfo event: 1 run: 0
-Splitter3            INFO Get Smart data ptr 1
 Splitter3           DEBUG Trigmask = 2
 Splitter3            INFO L1 failed
 Splitter456          INFO EventInfo event: 1 run: 0
-Splitter456          INFO Get Smart data ptr 1
 Splitter456          INFO L1 failed
 Splitter7            INFO EventInfo event: 1 run: 0
-Splitter7            INFO Get Smart data ptr 1
 Splitter7            INFO L1 failed
 Splitter48           INFO EventInfo event: 1 run: 0
-Splitter48           INFO Get Smart data ptr 1
 Splitter48           INFO L1 failed
 Triggered            INFO EventInfo event: 1 run: 0
-Triggered            INFO Get Smart data ptr 1
 Triggered            INFO L1 passed
 DefaultCollMeta     DEBUG In execute 
 PoolSvc              INFO Writing ExplicitROOT Collection - do not pass session pointer
@@ -142,28 +144,21 @@ RootCollection::Metadata Info  ****** Created metadata tree in the collection fi
 Coll23.Registra...   INFO No Primary Key defined
 Splitter1           DEBUG in execute()
 Splitter1            INFO EventInfo event: 2 run: 0
-Splitter1            INFO Get Smart data ptr 1
 Splitter1           DEBUG Trigmask = 4
 Splitter1            INFO L1 failed
 Splitter2            INFO EventInfo event: 2 run: 0
-Splitter2            INFO Get Smart data ptr 1
 Splitter2            INFO L1 failed
 Splitter3           DEBUG in execute()
 Splitter3            INFO EventInfo event: 2 run: 0
-Splitter3            INFO Get Smart data ptr 1
 Splitter3           DEBUG Trigmask = 4
 Splitter3            INFO L1 passed
 Splitter456          INFO EventInfo event: 2 run: 0
-Splitter456          INFO Get Smart data ptr 1
 Splitter456          INFO L1 failed
 Splitter7            INFO EventInfo event: 2 run: 0
-Splitter7            INFO Get Smart data ptr 1
 Splitter7            INFO L1 failed
 Splitter48           INFO EventInfo event: 2 run: 0
-Splitter48           INFO Get Smart data ptr 1
 Splitter48           INFO L1 failed
 Triggered            INFO EventInfo event: 2 run: 0
-Triggered            INFO Get Smart data ptr 1
 Triggered            INFO L1 passed
 DefaultCollMeta     DEBUG In execute 
 PoolSvc              INFO Writing ExplicitROOT Collection - do not pass session pointer
@@ -174,28 +169,21 @@ RootCollection::Metadata Info  ****** Created metadata tree in the collection fi
 Coll348.Registr...   INFO No Primary Key defined
 Splitter1           DEBUG in execute()
 Splitter1            INFO EventInfo event: 3 run: 0
-Splitter1            INFO Get Smart data ptr 1
 Splitter1           DEBUG Trigmask = 256
 Splitter1            INFO L1 failed
 Splitter2            INFO EventInfo event: 3 run: 0
-Splitter2            INFO Get Smart data ptr 1
 Splitter2            INFO L1 failed
 Splitter3           DEBUG in execute()
 Splitter3            INFO EventInfo event: 3 run: 0
-Splitter3            INFO Get Smart data ptr 1
 Splitter3           DEBUG Trigmask = 256
 Splitter3            INFO L1 failed
 Splitter456          INFO EventInfo event: 3 run: 0
-Splitter456          INFO Get Smart data ptr 1
 Splitter456          INFO L1 failed
 Splitter7            INFO EventInfo event: 3 run: 0
-Splitter7            INFO Get Smart data ptr 1
 Splitter7            INFO L1 failed
 Splitter48           INFO EventInfo event: 3 run: 0
-Splitter48           INFO Get Smart data ptr 1
 Splitter48           INFO L1 failed
 Triggered            INFO EventInfo event: 3 run: 0
-Triggered            INFO Get Smart data ptr 1
 Triggered            INFO L1 passed
 DefaultCollMeta     DEBUG In execute 
 PoolSvc              INFO Writing ExplicitROOT Collection - do not pass session pointer
@@ -206,28 +194,21 @@ RootCollection::Metadata Info  ****** Created metadata tree in the collection fi
 CollBar.Registr...   INFO No Primary Key defined
 Splitter1           DEBUG in execute()
 Splitter1            INFO EventInfo event: 4 run: 0
-Splitter1            INFO Get Smart data ptr 1
 Splitter1           DEBUG Trigmask = 18
 Splitter1            INFO L1 failed
 Splitter2            INFO EventInfo event: 4 run: 0
-Splitter2            INFO Get Smart data ptr 1
 Splitter2            INFO L1 passed
 Splitter3           DEBUG in execute()
 Splitter3            INFO EventInfo event: 4 run: 0
-Splitter3            INFO Get Smart data ptr 1
 Splitter3           DEBUG Trigmask = 18
 Splitter3            INFO L1 failed
 Splitter456          INFO EventInfo event: 4 run: 0
-Splitter456          INFO Get Smart data ptr 1
 Splitter456          INFO L1 passed
 Splitter7            INFO EventInfo event: 4 run: 0
-Splitter7            INFO Get Smart data ptr 1
 Splitter7            INFO L1 failed
 Splitter48           INFO EventInfo event: 4 run: 0
-Splitter48           INFO Get Smart data ptr 1
 Splitter48           INFO L1 failed
 Triggered            INFO EventInfo event: 4 run: 0
-Triggered            INFO Get Smart data ptr 1
 Triggered            INFO L1 passed
 DefaultCollMeta     DEBUG In execute 
 PoolSvc              INFO Writing ExplicitROOT Collection - do not pass session pointer
@@ -238,54 +219,40 @@ RootCollection::Metadata Info  ****** Created metadata tree in the collection fi
 Coll456.Registr...   INFO No Primary Key defined
 Splitter1           DEBUG in execute()
 Splitter1            INFO EventInfo event: 5 run: 0
-Splitter1            INFO Get Smart data ptr 1
 Splitter1           DEBUG Trigmask = 36
 Splitter1            INFO L1 failed
 Splitter2            INFO EventInfo event: 5 run: 0
-Splitter2            INFO Get Smart data ptr 1
 Splitter2            INFO L1 failed
 Splitter3           DEBUG in execute()
 Splitter3            INFO EventInfo event: 5 run: 0
-Splitter3            INFO Get Smart data ptr 1
 Splitter3           DEBUG Trigmask = 36
 Splitter3            INFO L1 passed
 Splitter456          INFO EventInfo event: 5 run: 0
-Splitter456          INFO Get Smart data ptr 1
 Splitter456          INFO L1 passed
 Splitter7            INFO EventInfo event: 5 run: 0
-Splitter7            INFO Get Smart data ptr 1
 Splitter7            INFO L1 failed
 Splitter48           INFO EventInfo event: 5 run: 0
-Splitter48           INFO Get Smart data ptr 1
 Splitter48           INFO L1 failed
 Triggered            INFO EventInfo event: 5 run: 0
-Triggered            INFO Get Smart data ptr 1
 Triggered            INFO L1 passed
 DefaultCollMeta     DEBUG In execute 
 Splitter1           DEBUG in execute()
 Splitter1            INFO EventInfo event: 6 run: 0
-Splitter1            INFO Get Smart data ptr 1
 Splitter1           DEBUG Trigmask = 65
 Splitter1            INFO L1 passed
 Splitter2            INFO EventInfo event: 6 run: 0
-Splitter2            INFO Get Smart data ptr 1
 Splitter2            INFO L1 failed
 Splitter3           DEBUG in execute()
 Splitter3            INFO EventInfo event: 6 run: 0
-Splitter3            INFO Get Smart data ptr 1
 Splitter3           DEBUG Trigmask = 65
 Splitter3            INFO L1 failed
 Splitter456          INFO EventInfo event: 6 run: 0
-Splitter456          INFO Get Smart data ptr 1
 Splitter456          INFO L1 failed
 Splitter7            INFO EventInfo event: 6 run: 0
-Splitter7            INFO Get Smart data ptr 1
 Splitter7            INFO L1 passed
 Splitter48           INFO EventInfo event: 6 run: 0
-Splitter48           INFO Get Smart data ptr 1
 Splitter48           INFO L1 failed
 Triggered            INFO EventInfo event: 6 run: 0
-Triggered            INFO Get Smart data ptr 1
 Triggered            INFO L1 passed
 DefaultCollMeta     DEBUG In execute 
 PoolSvc              INFO Writing ExplicitROOT Collection - do not pass session pointer
@@ -296,340 +263,249 @@ RootCollection::Metadata Info  ****** Created metadata tree in the collection fi
 Coll1and7.Regis...   INFO No Primary Key defined
 Splitter1           DEBUG in execute()
 Splitter1            INFO EventInfo event: 7 run: 0
-Splitter1            INFO Get Smart data ptr 1
 Splitter1           DEBUG Trigmask = 130
 Splitter1            INFO L1 failed
 Splitter2            INFO EventInfo event: 7 run: 0
-Splitter2            INFO Get Smart data ptr 1
 Splitter2            INFO L1 passed
 Splitter3           DEBUG in execute()
 Splitter3            INFO EventInfo event: 7 run: 0
-Splitter3            INFO Get Smart data ptr 1
 Splitter3           DEBUG Trigmask = 130
 Splitter3            INFO L1 failed
 Splitter456          INFO EventInfo event: 7 run: 0
-Splitter456          INFO Get Smart data ptr 1
 Splitter456          INFO L1 failed
 Splitter7            INFO EventInfo event: 7 run: 0
-Splitter7            INFO Get Smart data ptr 1
 Splitter7            INFO L1 failed
 Splitter48           INFO EventInfo event: 7 run: 0
-Splitter48           INFO Get Smart data ptr 1
 Splitter48           INFO L1 passed
 Triggered            INFO EventInfo event: 7 run: 0
-Triggered            INFO Get Smart data ptr 1
 Triggered            INFO L1 passed
 DefaultCollMeta     DEBUG In execute 
 Splitter1           DEBUG in execute()
 Splitter1            INFO EventInfo event: 8 run: 0
-Splitter1            INFO Get Smart data ptr 1
 Splitter1           DEBUG Trigmask = 260
 Splitter1            INFO L1 failed
 Splitter2            INFO EventInfo event: 8 run: 0
-Splitter2            INFO Get Smart data ptr 1
 Splitter2            INFO L1 failed
 Splitter3           DEBUG in execute()
 Splitter3            INFO EventInfo event: 8 run: 0
-Splitter3            INFO Get Smart data ptr 1
 Splitter3           DEBUG Trigmask = 260
 Splitter3            INFO L1 passed
 Splitter456          INFO EventInfo event: 8 run: 0
-Splitter456          INFO Get Smart data ptr 1
 Splitter456          INFO L1 failed
 Splitter7            INFO EventInfo event: 8 run: 0
-Splitter7            INFO Get Smart data ptr 1
 Splitter7            INFO L1 failed
 Splitter48           INFO EventInfo event: 8 run: 0
-Splitter48           INFO Get Smart data ptr 1
 Splitter48           INFO L1 failed
 Triggered            INFO EventInfo event: 8 run: 0
-Triggered            INFO Get Smart data ptr 1
 Triggered            INFO L1 passed
 DefaultCollMeta     DEBUG In execute 
 Splitter1           DEBUG in execute()
 Splitter1            INFO EventInfo event: 9 run: 0
-Splitter1            INFO Get Smart data ptr 1
 Splitter1           DEBUG Trigmask = 513
 Splitter1            INFO L1 passed
 Splitter2            INFO EventInfo event: 9 run: 0
-Splitter2            INFO Get Smart data ptr 1
 Splitter2            INFO L1 failed
 Splitter3           DEBUG in execute()
 Splitter3            INFO EventInfo event: 9 run: 0
-Splitter3            INFO Get Smart data ptr 1
 Splitter3           DEBUG Trigmask = 513
 Splitter3            INFO L1 failed
 Splitter456          INFO EventInfo event: 9 run: 0
-Splitter456          INFO Get Smart data ptr 1
 Splitter456          INFO L1 failed
 Splitter7            INFO EventInfo event: 9 run: 0
-Splitter7            INFO Get Smart data ptr 1
 Splitter7            INFO L1 failed
 Splitter48           INFO EventInfo event: 9 run: 0
-Splitter48           INFO Get Smart data ptr 1
 Splitter48           INFO L1 failed
 Triggered            INFO EventInfo event: 9 run: 0
-Triggered            INFO Get Smart data ptr 1
 Triggered            INFO L1 passed
 DefaultCollMeta     DEBUG In execute 
 Splitter1           DEBUG in execute()
 Splitter1            INFO EventInfo event: 10 run: 0
-Splitter1            INFO Get Smart data ptr 1
 Splitter1           DEBUG Trigmask = 1026
 Splitter1            INFO L1 failed
 Splitter2            INFO EventInfo event: 10 run: 0
-Splitter2            INFO Get Smart data ptr 1
 Splitter2            INFO L1 passed
 Splitter3           DEBUG in execute()
 Splitter3            INFO EventInfo event: 10 run: 0
-Splitter3            INFO Get Smart data ptr 1
 Splitter3           DEBUG Trigmask = 1026
 Splitter3            INFO L1 failed
 Splitter456          INFO EventInfo event: 10 run: 0
-Splitter456          INFO Get Smart data ptr 1
 Splitter456          INFO L1 failed
 Splitter7            INFO EventInfo event: 10 run: 0
-Splitter7            INFO Get Smart data ptr 1
 Splitter7            INFO L1 failed
 Splitter48           INFO EventInfo event: 10 run: 0
-Splitter48           INFO Get Smart data ptr 1
 Splitter48           INFO L1 failed
 Triggered            INFO EventInfo event: 10 run: 0
-Triggered            INFO Get Smart data ptr 1
 Triggered            INFO L1 passed
 DefaultCollMeta     DEBUG In execute 
 Splitter1           DEBUG in execute()
 Splitter1            INFO EventInfo event: 11 run: 0
-Splitter1            INFO Get Smart data ptr 1
 Splitter1           DEBUG Trigmask = 2052
 Splitter1            INFO L1 failed
 Splitter2            INFO EventInfo event: 11 run: 0
-Splitter2            INFO Get Smart data ptr 1
 Splitter2            INFO L1 failed
 Splitter3           DEBUG in execute()
 Splitter3            INFO EventInfo event: 11 run: 0
-Splitter3            INFO Get Smart data ptr 1
 Splitter3           DEBUG Trigmask = 2052
 Splitter3            INFO L1 passed
 Splitter456          INFO EventInfo event: 11 run: 0
-Splitter456          INFO Get Smart data ptr 1
 Splitter456          INFO L1 failed
 Splitter7            INFO EventInfo event: 11 run: 0
-Splitter7            INFO Get Smart data ptr 1
 Splitter7            INFO L1 failed
 Splitter48           INFO EventInfo event: 11 run: 0
-Splitter48           INFO Get Smart data ptr 1
 Splitter48           INFO L1 failed
 Triggered            INFO EventInfo event: 11 run: 0
-Triggered            INFO Get Smart data ptr 1
 Triggered            INFO L1 passed
 DefaultCollMeta     DEBUG In execute 
 Splitter1           DEBUG in execute()
 Splitter1            INFO EventInfo event: 12 run: 0
-Splitter1            INFO Get Smart data ptr 1
 Splitter1           DEBUG Trigmask = 4097
 Splitter1            INFO L1 passed
 Splitter2            INFO EventInfo event: 12 run: 0
-Splitter2            INFO Get Smart data ptr 1
 Splitter2            INFO L1 failed
 Splitter3           DEBUG in execute()
 Splitter3            INFO EventInfo event: 12 run: 0
-Splitter3            INFO Get Smart data ptr 1
 Splitter3           DEBUG Trigmask = 4097
 Splitter3            INFO L1 failed
 Splitter456          INFO EventInfo event: 12 run: 0
-Splitter456          INFO Get Smart data ptr 1
 Splitter456          INFO L1 failed
 Splitter7            INFO EventInfo event: 12 run: 0
-Splitter7            INFO Get Smart data ptr 1
 Splitter7            INFO L1 failed
 Splitter48           INFO EventInfo event: 12 run: 0
-Splitter48           INFO Get Smart data ptr 1
 Splitter48           INFO L1 failed
 Triggered            INFO EventInfo event: 12 run: 0
-Triggered            INFO Get Smart data ptr 1
 Triggered            INFO L1 passed
 DefaultCollMeta     DEBUG In execute 
 Splitter1           DEBUG in execute()
 Splitter1            INFO EventInfo event: 13 run: 0
-Splitter1            INFO Get Smart data ptr 1
 Splitter1           DEBUG Trigmask = 8194
 Splitter1            INFO L1 failed
 Splitter2            INFO EventInfo event: 13 run: 0
-Splitter2            INFO Get Smart data ptr 1
 Splitter2            INFO L1 passed
 Splitter3           DEBUG in execute()
 Splitter3            INFO EventInfo event: 13 run: 0
-Splitter3            INFO Get Smart data ptr 1
 Splitter3           DEBUG Trigmask = 8194
 Splitter3            INFO L1 failed
 Splitter456          INFO EventInfo event: 13 run: 0
-Splitter456          INFO Get Smart data ptr 1
 Splitter456          INFO L1 failed
 Splitter7            INFO EventInfo event: 13 run: 0
-Splitter7            INFO Get Smart data ptr 1
 Splitter7            INFO L1 failed
 Splitter48           INFO EventInfo event: 13 run: 0
-Splitter48           INFO Get Smart data ptr 1
 Splitter48           INFO L1 failed
 Triggered            INFO EventInfo event: 13 run: 0
-Triggered            INFO Get Smart data ptr 1
 Triggered            INFO L1 passed
 DefaultCollMeta     DEBUG In execute 
 Splitter1           DEBUG in execute()
 Splitter1            INFO EventInfo event: 14 run: 0
-Splitter1            INFO Get Smart data ptr 1
 Splitter1           DEBUG Trigmask = 16388
 Splitter1            INFO L1 failed
 Splitter2            INFO EventInfo event: 14 run: 0
-Splitter2            INFO Get Smart data ptr 1
 Splitter2            INFO L1 failed
 Splitter3           DEBUG in execute()
 Splitter3            INFO EventInfo event: 14 run: 0
-Splitter3            INFO Get Smart data ptr 1
 Splitter3           DEBUG Trigmask = 16388
 Splitter3            INFO L1 passed
 Splitter456          INFO EventInfo event: 14 run: 0
-Splitter456          INFO Get Smart data ptr 1
 Splitter456          INFO L1 failed
 Splitter7            INFO EventInfo event: 14 run: 0
-Splitter7            INFO Get Smart data ptr 1
 Splitter7            INFO L1 failed
 Splitter48           INFO EventInfo event: 14 run: 0
-Splitter48           INFO Get Smart data ptr 1
 Splitter48           INFO L1 failed
 Triggered            INFO EventInfo event: 14 run: 0
-Triggered            INFO Get Smart data ptr 1
 Triggered            INFO L1 passed
 DefaultCollMeta     DEBUG In execute 
 Splitter1           DEBUG in execute()
 Splitter1            INFO EventInfo event: 15 run: 0
-Splitter1            INFO Get Smart data ptr 1
 Splitter1           DEBUG Trigmask = 32769
 Splitter1            INFO L1 passed
 Splitter2            INFO EventInfo event: 15 run: 0
-Splitter2            INFO Get Smart data ptr 1
 Splitter2            INFO L1 failed
 Splitter3           DEBUG in execute()
 Splitter3            INFO EventInfo event: 15 run: 0
-Splitter3            INFO Get Smart data ptr 1
 Splitter3           DEBUG Trigmask = 32769
 Splitter3            INFO L1 failed
 Splitter456          INFO EventInfo event: 15 run: 0
-Splitter456          INFO Get Smart data ptr 1
 Splitter456          INFO L1 failed
 Splitter7            INFO EventInfo event: 15 run: 0
-Splitter7            INFO Get Smart data ptr 1
 Splitter7            INFO L1 failed
 Splitter48           INFO EventInfo event: 15 run: 0
-Splitter48           INFO Get Smart data ptr 1
 Splitter48           INFO L1 failed
 Triggered            INFO EventInfo event: 15 run: 0
-Triggered            INFO Get Smart data ptr 1
 Triggered            INFO L1 passed
 DefaultCollMeta     DEBUG In execute 
 Splitter1           DEBUG in execute()
 Splitter1            INFO EventInfo event: 16 run: 0
-Splitter1            INFO Get Smart data ptr 1
 Splitter1           DEBUG Trigmask = 3
 Splitter1            INFO L1 passed
 Splitter2            INFO EventInfo event: 16 run: 0
-Splitter2            INFO Get Smart data ptr 1
 Splitter2            INFO L1 passed
 Splitter3           DEBUG in execute()
 Splitter3            INFO EventInfo event: 16 run: 0
-Splitter3            INFO Get Smart data ptr 1
 Splitter3           DEBUG Trigmask = 3
 Splitter3            INFO L1 failed
 Splitter456          INFO EventInfo event: 16 run: 0
-Splitter456          INFO Get Smart data ptr 1
 Splitter456          INFO L1 failed
 Splitter7            INFO EventInfo event: 16 run: 0
-Splitter7            INFO Get Smart data ptr 1
 Splitter7            INFO L1 failed
 Splitter48           INFO EventInfo event: 16 run: 0
-Splitter48           INFO Get Smart data ptr 1
 Splitter48           INFO L1 failed
 Triggered            INFO EventInfo event: 16 run: 0
-Triggered            INFO Get Smart data ptr 1
 Triggered            INFO L1 passed
 DefaultCollMeta     DEBUG In execute 
 Splitter1           DEBUG in execute()
 Splitter1            INFO EventInfo event: 17 run: 0
-Splitter1            INFO Get Smart data ptr 1
 Splitter1           DEBUG Trigmask = 6
 Splitter1            INFO L1 failed
 Splitter2            INFO EventInfo event: 17 run: 0
-Splitter2            INFO Get Smart data ptr 1
 Splitter2            INFO L1 passed
 Splitter3           DEBUG in execute()
 Splitter3            INFO EventInfo event: 17 run: 0
-Splitter3            INFO Get Smart data ptr 1
 Splitter3           DEBUG Trigmask = 6
 Splitter3            INFO L1 passed
 Splitter456          INFO EventInfo event: 17 run: 0
-Splitter456          INFO Get Smart data ptr 1
 Splitter456          INFO L1 failed
 Splitter7            INFO EventInfo event: 17 run: 0
-Splitter7            INFO Get Smart data ptr 1
 Splitter7            INFO L1 failed
 Splitter48           INFO EventInfo event: 17 run: 0
-Splitter48           INFO Get Smart data ptr 1
 Splitter48           INFO L1 failed
 Triggered            INFO EventInfo event: 17 run: 0
-Triggered            INFO Get Smart data ptr 1
 Triggered            INFO L1 passed
 DefaultCollMeta     DEBUG In execute 
 Splitter1           DEBUG in execute()
 Splitter1            INFO EventInfo event: 18 run: 0
-Splitter1            INFO Get Smart data ptr 1
 Splitter1           DEBUG Trigmask = 5
 Splitter1            INFO L1 passed
 Splitter2            INFO EventInfo event: 18 run: 0
-Splitter2            INFO Get Smart data ptr 1
 Splitter2            INFO L1 failed
 Splitter3           DEBUG in execute()
 Splitter3            INFO EventInfo event: 18 run: 0
-Splitter3            INFO Get Smart data ptr 1
 Splitter3           DEBUG Trigmask = 5
 Splitter3            INFO L1 passed
 Splitter456          INFO EventInfo event: 18 run: 0
-Splitter456          INFO Get Smart data ptr 1
 Splitter456          INFO L1 failed
 Splitter7            INFO EventInfo event: 18 run: 0
-Splitter7            INFO Get Smart data ptr 1
 Splitter7            INFO L1 failed
 Splitter48           INFO EventInfo event: 18 run: 0
-Splitter48           INFO Get Smart data ptr 1
 Splitter48           INFO L1 failed
 Triggered            INFO EventInfo event: 18 run: 0
-Triggered            INFO Get Smart data ptr 1
 Triggered            INFO L1 passed
 DefaultCollMeta     DEBUG In execute 
 Splitter1           DEBUG in execute()
 Splitter1            INFO EventInfo event: 19 run: 0
-Splitter1            INFO Get Smart data ptr 1
 Splitter1           DEBUG Trigmask = 10
 Splitter1            INFO L1 failed
 Splitter2            INFO EventInfo event: 19 run: 0
-Splitter2            INFO Get Smart data ptr 1
 Splitter2            INFO L1 passed
 Splitter3           DEBUG in execute()
 Splitter3            INFO EventInfo event: 19 run: 0
-Splitter3            INFO Get Smart data ptr 1
 Splitter3           DEBUG Trigmask = 10
 Splitter3            INFO L1 failed
 Splitter456          INFO EventInfo event: 19 run: 0
-Splitter456          INFO Get Smart data ptr 1
 Splitter456          INFO L1 passed
 Splitter7            INFO EventInfo event: 19 run: 0
-Splitter7            INFO Get Smart data ptr 1
 Splitter7            INFO L1 failed
 Splitter48           INFO EventInfo event: 19 run: 0
-Splitter48           INFO Get Smart data ptr 1
 Splitter48           INFO L1 passed
 Triggered            INFO EventInfo event: 19 run: 0
-Triggered            INFO Get Smart data ptr 1
 Triggered            INFO L1 passed
 DefaultCollMeta     DEBUG In execute 
 RootCollection Info Closing open collection 'SplittableCollection.root'
@@ -700,72 +576,4 @@ ItemListSvc         DEBUG    - EventStreamInfo_Stream3
 ItemListSvc         DEBUG  --> Overlap with Others (3) items
 ItemListSvc         DEBUG  --> Overlap with Stream1 (4) items
 ItemListSvc         DEBUG  --> Overlap with Stream2 (4) items
-DecisionSvc          INFO List of registered 13 Streams: Bad Coll1and7 Coll23 Coll348 Coll456 CollBad CollBar CollBit1 CollTrig Others Stream1 Stream2 Stream3 
-DecisionSvc          INFO  ** Printing Stream Overlap summary
-DecisionSvc          INFO  Stream Bad 0 events
-DecisionSvc          INFO  Stream Coll1and7 1 events
-DecisionSvc          INFO  --> overlap fraction CollBit1 1.00
-DecisionSvc          INFO  --> overlap fraction CollTrig 1.00
-DecisionSvc          INFO  --> overlap fraction Stream1 1.00
-DecisionSvc          INFO  Stream Coll23 14 events
-DecisionSvc          INFO  --> overlap fraction Coll348 0.64
-DecisionSvc          INFO  --> overlap fraction Coll456 0.21
-DecisionSvc          INFO  --> overlap fraction CollBit1 0.14
-DecisionSvc          INFO  --> overlap fraction CollTrig 1.00
-DecisionSvc          INFO  --> overlap fraction Stream1 0.14
-DecisionSvc          INFO  --> overlap fraction Stream2 0.50
-DecisionSvc          INFO  --> overlap fraction Stream3 0.36
-DecisionSvc          INFO  Stream Coll348 9 events
-DecisionSvc          INFO  --> overlap fraction Coll23 1.00
-DecisionSvc          INFO  --> overlap fraction Coll456 0.22
-DecisionSvc          INFO  --> overlap fraction CollBit1 0.11
-DecisionSvc          INFO  --> overlap fraction CollTrig 1.00
-DecisionSvc          INFO  --> overlap fraction Stream1 0.11
-DecisionSvc          INFO  --> overlap fraction Stream2 0.33
-DecisionSvc          INFO  --> overlap fraction Stream3 0.56
-DecisionSvc          INFO  Stream Coll456 3 events
-DecisionSvc          INFO  --> overlap fraction Coll23 1.00
-DecisionSvc          INFO  --> overlap fraction Coll348 0.67
-DecisionSvc          INFO  --> overlap fraction CollTrig 1.00
-DecisionSvc          INFO  --> overlap fraction Stream2 0.67
-DecisionSvc          INFO  --> overlap fraction Stream3 0.33
-DecisionSvc          INFO  Stream CollBad 0 events
-DecisionSvc          INFO  Stream CollBar 1 events
-DecisionSvc          INFO  --> overlap fraction CollTrig 1.00
-DecisionSvc          INFO  --> overlap fraction Others 1.00
-DecisionSvc          INFO  Stream CollBit1 7 events
-DecisionSvc          INFO  --> overlap fraction Coll1and7 0.14
-DecisionSvc          INFO  --> overlap fraction Coll23 0.29
-DecisionSvc          INFO  --> overlap fraction Coll348 0.14
-DecisionSvc          INFO  --> overlap fraction CollTrig 1.00
-DecisionSvc          INFO  --> overlap fraction Stream1 1.00
-DecisionSvc          INFO  Stream CollTrig 20 events
-DecisionSvc          INFO  --> overlap fraction Coll1and7 0.05
-DecisionSvc          INFO  --> overlap fraction Coll23 0.70
-DecisionSvc          INFO  --> overlap fraction Coll348 0.45
-DecisionSvc          INFO  --> overlap fraction Coll456 0.15
-DecisionSvc          INFO  --> overlap fraction CollBar 0.05
-DecisionSvc          INFO  --> overlap fraction CollBit1 0.35
-DecisionSvc          INFO  --> overlap fraction Others 0.05
-DecisionSvc          INFO  --> overlap fraction Stream1 0.35
-DecisionSvc          INFO  --> overlap fraction Stream2 0.35
-DecisionSvc          INFO  --> overlap fraction Stream3 0.25
-DecisionSvc          INFO  Stream Others 1 events
-DecisionSvc          INFO  --> overlap fraction CollBar 1.00
-DecisionSvc          INFO  --> overlap fraction CollTrig 1.00
-DecisionSvc          INFO  Stream Stream1 7 events
-DecisionSvc          INFO  --> overlap fraction Coll1and7 0.14
-DecisionSvc          INFO  --> overlap fraction Coll23 0.29
-DecisionSvc          INFO  --> overlap fraction Coll348 0.14
-DecisionSvc          INFO  --> overlap fraction CollBit1 1.00
-DecisionSvc          INFO  --> overlap fraction CollTrig 1.00
-DecisionSvc          INFO  Stream Stream2 7 events
-DecisionSvc          INFO  --> overlap fraction Coll23 1.00
-DecisionSvc          INFO  --> overlap fraction Coll348 0.43
-DecisionSvc          INFO  --> overlap fraction Coll456 0.29
-DecisionSvc          INFO  --> overlap fraction CollTrig 1.00
-DecisionSvc          INFO  Stream Stream3 5 events
-DecisionSvc          INFO  --> overlap fraction Coll23 1.00
-DecisionSvc          INFO  --> overlap fraction Coll348 1.00
-DecisionSvc          INFO  --> overlap fraction Coll456 0.20
-DecisionSvc          INFO  --> overlap fraction CollTrig 1.00
+name: "SplittableCollection.root"  tech: ROOT  desc: TAG  flags: READ  i_flags: READ  Fd: 4  ptr: 0x15a8aa40  [o] [u]
diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/BSMetaWrite.py b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/BSMetaWrite.py
index 8b4df18b8a7..01fa86f8886 100755
--- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/BSMetaWrite.py
+++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/BSMetaWrite.py
@@ -34,6 +34,10 @@ if not hasattr(svcMgr,"ByteStreamCnvSvc"):
    from ByteStreamCnvSvc import WriteByteStream
    # Define the output
    StreamBSFileOutput = WriteByteStream.getStream("EventStorage","StreamBSFileOutput")
+   try:
+      os.remove('metatest.data')
+   except OSError:
+      pass
    svcMgr.ByteStreamEventStorageOutputSvc.SimpleFileName = "metatest.data"
    svcMgr.ByteStreamEventStorageOutputSvc.AttributeListKeys = ['RunEventTag']
 
diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/BSMetaWriteNone.py b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/BSMetaWriteNone.py
index fa62a5af65c..4fc2e00c3a2 100755
--- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/BSMetaWriteNone.py
+++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/BSMetaWriteNone.py
@@ -39,6 +39,10 @@ if not hasattr(svcMgr,"ByteStreamCnvSvc"):
    from ByteStreamCnvSvc import WriteByteStream
    # Define the output
    StreamBSFileOutput = WriteByteStream.getStream("EventStorage","StreamBSFileOutput")
+   try:
+      os.remove('metatest2.data')
+   except OSError:
+      pass
    svcMgr.ByteStreamEventStorageOutputSvc.SimpleFileName = "metatest2.data"
    svcMgr.ByteStreamEventStorageOutputSvc.AttributeListKeys = ['RunEventTag']
    StreamBSFileOutput.AcceptAlgs = ["PassNoneFilter"]
diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/AddTrigMap.cxx b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/AddTrigMap.cxx
index 577026e99ac..e2eca1f5943 100755
--- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/AddTrigMap.cxx
+++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/AddTrigMap.cxx
@@ -11,21 +11,19 @@
 
 // the user data-class defintions
 #include "AthenaPoolTestData/TrigPath.h"
-#include "AthenaPoolTestData/FauxTriggerMap.h"
-#include "GaudiKernel/MsgStream.h"
-#include "GaudiKernel/Property.h"
-#include "GaudiKernel/AlgFactory.h"
-                                                          
-#include "StoreGate/StoreGateSvc.h"
+//#include "AthenaPoolTestData/FauxTriggerMap.h"
 
 #include <string>
-#include "EventInfo/EventInfo.h"
+//#include "EventInfo/EventInfo.h"
 #include "EventInfo/EventID.h"
-
+#include "CxxUtils/make_unique.h"
     
 AddTrigMap::AddTrigMap(const std::string& name, 
 			ISvcLocator* pSvcLocator) :
-              AthAlgorithm(name, pSvcLocator), m_sGevent(0)
+              AthAlgorithm(name, pSvcLocator),
+              m_evt("McEventInfo"),
+              m_wftm("MultiTestTrigMap"),
+              m_wftm2("ExcludeTestTrigMap")
 {}
 
 AddTrigMap::~AddTrigMap() 
@@ -33,41 +31,26 @@ AddTrigMap::~AddTrigMap()
 
 StatusCode AddTrigMap::initialize() 
 { 
-   MsgStream log(msgSvc(), name());
-   log << MSG::INFO << "in initialize()" << endreq;
-                                                                                
-   // Locate the StoreGateSvc and initialize our local ptr
-   StatusCode sc = service("StoreGateSvc", m_sGevent);
-   if (!sc.isSuccess() || 0 == m_sGevent) {
-            log << MSG::ERROR << "Could not find StoreGateSvc" << endreq;
-   } 
-   return sc;
+   ATH_MSG_INFO( "in initialize()"  );
+   ATH_CHECK( m_evt.initialize() );
+   ATH_CHECK( m_wftm.initialize() );
+   ATH_CHECK( m_wftm2.initialize() );
+   return StatusCode::SUCCESS;
 }
 
 StatusCode AddTrigMap::execute() 
 {
-   StatusCode sc = StatusCode::SUCCESS;
-   MsgStream log(msgSvc(), name());
-   log << MSG::DEBUG << "in execute()" << endreq;
+   ATH_MSG_DEBUG( "in execute()"  );
    
    // Check for event header
-   //const DataHandle<xAOD::EventInfo> evt;
-   const DataHandle<EventInfo> evt;
-   sc = m_sGevent->retrieve(evt);
-   if (sc.isFailure()) {
-       log << MSG::FATAL << "Could not find event" << endreq;
-       return(StatusCode::FAILURE);
-   }
-   else {
-       log << MSG::INFO << "Found EventInfo in SG" << endreq;
-   }
-    
+   SG::ReadHandle<EventInfo> evt (m_evt);
    if (!evt.isValid()) {
-       log << MSG::FATAL << "Could not find event" << endreq;
+       ATH_MSG_FATAL( "Could not find event"  );
        return(StatusCode::FAILURE);
    }
-   log << MSG::INFO << "EventInfo event: " << evt->event_ID()->event_number() 
-                    << " run: " << evt->event_ID()->run_number() << endreq;
+
+   ATH_MSG_INFO( "EventInfo event: " << evt->event_ID()->event_number() 
+                         << " run: " << evt->event_ID()->run_number()  );
    //
    // Since we have an event, add the dummy trigger object
    // 
@@ -87,25 +70,18 @@ StatusCode AddTrigMap::execute()
    // Add some paths
    ftm2->addPath(TrigPath(event%4, 2,event%6)); // repeats with period 3
    
-   std::string keythis = "MultiTestTrigMap";
+   // Set up the writing
    if (ftm!=0) {
-     sc = m_sGevent->record(ftm,keythis);
-     if (sc.isFailure()) {
-       log << MSG::ERROR << "could not register FauxTrigger Object " << keythis << endreq;
-       return(StatusCode::FAILURE);
-     }
+     SG::WriteHandle<FauxTriggerMap> wftm(m_wftm);
+     ATH_CHECK( wftm.record (std::make_unique<FauxTriggerMap>(*ftm)) );
    }
    // Now add a copy for exclude list test
-   keythis = "ExcludeTestTrigMap";
    if (ftm2!=0) {
-     sc = m_sGevent->record(ftm2,keythis);
-     if (sc.isFailure()) {
-       log << MSG::ERROR << "could not register FauxTrigger Object " << keythis << endreq;
-       return(StatusCode::FAILURE);
-     }
+     SG::WriteHandle<FauxTriggerMap> wftm2(m_wftm2);
+     ATH_CHECK( wftm2.record (std::make_unique<FauxTriggerMap>(*ftm2)) );
    }
 
-   log << MSG::INFO << "registered all data" << endreq;
+   ATH_MSG_INFO( "registered all data"  );
    return(StatusCode::SUCCESS);
 }   
 
diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/AddTrigMap.h b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/AddTrigMap.h
index a23109981b7..9aa16c76506 100755
--- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/AddTrigMap.h
+++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/AddTrigMap.h
@@ -25,6 +25,12 @@
 
 //#include "GaudiKernel/Algorithm.h"
 #include "AthenaBaseComps/AthAlgorithm.h"
+#include "StoreGate/ReadHandle.h"
+#include "StoreGate/WriteHandleKey.h"
+#include "EventInfo/EventInfo.h"
+
+//#include "AthenaPoolTestData/TrigPath.h"
+#include "AthenaPoolTestData/FauxTriggerMap.h"
 
 class string;
 class ISvcLocator;
@@ -39,8 +45,11 @@ public:
   virtual StatusCode initialize(); 
   virtual StatusCode execute();
   virtual StatusCode finalize();
-                                                                
+
 private:
-  StoreGateSvc* m_sGevent;  /// cache for efficiency.
+  SG::ReadHandleKey<EventInfo> m_evt;
+  SG::WriteHandleKey<FauxTriggerMap> m_wftm;
+  SG::WriteHandleKey<FauxTriggerMap> m_wftm2;
+
 };
 #endif
diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/DummyLumirangeTool.cxx b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/DummyLumirangeTool.cxx
index 8173844c1e7..4d3d4c1c7d8 100755
--- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/DummyLumirangeTool.cxx
+++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/DummyLumirangeTool.cxx
@@ -52,7 +52,8 @@ DummyLumirangeTool::DummyLumirangeTool(const std::string& name,
     m_firstrun(0),
     m_rangesize(40),
     m_blocksperrun(200),
-    m_lumitot(1000)
+    m_lumitot(1000),
+    m_wcmd(name)
 {
     declareProperty("StoreName",    m_storeName, "Store to find input metadata during finalize");
     declareProperty("Granularity",  m_lumigran,  "skip size");
@@ -72,6 +73,8 @@ DummyLumirangeTool::initialize()
 {
    ATH_MSG_DEBUG("In initialize ");
 
+   ATH_CHECK( m_wcmd.initialize() );
+
    std::map<std::string, std::string> defMeta;
 
    // First grab metadata from input
@@ -116,18 +119,15 @@ DummyLumirangeTool::initialize()
    CollectionMetadata* def = new CollectionMetadata(defMeta);
    CollectionMetadataContainer* cont = new CollectionMetadataContainer();
    cont->push_back(def);
-   StatusCode rc = metadataStore->record(cont,this->name());
-   if (!rc.isSuccess()) {
-      ATH_MSG_ERROR("Unable to store Default CollectionMetadataContainer");
-   }
-   else {
-      ATH_MSG_DEBUG("Stored CollectionMetadataContainer in " << m_storeName);
-      ATH_MSG_DEBUG("Size: " << def->size());
-      ATH_MSG_DEBUG("Contents: ");
-      CollectionMetadata::const_iterator i = def->begin();
-      for (CollectionMetadata::const_iterator j=i; j != def->end(); ++j) {
-         ATH_MSG_DEBUG("    "<<j->first<<" "<<j->second);
-      }
+
+   SG::WriteHandle<CollectionMetadataContainer> wcmd(m_wcmd);
+   ATH_CHECK( wcmd.record (std::make_unique<CollectionMetadataContainer>(*cont)) );
+   ATH_MSG_DEBUG("Stored CollectionMetadataContainer in " << m_storeName);
+   ATH_MSG_DEBUG("Size: " << def->size());
+   ATH_MSG_DEBUG("Contents: ");
+   CollectionMetadata::const_iterator i = def->begin();
+   for (CollectionMetadata::const_iterator j=i; j != def->end(); ++j) {
+     ATH_MSG_DEBUG("    "<<j->first<<" "<<j->second);
    }
 
    return AthAlgorithm::initialize();
diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/DummyLumirangeTool.h b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/DummyLumirangeTool.h
index b5834678354..edcc0a84bd2 100755
--- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/DummyLumirangeTool.h
+++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/DummyLumirangeTool.h
@@ -21,6 +21,8 @@
 #include "AthenaBaseComps/AthAlgorithm.h"
 #include "GaudiKernel/Property.h"
 #include "GaudiKernel/ServiceHandle.h"
+#include "StoreGate/WriteHandleKey.h"
+#include "DBDataModel/CollectionMetadata.h"
 
 #include <map>
 
@@ -64,6 +66,9 @@ protected:
   IntegerProperty  m_lumigran, m_firstrun;
   IntegerProperty  m_rangesize, m_blocksperrun, m_lumitot;
 
+private:
+  SG::WriteHandleKey<CollectionMetadataContainer> m_wcmd;
+
 };
 
 //<<<<<< INLINE PUBLIC FUNCTIONS                                        >>>>>>
diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/EventSplit.cxx b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/EventSplit.cxx
index eb4a74e0d6e..a29c02f9586 100755
--- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/EventSplit.cxx
+++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/EventSplit.cxx
@@ -15,13 +15,12 @@
 #include "AthenaPoolExampleData/ExampleHit.h"
 #include "AthenaPoolExampleData/ExampleTrack.h"
 #include "AthenaPoolTestData/TrigPath.h"
-#include "AthenaPoolTestData/FauxTriggerMap.h"
+//#include "AthenaPoolTestData/FauxTriggerMap.h"
 
 #include "GaudiKernel/MsgStream.h"
 #include "GaudiKernel/AlgFactory.h"
-#include "GaudiKernel/PropertyMgr.h"
 
-#include "EventInfo/EventInfo.h"
+//#include "EventInfo/EventInfo.h"
 #include "EventInfo/EventID.h"
 
 #include "StoreGate/StoreGateSvc.h"
@@ -29,9 +28,10 @@
 //___________________________________________________________________________
 EventSplit::EventSplit(const std::string& name, ISvcLocator* pSvcLocator) : 
    AthFilterAlgorithm(name, pSvcLocator), 
-   m_sGevent(0),
    m_l1bits(0),
-   m_l2bits(0) 
+   m_l2bits(0),
+   m_evt("McEventInfo"),
+   m_rftm("MultiTestTrigMap")
 {
    // Declare the properties
    declareProperty("L1bitmask", m_l1bits);
@@ -43,69 +43,48 @@ EventSplit::~EventSplit()
 
 StatusCode EventSplit::initialize() 
 {
-   MsgStream log(msgSvc(), name());
-   log << MSG::INFO << "in initialize()" << endreq;
-
-   // Locate the StoreGateSvc and initialize our local ptr
-   StatusCode sc = service("StoreGateSvc", m_sGevent);
-   if (!sc.isSuccess() || 0 == m_sGevent) {
-      log << MSG::ERROR << "Could not find StoreGateSvc" << endreq;
-   }
-   return(sc);
+   ATH_MSG_INFO( "in initialize()"  );
+   ATH_CHECK( m_evt.initialize() );
+   ATH_CHECK( m_rftm.initialize() );
+   return StatusCode::SUCCESS;
 }
 
 StatusCode EventSplit::execute() 
 {
-   StatusCode sc = StatusCode::SUCCESS;
-   MsgStream log(msgSvc(), name());
-   log << MSG::DEBUG << "in execute()" << endreq;
+   ATH_MSG_DEBUG( "in execute()"  );
 
    // Get the event header, print out event and run number
-   //const DataHandle<xAOD::EventInfo> evt;
-   const DataHandle<EventInfo> evt;
-   sc = m_sGevent->retrieve(evt);
-   if (sc.isFailure()) {
-      log << MSG::FATAL << "Could not find event" << endreq;
-      return(StatusCode::FAILURE);
-   }
+   SG::ReadHandle<EventInfo> evt (m_evt);
    if (!evt.isValid()) {
-      log << MSG::FATAL << "Could not find event" << endreq;
+      ATH_MSG_FATAL( "Could not find event"  );
       return(StatusCode::FAILURE);
    }
-   log << MSG::INFO << "EventInfo event: " << evt->event_ID()->event_number() 
-	            << " run: " << evt->event_ID()->run_number() << endreq;
-   // Get the DataObject, print out its contents
-   log << MSG::INFO << "Get Smart data ptr 1" << endreq;
+   ATH_MSG_INFO( "EventInfo event: " << evt->event_ID()->event_number() 
+                         << " run: " << evt->event_ID()->run_number()  );
    
    this->setFilterPassed(false);
    // Let's look for the TriggerMap information
-   if (m_sGevent->contains<FauxTriggerMap>("MultiTestTrigMap")) {
-      const DataHandle<FauxTriggerMap> eh;
-      sc = m_sGevent->retrieve(eh, "MultiTestTrigMap");
-      if (!sc.isSuccess()) {
-         log << MSG::ERROR << "Could not find FauxTriggerMap" << endreq;
-         //return(StatusCode::FAILURE);
-         return(StatusCode::SUCCESS);
-      }
-      // Now check for requested bits in L1 
-      log << MSG::DEBUG << "Trigmask = " << static_cast<int>(eh->bits()) << endreq;
-      if (m_l1bits & eh->bits()) {
-	 setFilterPassed(true);
-	 log << MSG::INFO << "L1 passed" << endreq;
-      } else {
-	 log << MSG::INFO << "L1 failed" << endreq;
-      }
+   SG::ReadHandle<FauxTriggerMap> eh(m_rftm);
+   // Exit if no trigmap info
+   if (!eh.isValid()) {
+     ATH_MSG_ERROR( "Could not find FauxTriggerMap"  );
+     return(StatusCode::SUCCESS);
    }
-   else {
-      log << MSG::WARNING << "Could not find TrigMap object!" << endreq;
+
+   // Now check for requested bits in L1 
+   ATH_MSG_DEBUG( "Trigmask = " << static_cast<int>(eh->bits())  );
+   if (m_l1bits & eh->bits()) {
+     setFilterPassed(true);
+     ATH_MSG_INFO( "L1 passed"  );
+   } else {
+     ATH_MSG_INFO( "L1 failed"  );
    }
-   // Let's look for the TriggerInfo object
+
    return(StatusCode::SUCCESS);
 }
 
 StatusCode EventSplit::finalize() 
 {
-   MsgStream log(msgSvc(), name());
-   log << MSG::INFO << "in finalize()" << endreq;
+   ATH_MSG_INFO( "in finalize()"  );
    return(StatusCode::SUCCESS);
 }
diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/EventSplit.h b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/EventSplit.h
index ec866ea84ca..c681ed72f08 100755
--- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/EventSplit.h
+++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/EventSplit.h
@@ -25,6 +25,10 @@
              
 
 #include "AthenaBaseComps/AthFilterAlgorithm.h"
+#include "StoreGate/ReadHandle.h"
+#include "StoreGate/ReadHandleKey.h"
+#include "EventInfo/EventInfo.h"
+#include "AthenaPoolTestData/FauxTriggerMap.h"
 
 class string;
 class StoreGateSvc;
@@ -39,8 +43,9 @@ public:
   virtual StatusCode finalize();
   
 private:
-  StoreGateSvc* m_sGevent;  /// cache for efficiency.
   unsigned int m_l1bits;    /// level 1 bit mask 
   unsigned int m_l2bits;    /// level 2 bit mask 
+  SG::ReadHandleKey<EventInfo> m_evt;
+  SG::ReadHandleKey<FauxTriggerMap> m_rftm;
 };
 #endif
diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/EventTagReader.cxx b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/EventTagReader.cxx
index 13310570fc3..b6b5d3bbaf1 100755
--- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/EventTagReader.cxx
+++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/EventTagReader.cxx
@@ -26,8 +26,7 @@
 
 EventTagReader::EventTagReader(const std::string& name,
                                ISvcLocator* pSvcLocator) :
-  AthAlgorithm(name, pSvcLocator),
-  m_storeGateSvc(0)
+  AthAlgorithm(name, pSvcLocator)
 {
 }
 
@@ -38,46 +37,32 @@ EventTagReader::~EventTagReader()
 
 StatusCode EventTagReader::initialize()
 {
-  StatusCode sc = StatusCode::SUCCESS;
-
-  MsgStream log(messageService(), name());
-
-  log << MSG::DEBUG << "Initializing " << name() << endreq;
-
-  sc = service("StoreGateSvc", m_storeGateSvc);
-  if (sc.isFailure())
-  {
-    log << MSG::ERROR << "Cannot get StoreGate service." << endreq;
-    return sc;
-  }
-
+  ATH_MSG_DEBUG( "Initializing " << name()  );
   return StatusCode::SUCCESS;      
 }
 
 
 StatusCode EventTagReader::execute()
 { 
-  MsgStream log(messageService(), name());   
-  
-  log << MSG::DEBUG << "Executing " << name() << endreq;
+  ATH_MSG_DEBUG( "Executing " << name()  );
 
   const AthenaAttributeList* attribList;
-  StatusCode sc = m_storeGateSvc->retrieve(attribList, "Input");
-  //log << MSG::INFO << "BLARG " << m_storeGateSvc->dump() << endreq;
+  StatusCode sc = evtStore()->retrieve(attribList, "Input");
+  //log << MSG::INFO << "BLARG " << m_storeGateSvc->dump() << endmsg;
 
   if (sc.isSuccess()) {
   
      //const coral::AttributeList& attribList = cursor.currentRow().attributeList();
-     log << MSG::DEBUG << "Attribute list is: " << endreq;
+     ATH_MSG_DEBUG( "Attribute list is: "  );
      for (coral::AttributeList::const_iterator first = attribList->begin(); 
                                                first != attribList->end(); 
                                              ++first)
      {
        std::ostringstream value;
        (*first).toOutputStream(value);
-       log << MSG::DEBUG << "NAME " << (*first).specification().name() << " TYPE " 
-           << (*first).specification().typeName() << " VALUE "
-           << value.str() << endreq;
+       ATH_MSG_DEBUG( "NAME " << (*first).specification().name() << " TYPE " 
+                      << (*first).specification().typeName() << " VALUE "
+                      << value.str()  );
      }
   }
 
@@ -87,10 +72,7 @@ StatusCode EventTagReader::execute()
 
 StatusCode EventTagReader::finalize() 
 {
-  MsgStream log(messageService(), name());
-
-  log << MSG::DEBUG << "Finalizing " << name() << endreq;
-
+  ATH_MSG_DEBUG( "Finalizing " << name()  );
   return StatusCode::SUCCESS;
 }
 
diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/EventTagReader.h b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/EventTagReader.h
index 03d01d06811..7aac11767ce 100755
--- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/EventTagReader.h
+++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/EventTagReader.h
@@ -62,12 +62,6 @@ class EventTagReader : public AthAlgorithm
      * @return Status of method execution success
      */
     virtual StatusCode finalize();
-
-  private:
-
-    /// Store Gate service accessor
-    StoreGateSvc* m_storeGateSvc;
-
 };
 #endif
      
diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/EventTagWriter.cxx b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/EventTagWriter.cxx
index 0f19bc891a0..ec969163676 100755
--- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/EventTagWriter.cxx
+++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/EventTagWriter.cxx
@@ -16,12 +16,7 @@
 #include "EventInfo/EventID.h"
 #include "AthenaPoolUtilities/AthenaAttributeList.h"
 
-#include "GaudiKernel/Bootstrap.h"
-#include "GaudiKernel/ISvcLocator.h"
-#include "GaudiKernel/MsgStream.h"
-#include "GaudiKernel/PropertyMgr.h"
 #include "GaudiKernel/RndmGenerators.h"
-
 #include "POOLCore/Exception.h"
 
 #include "CoralBase/AttributeListSpecification.h"
@@ -34,7 +29,6 @@
 EventTagWriter::EventTagWriter(const std::string& name, 
                                ISvcLocator* pSvcLocator) 
     : AthAlgorithm(name, pSvcLocator),
-      m_storeGateSvc(0),
       m_attribListSpec(0),
       m_maxNum(5)
 {
@@ -53,23 +47,12 @@ EventTagWriter::~EventTagWriter()
 
 StatusCode EventTagWriter::initialize() 
 {
-  StatusCode sc = StatusCode::SUCCESS;
   char attribNum[128];
   std::string attribName;
 
-  MsgStream log(messageService(), name());
-
-  log << MSG::DEBUG << "Initializing " << name() << endreq;
-
-  sc = service("StoreGateSvc", m_storeGateSvc);
-  if (sc.isFailure()) 
-  {
-    log << MSG::ERROR << "Unable to get pointer to StoreGate service."
-         << endreq;
-    return sc;
-  }
+  ATH_MSG_DEBUG( "Initializing " << name()  );
 
-  log << MSG::DEBUG << "Defining the attribute list specification." << endreq;
+  ATH_MSG_DEBUG( "Defining the attribute list specification."  );
   m_attribListSpec = new coral::AttributeListSpecification;
 
   m_attribListSpec->extend("TestBool", "bool");
@@ -200,19 +183,16 @@ StatusCode EventTagWriter::initialize()
     m_attribListSpec->extend(attribName, "float");
   }
 
-  log << MSG::DEBUG << "Printing out attribute list specification:" << endreq;
-  IMessageSvc* msgSvc;
-  sc = Gaudi::svcLocator()->service("MessageSvc", msgSvc);
-  if (sc.isSuccess() ) {
+  ATH_MSG_DEBUG( "Printing out attribute list specification:"  );
+  {
      //if (msgSvc && (msgSvc->outputLevel() <= MSG::DEBUG)) {
-       log << MSG::DEBUG << "Attribute List Specification: " << endreq;
+     ATH_MSG_DEBUG( "Attribute List Specification: "  );
        coral::AttributeListSpecification::const_iterator first = m_attribListSpec->begin();
        coral::AttributeListSpecification::const_iterator last  = m_attribListSpec->end();
        for (; first != last; ++first) 
        {
-         log << MSG::DEBUG << " name " << (*first).name() 
-                           << " type " << (*first).typeName() 
-                           << endreq;
+         ATH_MSG_DEBUG( " name " << (*first).name() 
+                        << " type " << (*first).typeName() );
        }
      //}
   }
@@ -233,32 +213,28 @@ StatusCode EventTagWriter::execute()
   Rndm::Numbers vtxDist(randSvc(), Rndm::Gauss(-8.0, 8.0));
   Rndm::Numbers lumDist(randSvc(), Rndm::Flat(10.0e+33, 10.0e+35));
 
-  MsgStream log(messageService(), name());
-
-  log << MSG::DEBUG << "Executing " << name() << endreq;
+  ATH_MSG_DEBUG( "Executing " << name()  );
 
   AthenaAttributeList* attribList = 0;
-  log << MSG::DEBUG << "Creating AthenaAttributeList object." << endreq;
+  ATH_MSG_DEBUG( "Creating AthenaAttributeList object."  );
   try 
   {
     attribList = new AthenaAttributeList(*m_attribListSpec);
   } 
   catch (pool::Exception e) 
   {
-    log << MSG::ERROR
-        << "Caught exception during creation of AthenaAttributeList object."
-        << "Message: " << e.what() << endreq;
+    ATH_MSG_ERROR( "Caught exception during creation of AthenaAttributeList object."
+                   << "Message: " << e.what()  );
     return (StatusCode::FAILURE);
   }
 
   if (!attribList)
   {
-    log << MSG::ERROR << "Attribute list object is NULL." << endreq;
+    ATH_MSG_ERROR( "Attribute list object is NULL."  );
     return (StatusCode::FAILURE);
   }
 
-  log << MSG::DEBUG << "Adding type test data to AthenaAttributeList." 
-      << endreq;
+  ATH_MSG_DEBUG( "Adding type test data to AthenaAttributeList." );
   bool testBool = true;
   randInt = (int) ( genericDist.shoot() );
   if( randInt%2 ) testBool = false;
@@ -288,28 +264,24 @@ StatusCode EventTagWriter::execute()
   } 
   catch (pool::Exception e) 
   {
-    log << MSG::ERROR
-        << "Caught exception from data() when setting type test "
-        << "attributes; Message:" << e.what() 
-        << endreq;
+    ATH_MSG_ERROR( "Caught exception from data() when setting type test "
+                   << "attributes; Message:" << e.what() );
     return (StatusCode::FAILURE);
   }
-  log << MSG::DEBUG << "Finished adding type test data to AthenaAttributeList."
-      << endreq;
+  ATH_MSG_DEBUG( "Finished adding type test data to AthenaAttributeList." );
 
-  log << MSG::DEBUG << "Retrieving event info from TDS." << endreq;
+  ATH_MSG_DEBUG( "Retrieving event info from TDS."  );
   const EventInfo* eventInfo;
-  sc = m_storeGateSvc->retrieve(eventInfo);
+  sc = evtStore()->retrieve(eventInfo);
   if (sc.isFailure()) 
   {
-    log << MSG::ERROR << "Could not retrieve event info from TDS." << endreq;
+    ATH_MSG_ERROR( "Could not retrieve event info from TDS."  );
   }
 
   unsigned short runNumber = eventInfo->event_ID()->run_number();
   unsigned short eventNumber = eventInfo->event_ID()->event_number();
 
-  log << MSG::DEBUG << "Adding AOD global data to AthenaAttributeList." 
-      << endreq;
+  ATH_MSG_DEBUG( "Adding AOD global data to AthenaAttributeList." );
   unsigned short nGlobal = 0;
   float luminosity = (float) ( lumDist.shoot());
   bool goodVertex = true;
@@ -336,17 +308,13 @@ StatusCode EventTagWriter::execute()
   } 
   catch (pool::Exception e) 
   {
-    log << MSG::ERROR
-        << "Caught exception from data() when setting AOD global "
-        << "attributes; Message:" << e.what()
-        << endreq;
+    ATH_MSG_ERROR( "Caught exception from data() when setting AOD global "
+                   << "attributes; Message:" << e.what() );
     return (StatusCode::FAILURE);
   }
-  log << MSG::DEBUG << "Finished adding AODglobal data to AthenaAttributeList."
-      << endreq;
+  ATH_MSG_DEBUG( "Finished adding AODglobal data to AthenaAttributeList." );
 
-  log << MSG::DEBUG << "Adding AOD electron data to AthenaAttributeList." 
-      << endreq;  
+  ATH_MSG_DEBUG( "Adding AOD electron data to AthenaAttributeList." );
   unsigned short nEGamma = 0;
   float eEGamma = 0.0;
   float etaEGamma = 0.0;
@@ -371,11 +339,10 @@ StatusCode EventTagWriter::execute()
     assert(nEGamma <= m_maxNum);
   }
   (*attribList)["NEGamma"].data<unsigned short>() = nEGamma;
-  log << MSG::DEBUG << "Finished adding AOD electron data to "
-      << "AthenaAttributeList." << endreq;
+  ATH_MSG_DEBUG( "Finished adding AOD electron data to "
+                 << "AthenaAttributeList."  );
 
-  log << MSG::DEBUG << "Adding AOD muon data to AthenaAttributeList." 
-      << endreq;
+  ATH_MSG_DEBUG( "Adding AOD muon data to AthenaAttributeList." );
   unsigned short nMuon = 0;
   float ptMuon = 0.0;
   float cotetaMuon = 0.0;
@@ -396,10 +363,9 @@ StatusCode EventTagWriter::execute()
     assert(nMuon <= m_maxNum);
   }
   (*attribList)["NMuon"].data<unsigned short>() = nMuon;
-  log << MSG::DEBUG << "Finished adding AOD muon data to AthenaAttributeList."
-      << endreq;
+  ATH_MSG_DEBUG( "Finished adding AOD muon data to AthenaAttributeList." );
 
-  log << MSG::DEBUG << "Adding AOD tau data to AthenaAttributeList." << endreq;
+  ATH_MSG_DEBUG( "Adding AOD tau data to AthenaAttributeList."  );
   unsigned short nTau = 0;
   float eTau = 0.0;
   float etaTau = 0.0;
@@ -428,11 +394,9 @@ StatusCode EventTagWriter::execute()
     assert(nTau <= m_maxNum);
   }
   (*attribList)["NTau"].data<unsigned short>() = nTau;
-  log << MSG::DEBUG << "Finished adding AOD tau data to AthenaAttributeList."
-      << endreq;
+  ATH_MSG_DEBUG( "Finished adding AOD tau data to AthenaAttributeList." );
 
-  log << MSG::DEBUG << "Adding AOD jet data to AthenaAttributeList." 
-      << endreq;
+  ATH_MSG_DEBUG( "Adding AOD jet data to AthenaAttributeList." );
   unsigned short nJet = 0;
   float eJet = 0.0;
   float pxJet = 0.0;
@@ -461,22 +425,11 @@ StatusCode EventTagWriter::execute()
     assert(nJet <= m_maxNum);
   }
   (*attribList)["NJet"].data<unsigned short>() = nJet;
-  log << MSG::DEBUG << "Finished adding AOD jet data to AthenaAttributeList."
-      << endreq;
+  ATH_MSG_DEBUG( "Finished adding AOD jet data to AthenaAttributeList." );
 
-  sc = m_storeGateSvc->record(attribList, "SimpleTag");
-  if (sc.isFailure()) 
-  {
-    log << MSG::ERROR << "Could not record AthenaAttributeList object."
-         << endreq;
-    return (StatusCode::FAILURE);
-  }
+  ATH_CHECK( evtStore()->record(attribList, "SimpleTag") );
 
-  log << MSG::DEBUG << "Printing out attribute list:" << endreq;
-  IMessageSvc* msgSvc;
-  sc = Gaudi::svcLocator()->service("MessageSvc", msgSvc);
-  //if (sc.isSuccess() && msgSvc && (msgSvc->outputLevel() <= MSG::DEBUG))
-  if (sc.isSuccess())
+  ATH_MSG_DEBUG( "Printing out attribute list:"  );
   {
     coral::AttributeList::const_iterator first = attribList->begin();
     coral::AttributeList::const_iterator last  = attribList->end();
@@ -485,93 +438,80 @@ StatusCode EventTagWriter::execute()
       std::string typeName = (*first).specification().typeName();
       if ( typeName == "bool" ) {
         const bool* value = static_cast<const bool*>( (*first).addressOfData() );
-        log << MSG::DEBUG << " name " << name
-                          << " type " << typeName
-                          << " value " << *value 
-                          << endreq;
+        ATH_MSG_DEBUG( " name " << name
+                       << " type " << typeName
+                       << " value " << *value );
       }
       else if ( typeName == "char" ) {
         const char* value = static_cast<const char*>( (*first).addressOfData() );
-        log << MSG::DEBUG << " name " << name
-                          << " type " << typeName
-                          << " value " << *value 
-                          << endreq;
+        ATH_MSG_DEBUG( " name " << name
+                       << " type " << typeName
+                       << " value " << *value );
       }
       else if ( typeName == "unsigned char" ) {
         const unsigned char* value = 
             static_cast<const unsigned char*>( (*first).addressOfData() );
-        log << MSG::DEBUG << " name " << name
-                          << " type " << typeName
-                          << " value " << *value 
-                          << endreq;
+        ATH_MSG_DEBUG( " name " << name
+                       << " type " << typeName
+                       << " value " << *value );
       }
       else if ( typeName == "short") {
         const short* value = static_cast<const short*>( (*first).addressOfData() );
-        log << MSG::DEBUG << " name " << name
-                          << " type " << typeName
-                          << " value " << *value 
-                          << endreq;
+        ATH_MSG_DEBUG( " name " << name
+                       << " type " << typeName
+                       << " value " << *value );
       }
       else if ( typeName == "unsigned short" ) {
         const unsigned short* value = 
             static_cast<const unsigned short*>( (*first).addressOfData() );
-        log << MSG::DEBUG << " name " << name
-                          << " type " << typeName
-                          << " value " << *value 
-                          << endreq;
+        ATH_MSG_DEBUG( " name " << name
+                       << " type " << typeName
+                       << " value " << *value );
       }
       else if ( typeName == "int" ) {
         const int* value = static_cast<const int*>( (*first).addressOfData() );
-        log << MSG::DEBUG << " name " << name
-                          << " type " << typeName
-                          << " value " << *value 
-                          << endreq;
+        ATH_MSG_DEBUG( " name " << name
+                       << " type " << typeName
+                       << " value " << *value );
       }
       else if ( typeName == "unsigned int" ) {
         const unsigned int* value = 
             static_cast<const unsigned int*>( (*first).addressOfData() );
-        log << MSG::DEBUG << " name " << name
-                          << " type " << typeName
-                          << " value " << *value 
-                          << endreq;
+        ATH_MSG_DEBUG( " name " << name
+                       << " type " << typeName
+                       << " value " << *value );
       }
       else if ( typeName == "float" ) {
         const float* value = static_cast<const float*>( (*first).addressOfData() );
-        log << MSG::DEBUG << " name " << name
-                          << " type " << typeName
-                          << " value " << *value 
-                          << endreq;
+        ATH_MSG_DEBUG( " name " << name
+                       << " type " << typeName
+                       << " value " << *value );
       }
       else if ( typeName == "double" ) {
         const double* value = static_cast<const double*>( (*first).addressOfData() );
-        log << MSG::DEBUG << " name " << name
-                          << " type " << typeName
-                          << " value " << *value 
-                          << endreq;
+        ATH_MSG_DEBUG( " name " << name
+                       << " type " << typeName
+                       << " value " << *value );
       }
 /*
       else if ( typeName == "long double" ) {
         const long double* value = 
             static_cast<const long double*>( (*first).addressOfData() );
-        log << MSG::DEBUG << " name " << name
-                          << " type " << typeName
-                          << " value " << *value 
-                          << endreq;
+            ATH_MSG_DEBUG( " name " << name
+                           << " type " << typeName
+                           << " value " << *value );
       }
 */
       else if ( typeName == "string" ) {
         const std::string* value = 
             static_cast<const std::string*>( (*first).addressOfData() );
-        log << MSG::DEBUG << " name " << name
-                          << " type " << typeName
-                          << " value " << *value 
-                          << endreq;
+        ATH_MSG_DEBUG( " name " << name
+                       << " type " << typeName
+                       << " value " << *value );
       }
       else
       {
-        log << MSG::ERROR 
-            << "Unrecognized attribute type: " << typeName
-            << endreq;
+        ATH_MSG_ERROR( "Unrecognized attribute type: " << typeName );
       }
     }
   }
@@ -582,10 +522,7 @@ StatusCode EventTagWriter::execute()
 
 StatusCode EventTagWriter::finalize() 
 {
-  MsgStream log(messageService(), name());
-
-  log << MSG::DEBUG << "Finalizing " << name() << endreq;
-
+  ATH_MSG_DEBUG( "Finalizing " << name()  );
   return (StatusCode::SUCCESS);
 }
 
diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/EventTagWriter.h b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/EventTagWriter.h
index dc45a33fd30..eebef6412f7 100755
--- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/EventTagWriter.h
+++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/EventTagWriter.h
@@ -14,7 +14,6 @@
 
 //#include "GaudiKernel/Algorithm.h"
 #include "AthenaBaseComps/AthAlgorithm.h"
-#include "StoreGate/StoreGateSvc.h"
 
 #include <string>
 
@@ -66,10 +65,6 @@ class EventTagWriter : public AthAlgorithm
     virtual StatusCode finalize();
 
   private:
-
-    /// StoreGate service accessor
-    StoreGateSvc* m_storeGateSvc;
-
     /// Specification of event tag metadata schema
     coral::AttributeListSpecification* m_attribListSpec;
 
diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/RunEventMetaWriter.cxx b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/RunEventMetaWriter.cxx
index a7019fd6e0b..7cfc560f972 100755
--- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/RunEventMetaWriter.cxx
+++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/RunEventMetaWriter.cxx
@@ -16,11 +16,6 @@
 #include "AthenaPoolUtilities/AthenaAttributeList.h"
 #include "CoralBase/AttributeListSpecification.h"
 
-#include "GaudiKernel/Bootstrap.h"
-#include "GaudiKernel/ISvcLocator.h"
-#include "GaudiKernel/MsgStream.h"
-#include "GaudiKernel/PropertyMgr.h"
-
 #include "POOLCore/Exception.h"
 
 #include <cassert>
@@ -47,32 +42,25 @@ RunEventMetaWriter::~RunEventMetaWriter()
 
 StatusCode RunEventMetaWriter::initialize() 
 {
-  StatusCode sc = StatusCode::SUCCESS;
   std::string attribName;
 
-  MsgStream log(messageService(), name());
-
-  log << MSG::DEBUG << "Initializing " << name() << endreq;
+  ATH_MSG_DEBUG( "Initializing " << name()  );
 
-  log << MSG::DEBUG << "Defining the attribute list specification." << endreq;
+  ATH_MSG_DEBUG( "Defining the attribute list specification."  );
   m_attribListSpec = new coral::AttributeListSpecification();
 
   m_attribListSpec->extend("RunNumber", "unsigned int");
   m_attribListSpec->extend("EventNumber", "unsigned int");
 
-  log << MSG::DEBUG << "Printing out attribute list specification:" << endreq;
-  IMessageSvc* msgSvc;
-  sc = Gaudi::svcLocator()->service("MessageSvc", msgSvc);
-  if (sc.isSuccess())
+  ATH_MSG_DEBUG( "Printing out attribute list specification:"  );
   {
-    log << MSG::DEBUG << "Attribute List Specification: " << endreq;
+    ATH_MSG_DEBUG( "Attribute List Specification: "  );
     coral::AttributeListSpecification::const_iterator first = m_attribListSpec->begin();
     coral::AttributeListSpecification::const_iterator last  = m_attribListSpec->end();
     for (; first != last; ++first) 
     {
-      log << MSG::DEBUG << " name " << (*first).name() 
-                        << " type " << (*first).typeName() 
-                        << endreq;
+      ATH_MSG_DEBUG( " name " << (*first).name() 
+                     << " type " << (*first).typeName() );
     }
   }
 
@@ -88,31 +76,28 @@ StatusCode RunEventMetaWriter::start()
 {
   std::string attribName;
 
-  MsgStream log(messageService(), name());
-
-  log << MSG::DEBUG << "Executing " << name() << endreq;
+  ATH_MSG_DEBUG( "Executing " << name()  );
 
   AthenaAttributeList* attribList = 0;
-  log << MSG::DEBUG << "Creating AthenaAttributeList object." << endreq;
+  ATH_MSG_DEBUG( "Creating AthenaAttributeList object."  );
   try 
   {
     attribList = new AthenaAttributeList(*m_attribListSpec);
   } 
   catch (pool::Exception e) 
   {
-    log << MSG::ERROR
-        << "Caught exception during creation of AthenaAttributeList object."
-        << "Message: " << e.what() << endreq;
+    ATH_MSG_ERROR( "Caught exception during creation of AthenaAttributeList object."
+                   << "Message: " << e.what()  );
     return (StatusCode::FAILURE);
   }
 
   if (!attribList)
   {
-    log << MSG::ERROR << "Attribute list object is NULL." << endreq;
+    ATH_MSG_ERROR( "Attribute list object is NULL."  );
     return (StatusCode::FAILURE);
   }
 
-  log << MSG::DEBUG << "About to assign values to Tag Attrib List" << endreq;
+  ATH_MSG_DEBUG( "About to assign values to Tag Attrib List"  );
   try
   {
     (*attribList)["RunNumber"].data<unsigned int>() = 88;
@@ -120,32 +105,28 @@ StatusCode RunEventMetaWriter::start()
   } 
   catch (pool::Exception e) 
   {
-    log << MSG::ERROR
-        << "Caught exception from data() when setting AOD global "
-        << "attributes; Message: " << e.what()
-        << endreq;
+    ATH_MSG_ERROR( "Caught exception from data() when setting AOD global "
+                   << "attributes; Message: " << e.what() );
     return (StatusCode::FAILURE);
   }
-  log << MSG::DEBUG << "Finished adding Run,Event data to AthenaAttributeList."
-      << endreq;
+  ATH_MSG_DEBUG( "Finished adding Run,Event data to AthenaAttributeList." );
 
   if ( !detStore()->contains<AthenaAttributeList>("RunEventTag") ) {
      StatusCode sc = detStore()->record(attribList, "RunEventTag");
-     log << MSG::DEBUG << detStore()->dump() << endreq;
+     ATH_MSG_DEBUG( detStore()->dump()  );
      if (sc.isFailure())
      {
-        log << MSG::ERROR << "Could not record AthenaAttributeList object in DetectorStore."
-            << endreq;
+        ATH_MSG_ERROR( "Could not record AthenaAttributeList object in DetectorStore."
+                      );
         return (StatusCode::FAILURE);
      }
   }
 
-  log << MSG::DEBUG << "Printing out attribute list:" << endreq;
+  ATH_MSG_DEBUG( "Printing out attribute list:"  );
   std::ostringstream attribListStream;
   attribList->toOutputStream(attribListStream);
-  log << MSG::DEBUG << "Attribute List: " 
-                    << attribListStream.str() 
-                    << endreq;
+  ATH_MSG_DEBUG( "Attribute List: " 
+                 << attribListStream.str() );
 
   return (StatusCode::SUCCESS);
 }
@@ -153,9 +134,6 @@ StatusCode RunEventMetaWriter::start()
 
 StatusCode RunEventMetaWriter::finalize() 
 {
-  MsgStream log(messageService(), name());
-
-  log << MSG::DEBUG << "Finalizing " << name() << endreq;
-
+  ATH_MSG_DEBUG( "Finalizing " << name()  );
   return (StatusCode::SUCCESS);
 }
diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/RunEventTagWriter.cxx b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/RunEventTagWriter.cxx
index e72fb9d28b2..4b402477d00 100755
--- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/RunEventTagWriter.cxx
+++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/RunEventTagWriter.cxx
@@ -13,20 +13,16 @@
 #include "RunEventTagWriter.h"
 
 #include "StoreGate/StoreGateSvc.h"
-#include "EventInfo/EventInfo.h"
-#include "xAODEventInfo/EventInfo.h"
+//#include "EventInfo/EventInfo.h"
+//#include "xAODEventInfo/EventInfo.h"
 #include "EventInfo/EventID.h"
-#include "AthenaPoolUtilities/AthenaAttributeList.h"
+//#include "AthenaPoolUtilities/AthenaAttributeList.h"
 //#include "AthenaPoolUtilities/AthenaAttributeListSpecification.h"
 #include "CoralBase/AttributeListSpecification.h"
 //#include "AthenaPoolUtilities/MinimalEventInfoAttributeList.h"
 
-#include "GaudiKernel/Bootstrap.h"
-#include "GaudiKernel/ISvcLocator.h"
-#include "GaudiKernel/MsgStream.h"
-#include "GaudiKernel/PropertyMgr.h"
-
 #include "POOLCore/Exception.h"
+#include "CxxUtils/make_unique.h"
 
 #include <cassert>
 #include <stdlib.h>
@@ -35,7 +31,9 @@
 RunEventTagWriter::RunEventTagWriter(const std::string& name, 
                                      ISvcLocator* pSvcLocator) 
     : AthAlgorithm(name, pSvcLocator),
-      m_storeGateSvc(0),
+      m_evt("McEventInfo"),
+      m_evtx("McEventInfo"),
+      m_attribList("RunEventTag"),
       m_attribListSpec(0)
 {}
 
@@ -51,45 +49,31 @@ RunEventTagWriter::~RunEventTagWriter()
 
 StatusCode RunEventTagWriter::initialize() 
 {
-  StatusCode sc = StatusCode::SUCCESS;
   std::string attribName;
 
-  MsgStream log(messageService(), name());
+  ATH_CHECK( m_evt.initialize() );
+  ATH_CHECK( m_evtx.initialize() );
+  ATH_CHECK( m_attribList.initialize() );
 
-  log << MSG::DEBUG << "Initializing " << name() << endreq;
+  ATH_MSG_DEBUG( "Initializing " << name()  );
 
-  sc = service("StoreGateSvc", m_storeGateSvc);
-  if (sc.isFailure()) 
-  {
-    log << MSG::ERROR << "Unable to get pointer to StoreGate service."
-         << endreq;
-    return sc;
-  }
-
-  log << MSG::DEBUG << "Defining the attribute list specification." << endreq;
+  ATH_MSG_DEBUG( "Defining the attribute list specification."  );
   //m_attribListSpec = new AthenaAttributeListSpecification();
   m_attribListSpec = new coral::AttributeListSpecification();
 
   m_attribListSpec->extend("RunNumber", "unsigned int");
   m_attribListSpec->extend("EventNumber", "unsigned int");
 
-  log << MSG::DEBUG << "Printing out attribute list specification:" << endreq;
-  IMessageSvc* msgSvc;
-  sc = Gaudi::svcLocator()->service("MessageSvc", msgSvc);
-  //if (sc.isSuccess() && msgSvc && (msgSvc->outputLevel() <= MSG::DEBUG))
-  if (sc.isSuccess())
+  ATH_MSG_DEBUG( "Printing out attribute list specification:"  );
+  ATH_MSG_DEBUG( "Attribute List Specification: "  );
+  //AthenaAttributeListSpecification::const_iterator first = m_attribListSpec->begin();
+  //AthenaAttributeListSpecification::const_iterator last  = m_attribListSpec->end();
+  coral::AttributeListSpecification::const_iterator first = m_attribListSpec->begin();
+  coral::AttributeListSpecification::const_iterator last  = m_attribListSpec->end();
+  for (; first != last; ++first) 
   {
-    log << MSG::DEBUG << "Attribute List Specification: " << endreq;
-    //AthenaAttributeListSpecification::const_iterator first = m_attribListSpec->begin();
-    //AthenaAttributeListSpecification::const_iterator last  = m_attribListSpec->end();
-    coral::AttributeListSpecification::const_iterator first = m_attribListSpec->begin();
-    coral::AttributeListSpecification::const_iterator last  = m_attribListSpec->end();
-    for (; first != last; ++first) 
-    {
-      log << MSG::DEBUG << " name " << (*first).name() 
-                        << " type " << (*first).typeName() 
-                        << endreq;
-    }
+    ATH_MSG_DEBUG( " name " << (*first).name() 
+                   << " type " << (*first).typeName() );
   }
 
   return (StatusCode::SUCCESS);
@@ -98,87 +82,67 @@ StatusCode RunEventTagWriter::initialize()
 
 StatusCode RunEventTagWriter::execute() 
 {
-  StatusCode sc = StatusCode::SUCCESS;
   std::string attribName;
 
-  MsgStream log(messageService(), name());
-
-  log << MSG::DEBUG << "Executing " << name() << endreq;
+  ATH_MSG_DEBUG( "Executing " << name()  );
 
   AthenaAttributeList* attribList = 0;
-  log << MSG::DEBUG << "Creating AthenaAttributeList object." << endreq;
+  ATH_MSG_DEBUG( "Creating AthenaAttributeList object."  );
   try 
   {
     attribList = new AthenaAttributeList(*m_attribListSpec);
   } 
   catch (pool::Exception e) 
   {
-    log << MSG::ERROR
-        << "Caught exception during creation of AthenaAttributeList object."
-        << "Message: " << e.what() << endreq;
+    ATH_MSG_ERROR( "Caught exception during creation of AthenaAttributeList object."
+                   << "Message: " << e.what()  );
     return (StatusCode::FAILURE);
   }
 
-  log << MSG::DEBUG << "Retrieving event info from TDS." << endreq;
-  const DataHandle<xAOD::EventInfo> eventInfo;
-  sc = m_storeGateSvc->retrieve(eventInfo);
-  if (sc.isFailure()) 
+  ATH_MSG_DEBUG( "Retrieving event info from TDS."  );
+  SG::ReadHandle<xAOD::EventInfo> evtx (m_evtx);
+  SG::ReadHandle<EventInfo> evt (m_evt);
+  if (!evtx.isValid()) 
   {
-    const DataHandle<EventInfo> oeventInfo;
-    sc = m_storeGateSvc->retrieve(oeventInfo);
-    if (sc.isFailure()) {
-      log << MSG::ERROR << "Could not retrieve event info from TDS." << endreq;
+    if (!evt.isValid()) {
+      ATH_MSG_ERROR( "Could not get event info from TDS."  );
     }
     else {
-      if(fillTag(oeventInfo.cptr(),attribList).isFailure()) {
-        log << MSG::ERROR << "Could not build tag from old event info." << endreq;
+      if(fillTag(evt.cptr(),attribList).isFailure()) {
+        ATH_MSG_ERROR( "Could not build tag from old event info."  );
       }
     }
   }
   else {
-    if(fillTag(eventInfo.cptr(),attribList).isFailure()) {
-      log << MSG::ERROR << "Could not build tag from xaod event info." << endreq;
+    if(fillTag(evtx.cptr(),attribList).isFailure()) {
+      ATH_MSG_ERROR( "Could not build tag from xaod event info."  );
     }
   }
-/*
-  MinimalEventInfoAttributeList meial;
-  meial.init();
-  if (meial.fill(eventInfo.cptr()).isFailure()) {
-    log << MSG::ERROR << "Could not build MinimalEventInfoAttributeList" << endreq;
-  }
-*/
-  sc = m_storeGateSvc->record(attribList, "RunEventTag");
-  if (sc.isFailure()) 
-  {
-    log << MSG::ERROR << "Could not record AthenaAttributeList object."
-         << endreq;
-    return (StatusCode::FAILURE);
-  }
 
-  log << MSG::DEBUG << "Printing out attribute list:" << endreq;
+  //ATH_CHECK( evtStore()->record(attribList, "RunEventTag") );
+  SG::WriteHandle<AthenaAttributeList> attwrite(m_attribList);
+  ATH_CHECK( attwrite.record (std::make_unique<AthenaAttributeList>(*attribList)) );
+
+  ATH_MSG_DEBUG( "Printing out attribute list:"  );
   std::ostringstream attribListStream;
   attribList->toOutputStream(attribListStream);
-  log << MSG::DEBUG << "Attribute List: " 
-                    << attribListStream.str() 
-                    << endreq;
+  ATH_MSG_DEBUG( "Attribute List: " << attribListStream.str() );
 
   return (StatusCode::SUCCESS);
 }
 
 StatusCode RunEventTagWriter::fillTag(const EventInfo* eInfo, AthenaAttributeList* attribList)
 {
-  MsgStream log(messageService(), name());
-
   unsigned int runNumber = eInfo->event_ID()->run_number();
   unsigned int eventNumber = eInfo->event_ID()->event_number();
 
   if (!attribList)
   {
-    log << MSG::ERROR << "Attribute list object is NULL." << endreq;
+    ATH_MSG_ERROR( "Attribute list object is NULL."  );
     return (StatusCode::FAILURE);
   }
 
-  log << MSG::DEBUG << "About to assign values to Tag Attrib List" << endreq;
+  ATH_MSG_DEBUG( "About to assign values to Tag Attrib List"  );
   try
   {
     (*attribList)["RunNumber"].data<unsigned int>() = runNumber;
@@ -186,14 +150,11 @@ StatusCode RunEventTagWriter::fillTag(const EventInfo* eInfo, AthenaAttributeLis
   } 
   catch (pool::Exception e) 
   {
-    log << MSG::ERROR
-        << "Caught exception from data() when setting AOD global "
-        << "attributes; Message: " << e.what()
-        << endreq;
+    ATH_MSG_ERROR( "Caught exception from data() when setting AOD global "
+                   << "attributes; Message: " << e.what() );
     return (StatusCode::FAILURE);
   }
-  log << MSG::DEBUG << "Finished adding Run,Event data to AthenaAttributeList."
-      << endreq;
+  ATH_MSG_DEBUG( "Finished adding Run,Event data to AthenaAttributeList." );
 
   return StatusCode::SUCCESS;
 
@@ -201,18 +162,16 @@ StatusCode RunEventTagWriter::fillTag(const EventInfo* eInfo, AthenaAttributeLis
 
 StatusCode RunEventTagWriter::fillTag(const xAOD::EventInfo* eventInfo, AthenaAttributeList* attribList)
 {
-  MsgStream log(messageService(), name());
-
   unsigned int runNumber = eventInfo->runNumber();
   unsigned int eventNumber = eventInfo->eventNumber();
 
   if (!attribList)
   {
-    log << MSG::ERROR << "Attribute list object is NULL." << endreq;
+    ATH_MSG_ERROR( "Attribute list object is NULL."  );
     return (StatusCode::FAILURE);
   }
 
-  log << MSG::DEBUG << "About to assign values to Tag Attrib List" << endreq;
+  ATH_MSG_DEBUG( "About to assign values to Tag Attrib List"  );
   try
   {
     (*attribList)["RunNumber"].data<unsigned int>() = runNumber;
@@ -220,14 +179,11 @@ StatusCode RunEventTagWriter::fillTag(const xAOD::EventInfo* eventInfo, AthenaAt
   } 
   catch (pool::Exception e) 
   {
-    log << MSG::ERROR
-        << "Caught exception from data() when setting AOD global "
-        << "attributes; Message: " << e.what()
-        << endreq;
+    ATH_MSG_ERROR( "Caught exception from data() when setting AOD global "
+                   << "attributes; Message: " << e.what() );
     return (StatusCode::FAILURE);
   }
-  log << MSG::DEBUG << "Finished adding Run,Event data to AthenaAttributeList."
-      << endreq;
+  ATH_MSG_DEBUG( "Finished adding Run,Event data to AthenaAttributeList." );
 
   return StatusCode::SUCCESS;
 
@@ -236,9 +192,6 @@ StatusCode RunEventTagWriter::fillTag(const xAOD::EventInfo* eventInfo, AthenaAt
 
 StatusCode RunEventTagWriter::finalize() 
 {
-  MsgStream log(messageService(), name());
-
-  log << MSG::DEBUG << "Finalizing " << name() << endreq;
-
+  ATH_MSG_DEBUG( "Finalizing " << name()  );
   return (StatusCode::SUCCESS);
 }
diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/RunEventTagWriter.h b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/RunEventTagWriter.h
index c913d29ebf4..922a29b906d 100755
--- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/RunEventTagWriter.h
+++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/RunEventTagWriter.h
@@ -16,7 +16,12 @@
 //#include "GaudiKernel/Algorithm.h"
 #include "AthenaBaseComps/AthAlgorithm.h"
 #include "StoreGate/StoreGateSvc.h"
+#include "StoreGate/ReadHandle.h"
+#include "StoreGate/WriteHandleKey.h"
+
+#include "EventInfo/EventInfo.h"
 #include "xAODEventInfo/EventInfo.h"
+#include "PersistentDataModel/AthenaAttributeList.h"
 
 #include <string>
 
@@ -80,8 +85,9 @@ class RunEventTagWriter : public AthAlgorithm
     StatusCode fillTag(const EventInfo*, AthenaAttributeList*);
     StatusCode fillTag(const xAOD::EventInfo*, AthenaAttributeList*);
 
-    /// StoreGate service accessor
-    StoreGateSvc* m_storeGateSvc;
+    SG::ReadHandleKey<EventInfo> m_evt;
+    SG::ReadHandleKey<xAOD::EventInfo> m_evtx;
+    SG::WriteHandleKey<AthenaAttributeList> m_attribList;
 
     /// Specification of the event tag metadata schema
     coral::AttributeListSpecification* m_attribListSpec;
diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/StoreDump.cxx b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/StoreDump.cxx
index 632b23f567d..0158eba4aeb 100755
--- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/StoreDump.cxx
+++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/StoreDump.cxx
@@ -9,7 +9,6 @@
   
 #include <string>
 #include "StoreDump.h"
-#include "StoreGate/StoreGateSvc.h"
 #include "AthenaPoolUtilities/AthenaAttributeList.h"
     
 StoreDump::StoreDump(const std::string& name, 
@@ -27,20 +26,13 @@ StatusCode StoreDump::initialize() { return StatusCode::SUCCESS; }
 
 StatusCode StoreDump::execute() 
 {
-   MsgStream log(msgSvc(), name());
-   StoreGateSvc* detStore;
-   StatusCode sc = service(m_storename,detStore);
-   if (sc.isFailure()) return StatusCode::FAILURE;
-   log << MSG::INFO << detStore->dump() << endreq;
+   StoreGateSvc* detStore = 0;
+   ATH_CHECK( service(m_storename,detStore) );
+   ATH_MSG_INFO( detStore->dump()  );
 
-   AthenaAttributeList* test;
-   sc = detStore->retrieve(test,m_key);
-   if (sc.isSuccess()) {
-      log << MSG::INFO << "AttributeList has size " << test->size() << endreq;
-   }
-   else {
-      log << MSG::ERROR << "AthenaAttributeList not retrievable" << endreq;
-   }
+   AthenaAttributeList* test = 0;
+   ATH_CHECK( detStore->retrieve(test,m_key) );
+   ATH_MSG_INFO( "AttributeList has size " << test->size()  );
 
    return StatusCode::SUCCESS; 
 }
diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/TagEventTagWriter.cxx b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/TagEventTagWriter.cxx
index 95f3a2f0ddf..3437e7568e7 100755
--- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/TagEventTagWriter.cxx
+++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/TagEventTagWriter.cxx
@@ -20,7 +20,6 @@
 #include "GaudiKernel/Bootstrap.h"
 #include "GaudiKernel/ISvcLocator.h"
 #include "GaudiKernel/MsgStream.h"
-#include "GaudiKernel/PropertyMgr.h"
 #include "GaudiKernel/RndmGenerators.h"
 
 #include "POOLCore/Exception.h"
@@ -35,7 +34,6 @@
 TagEventTagWriter::TagEventTagWriter(const std::string& name, 
                                ISvcLocator* pSvcLocator) 
     : AthAlgorithm(name, pSvcLocator),
-      m_storeGateSvc(0),
       m_attribListSpec(0),
       m_maxNum(5)
 {
@@ -54,23 +52,12 @@ TagEventTagWriter::~TagEventTagWriter()
 
 StatusCode TagEventTagWriter::initialize() 
 {
-  StatusCode sc = StatusCode::SUCCESS;
   char attribNum[128];
   std::string attribName;
 
-  MsgStream log(messageService(), name());
-
-  log << MSG::DEBUG << "Initializing " << name() << endreq;
+  ATH_MSG_DEBUG( "Initializing " << name()  );
 
-  sc = service("StoreGateSvc", m_storeGateSvc);
-  if (sc.isFailure()) 
-  {
-    log << MSG::ERROR << "Unable to get pointer to StoreGate service."
-         << endreq;
-    return sc;
-  }
-
-  log << MSG::DEBUG << "Defining the attribute list specification." << endreq;
+  ATH_MSG_DEBUG( "Defining the attribute list specification."  );
   m_attribListSpec = new AthenaAttributeListSpecification;
 
   m_attribListSpec->extend("TestBool", "bool");
@@ -230,20 +217,15 @@ StatusCode TagEventTagWriter::initialize()
     m_attribListSpec->extend(attribName, phystype);
   }
 
-  log << MSG::DEBUG << "Printing out attribute list specification:" << endreq;
-  IMessageSvc* msgSvc;
-  sc = Gaudi::svcLocator()->service("MessageSvc", msgSvc);
-  //if (sc.isSuccess() && msgSvc && (msgSvc->outputLevel() <= MSG::DEBUG))
-  if (sc.isSuccess())
+  ATH_MSG_DEBUG( "Printing out attribute list specification:"  );
   {
-    log << MSG::DEBUG << "Attribute List Specification: " << endreq;
+    ATH_MSG_DEBUG( "Attribute List Specification: "  );
     AthenaAttributeListSpecification::const_iterator first = m_attribListSpec->begin();
     AthenaAttributeListSpecification::const_iterator last  = m_attribListSpec->end();
     for (; first != last; ++first) 
     {
-      log << MSG::DEBUG << " name " << (*first).name() 
-                        << " type " << (*first).typeName() 
-                        << endreq;
+      ATH_MSG_DEBUG( " name " << (*first).name() 
+                     << " type " << (*first).typeName() );
     }
   }
 
@@ -264,32 +246,28 @@ StatusCode TagEventTagWriter::execute()
   Rndm::Numbers vtxDist(randSvc(), Rndm::Gauss(-8.0, 8.0));
   Rndm::Numbers lumDist(randSvc(), Rndm::Flat(10.0e+33, 10.0e+35));
 
-  MsgStream log(messageService(), name());
-
-  log << MSG::DEBUG << "Executing " << name() << endreq;
+  ATH_MSG_DEBUG( "Executing " << name()  );
 
   TagAthenaAttributeList* attribList = 0;
-  log << MSG::DEBUG << "Creating TagAthenaAttributeList object." << endreq;
+  ATH_MSG_DEBUG( "Creating TagAthenaAttributeList object."  );
   try 
   {
     attribList = new TagAthenaAttributeList(*m_attribListSpec);
   } 
   catch (pool::Exception e) 
   {
-    log << MSG::ERROR
-        << "Caught exception during creation of TagAthenaAttributeList object."
-        << "Message: " << e.what() << endreq;
+    ATH_MSG_ERROR( "Caught exception during creation of TagAthenaAttributeList object."
+                   << "Message: " << e.what()  );
     return (StatusCode::FAILURE);
   }
 
   if (!attribList)
   {
-    log << MSG::ERROR << "Attribute list object is NULL." << endreq;
+    ATH_MSG_ERROR( "Attribute list object is NULL."  );
     return (StatusCode::FAILURE);
   }
 
-  log << MSG::DEBUG << "Adding type test data to TagAthenaAttributeList." 
-      << endreq;
+  ATH_MSG_DEBUG( "Adding type test data to TagAthenaAttributeList." );
   bool testBool = true;
   randInt = (int) ( genericDist.shoot() );
   if( randInt%2 ) testBool = false;
@@ -319,28 +297,24 @@ StatusCode TagEventTagWriter::execute()
   } 
   catch (pool::Exception e) 
   {
-    log << MSG::ERROR
-        << "Caught exception from data() when setting type test "
-        << "attributes; Message:" << e.what() 
-        << endreq;
+    ATH_MSG_ERROR( "Caught exception from data() when setting type test "
+                   << "attributes; Message:" << e.what() );
     return (StatusCode::FAILURE);
   }
-  log << MSG::DEBUG << "Finished adding type test data to TagAthenaAttributeList."
-      << endreq;
+  ATH_MSG_DEBUG( "Finished adding type test data to TagAthenaAttributeList." );
 
-  log << MSG::DEBUG << "Retrieving event info from TDS." << endreq;
-  const EventInfo* eventInfo;
-  sc = m_storeGateSvc->retrieve(eventInfo);
+  ATH_MSG_DEBUG( "Retrieving event info from TDS."  );
+  const EventInfo* eventInfo = nullptr;
+  sc = evtStore()->retrieve(eventInfo);
   if (sc.isFailure()) 
   {
-    log << MSG::ERROR << "Could not retrieve event info from TDS." << endreq;
+    ATH_MSG_ERROR( "Could not retrieve event info from TDS."  );
   }
 
   unsigned int runNumber = eventInfo->event_ID()->run_number();
   unsigned int eventNumber = eventInfo->event_ID()->event_number();
 
-  log << MSG::DEBUG << "Adding AOD global data to TagAthenaAttributeList." 
-      << endreq;
+  ATH_MSG_DEBUG( "Adding AOD global data to TagAthenaAttributeList." );
   unsigned short nGlobal = 0;
   float luminosity = (float) ( lumDist.shoot());
   bool goodVertex = true;
@@ -367,17 +341,13 @@ StatusCode TagEventTagWriter::execute()
   } 
   catch (pool::Exception e) 
   {
-    log << MSG::ERROR
-        << "Caught exception from data() when setting AOD global "
-        << "attributes; Message:" << e.what()
-        << endreq;
+    ATH_MSG_ERROR( "Caught exception from data() when setting AOD global "
+                   << "attributes; Message:" << e.what() );
     return (StatusCode::FAILURE);
   }
-  log << MSG::DEBUG << "Finished adding AODglobal data to AthenaAttributeList."
-      << endreq;
+  ATH_MSG_DEBUG( "Finished adding AODglobal data to AthenaAttributeList." );
 
-  log << MSG::DEBUG << "Adding AOD electron data to AthenaAttributeList." 
-      << endreq;  
+  ATH_MSG_DEBUG( "Adding AOD electron data to AthenaAttributeList." );
   unsigned short nEGamma = 0;
   float eEGamma = 0.0;
   float etaEGamma = 0.0;
@@ -402,11 +372,10 @@ StatusCode TagEventTagWriter::execute()
     assert(nEGamma <= m_maxNum);
   }
   (*attribList)["NEGamma"].data<unsigned short>() = nEGamma;
-  log << MSG::DEBUG << "Finished adding AOD electron data to "
-      << "AthenaAttributeList." << endreq;
+  ATH_MSG_DEBUG( "Finished adding AOD electron data to "
+                 << "AthenaAttributeList."  );
 
-  log << MSG::DEBUG << "Adding AOD muon data to AthenaAttributeList." 
-      << endreq;
+  ATH_MSG_DEBUG( "Adding AOD muon data to AthenaAttributeList." );
   unsigned short nMuon = 0;
   float ptMuon = 0.0;
   float cotetaMuon = 0.0;
@@ -427,10 +396,9 @@ StatusCode TagEventTagWriter::execute()
     assert(nMuon <= m_maxNum);
   }
   (*attribList)["NMuon"].data<unsigned short>() = nMuon;
-  log << MSG::DEBUG << "Finished adding AOD muon data to AthenaAttributeList."
-      << endreq;
+  ATH_MSG_DEBUG( "Finished adding AOD muon data to AthenaAttributeList." );
 
-  log << MSG::DEBUG << "Adding AOD tau data to AthenaAttributeList." << endreq;
+  ATH_MSG_DEBUG( "Adding AOD tau data to AthenaAttributeList."  );
   unsigned short nTau = 0;
   float eTau = 0.0;
   float etaTau = 0.0;
@@ -459,11 +427,9 @@ StatusCode TagEventTagWriter::execute()
     assert(nTau <= m_maxNum);
   }
   (*attribList)["NTau"].data<unsigned short>() = nTau;
-  log << MSG::DEBUG << "Finished adding AOD tau data to AthenaAttributeList."
-      << endreq;
+  ATH_MSG_DEBUG( "Finished adding AOD tau data to AthenaAttributeList." );
 
-  log << MSG::DEBUG << "Adding AOD jet data to AthenaAttributeList." 
-      << endreq;
+  ATH_MSG_DEBUG( "Adding AOD jet data to AthenaAttributeList." );
   unsigned short nJet = 0;
   float eJet = 0.0;
   float pxJet = 0.0;
@@ -492,22 +458,11 @@ StatusCode TagEventTagWriter::execute()
     assert(nJet <= m_maxNum);
   }
   (*attribList)["NJet"].data<unsigned short>() = nJet;
-  log << MSG::DEBUG << "Finished adding AOD jet data to AthenaAttributeList."
-      << endreq;
+  ATH_MSG_DEBUG( "Finished adding AOD jet data to AthenaAttributeList." );
 
-  sc = m_storeGateSvc->record(attribList, "SimpleTag");
-  if (sc.isFailure()) 
-  {
-    log << MSG::ERROR << "Could not record AthenaAttributeList object."
-         << endreq;
-    return (StatusCode::FAILURE);
-  }
+  ATH_CHECK( evtStore()->record(attribList, "SimpleTag") );
 
-  log << MSG::DEBUG << "Printing out attribute list:" << endreq;
-  IMessageSvc* msgSvc;
-  sc = Gaudi::svcLocator()->service("MessageSvc", msgSvc);
-  //if (sc.isSuccess() && msgSvc && (msgSvc->outputLevel() <= MSG::DEBUG))
-  if (sc.isSuccess())
+  ATH_MSG_DEBUG( "Printing out attribute list:"  );
   {
     TagAthenaAttributeList::const_iterator first = attribList->begin();
     TagAthenaAttributeList::const_iterator last  = attribList->end();
@@ -516,83 +471,71 @@ StatusCode TagEventTagWriter::execute()
       std::string typeName = (*first).specification().typeName();
       if ( typeName == "bool" ) {
         const bool* value = static_cast<const bool*>( (*first).addressOfData() );
-        log << MSG::DEBUG << " name " << name
-                          << " type " << typeName
-                          << " value " << *value 
-                          << endreq;
+        ATH_MSG_DEBUG( " name " << name
+                       << " type " << typeName
+                       << " value " << *value );
       }
       else if ( typeName == "char" ) {
         const char* value = static_cast<const char*>( (*first).addressOfData() );
-        log << MSG::DEBUG << " name " << name
-                          << " type " << typeName
-                          << " value " << *value 
-                          << endreq;
+        ATH_MSG_DEBUG( " name " << name
+                       << " type " << typeName
+                       << " value " << *value );
       }
       else if ( typeName == "unsigned char" ) {
         const unsigned char* value = 
             static_cast<const unsigned char*>( (*first).addressOfData() );
-        log << MSG::DEBUG << " name " << name
-                          << " type " << typeName
-                          << " value " << *value 
-                          << endreq;
+        ATH_MSG_DEBUG( " name " << name
+                       << " type " << typeName
+                       << " value " << *value );
       }
       else if ( typeName == "short") {
         const short* value = static_cast<const short*>( (*first).addressOfData() );
-        log << MSG::DEBUG << " name " << name
-                          << " type " << typeName
-                          << " value " << *value 
-                          << endreq;
+        ATH_MSG_DEBUG( " name " << name
+                       << " type " << typeName
+                       << " value " << *value );
       }
       else if ( typeName == "unsigned short" ) {
         const unsigned short* value = 
             static_cast<const unsigned short*>( (*first).addressOfData() );
-        log << MSG::DEBUG << " name " << name
-                          << " type " << typeName
-                          << " value " << *value 
-                          << endreq;
+        ATH_MSG_DEBUG( " name " << name
+                       << " type " << typeName
+                       << " value " << *value );
       }
       else if ( typeName == "int" ) {
         const int* value = static_cast<const int*>( (*first).addressOfData() );
-        log << MSG::DEBUG << " name " << name
-                          << " type " << typeName
-                          << " value " << *value 
-                          << endreq;
+        ATH_MSG_DEBUG( " name " << name
+                       << " type " << typeName
+                       << " value " << *value );
       }
       else if ( typeName == "unsigned int" ) {
         const unsigned int* value = 
             static_cast<const unsigned int*>( (*first).addressOfData() );
-        log << MSG::DEBUG << " name " << name
-                          << " type " << typeName
-                          << " value " << *value 
-                          << endreq;
+        ATH_MSG_DEBUG( " name " << name
+                       << " type " << typeName
+                       << " value " << *value );
       }
       else if ( typeName == "float" ) {
         const float* value = static_cast<const float*>( (*first).addressOfData() );
-        log << MSG::DEBUG << " name " << name
-                          << " type " << typeName
-                          << " value " << *value 
-                          << endreq;
+        ATH_MSG_DEBUG( " name " << name
+                       << " type " << typeName
+                       << " value " << *value );
       }
       else if ( typeName == "double" ) {
         const double* value = static_cast<const double*>( (*first).addressOfData() );
-        log << MSG::DEBUG << " name " << name
-                          << " type " << typeName
-                          << " value " << *value 
-                          << endreq;
+        ATH_MSG_DEBUG( " name " << name
+                       << " type " << typeName
+                       << " value " << *value );
       }
       else if ( typeName == "string" ) {
         const std::string* value = 
             static_cast<const std::string*>( (*first).addressOfData() );
-        log << MSG::DEBUG << " name " << name
-                          << " type " << typeName
-                          << " value " << *value 
-                          << endreq;
+        ATH_MSG_DEBUG( " name " << name
+                       << " type " << typeName
+                       << " value " << *value );
       }
       else
       {
-        log << MSG::ERROR 
-            << "Unrecognized attribute type: " << typeName
-            << endreq;
+        ATH_MSG_ERROR( "Unrecognized attribute type: " << typeName );
       }
     }
   }
@@ -603,10 +546,7 @@ StatusCode TagEventTagWriter::execute()
 
 StatusCode TagEventTagWriter::finalize() 
 {
-  MsgStream log(messageService(), name());
-
-  log << MSG::DEBUG << "Finalizing " << name() << endreq;
-
+  ATH_MSG_DEBUG( "Finalizing " << name()  );
   return (StatusCode::SUCCESS);
 }
 
diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/TagEventTagWriter.h b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/TagEventTagWriter.h
index 19ed0efd9bd..f9db518e55a 100755
--- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/TagEventTagWriter.h
+++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/TagEventTagWriter.h
@@ -63,10 +63,6 @@ class TagEventTagWriter : public AthAlgorithm
     virtual StatusCode finalize();
 
   private:
-
-    /// StoreGate service accessor
-    StoreGateSvc* m_storeGateSvc;
-
     /// Specification of event tag metadata schema
     AthenaAttributeListSpecification* m_attribListSpec;
 
diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/UserMetadataExample.cxx b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/UserMetadataExample.cxx
deleted file mode 100644
index 27312d73b15..00000000000
--- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/UserMetadataExample.cxx
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-/**
- * @file UserMetadataExample.cxx
- * @brief Implementation of class UserMetadataExample
- */
-  
-#include <string>
-#include "UserMetadataExample.h"
-
-#include "StoreGate/StoreGateSvc.h"
-#include "AthenaPoolUtilities/AthenaAttributeList.h"
-#include "ByteStreamData/ByteStreamUserMetadata.h"
-
-UserMetadataExample::UserMetadataExample(const std::string& name, 
-			ISvcLocator* pSvcLocator) :
-              AthAlgorithm(name, pSvcLocator), m_done(false)
-{}
-
-UserMetadataExample::~UserMetadataExample()
-{}
-
-StatusCode UserMetadataExample::initialize() 
-{ 
-   MsgStream log(msgSvc(), name());
-   log << MSG::INFO << "UserMetadataExample::initialize" << endreq;
-   return StatusCode::SUCCESS; 
-}
-
-StatusCode UserMetadataExample::execute() 
-{
-   MsgStream log(msgSvc(), name());
-   log << MSG::INFO << "UserMetadataExampleA::execute" << endreq;
-   if (!m_done) {
-      m_done = true;
-      const DataHandle< AthenaAttributeList > digiParam;
-      //StatusCode sc = detStore()->retrieve( digiParam, "/Digitization/Parameters" );
-      StoreGateSvc* detStore;
-      StatusCode sc = service("DetectorStore",detStore);
-      if (sc.isFailure()) return StatusCode::FAILURE;
-      sc = detStore->retrieve( digiParam, "/Digitization/Parameters" );
-      if (sc.isSuccess()) {
-         //ATH_MSG_DEBUG("Found /Digitization/Parameters in detStore");
-         log << MSG::INFO << "Found /Digitization/Parameters in detStore" << endreq;
-         ByteStream::FreeMetadata* metacont = new ByteStream::FreeMetadata();
-         coral::AttributeList::const_iterator first1 = digiParam->begin();
-         coral::AttributeList::const_iterator last1  = digiParam->end();
-         for (; first1 != last1; ++first1) {
-            const std::string name = (*first1).specification().name();
-            const std::string type = (*first1).specification().typeName();
-            const std::string value = first1->data<std::string>();
-            log << MSG::INFO << "About to push back " << name << ", " << value << endreq;
-            metacont->push_back(ByteStreamFreeMetadataString(name+"/"+type,value));
-         }
-         //sc = detStore()->record(metacont, "/Digitization/Parameters" );
-         sc = detStore->record(metacont, "/Digitization/Parameters" );
-         if (sc.isFailure()) {
-            //ATH_MSG_WARNING("Unable to store ByteStreamFreeMetadataString for /Digitization/Parameters" );
-            log << MSG::WARNING << "Unable to store ByteStreamFreeMetadataString for /Digitization/Parameters" << endreq;
-         }
-      }
-      else {
-         //ATH_MSG_WARNING("Did NOT find /Digitization/Parameters in detStore");
-         log << MSG::WARNING << "Did NOT find /Digitization/Parameters in detStore" << endreq;
-      }
-   }
-   setFilterPassed(true);	
-   return StatusCode::SUCCESS; 
-}
-
-StatusCode UserMetadataExample::finalize() { return StatusCode::SUCCESS; }
diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/UserMetadataExample.h b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/UserMetadataExample.h
deleted file mode 100644
index b235da13fcf..00000000000
--- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/UserMetadataExample.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef ATHENAPOOLMULTITEST_APMTUSEREXAMPLE_H
-#define ATHENAPOOLMULTITEST_APMTUSEREXAMPLE_H
-/**
- * @file UserMetadataExample.h
- * @brief class definition for UserMetadataExample
- */
-
-/**
- * @class UserMetadataExample
- * @brief Simple Filter algorithm which simply sets pass=true for all events.
- * <br>
- * @author Jack Cranshaw (Jack.Cranshaw@cern.ch)
- * Created May 2004 for DC2 Validation tests
- * <i>No settable properties</i>
- * $Id: UserMetadataExample.h,v 1.1 2009-02-19 22:04:49 cranshaw Exp $
- */
-            
-//#include "GaudiKernel/Algorithm.h"
-#include "AthenaBaseComps/AthAlgorithm.h"
- 
-class string;
-class ISvcLocator;
-     
-class UserMetadataExample : public AthAlgorithm 
-{
-public:
-  UserMetadataExample(const std::string& name, ISvcLocator* pSvcLocator);
-  virtual ~UserMetadataExample();
-
-  virtual StatusCode initialize(); 
-  virtual StatusCode execute();
-  virtual StatusCode finalize();
-private:
-  bool m_done;
-};
-#endif
diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/UserMetadataRestoreExample.cxx b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/UserMetadataRestoreExample.cxx
deleted file mode 100644
index d7d793af0f4..00000000000
--- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/UserMetadataRestoreExample.cxx
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-/**
- * @file UserMetadataRestoreExample.cxx
- * @brief Implementation of class UserMetadataRestoreExample
- */
-  
-#include <string>
-#include "UserMetadataRestoreExample.h"
-
-#include "StoreGate/StoreGateSvc.h"
-#include "AthenaPoolUtilities/AthenaAttributeList.h"
-#include "ByteStreamData/ByteStreamUserMetadata.h"
-    
-UserMetadataRestoreExample::UserMetadataRestoreExample(const std::string& name, 
-			ISvcLocator* pSvcLocator) :
-              AthAlgorithm(name, pSvcLocator), m_done(false)
-{
-   declareProperty("DetStoreWrite", m_detStoreWrite);
-}
-
-UserMetadataRestoreExample::~UserMetadataRestoreExample()
-{}
-
-StatusCode UserMetadataRestoreExample::initialize() 
-{ 
-   MsgStream log(msgSvc(), name());
-   log << MSG::INFO << "initialize" << endreq; 
-   // Add empty container for callback registrations
-   StoreGateSvc* mdStore;
-   StatusCode sc = service("DetectorStore",mdStore);
-   if (sc.isFailure()) return StatusCode::FAILURE;
-   AthenaAttributeList* attlist;
-   sc = mdStore->retrieve(attlist,"/Digitization/Parameters" );
-   if (sc.isFailure()) {
-      coral::AttributeListSpecification* spec = new coral::AttributeListSpecification();
-      attlist = new AthenaAttributeList(*spec);
-      StatusCode sc2 = mdStore->record(attlist,"/Digitization/Parameters" );
-      if (sc2.isFailure()) {
-         log << MSG::WARNING << "Unable to store AthenaAttributeList for /Digitization/Parameters" << endreq;
-      }
-   }
-   else log << MSG::INFO << "Stored initial version" << endreq;
-   return StatusCode::SUCCESS; 
-}
-
-StatusCode UserMetadataRestoreExample::execute() { return StatusCode::SUCCESS; }
-
-StatusCode UserMetadataRestoreExample::start() 
-{
-   MsgStream log(msgSvc(), name());
-   log << MSG::DEBUG << "UserMetadataRestoreExample::execute" << endreq;
-   if (!m_done) {
-      m_done = true;
-
-      // First check for metadata from the bytestream file
-      StoreGateSvc* mdStore;
-      StatusCode sc = service("InputMetaDataStore",mdStore);
-      if (sc.isFailure()) return StatusCode::FAILURE;
-      const DataHandle< ByteStream::FreeMetadata > metacont;
-      sc = mdStore->retrieve( metacont, "/Digitization/Parameters" );
-
-      if (sc.isSuccess()) {
-         log << MSG::DEBUG << "Found /Digitization/Parameters in detStore" << endreq;
-
-         // Check for attlist in detector store (should be there from initialize)
-         AthenaAttributeList* attlist;
-         bool found(false);
-         StoreGateSvc* detStore;
-         sc = service("DetectorStore",detStore);
-         if (sc.isFailure()) return StatusCode::FAILURE;
-         sc = detStore->retrieve(attlist,"/Digitization/Parameters" );
-         if (sc.isFailure()) {
-            // build spec
-            // fill att list spec
-            coral::AttributeListSpecification* spec = new coral::AttributeListSpecification();
-            attlist = new AthenaAttributeList(*spec);
-         }
-         else found=true;
-
-         // Add attributes name,types to the spec through attlist
-         ByteStream::FreeMetadata::const_iterator first1 = metacont->begin();
-         ByteStream::FreeMetadata::const_iterator last1  = metacont->end();
-         for (; first1 != last1; ++first1) {
-            std::string name = first1->first.substr(0,first1->first.find('/'));
-            std::string type = first1->first.substr(first1->first.find('/')+1);
-            log << MSG::INFO
-                << "name = " << name << ", type = " << type << ", value = " << first1->second << endreq;
-            attlist->extend(name,type);
-         }
-
-         // Yes we have to loop twice to add the data
-         first1 = metacont->begin();
-         for (; first1 != last1; ++first1) {
-            std::string name = first1->first.substr(0,first1->first.find('/'));
-            std::string type = first1->first.substr(first1->first.find('/')+1);
-            if (type == "string") {
-               (*attlist)[name].data<std::string>() = first1->second;
-            }
-            else {
-               log << MSG::ERROR << "Not a string, ---> SKIPPING!" << endreq;
-            }
-         }
-
-         // If it was not found (ERROR) recover by recording it
-         if (!found) {
-            sc = detStore->record(attlist, "/Digitization/Parameters" );
-            if (sc.isFailure()) {
-               log << MSG::WARNING << "Unable to store AthenaAttributeList for /Digitization/Parameters" << endreq;
-            }
-         }
-      }
-      else {
-         log << MSG::WARNING << "Did NOT find /Digitization/Parameters in detStore" << endreq;
-      }
-   }
-   return StatusCode::SUCCESS; 
-}
-
-StatusCode UserMetadataRestoreExample::finalize() { return StatusCode::SUCCESS; }
-
diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/UserMetadataRestoreExample.h b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/UserMetadataRestoreExample.h
deleted file mode 100644
index 096c805e3bd..00000000000
--- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/UserMetadataRestoreExample.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef ATHENAPOOLMULTITEST_USERMETADATARESTOREEXAMPLE_H
-#define ATHENAPOOLMULTITEST_USERMETADATARESTOREEXAMPLE_H
-/**
- * @file UserMetadataRestoreExample.h
- * @brief class definition for UserMetadataRestoreExample
- */
-
-/**
- * @class UserMetadataRestoreExample
- * @brief Simple Filter algorithm which simply sets pass=true for all events.
- * <br>
- * @author Jack Cranshaw (Jack.Cranshaw@cern.ch)
- * Created May 2004 for DC2 Validation tests
- * <i>No settable properties</i>
- * $Id: UserMetadataRestoreExample.h,v 1.1 2009-02-19 22:04:49 cranshaw Exp $
- */
-            
-#include "AthenaBaseComps/AthAlgorithm.h"
-//#include "GaudiKernel/Algorithm.h"
- 
-class string;
-class ISvcLocator;
-     
-class UserMetadataRestoreExample : public AthAlgorithm 
-{
-public:
-  UserMetadataRestoreExample(const std::string& name, ISvcLocator* pSvcLocator);
-  virtual ~UserMetadataRestoreExample();
-
-  virtual StatusCode initialize(); 
-  virtual StatusCode start();
-  virtual StatusCode execute();
-  virtual StatusCode finalize();
-private:
-  bool m_done;
-  bool m_detStoreWrite;
-};
-#endif
-
diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/components/AthenaPoolMultiTest_entries.cxx b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/components/AthenaPoolMultiTest_entries.cxx
index d6f2723acd7..ff3540db7af 100755
--- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/components/AthenaPoolMultiTest_entries.cxx
+++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/src/components/AthenaPoolMultiTest_entries.cxx
@@ -14,8 +14,6 @@
 #include "../RunEventTagWriter.h"
 #include "../RunEventMetaWriter.h"
 #include "../DummyLumirangeTool.h"
-#include "../UserMetadataExample.h"
-#include "../UserMetadataRestoreExample.h"
 #include "GaudiKernel/DeclareFactoryEntries.h"
 
 DECLARE_ALGORITHM_FACTORY(StoreDump)
@@ -29,8 +27,6 @@ DECLARE_ALGORITHM_FACTORY(TagEventTagWriter)
 DECLARE_ALGORITHM_FACTORY(RunEventTagWriter)
 DECLARE_ALGORITHM_FACTORY(RunEventMetaWriter)
 DECLARE_ALGORITHM_FACTORY(DummyLumirangeTool)
-DECLARE_ALGORITHM_FACTORY(UserMetadataExample)
-DECLARE_ALGORITHM_FACTORY(UserMetadataRestoreExample)
 
 DECLARE_FACTORY_ENTRIES(AthenaPoolMultiTest) {
    DECLARE_ALGORITHM(StoreDump)
@@ -44,6 +40,4 @@ DECLARE_FACTORY_ENTRIES(AthenaPoolMultiTest) {
    DECLARE_ALGORITHM(RunEventTagWriter)
    DECLARE_ALGORITHM(RunEventMetaWriter)
    DECLARE_ALGORITHM(DummyLumirangeTool)
-   DECLARE_ALGORITHM(UserMetadataExample)
-   DECLARE_ALGORITHM(UserMetadataRestoreExample)
 }
diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/AthenaPoolMultiTestCheckNull.ref b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/AthenaPoolMultiTestCheckNull.ref
deleted file mode 100644
index 12831e9466e..00000000000
--- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/AthenaPoolMultiTestCheckNull.ref
+++ /dev/null
@@ -1,62 +0,0 @@
-AthAlgSeq            INFO Member list: AthPoolEx::ReadData/ReadData, RunEventTagWriter, RegistrationStreamDefMeta/DefaultCollMeta
-ReadData             INFO in initialize()
-EventSelector        INFO reinitialization...
-EventSelector        INFO EventSelection with query 
-EventSelector       DEBUG Try item: "PFN:NullableCollection.root" from the collection list.
-EventSelector        INFO Using standard collection ref 
-EventSelector       DEBUG Try item: "PFN:NullableCollection.root" from the collection list.
-AthRegSeq            INFO Member list: RegistrationStream/FullColl
-FullColl            DEBUG In initialize 
-FullColl            DEBUG Found IDecisionSvc.
-DecisionSvc          INFO Inserting stream: FullColl with no Algs
-FullColl            DEBUG End initialize 
-FullColl            DEBUG In initialize 
-FullColl            DEBUG Found  'StoreName':StoreGateSvc store.
-FullColl.Regist...  DEBUG In initialize 
-FullColl.Regist...  DEBUG Found  'StoreName':StoreGateSvc store.
-FullColl.Regist...  DEBUG Found metadata store.
-FullColl.Regist...  DEBUG  Got PoolSvc
-FullColl.Regist...  DEBUG streamProperty CollectionType = ExplicitROOT
-FullColl.Regist...  DEBUG streamProperty Connection = 
-FullColl.Regist...  DEBUG streamProperty OutputCollection = CheckNull.root
-FullColl.Regist...  DEBUG streamProperty CollectionOpenMode = CREATE_AND_OVERWRITE
-FullColl.Regist...  DEBUG streamProperty StoreName = StoreGateSvc
-FullColl.Regist...  DEBUG End initialize 
-FullColl            DEBUG  Tool initialized
-FullColl            DEBUG Retrieved IncidentSvc
-FullColl            DEBUG Added MetaDataStop listener
-FullColl            DEBUG  Not class requested by Tool, skipping (40774348,"RunEventTag") 
-FullColl            DEBUG  Not class requested by Tool, skipping (222376821,"*") 
-FullColl            DEBUG Adding cmd key Default
-FullColl            DEBUG End initialize 
-AthenaEventLoopMgr   INFO Setup EventSelector service EventSelector
-EventSelector       DEBUG Try item: "PFN:NullableCollection.root" from the collection list.
-FullColl            DEBUG handle() incident type: MetaDataStop
-FullColl.Regist...   INFO Collection Events output: 0
-FullColl.Regist...  DEBUG Do initCollection in finalize for m_collection = 0
-FullColl.Regist...  DEBUG  ==> Probably had 0 accepted events
-FullColl.Regist...  DEBUG initCollection
-FullColl.Regist...  DEBUG Collection name:  'OutputCollection':CheckNull.root
-FullColl.Regist...  DEBUG Collection type RootCollection
-FullColl.Regist...  DEBUG Collection open mode  'CollectionOpenMode':CREATE_AND_OVERWRITE
-FullColl.Regist...  DEBUG  Created collection
-FullColl.Regist...  DEBUG pointer to collection is not null
-FullColl.Regist...  DEBUG Found metadata store, MetaDataStore
-FullColl.Regist...  DEBUG Looking for key Input
-FullColl.Regist...  DEBUG Found metadata object for Input in MetaDataStore
-FullColl.Regist...  DEBUG key = PFN:NullableCollection.root|Name; value = PFN:NullableCollection.root
-FullColl.Regist...  DEBUG key = PFN:NullableCollection.root|UnixTimestamp; value = 1415292750
-FullColl.Regist...  DEBUG Looking for key Default
-FullColl.Regist...  DEBUG Found metadata object for Default in MetaDataStore
-FullColl.Regist...  DEBUG key = ConfigTag; value = ATN
-FullColl.Regist...  DEBUG key = PassNumber; value = 2
-FullColl.Regist...  DEBUG key = Project; value = AthenaPoolMultiTest
-FullColl.Regist...  DEBUG key = Stream; value = CheckNull
-FullColl.Regist...  DEBUG Committed collection 
-FullColl.Regist...  DEBUG  Closed collection 
-ReadData             INFO in finalize()
-FullColl            DEBUG In finalize
-FullColl.Regist...  DEBUG In finalize: 0
-FullColl.Regist...  DEBUG Calling destructor
-DecisionSvc          INFO List of registered 1 Streams: FullColl 
-FullColl.FullCo...  DEBUG Calling destructor
diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/AthenaPoolMultiTestCollectInput.ref b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/AthenaPoolMultiTestCollectInput.ref
deleted file mode 100755
index d012410a5e1..00000000000
--- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/AthenaPoolMultiTestCollectInput.ref
+++ /dev/null
@@ -1,40 +0,0 @@
-AthAlgSeq            INFO Member list: RunEventTagWriter, xAODMaker::EventInfoCnvAlg, EventCount, RegistrationStream/RegStream1
-EventSelector        INFO reinitialization...
-EventSelector        INFO EventSelection with query RunNumber != 1000000 && EventNumber > 0
-RootCollection Info Opening Collection File SplittableCollection.root in mode: READ
-RootCollection Info File SplittableCollection.root opened
-EventSelector        INFO Using standard collection ref 
-Domain[ROOT_All] Info                           AthenaPoolMultiTest_Splittable0.root
-RootDatabase.open Success AthenaPoolMultiTest_Splittable0.root File version:60602
-DecisionSvc          INFO Inserting stream: RegStream1 with no Algs
-AthenaEventLoopMgr   INFO Setup EventSelector service EventSelector
-RootCollection Info Closing open collection 'SplittableCollection.root'
-RootCollection Info Opening Collection File SplittableCollection.root in mode: READ
-RootCollection Info File SplittableCollection.root opened
- flags: (  valid,   locked,  reset) --- data:  0xee3a800 --- key: EventSelector
-RegStream1.Regi...   INFO No Primary Key defined
- flags: (  valid,   locked,  reset) --- data:  0xee3aa80 --- key: EventSelector
- flags: (  valid,   locked,  reset) --- data:  0xee3a940 --- key: EventSelector
- flags: (  valid,   locked,  reset) --- data:  0x9fb45a0 --- key: EventSelector
- flags: (  valid,   locked,  reset) --- data:  0xee3aad0 --- key: EventSelector
- flags: (  valid,   locked,  reset) --- data:  0xee3a990 --- key: EventSelector
- flags: (  valid,   locked,  reset) --- data:  0x9fb4500 --- key: EventSelector
- flags: (  valid,   locked,  reset) --- data:  0xee3a850 --- key: EventSelector
- flags: (  valid,   locked,  reset) --- data:  0xf1d3200 --- key: EventSelector
- flags: (  valid,   locked,  reset) --- data:  0xee3a800 --- key: EventSelector
- flags: (  valid,   locked,  reset) --- data:  0xee3aa80 --- key: EventSelector
- flags: (  valid,   locked,  reset) --- data:  0xee3a940 --- key: EventSelector
- flags: (  valid,   locked,  reset) --- data:  0x9fb45a0 --- key: EventSelector
- flags: (  valid,   locked,  reset) --- data:  0xee3aad0 --- key: EventSelector
- flags: (  valid,   locked,  reset) --- data:  0xee3a990 --- key: EventSelector
- flags: (  valid,   locked,  reset) --- data:  0x9fb4500 --- key: EventSelector
- flags: (  valid,   locked,  reset) --- data:  0xee3a850 --- key: EventSelector
- flags: (  valid,   locked,  reset) --- data:  0xf1d3200 --- key: EventSelector
- flags: (  valid,   locked,  reset) --- data:  0xee3a800 --- key: EventSelector
-RootCollection Info Closing open collection 'SplittableCollection.root'
-AthenaPoolMultiTest_Splittable0.root Info Database being retired...
-RootCollection Info Opening Collection File NullableCollection.root in mode: READ
-RootCollection Info File NullableCollection.root opened
-RootCollection Info Closing open collection 'NullableCollection.root'
-RegStream1.Regi...   INFO Collection Events output: 19
-DecisionSvc          INFO List of registered 1 Streams: RegStream1 
diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/athenapoolmultitest_test.sh.in b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/athenapoolmultitest_test.sh.in
new file mode 100755
index 00000000000..54a553ec63b
--- /dev/null
+++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/athenapoolmultitest_test.sh.in
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+set -e
+
+# Turn off pool verbose printing
+export POOL_OUTMSG_LEVEL=4
+
+athena.py AthenaPoolMultiTest/@jo@.py
diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/post_check_bi.sh b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/post_check_bi.sh
index 17897b3bf3a..ab84f31c314 100755
--- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/post_check_bi.sh
+++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/post_check_bi.sh
@@ -19,7 +19,7 @@ else
     if [ "$status" = 0 ]
 	then 
 	echo " post_check_bi.sh> OK: ${test} exited normally. Output is in $joblog "
-	reflog=../test/${test}.ref
+	reflog=../share/${test}.ref
         grep -e 'WriteData' \
              -e 'AddTrigMap' \
              -e 'Stream1' \
@@ -32,58 +32,66 @@ else
 	joblog=${joblog}.small
 	if [ -r $reflog ]
 	    then
-#	    echo " post_check_bi.sh> Now comparing output with reference"
-	    diff -a -b -B  $joblog $reflog |\
-                # ignore diff annotations
-	        egrep -a -v '^---|^[[:digit:]]+[acd,][[:digit:]]+' |\
-                # ignore hex addresses
-		egrep -a -v ' 0x\w{4,}' |\
-                # ignore package names e.g. Package-00-00-00
-		egrep -a -v '\w+-[[:digit:]]{2}-[[:digit:]]{2}-[[:digit:]]{2}' |\
-		# ignore history service
-		egrep -a -v 'HistorySvc          DEBUG' |\
-		# ignore cpu usage printouts
-		egrep -a -v 'ChronoStatSvc +INFO Time' |\
-		egrep -a -v 'Time left.+ Seconds' |\
-		egrep -a -v 'Timeleft.+ sec' |\
-		egrep -a -v 'INFO Time User' |\
-		# ignore clid db file name
-		grep -a -v 'from CLIDDB file'  |\
-		# ignore slug machine printout
-		egrep -a -v ' Machine: .* System and Processor Info'  |\
-		egrep -a -v ' Jobname = .* Machine =' |\
-		# ignore slug pid printout
-		grep -a -v 'Atlas Detector Simulation, Reconstruction and Analysis Running on'  |\
-		egrep -a -v 'Program:  Slug-Dice-Arecon .+ pid +[[:digit:]]+'  |\
-		#ignore DllClassManager DEBUG messages
-		egrep -a -v 'DllClassManager     DEBUG' |\
-		# ignore slug Library printout
-		egrep -a -v 'Library of +[[:digit:]]+ at +[[:digit:]]+'  |\
-		egrep -a -v 'Library compiled on +[[:digit:]]'  |\
-		# ignore ClassIDSvc "in memory db" printouts
-		egrep -a -v 'CLID: .* - type name:' |\
-		# ignore ClassIDSvc "already set" printouts
-		egrep -a -v 'ClassIDSvc .* setTypeNameForID: .* already set for' |\
-		# ignore ClassIDSvc finalize output
-		egrep -a -v 'ClassIDSvc * DEBUG finalize: wrote .*'   |\
-		# ignore rcs version comments
-		egrep -a -v 'Id: .+ Exp \$'  |\
-		# ignore listings
-		egrep -a -v 'athena.*listing'  |\
-		# ignore ptr values for LArCell
-		egrep -a -v 'Found elem'  |\
-                # ignore Dict issues
-		egrep -a -v 'Dict.so' |\
-		# ignore file names 
-		egrep -a -v 'Reading file'  |\
-		# ignore root collect key 
-		egrep -a -v 'NewEventCollection.root, recovered'
+	    echo " post_check_bi.sh> Now comparing output with reference"
+
+            # ignore diff annotations
+            PP='^---|^[[:digit:]]+[acd,][[:digit:]]+'
+            # ignore hex addresses
+            PP="$PP"'|0x\w{4,}'
+            # ignore package names e.g. Package-00-00-00
+            PP="$PP"'|\w+-[[:digit:]]{2}-[[:digit:]]{2}-[[:digit:]]{2}'
+            # ignore trunk package names e.g. Package-r123456
+            PP="$PP"'|\w+-r[[:digit:]]+'
+            # ignore history service
+            PP="$PP"'|HistorySvc          DEBUG'
+            # ignore cpu usage printouts
+            PP="$PP"'|ChronoStatSvc +INFO Time'
+            PP="$PP"'|Time left.+ Seconds'
+            PP="$PP"'|Timeleft.+ sec'
+            PP="$PP"'|INFO Time User'
+            # ignore clid db file name
+            PP="$PP"'|from CLIDDB file'
+            # ignore slug machine printout
+            PP="$PP"'| Machine: .* System and Processor Info'
+            PP="$PP"'| Jobname = .* Machine ='
+            # ignore slug pid printout
+            PP="$PP"'|Atlas Detector Simulation, Reconstruction and Analysis Running on'
+            PP="$PP"'|Program:  Slug-Dice-Arecon .+ pid +[[:digit:]]+'
+            #ignore DllClassManager DEBUG messages
+            PP="$PP"'|DllClassManager     DEBUG'
+            # ignore slug Library printout
+            PP="$PP"'|Library of +[[:digit:]]+ at +[[:digit:]]+'
+            PP="$PP"'|Library compiled on +[[:digit:]]'
+            # ignore ClassIDSvc "in memory db" printouts
+            PP="$PP"'|CLID: .* - type name:'
+            # ignore ClassIDSvc "already set" printouts
+            PP="$PP"'|ClassIDSvc .* setTypeNameForID: .* already set for'
+            # ignore ClassIDSvc finalize output
+            PP="$PP"'|ClassIDSvc .* finalize: wrote .*'
+            # ignore rcs version comments
+            PP="$PP"'|Id: .+ Exp \$'
+	    # ignore listings
+            PP="$PP"'|athena.*listing'
+            # ignore ptr values for LArCell
+            PP="$PP"'|Found elem'
+            # ignore Dict issues
+            PP="$PP"'|Dict.so'
+            # ignore file names 
+            PP="$PP"'|Reading file'
+            # ignore root collect key 
+            PP="$PP"'|NewEventCollection.root, recovered'
+
+            jobdiff=`basename ${joblog}`-todiff
+            refdiff=`basename ${reflog}`-todiff
+            egrep -a -v "$PP" < $joblog > $jobdiff
+            egrep -a -v "$PP" < $reflog > $refdiff
+            diff -a -b -E -B -u $jobdiff $refdiff
 
 	    diffStatus=$?
-	    if [ $diffStatus = 0 ] 
+	    if [ $diffStatus != 0 ] 
 		then
 		echo " post_check_bi.sh> ERROR: $joblog and $reflog differ "
-#		exit 1
+		exit 1
 	    else
 		echo " post_check_bi.sh> OK: $joblog and $reflog identical "
 	    fi
@@ -91,6 +99,7 @@ else
 	    tail $joblog
 	    echo " post_check_bi.sh> WARNING: reference output $reflog not available "
 	    echo  " post_check_bi.sh> Please check ${PWD}/$joblog"
+            exit 1
 	fi
     else
 	tail $joblog
diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/post_check_bs.sh b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/post_check_bs.sh
index c11088239f6..4c0ad2a24b2 100755
--- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/post_check_bs.sh
+++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/post_check_bs.sh
@@ -23,7 +23,7 @@ else
     if [ "$status" = 0 ]
 	then 
 	echo " post_check_co.sh> OK: ${test} exited normally. Output is in $joblog "
-	reflog=../test/${test}.ref
+	reflog=../share/${test}.ref
         grep -e 'RunEventTag' \
              -e 'ByteStreamAtt' \
              -e 'ByteStreamEvent' \
@@ -87,7 +87,7 @@ else
 	    if [ $diffStatus = 0 ] 
 		then
 		echo " post_check_co.sh> ERROR: $joblog and $reflog differ "
-#		exit 1
+		exit 1
 	    else
 		echo " post_check_co.sh> OK: $joblog and $reflog identical "
 	    fi
@@ -95,6 +95,7 @@ else
 	    tail $joblog
 	    echo " post_check_co.sh> WARNING: reference output $reflog not available "
 	    echo  " post_check_co.sh> Please check ${PWD}/$joblog"
+            exit 1
 	fi
     else
 	tail $joblog
diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/post_check_ci.sh b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/post_check_ci.sh
index 01a92571146..7d52c987826 100755
--- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/post_check_ci.sh
+++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/post_check_ci.sh
@@ -23,7 +23,7 @@ else
     if [ "$status" = 0 ]
 	then 
 	echo " post_check_ci.sh> OK: ${test} exited normally. Output is in $joblog "
-	reflog=../test/${test}.ref
+	reflog=../share/${test}.ref
         grep -e 'RegStream1' \
              -e 'RunEventTagWriter' \
              -e 'Splittable' \
@@ -84,6 +84,7 @@ else
 		egrep -a -v 'Reading file'  |\
 		# ignore root changes 
 		egrep -a -v 'RootDBase'  |\
+		egrep -a -v 'RootDatabase.open'  |\
 		# ignore root collect key 
 		egrep -a -v 'NewEventCollection.root, recovered'
 
@@ -91,7 +92,7 @@ else
 	    if [ $diffStatus = 0 ] 
 		then
 		echo " post_check_ci.sh> ERROR: $joblog and $reflog differ "
-#		exit 1
+		exit 1
 	    else
 		echo " post_check_ci.sh> OK: $joblog and $reflog identical "
 	    fi
@@ -99,6 +100,7 @@ else
 	    tail $joblog
 	    echo " post_check_ci.sh> WARNING: reference output $reflog not available "
 	    echo  " post_check_ci.sh> Please check ${PWD}/$joblog"
+            exit 1
 	fi
     else
 	tail $joblog
diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/post_check_cn.sh b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/post_check_cn.sh
index 1072c267754..dfd79201c68 100755
--- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/post_check_cn.sh
+++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/post_check_cn.sh
@@ -23,7 +23,7 @@ else
     if [ "$status" = 0 ]
 	then 
 	echo " post_check_co.sh> OK: ${test} exited normally. Output is in $joblog "
-	reflog=../test/${test}.ref
+	reflog=../share/${test}.ref
         grep -e 'ReadData' \
              -e 'EventSelector' \
              -e 'FullColl' \
@@ -86,7 +86,7 @@ else
 	    if [ $diffStatus = 0 ] 
 		then
 		echo " post_check_co.sh> ERROR: $joblog and $reflog differ "
-#		exit 1
+		exit 1
 	    else
 		echo " post_check_co.sh> OK: $joblog and $reflog identical "
 	    fi
@@ -94,6 +94,7 @@ else
 	    tail $joblog
 	    echo " post_check_co.sh> WARNING: reference output $reflog not available "
 	    echo  " post_check_co.sh> Please check ${PWD}/$joblog"
+            exit 1
 	fi
     else
 	tail $joblog
diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/post_check_co.sh b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/post_check_co.sh
index 025c17964f5..3d5500b37e5 100755
--- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/post_check_co.sh
+++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/post_check_co.sh
@@ -23,7 +23,7 @@ else
     if [ "$status" = 0 ]
 	then 
 	echo " post_check_co.sh> OK: ${test} exited normally. Output is in $joblog "
-	reflog=../test/${test}.ref
+	reflog=../share/${test}.ref
         grep -e 'ReadData' \
              -e 'EventSelector' \
              -e 'rimary' \
@@ -92,7 +92,7 @@ else
 	    if [ $diffStatus = 0 ] 
 		then
 		echo " post_check_co.sh> ERROR: $joblog and $reflog differ "
-#		exit 1
+		exit 1
 	    else
 		echo " post_check_co.sh> OK: $joblog and $reflog identical "
 	    fi
@@ -105,6 +105,7 @@ else
 	tail $joblog
 	echo  " post_check_co.sh> ERROR: Athena exited abnormally! Exit code: $status "
 	echo  " post_check_co.sh> Please check ${PWD}/$joblog"
+        exit 1
     fi
 fi
 
diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/post_check_ec.sh b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/post_check_ec.sh
index 8fcfa6094ce..5d016d74db2 100755
--- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/post_check_ec.sh
+++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/post_check_ec.sh
@@ -19,7 +19,7 @@ else
     if [ "$status" = 0 ]
 	then 
 	echo " post_check_ec.sh> OK: ${test} exited normally. Output is in $joblog "
-	reflog=../test/${test}.ref
+	reflog=../share/${test}.ref
         grep -e 'EventCheck' \
              -e 'EventSelector' \
              ${joblog} > ${joblog}.small
@@ -73,7 +73,7 @@ else
 	    if [ $diffStatus = 0 ] 
 		then
 		echo " post_check_ec.sh> ERROR: $joblog and $reflog differ "
-#		exit 1
+		exit 1
 	    else
 		echo " post_check_ec.sh> OK: $joblog and $reflog identical "
 	    fi
@@ -81,6 +81,7 @@ else
 	    tail $joblog
 	    echo " post_check_ec.sh> WARNING: reference output $reflog not available "
 	    echo  " post_check_ec.sh> Please check ${PWD}/$joblog"
+            exit 1
 	fi
     else
 	tail $joblog
diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/post_check_ec2.sh b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/post_check_ec2.sh
index f70bda94291..3bc77fad064 100755
--- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/post_check_ec2.sh
+++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/post_check_ec2.sh
@@ -19,7 +19,7 @@ else
     if [ "$status" = 0 ]
 	then 
 	echo " post_check_ec2.sh> OK: ${test} exited normally. Output is in $joblog "
-	reflog=../test/${test}.ref
+	reflog=../share/${test}.ref
         grep -e 'EventCount' \
              -e 'EventSelector' \
              ${joblog} > ${joblog}.small
@@ -73,7 +73,7 @@ else
 	    if [ $diffStatus = 0 ] 
 		then
 		echo " post_check_ec2.sh> ERROR: $joblog and $reflog differ "
-#		exit 1
+		exit 1
 	    else
 		echo " post_check_ec2.sh> OK: $joblog and $reflog identical "
 	    fi
@@ -81,6 +81,7 @@ else
 	    tail $joblog
 	    echo " post_check_ec2.sh> WARNING: reference output $reflog not available "
 	    echo  " post_check_ec2.sh> Please check ${PWD}/$joblog"
+            exit 1
 	fi
     else
 	tail $joblog
diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/post_check_eco.sh b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/post_check_eco.sh
index 6d068948bbe..101e4b0eb42 100755
--- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/post_check_eco.sh
+++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/post_check_eco.sh
@@ -19,7 +19,7 @@ else
     if [ "$status" = 0 ]
 	then 
 	echo " post_check_ec.sh> OK: ${test} exited normally. Output is in $joblog "
-	reflog=../test/${test}.ref
+	reflog=../share/${test}.ref
         grep -e 'EventCount' \
              -e 'EventSelector' \
              ${joblog} > ${joblog}.small
@@ -73,7 +73,7 @@ else
 	    if [ $diffStatus = 0 ] 
 		then
 		echo " post_check_ec.sh> ERROR: $joblog and $reflog differ "
-#		exit 1
+		exit 1
 	    else
 		echo " post_check_ec.sh> OK: $joblog and $reflog identical "
 	    fi
@@ -81,6 +81,7 @@ else
 	    tail $joblog
 	    echo " post_check_ec.sh> WARNING: reference output $reflog not available "
 	    echo  " post_check_ec.sh> Please check ${PWD}/$joblog"
+            exit 1
 	fi
     else
 	tail $joblog
diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/post_check_es.sh b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/post_check_es.sh
index 3faf8e34ba3..dd7e056a88f 100755
--- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/post_check_es.sh
+++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/post_check_es.sh
@@ -19,7 +19,7 @@ else
     if [ "$status" = 0 ]
 	then 
 	echo " post_check_es.sh> OK: ${test} exited normally. Output is in $joblog "
-	reflog=../test/${test}.ref
+	reflog=../share/${test}.ref
         grep -e 'Splitter' \
              -e 'Triggered' \
              -e 'Stream' \
@@ -93,7 +93,7 @@ else
 	    if [ $diffStatus = 0 ] 
 		then
 		echo " post_check_es.sh> ERROR: $joblog and $reflog differ "
-#		exit 1
+		exit 1
 	    else
 		echo " post_check_es.sh> OK: $joblog and $reflog identical "
 	    fi
@@ -101,6 +101,7 @@ else
 	    tail $joblog
 	    echo " post_check_es.sh> WARNING: reference output $reflog not available "
 	    echo  " post_check_es.sh> Please check ${PWD}/$joblog"
+            exit 1
 	fi
     else
 	tail $joblog
-- 
GitLab