ATLAS Offline Software
WriteAthenaRoot.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
2 
3 # @file AthenaRootComps/python/WriteAthenaRoot.py
4 # @purpose make the Athena framework write a set of ROOT files
5 # @author Sebastien Binet <binet@cern.ch>
6 #
7 
8 
9 from AthenaRootComps.Configurables import createNtupleOutputStream
10 
11 
12 __all__ = [ 'createNtupleOutputStream' ]
13 
15  """ Helper method to configure Athena to write out ROOT files """
16 
17  from AthenaCommon.Logging import logging
18  msg = logging.getLogger( 'configureWriteAthenaRoot' )
19  msg.debug( "Configuring Athena for writing ROOT files..." )
20 
21  # Load the basic services
22  import AthenaRootComps.AthenaRootBase # noqa: F401
23 
24  '''
25  from AthenaCommon.AppMgr import ServiceMgr as svcMgr
26  # Switch off splitting by setting default SplitLevel to 0
27  svcMgr.AthenaPoolCnvSvc.PoolAttributes += [ "DEFAULT_SPLITLEVEL ='0'" ]
28  # Set as default the member-wise streaming, ROOT default
29  svcMgr.AthenaPoolCnvSvc.PoolAttributes += [ "STREAM_MEMBER_WISE = '1'" ]
30 
31  # Increase default BasketSize to 32K, ROOT default (but overwritten by POOL)
32  svcMgr.AthenaPoolCnvSvc.PoolAttributes += [ "DEFAULT_BUFFERSIZE = '32000'" ]
33 
34  # Turn off auto_flush for DataHeader container to avoid basket optimization
35  svcMgr.AthenaPoolCnvSvc.PoolAttributes += [ "ContainerName = 'POOLContainer_DataHeader_p5'; TREE_AUTO_FLUSH = '0'" ]
36  svcMgr.AthenaPoolCnvSvc.PoolAttributes += [ "ContainerName = 'POOLContainer_DataHeaderForm_p5'; TREE_AUTO_FLUSH = '0'" ]
37  '''
38 
39  msg.debug( "Configuring Athena for writing ROOT files... [DONE]" )
40  return
41 
42 
44 
45 
46 del _configureWriteAthenaRoot
python.WriteAthenaRoot._configureWriteAthenaRoot
def _configureWriteAthenaRoot()
Definition: WriteAthenaRoot.py:14