From caf9414698cdd83fa9078b65200d950da32a4a92 Mon Sep 17 00:00:00 2001
From: scott snyder <sss@karma>
Date: Wed, 5 Aug 2020 10:16:32 -0400
Subject: [PATCH 1/2] xAODCore: Remove AuxSelection members.

Remove AuxSelection members from AuxInfoBase and AuxContainerBase.
They're no longer used.
---
 Event/xAOD/xAODCore/Root/AuxContainerBase.cxx   | 8 +++-----
 Event/xAOD/xAODCore/Root/AuxInfoBase.cxx        | 7 +------
 Event/xAOD/xAODCore/xAODCore/AuxContainerBase.h | 2 --
 Event/xAOD/xAODCore/xAODCore/AuxInfoBase.h      | 2 --
 4 files changed, 4 insertions(+), 15 deletions(-)

diff --git a/Event/xAOD/xAODCore/Root/AuxContainerBase.cxx b/Event/xAOD/xAODCore/Root/AuxContainerBase.cxx
index 95484438acb6..37216aa05634 100644
--- a/Event/xAOD/xAODCore/Root/AuxContainerBase.cxx
+++ b/Event/xAOD/xAODCore/Root/AuxContainerBase.cxx
@@ -26,7 +26,7 @@ namespace xAOD {
 
    AuxContainerBase::AuxContainerBase( bool allowDynamicVars )
       : SG::IAuxStore(),
-        m_selection(), m_compression(),
+        m_compression(),
         m_auxids(), m_vecs(), m_store( 0 ), m_storeIO( 0 ),
         m_ownsStore( true ),
         m_locked( false ),
@@ -54,7 +54,6 @@ namespace xAOD {
    {
       // Keep the source unmutable during copy
       guard_t guard( parent.m_mutex );
-      m_selection = parent.m_selection;
       m_compression = parent.m_compression;
       m_name = parent.m_name;
 
@@ -75,7 +74,7 @@ namespace xAOD {
    ///
    AuxContainerBase::AuxContainerBase( SG::IAuxStore* store )
       : SG::IAuxStore(),
-        m_selection(), m_compression(),
+        m_compression(),
         m_auxids(), m_vecs(),
         m_store( store ),
         m_storeIO( 0 ), m_ownsStore( false ),
@@ -114,7 +113,6 @@ namespace xAOD {
 
       // Keep the objects locked during copy
       std::scoped_lock  lck{m_mutex, rhs.m_mutex};
-      m_selection = rhs.m_selection;
       m_compression = rhs.m_compression;
 
       // Clean up after the old dynamic store:
@@ -629,7 +627,7 @@ namespace xAOD {
          // I mean, all the variables. Not just the ones reported as dynamic
          // by the internal object. Because the internal object may be something
          // that was put into this one in order to achieve data slimming.
-         return m_selection.getSelectedAuxIDs( m_store->getAuxIDs() );
+         return m_store->getAuxIDs();
       }
 
       // In case we don't use an internal store, there are no dynamic
diff --git a/Event/xAOD/xAODCore/Root/AuxInfoBase.cxx b/Event/xAOD/xAODCore/Root/AuxInfoBase.cxx
index 86e29eb9c4ac..87f86c73bca7 100644
--- a/Event/xAOD/xAODCore/Root/AuxInfoBase.cxx
+++ b/Event/xAOD/xAODCore/Root/AuxInfoBase.cxx
@@ -25,7 +25,6 @@ namespace xAOD {
 
    AuxInfoBase::AuxInfoBase( bool allowDynamicVars )
       : SG::IAuxStore(),
-        m_selection(),
         m_auxids(), m_vecs(), m_store( 0 ), m_storeIO( 0 ),
         m_ownsStore( true ),
         m_locked( false ),
@@ -53,7 +52,6 @@ namespace xAOD {
    {
       // Keep the source unmutable during copy
       guard_t guard( parent.m_mutex );
-      m_selection = parent.m_selection;
       m_name = parent.m_name;
 
       // Unfortunately the dynamic variables can not be copied this easily...
@@ -74,7 +72,6 @@ namespace xAOD {
    ///
    AuxInfoBase::AuxInfoBase( SG::IAuxStore* store )
       : SG::IAuxStore(),
-        m_selection(),
         m_auxids(), m_vecs(),
         m_store( store ),
         m_storeIO( 0 ), m_ownsStore( false ),
@@ -114,8 +111,6 @@ namespace xAOD {
       // Keep the source unmutable during copy
       std::scoped_lock  lck{m_mutex, rhs.m_mutex};
 
-      m_selection = rhs.m_selection;
-
       // Clean up after the old dynamic store:
       if( m_store && m_ownsStore ) {
          m_auxids -= m_store->getAuxIDs();
@@ -595,7 +590,7 @@ namespace xAOD {
          // I mean, all the variables. Not just the ones reported as dynamic
          // by the internal object. Because the internal object may be something
          // that was put into this one in order to achieve data slimming.
-         return m_selection.getSelectedAuxIDs( m_store->getAuxIDs() );
+         return m_store->getAuxIDs();
       }
 
       // In case we don't use an internal store, there are no dynamic
diff --git a/Event/xAOD/xAODCore/xAODCore/AuxContainerBase.h b/Event/xAOD/xAODCore/xAODCore/AuxContainerBase.h
index c90549919af3..b7778c25aab2 100644
--- a/Event/xAOD/xAODCore/xAODCore/AuxContainerBase.h
+++ b/Event/xAOD/xAODCore/xAODCore/AuxContainerBase.h
@@ -213,8 +213,6 @@ namespace xAOD {
       void regAuxVar1( auxid_t auxid, const std::string& name,
                        CONT& vec );
 
-      /// Dynamic attributes selection implementation
-      AuxSelection  m_selection;
       /// Attributes compression implementation
       AuxCompression  m_compression;
       /// Internal list of all available variables
diff --git a/Event/xAOD/xAODCore/xAODCore/AuxInfoBase.h b/Event/xAOD/xAODCore/xAODCore/AuxInfoBase.h
index 7df0856d9cd8..7e4d175a6656 100644
--- a/Event/xAOD/xAODCore/xAODCore/AuxInfoBase.h
+++ b/Event/xAOD/xAODCore/xAODCore/AuxInfoBase.h
@@ -175,8 +175,6 @@ namespace xAOD {
                       T& info );
 
    private:
-      /// Dynamic attributes selection implementation
-      AuxSelection m_selection;
       /// Internal list of all available variables
       auxid_set_t m_auxids;
       /// Internal list of all managed variables
-- 
GitLab


From 02f094bd5054d0c787c4642d25cbf50179834e24 Mon Sep 17 00:00:00 2001
From: scott snyder <sss@karma>
Date: Wed, 5 Aug 2020 10:17:50 -0400
Subject: [PATCH 2/2] xAODCoreAthenaPool: Removing m_selection.

---
 .../xAOD/xAODCoreAthenaPool/src/xAODAuxContainerBaseCnv.cxx  | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/Event/xAOD/xAODCoreAthenaPool/src/xAODAuxContainerBaseCnv.cxx b/Event/xAOD/xAODCoreAthenaPool/src/xAODAuxContainerBaseCnv.cxx
index fd27f634e4bd..42b86304c8b9 100644
--- a/Event/xAOD/xAODCoreAthenaPool/src/xAODAuxContainerBaseCnv.cxx
+++ b/Event/xAOD/xAODCoreAthenaPool/src/xAODAuxContainerBaseCnv.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 */
 
 // Local include(s):
@@ -12,9 +12,6 @@ xAODAuxContainerBaseCnv::createPersistentWithKey( xAOD::AuxContainerBase* trans,
    xAOD::AuxContainerBase* result =
      xAODAuxContainerBaseCnvBase::createPersistentWithKey( trans, key );
 
-   // Make sure that the variable selection gets copied:
-   result->m_selection = trans->m_selection;
-
    // Return the new object:
    return result;
 }
-- 
GitLab