diff --git a/Control/AthenaCommon/CMakeLists.txt b/Control/AthenaCommon/CMakeLists.txt
index 0f9f732bbd17181617702b9bdf7425a36e180afe..b85eb17e3ec46267791e641f7a718b520024297f 100644
--- a/Control/AthenaCommon/CMakeLists.txt
+++ b/Control/AthenaCommon/CMakeLists.txt
@@ -5,9 +5,6 @@
 # Declare the package name:
 atlas_subdir( AthenaCommon )
 
-# External dependencies:
-find_package( six )
-
 # Install files from the package:
 atlas_install_python_modules( python/*.py python/Utils
                               POST_BUILD_CMD ${ATLAS_FLAKE8} )
diff --git a/Control/AthenaCommon/python/AppMgr.py b/Control/AthenaCommon/python/AppMgr.py
index 6ef4fd5ede171fa1775b75e62e98c668b1d5d12a..89104ed8538195ca009d9fb3c8abc5082b8434cc 100755
--- a/Control/AthenaCommon/python/AppMgr.py
+++ b/Control/AthenaCommon/python/AppMgr.py
@@ -5,10 +5,7 @@
 
 """Application manager and other global Gaudi components."""
 
-from __future__ import print_function
-
 import sys, os
-import six
 from AthenaCommon import ExitCodes
 
 from AthenaCommon import AlgSequence, Configurable, Logging
@@ -281,7 +278,7 @@ class AthAppMgr( AppMgr ):
          # transfer old TopAlg to new AthAlgSeq
          _top_alg = _as.AlgSequence("TopAlg")
          # first transfer properties
-         for n,prop in six.iteritems(_top_alg.properties()):
+         for n,prop in _top_alg.properties().items():
             if hasattr(_top_alg, n) and n != "Members":
                setattr(athAlgSeq, n, prop)
                
diff --git a/Control/AthenaCommon/python/ChapPy.py b/Control/AthenaCommon/python/ChapPy.py
index 2a11b1bf555cf21f8f56f01cd25eea294726dcc0..0f1bc0e41d0322a446bf339e25f1552884a15f24 100755
--- a/Control/AthenaCommon/python/ChapPy.py
+++ b/Control/AthenaCommon/python/ChapPy.py
@@ -22,8 +22,7 @@ import sys
 import os
 import subprocess
 import time
-import six
-from past.builtins import basestring
+import io
 
 def dump( buf, stdout = sys.stdout ):
     """
@@ -32,10 +31,7 @@ def dump( buf, stdout = sys.stdout ):
     fname = None
     if isinstance(buf, str):
         fname = buf
-    if six.PY3:
-        import io
-        file = io.IOBase # noqa: F811
-    if isinstance(buf, file):
+    if isinstance(buf, io.IOBase):
         fname = buf.name
     with open(fname, 'r') as fd:
         map(stdout.write, (l for l in fd.readlines()))
@@ -278,7 +274,7 @@ class AthenaApp(object):
         self._jobo = tempfile.NamedTemporaryFile(suffix='-jobo.py', mode='w+')
         if cmdlineargs is None:
             cmdlineargs = []
-        if isinstance(cmdlineargs, basestring):
+        if isinstance(cmdlineargs, str):
             cmdlineargs = cmdlineargs.split()
         self._cmdlineargs = cmdlineargs[:]
         
diff --git a/Control/AthenaCommon/python/Configurable.py b/Control/AthenaCommon/python/Configurable.py
index f8a7d23f76db9011c768280bc65f8c0f3819ddf9..6fe8789e06a05aa023df4fca0ece26845c264cf7 100755
--- a/Control/AthenaCommon/python/Configurable.py
+++ b/Control/AthenaCommon/python/Configurable.py
@@ -7,7 +7,6 @@
 from __future__ import print_function
 
 import copy, os, weakref
-import six
 from AthenaCommon import ConfigurableMeta
 
 # Note: load iProperty etc. from GaudiPython only as-needed
@@ -32,7 +31,7 @@ log = logging.getLogger( 'Configurable' )
 
 
 ### base class for configurable Gaudi algorithms/services/algtools/etc. ======
-class Configurable( six.with_metaclass (ConfigurableMeta.ConfigurableMeta, object)):
+class Configurable(metaclass=ConfigurableMeta.ConfigurableMeta ):
    """Base class for Gaudi components that implement the IProperty interface.
       Provides most of the boilerplate code, but the actual useful classes
       are its derived ConfigurableAlgorithm, ConfigurableService, and
@@ -77,15 +76,15 @@ class Configurable( six.with_metaclass (ConfigurableMeta.ConfigurableMeta, objec
       if 'name' in kwargs:
        # simple keyword (by far the easiest)
          name = kwargs[ 'name' ]
-      elif 'name' in six.get_function_code(cls.__init__).co_varnames:
+      elif 'name' in cls.__init__.__code__.co_varnames:
        # either positional in args, or default
-         index =  list(six.get_function_code(cls.__init__).co_varnames).index( 'name' )
+         index =  list(cls.__init__.__code__.co_varnames).index( 'name' )
          try:
           # var names index is offset by one as __init__ is to be called with self
             name = args[ index - 1 ]
          except IndexError:
           # retrieve default value, then
-            name = six.get_function_defaults(cls.__init__)[ index - (len(args)+1) ]
+            name = cls.__init__.__defaults__[ index - (len(args)+1) ]
       else:
        # positional index is assumed (will work most of the time)
          try:
@@ -144,7 +143,7 @@ class Configurable( six.with_metaclass (ConfigurableMeta.ConfigurableMeta, objec
                       # the following may result in the same init tried several
                       # times, but we shouldn't be in this loop too often anyway
                         confinit = getattr( confklass, '__init__' )
-                        if n in six.get_function_code(confinit).co_varnames:
+                        if n in confinit.__code__.co_varnames:
                            acceptableKeyWord = True
                            break
                      except AttributeError:
@@ -767,7 +766,7 @@ class Configurable( six.with_metaclass (ConfigurableMeta.ConfigurableMeta, objec
       self._flags |= self._fIsPrinting
       properties = self.getValuedProperties()
       propstr = ""
-      for key,val in sorted(six.iteritems(properties)):
+      for key,val in sorted(properties.items()):
          if isinstance(val,GaudiHandles.PublicToolHandle) or isinstance(val,GaudiHandles.PrivateToolHandle):
             propstr += val.getFullName()
          elif isinstance(val,Configurable):
diff --git a/Control/AthenaCommon/python/ConfigurableDb.py b/Control/AthenaCommon/python/ConfigurableDb.py
index ba9b2239eb78de4448377fb32ba7076317383184..471bfc094c5f6c6eb0eaa69bdca40c85a632cce9 100755
--- a/Control/AthenaCommon/python/ConfigurableDb.py
+++ b/Control/AthenaCommon/python/ConfigurableDb.py
@@ -11,18 +11,6 @@ This repository of (informations on) Configurables is used by the PropertyProxy
 class to locate Configurables and feed the JobOptionsSvc. It could also be used
 to feed the AthenaEmacs module..."""
 
-from __future__ import with_statement, print_function
-
-import string
-import six
-if six.PY2:
-    _maketrans = string.maketrans
-    _translate = string.translate
-else:
-    _maketrans = str.maketrans
-    _translate = str.translate
-
-
 ### data ---------------------------------------------------------------------
 __version__ = '3.0.0'
 __author__  = 'Sebastien Binet (binet@cern.ch)'
@@ -31,7 +19,7 @@ __all__ = [ 'CfgDb', 'cfgDb',
             'loadConfigurableDb', 'unloadConfigurableDb',
             'getConfigurable' ]
 
-_transtable = _maketrans('<>&*,: ().', '__rp__s___')
+_transtable = str.maketrans('<>&*,: ().', '__rp__s___')
 
 ### helpers ------------------------------------------------------------------
 def _fillConfDict():
@@ -236,7 +224,7 @@ def getConfigurable( className, requester = '', assumeCxxClass = True ):
    confClass = className
    if assumeCxxClass:
     # assume className is C++: --> translate to python
-      confClass = _translate( confClass, _transtable )
+      confClass = str.translate( confClass, _transtable )
 
  # attempt to retrieve existing information
    confClassInfo = cfgDb.get( confClass )
diff --git a/Control/AthenaCommon/python/ConfigurableMeta.py b/Control/AthenaCommon/python/ConfigurableMeta.py
index 9fdad37ca0ca948acd052a2bb1a85604a9198ca8..875464eeafe8d066ca03f770de011e5c992a741a 100755
--- a/Control/AthenaCommon/python/ConfigurableMeta.py
+++ b/Control/AthenaCommon/python/ConfigurableMeta.py
@@ -3,10 +3,7 @@
 # File: AthenaCommon/python/ConfigurableMeta.py
 # Author: Wim Lavrijsen (WLavrijsen@lbl.gov)
 
-from __future__ import print_function
-
 import weakref
-import six
 from AthenaCommon import Logging, PropertyProxy
 
 
@@ -50,13 +47,13 @@ class ConfigurableMeta( type ):
 
          for meth, nArgs in meths.items():
             try:
-               f = six.get_unbound_function(getattr( newclass, meth ))
+               f = getattr( newclass, meth )
             except AttributeError:
                raise NotImplementedError("%s is missing in class %s" % (meth,str(newclass)))
 
           # in addition, verify the number of arguments w/o defaults
-            nargcount = six.get_function_code(f).co_argcount
-            dflts = six.get_function_defaults(f)
+            nargcount = f.__code__.co_argcount
+            dflts = f.__defaults__
             ndefaults = dflts and len(dflts) or 0
             if not nargcount - ndefaults <= nArgs <= nargcount:
                raise TypeError("%s.%s requires exactly %d arguments" % (newclass,meth,nArgs))
diff --git a/Control/AthenaCommon/python/ConfigurationShelve.py b/Control/AthenaCommon/python/ConfigurationShelve.py
index 7809424087fdce0c68336873f7a2f317692dd9bf..74724c4205202e69cec30c5e463fa366472d6f71 100644
--- a/Control/AthenaCommon/python/ConfigurationShelve.py
+++ b/Control/AthenaCommon/python/ConfigurationShelve.py
@@ -4,13 +4,7 @@
 # @author: Wim Lavrijsen (WLavrijsen@lbl.gov)
 # @author: Sebastien Binet <binet@cern.ch>
 
-from __future__ import print_function
-import six
-
-try:
-   import cPickle as pickle
-except ImportError:
-   import pickle
+import pickle
 import shelve
 
 """Shelves for writing jars of configuration. Example:
@@ -39,23 +33,6 @@ __all__ = [ 'ConfigurationShelve', 'ConfigurationJar',
             'cmpConfigs',
             ]
 
-### FIXME: --- hack to workaround bug #34752
-###        http://savannah.cern.ch/bugs/?34752
-def _monkeypatch_bug_34752():
-   from GaudiKernel.GaudiHandles import GaudiHandleArray
-   if 'typesAndNames' in GaudiHandleArray.__slots__:
-      try:
-         del GaudiHandleArray.__getstate__
-         del GaudiHandleArray.__setstate__
-      except AttributeError: pass # already done, or not relevant anymore
-   return
-try:
-   _monkeypatch_bug_34752()
-except: # noqa: E722 
-   pass
-del _monkeypatch_bug_34752
-
-
 ### representation of job databases ==========================================
 class ConfigurationShelve( object ):
    __openShelves = {}
@@ -190,7 +167,7 @@ def storeJobOptionsCatalogue( cfg_fname ):
    theApp.setup( recursive = True )
 
    app_props = [ (k,v.value())
-                 for k,v in six.iteritems(theApp.getHandle().properties()) ]
+                 for k,v in theApp.getHandle().properties().items() ]
    _fillCfg( 'ApplicationMgr', app_props )
 
  # get all services that now already exist, as they require special treatment;
@@ -211,7 +188,7 @@ def storeJobOptionsCatalogue( cfg_fname ):
       evLoop = getattr( svcMgr, evLoopName )
 
       props = []
-      for k,v in six.iteritems(evLoop.properties()):
+      for k,v in evLoop.properties().items():
          if v != C.propertyNoValue:
             props.append( (k,v) )
       _fillCfg( evLoopName, props )
@@ -238,7 +215,7 @@ def storeJobOptionsCatalogue( cfg_fname ):
 
  # workaround for pycomps
    pycomps = []
-   for c in six.itervalues(C.allConfigurables):
+   for c in C.allConfigurables.values():
       if not isinstance( c, (PyAthena.Alg,
                              PyAthena.AlgTool,
                              PyAthena.Svc,
@@ -304,13 +281,13 @@ def loadJobOptionsCatalogue( cfg_fname ):
       if client == "ApplicationMgr":
          # ApplicationMgr properties are already set
          continue
-      for n,v in six.iteritems(jocat[ client ]):
+      for n,v in jocat[ client ].items():
          josvc.set( client+'.'+n, v )
 
  # restore special services properties
    for client in jocfg:
       svc = PyAthena.py_svc( client, createIf = False, iface='IProperty' )
-      for n,v in six.iteritems(jocfg[ client ]):
+      for n,v in jocfg[ client ].items():
          # See comment above.
          p = gaudi.StringProperty()
          p.setName(n)
@@ -466,7 +443,7 @@ def cmpConfigs (ref, chk, refName=None, chkName=None):
             return v
 
          from AthenaCommon.Configurable import Configurable
-         for k,v in six.iteritems(props):
+         for k,v in props.items():
             if not isinstance(v, Configurable):
                all_cfgs[name][k] = _get_value(cfg,k,v)
             else:
diff --git a/Control/AthenaCommon/python/Debugging.py b/Control/AthenaCommon/python/Debugging.py
index e2584d1d4999204281a2c6a91c538468d7ab5a01..ed2848f745ef1272b42daf1af8bcb0e415af9fec 100644
--- a/Control/AthenaCommon/python/Debugging.py
+++ b/Control/AthenaCommon/python/Debugging.py
@@ -7,13 +7,12 @@
 ## $Id: Debugging.py,v 1.1 2008-04-05 03:11:49 binet Exp $
 ###############################################################
 
-from __future__ import print_function
-import six
-
 __doc__ = """py-module to hold a few tools and utilities to help debugging
 configurables and/or Athena application.
 """
 
+import io
+
 class DbgStage:
     """Class to hold the stage at which the user asked to hook the debugger
     """
@@ -43,10 +42,7 @@ def hookStrace(out=None):
     """
     import os
     if out is None: out = 'athena.strace.log.%i' % os.getpid()
-    if six.PY3:
-        import io
-        file = io.IOBase
-    if isinstance(out, file):
+    if isinstance(out, io.IOBase):
         out = out.name
     elif not isinstance(out,str):
         raise TypeError('argument 0 needs to be either a file or a filename')
diff --git a/Control/AthenaCommon/python/JobProperties.py b/Control/AthenaCommon/python/JobProperties.py
index a9114a5753537dd193daf8cc9230d331013b2f55..1deb60791022c3416b85ee387cd49de7452df7b7 100755
--- a/Control/AthenaCommon/python/JobProperties.py
+++ b/Control/AthenaCommon/python/JobProperties.py
@@ -14,10 +14,7 @@
     
 """
 
-from __future__ import print_function
-from past.builtins import cmp
 import functools
-import six
 
 #
 #
@@ -53,7 +50,7 @@ def _isCompatible( allowedTypes, value ):
         elif type(value) == str and not isinstance( value, tp ):
          # similarly, insist on exact match for str (no conversions allowed)
             pass # offcount will cause a failure, unless another type matches
-        elif tp in six.integer_types and type(value) == float:
+        elif tp == int  and type(value) == float:
          # special case, insist on strict match for integer types
             pass # id. as for strings above
         elif ( tp == bool ) and not (type(value) in [bool, int]):
@@ -103,8 +100,7 @@ class _JobPropertyMeta(type):
 
 
 @functools.total_ordering
-@six.add_metaclass(_JobPropertyMeta)
-class JobProperty(object):
+class JobProperty(metaclass = _JobPropertyMeta):
     """ Base class for the job properties.  
         
            The job properties are class definitions that will be 
@@ -173,11 +169,6 @@ class JobProperty(object):
             return self() < rhs()
         return self() < rhs
 
-    def __cmp__(self, rhs):
-        if isinstance (rhs, JobProperty):
-            return cmp (self(), rhs())
-        return cmp (self(), rhs)
-    
     def __call__(self):
         return self.get_Value()  
 
diff --git a/Control/AthenaCommon/python/KeyStore.py b/Control/AthenaCommon/python/KeyStore.py
index a480a05d357c6fcb6f5c9a63a7d08e87c0d5272a..28c58b1df0c8b3564c43ceb4dbb343e56321dbaa 100644
--- a/Control/AthenaCommon/python/KeyStore.py
+++ b/Control/AthenaCommon/python/KeyStore.py
@@ -3,9 +3,6 @@
 # @file: AthenaCommon/python/KeyStore.py
 # @author: Sebastien Binet (binet@cern.ch)
 
-from __future__ import print_function
-import six
-
 ### data
 __version__ = '$Revision: 1.11 $'
 __author__  = 'Sebastien Binet <binet@cern.ch>'
@@ -567,10 +564,7 @@ class CfgKeyStore( object ):
         try:
             from pprint import pprint
             from datetime import datetime
-            if six.PY2:
-                from cStringIO import StringIO
-            else:
-                from io import StringIO
+            from io import StringIO
             buf = StringIO()
             pprint( item.dict(), stream = buf )
             
diff --git a/Control/AthenaCommon/python/PropertyProxy.py b/Control/AthenaCommon/python/PropertyProxy.py
index dded05cf1a2a95f78fe93bf426103e43f3eac0a6..6d2d94bf2add695a5e8d405db2cce7ff03e1d82b 100755
--- a/Control/AthenaCommon/python/PropertyProxy.py
+++ b/Control/AthenaCommon/python/PropertyProxy.py
@@ -4,19 +4,12 @@
 # Author: Wim Lavrijsen (WLavrijsen@lbl.gov)
 # Author: Martin Woudstra (Martin.Woudstra@cern.ch)
 
-from __future__ import print_function
-
-import six
 import os, weakref, copy
 from GaudiKernel.GaudiHandles import GaudiHandle, GaudiHandleArray
 
 # dictionary with configurable class : python module entries
 from AthenaCommon import ConfigurableDb
 
-if six.PY3:
-   long = int
-
-
 ### data ---------------------------------------------------------------------
 __version__ = '2.0.0'
 __author__  = 'Wim Lavrijsen (WLavrijsen@lbl.gov), Martin Woudstra (Martin.Woudstra@cern.ch)'
@@ -54,12 +47,10 @@ def _isCompatible( tp, value, context = "" ):
  # compatibility check that relies on conversion (which will always fail
  # for configurables) is acceptable.
 
-   if six.PY2 and type(value) == unicode: # noqa: F821
-      value = value.encode()
    if ( tp == str or type(value) == str ) and not isinstance( value, tp ):
     # special case, insist on exact match for str (no conversions allowed)
       raise ValueError( "received an instance of %s, but %s expected, context: %s" % (type(value),tp, context) )
-   elif ( tp == int or tp == long ) and type(value) == float:
+   elif ( tp == int ) and type(value) == float:
     # special case, insist on strict match for integer types
       raise ValueError( "received an instance of %s, but %s expected, context: %s" % (type(value),tp, context) )
    else:
diff --git a/Control/AthenaCommon/share/MemTraceInclude.py b/Control/AthenaCommon/share/MemTraceInclude.py
index d9fb0f7a90e5f17bf9898fad186486b091d60829..a252734df6c093b738c78780f751a9e7c71816d7 100755
--- a/Control/AthenaCommon/share/MemTraceInclude.py
+++ b/Control/AthenaCommon/share/MemTraceInclude.py
@@ -1,11 +1,8 @@
-import string
-import six
-
 from AthenaCommon.Include import Include
 class MemTraceInclude( Include ):
    def __init__( self, org ):
       Include.__init__( self, org._show )
-      for name, value in six.iteritems (org.__dict__):
+      for name, value in org.__dict__.items():
          setattr (self, name, value)
       import AthenaCommon.Logging as L
       self.msg = L.logging.getLogger('Athena')
diff --git a/Control/AthenaCommon/share/test_cfg_pickling.py b/Control/AthenaCommon/share/test_cfg_pickling.py
index a4e0fa816941a4b0c486cc08a2c0df84fc4c1a04..190b754874187abfc2149d5eb77cec608309cc1b 100755
--- a/Control/AthenaCommon/share/test_cfg_pickling.py
+++ b/Control/AthenaCommon/share/test_cfg_pickling.py
@@ -1,14 +1,9 @@
 #! /usr/bin/env python
-from __future__ import with_statement
 import sys
 import os
 
-from future import standard_library
-standard_library.install_aliases()
 import subprocess
 
-import six
-
 def _make_jobo(job):
     import tempfile
     jobo = tempfile.NamedTemporaryFile(suffix='-jobo.py', mode='w')
@@ -46,7 +41,7 @@ def _run_jobo(job, msg, logfile_name=None):
     out = []
     cmd = [sh, app, jobo.name]
     import subprocess as sub
-    encargs = {} if six.PY2 else {'encoding' : 'utf-8'}
+    encargs = {'encoding' : 'utf-8'}
     app_handle = sub.Popen (args=[sh, app, jobo.name],
                             stdout=logfile,
                             stderr=logfile,
diff --git a/Control/AthenaCommon/test/KeyStoreUnitTests.py b/Control/AthenaCommon/test/KeyStoreUnitTests.py
index c4ffa3547bd250f6ebb3789738dffcc4cdcb0f4f..83d4de16b0d08271d83793ead1a386f357b8de0e 100755
--- a/Control/AthenaCommon/test/KeyStoreUnitTests.py
+++ b/Control/AthenaCommon/test/KeyStoreUnitTests.py
@@ -5,9 +5,6 @@
 
 """Unit tests for verifying setting of CfgItemList and CfgKeyStore."""
 
-from __future__ import print_function
-import six
-
 import unittest, sys
 
 from AthenaCommon.KeyStore import CfgItemList, CfgKeyStore
@@ -373,9 +370,7 @@ class BasicCfgKeyStoreTestCase( unittest.TestCase ):
         del ks
         ## FIXME
         ## ARGH!!! Somebody is keeping a ref toward ks!
-        ## OK with py3
-        if six.PY3:
-            self.assertTrue( len(list(CfgKeyStore.instances.keys())) == 0 )
+        self.assertTrue( len(list(CfgKeyStore.instances.keys())) == 0 )
 
 ##         ks = CfgKeyStore( "MyStore" )
 
diff --git a/Control/AthenaExamples/AthExHelloWorld/share/HelloWorld_ATN.py b/Control/AthenaExamples/AthExHelloWorld/share/HelloWorld_ATN.py
deleted file mode 100755
index e98490de74a4eb7e77292618d9fbd0b6686603ab..0000000000000000000000000000000000000000
--- a/Control/AthenaExamples/AthExHelloWorld/share/HelloWorld_ATN.py
+++ /dev/null
@@ -1,125 +0,0 @@
-###############################################################
-#
-# Job options file
-#
-#==============================================================
-
-#--------------------------------------------------------------
-# ATLAS default Application Configuration options
-#--------------------------------------------------------------
-
-# Use McEventSelector so we can run with AthenaMP
-import AthenaCommon.AtlasUnixGeneratorJob
-
-#--------------------------------------------------------------
-# Private Application Configuration options
-#--------------------------------------------------------------
-
-# Full job is a list of algorithms
-from AthenaCommon.AlgSequence import AlgSequence
-job = AlgSequence()
-
-# Add top algorithms to be run
-from AthExHelloWorld.AthExHelloWorldConf import HelloAlg
-job += HelloAlg( "HelloWorld" )   # 1 alg, named "HelloWorld"
-
-#--------------------------------------------------------------
-# Set output level threshold (DEBUG, INFO, WARNING, ERROR, FATAL)
-#--------------------------------------------------------------
-
-# Output level for HelloAlg only (note name: instance, not type)
-job.HelloWorld.OutputLevel = INFO
-
-# You can set the global output level on the message svc (not
-# recommended) or by using the -l athena CLI parameter
-
-#--------------------------------------------------------------
-# Event related parameters
-#--------------------------------------------------------------
-
-# Number of events to be processed (default is until the end of
-# input, or -1, however, since we have no input, a limit needs
-# to be set explicitly, here, choose 10)
-theApp.EvtMax = 10
-
-#--------------------------------------------------------------
-# Algorithms Private Options (all optional)
-#--------------------------------------------------------------
-
-# For convenience, get a reference to the HelloAlg Algorithm
-# named "HelloWorld" in the job
-HelloWorld = job.HelloWorld
-
-# Set an int property
-HelloWorld.MyInt = 42
-
-# Set a boolean property (False, True, 0, 1)
-HelloWorld.MyBool = True
-
-# Set a double property
-HelloWorld.MyDouble = 3.14159
-
-# Set a vector of strings property ...
-HelloWorld.MyStringVec = [ "Welcome", "to", "Athena", "Framework", "Tutorial" ]
-
-# ... and add one more:
-HelloWorld.MyStringVec += [ "!" ]
-
-# Set a map of strings to strings property ...
-HelloWorld.MyDict = { 'Bonjour'      : 'Guten Tag',
-                      'Good Morning' : 'Bonjour' , 'one' : 'uno' }
-
-# ... and add one more:
-HelloWorld.MyDict[ "Goeiedag" ] = "Ni Hao"
-
-# Set a table (a vector of pairs of doubles) ...
-HelloWorld.MyTable = [ ( 1 , 1 ) , ( 2 , 4 ) , ( 3 , 9 ) ]
-
-# ... and one more:
-HelloWorld.MyTable += [ ( 4, 16 ) ]
-
-# Set a matrix (a vector of vectors) ...
-HelloWorld.MyMatrix = [ [ 1, 2, 3 ],
-                        [ 4, 5, 6 ] ]
-
-# ... and some more:
-HelloWorld.MyMatrix += [ [ 7, 8, 9 ] ]
-
-#--------------------------------------------------------------
-# Algorithms Tool Usage Private Options (advanced and optional)
-#--------------------------------------------------------------
-
-# Import configurable for using our HelloTool
-from AthExHelloWorld.AthExHelloWorldConf import HelloTool
-
-# Setup a public tool so that it can be used (again, note name)
-ToolSvc += HelloTool( "PublicHello" )
-ToolSvc.PublicHello.MyMessage = "A Public Message!"
-
-# Tell "HelloWorld" to use this tool ("MyPublicHelloTool" is a
-# ToolHandle property of HelloAlg)
-HelloWorld.MyPublicHelloTool = ToolSvc.PublicHello
-
-# Hand "HelloWorld" a private HelloTool ("MyPrivateHelloTool" is
-# a ToolHandler property of HelloAlg)
-HelloWorld.MyPrivateHelloTool = HelloTool( "HelloTool" )
-HelloWorld.MyPrivateHelloTool.MyMessage = "A Private Message!"
-
-
-#--------------------------------------------------------------
-# Test functioning of HistorySvc
-#--------------------------------------------------------------
-
-from GaudiSvc.GaudiSvcConf import HistorySvc
-svcMgr += HistorySvc()
-svcMgr.HistorySvc.OutputFile = 'hist.xml'
-svcMgr.HistorySvc.Dump       = False
-svcMgr.HistorySvc.Activate   = True
-theApp.ActivateHistory = True
-
-#==============================================================
-#
-# End of job options file
-#
-###############################################################
-