Skip to content
Snippets Groups Projects
Commit 10acd30f authored by Alaettin Serhan Mete's avatar Alaettin Serhan Mete :eagle: Committed by Edward Moyse
Browse files

AthenaPoolCnvSvc+OutputStreamAthenaPool: Configure PoolWriteCfg from within OutputStreamConfig

Get rid of merging PoolWriteCfg directly, which should now be done by OutputStreamConfig automatically
parent 51160ce0
No related branches found
No related tags found
No related merge requests found
Showing
with 9 additions and 45 deletions
......@@ -3,6 +3,8 @@
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
"""
from AthenaConfiguration.AccumulatorCache import AccumulatorCache
def _overrideTreeAutoFlush(logger, flags, stream, value):
"""Helper function to override TreeAutoFlush from flags."""
if not flags.Output.TreeAutoFlush or not isinstance(flags.Output.TreeAutoFlush, dict):
......@@ -18,7 +20,7 @@ def _overrideTreeAutoFlush(logger, flags, stream, value):
return value
@AccumulatorCache
def PoolWriteCfg(flags, forceTreeAutoFlush=-1):
"""Return ComponentAccumulator configured to Write POOL files"""
# based on WriteAthenaPool._configureWriteAthenaPool
......
......@@ -25,6 +25,11 @@ def OutputStreamCfg(configFlags, streamName, ItemList=[], MetadataItemList=[],
raise ConfigurationError("Same name for input and output file %s" % fileName)
result = ComponentAccumulator(sequence = CompFactory.AthSequencer("AthOutSeq", StopOverride=True))
# Set up AthenaPoolCnvSvc through PoolWriteCfg
from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
result.merge(PoolWriteCfg(configFlags))
# define athena output stream
writingTool = CompFactory.AthenaOutputStreamTool(f"Stream{streamName}Tool",
DataHeaderKey=outputStreamName)
......
......@@ -83,11 +83,9 @@ def fromRunArgs(runArgs):
from AthenaConfiguration.MainServicesConfig import MainServicesCfg
cfg = MainServicesCfg(ConfigFlags)
# Pool file reading and writing
# Pool file reading
from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
cfg.merge(PoolReadCfg(ConfigFlags))
from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
cfg.merge(PoolWriteCfg(ConfigFlags))
# Cut flow service
from EventBookkeeperTools.EventBookkeeperToolsConfig import CutFlowSvcCfg
......
......@@ -63,8 +63,5 @@ if __name__ == "__main__":
readBSAcc = ByteStreamReadCfg(flags)
acc.merge(HIRecCfg(flags))
from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
acc.merge(PoolWriteCfg(flags))
import sys
sys.exit(acc.run().isFailure())
......@@ -57,9 +57,6 @@ def fromRunArgs(runArgs):
cfg.merge(PoolReadCfg(ConfigFlags))
# Output writing
from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
cfg.merge(PoolWriteCfg(ConfigFlags))
from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
cfg.merge(OutputStreamCfg(ConfigFlags, 'AOD'))
StreamAOD = cfg.getEventAlgo('OutputStreamAOD')
......
......@@ -46,9 +46,6 @@ def fromRunArgs(runArgs):
from TrigTLAMonitoring.decodeBS_TLA_AOD import setupDecodeCfgCA as TLADecodeConfig
cfg = TLADecodeConfig(ConfigFlags)
from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
cfg.merge(PoolWriteCfg(ConfigFlags))
# process post-include/exec
processPostInclude(runArgs, ConfigFlags, cfg)
processPostExec(runArgs, ConfigFlags, cfg)
......
......@@ -235,13 +235,6 @@ def RecoSteering(flags):
# setup output
acc.flagPerfmonDomain('IO')
if any((flags.Output.doWriteESD,
flags.Output.doWriteAOD,
flags.Output.doWriteRDO)):
from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
acc.merge(PoolWriteCfg(flags))
log.info("setup POOL format writing")
if flags.Output.doWriteESD:
# Needed for Trk::Tracks TPCnv
from TrkEventCnvTools.TrkEventCnvToolsConfigCA import (
......
......@@ -10,7 +10,6 @@ from AthenaConfiguration.Enums import ProductionStep
from AthenaConfiguration.DetectorConfigFlags import getEnabledDetectors
from AthenaConfiguration.MainServicesConfig import MainServicesCfg
from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
from BCM_Digitization.BCM_DigitizationConfig import BCM_DigitizationCfg
from Digitization.DigitizationParametersConfig import writeDigitizationMetadata
from LArDigitization.LArDigitizationConfig import LArTriggerDigitizationCfg
......@@ -55,7 +54,6 @@ def DigitizationMainServicesCfg(flags):
acc = MainServicesCfg(flags)
acc.merge(PoolReadCfg(flags))
acc.merge(PoolWriteCfg(flags))
return acc
......
......@@ -54,9 +54,7 @@ if __name__ == '__main__':
## Initialize a new component accumulator
cfg = MainServicesCfg(flags)
from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
cfg.merge(PoolReadCfg(flags))
cfg.merge(PoolWriteCfg(flags))
# add BeamEffectsAlg
from BeamEffects.BeamEffectsAlgConfig import BeamEffectsAlgCfg
......
......@@ -66,9 +66,7 @@ if __name__ == '__main__':
## Initialize a new component accumulator
cfg = MainServicesCfg(flags)
from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
cfg.merge(PoolReadCfg(flags))
cfg.merge(PoolWriteCfg(flags))
# add BeamEffectsAlg
from BeamEffects.BeamEffectsAlgConfig import BeamEffectsAlgCfg
......
......@@ -25,7 +25,6 @@ def FastCaloSimServicesMainCfg(flags):
# Construct our accumulator to run
acc = FCSServicesMainCfg(flags)
acc.merge(PoolReadCfg(flags))
acc.merge(PoolWriteCfg(flags))
# Add TileInfoLoader
from TileConditions.TileInfoLoaderConfig import TileInfoLoaderCfg
......@@ -65,7 +64,6 @@ if __name__ == '__main__':
import sys
from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
from AthenaConfiguration.MainServicesConfig import MainServicesCfg
from ISF_FastCaloSimServices.ISF_FastCaloSimServicesTestHelpers import (
......
......@@ -8,7 +8,6 @@ from AthenaConfiguration.MainServicesConfig import MainServicesCfg
from AthenaConfiguration.DetectorConfigFlags import getEnabledDetectors
from AthenaConfiguration.Enums import LHCPeriod
from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
from Digitization.DigitizationParametersConfig import writeDigitizationParameters
from OverlayConfiguration.OverlayMetadata import overlayMetadataCheck, \
fastChainOverlayMetadataCheck
......@@ -42,7 +41,6 @@ def OverlayMainCfg(configFlags):
# Construct our accumulator to run
acc = MainServicesCfg(configFlags)
acc.merge(PoolReadCfg(configFlags))
acc.merge(PoolWriteCfg(configFlags))
acc.merge(OverlayMainContentCfg(configFlags))
return acc
......
......@@ -80,9 +80,6 @@ def CommonSimulationCfg(flags, log):
cfg.addSequence(CompFactory.AthSequencer('SimSequence'), parentName='AthAlgSeq')
cfg.addSequence(CompFactory.AthSequencer('CopyHitSequence'), parentName='AthAlgSeq')
from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
cfg.merge(PoolWriteCfg(flags))
if flags.Sim.ISF.ReSimulation:
# Case 4
from ISF_Algorithms.ISF_AlgorithmsConfig import SimEventFilterCfg, InvertedSimEventFilterCfg, RenameHitCollectionsCfg
......
......@@ -135,9 +135,7 @@ def fromRunArgs(runArgs):
cfg = MainServicesCfg(flags)
from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
cfg.merge(PoolReadCfg(flags))
cfg.merge(PoolWriteCfg(flags))
# Ensure proper metadata propagation
from IOVDbSvc.IOVDbSvcConfig import IOVDbSvcCfg
......
......@@ -52,9 +52,7 @@ def fromRunArgs(runArgs):
cfg = MainServicesCfg(flags)
from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
cfg.merge(PoolReadCfg(flags))
cfg.merge(PoolWriteCfg(flags))
# Ensure proper metadata propagation
from IOVDbSvc.IOVDbSvcConfig import IOVDbSvcCfg
......
......@@ -59,9 +59,7 @@ def fromRunArgs(runArgs):
cfg = MainServicesCfg(flags)
from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
cfg.merge(PoolReadCfg(flags))
cfg.merge(PoolWriteCfg(flags))
# Geometry dependencies
if flags.Detector.EnablePixel:
......
......@@ -5,7 +5,6 @@ from PyJobTransforms.CommonRunArgsToFlags import commonRunArgsToFlags
from PyJobTransforms.TransformUtils import processPreExec, processPreInclude, processPostExec, processPostInclude
from AthenaConfiguration.MainServicesConfig import MainServicesCfg
from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
from SimuJobTransforms.CommonSimulationSteering import specialConfigPreInclude, specialConfigPostInclude
......@@ -135,7 +134,6 @@ def fromRunArgs(runArgs):
cfg = MainServicesCfg(flags)
cfg.merge(PoolReadCfg(flags))
cfg.merge(PoolWriteCfg(flags))
# Simulation
from BeamEffects.BeamEffectsAlgConfig import BeamEffectsAlgCfg
......
......@@ -86,9 +86,7 @@ def printAndRun(accessor, flags, args):
def ITkCfg(flags):
acc = MainServicesCfg(flags)
from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
acc.merge(PoolReadCfg(flags))
acc.merge(PoolWriteCfg(flags))
# add BeamEffectsAlg
from BeamEffects.BeamEffectsAlgConfig import BeamEffectsAlgCfg
......
......@@ -85,9 +85,7 @@ log.debug('Dumping of ConfigFlags now.')
ConfigFlags.dump()
from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
acc.merge(PoolReadCfg(ConfigFlags))
acc.merge(PoolWriteCfg(ConfigFlags))
# add BeamEffectsAlg
from BeamEffects.BeamEffectsAlgConfig import BeamEffectsAlgCfg
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment