Skip to content
Snippets Groups Projects
Commit fa6a4c56 authored by Frank Winklmeier's avatar Frank Winklmeier
Browse files

Merge branch 'master-tile-calib-algs-cfg-run3' into 'master'

TileCalibAlgs: Add Tile digi noise calibration configuration for Run 3

See merge request atlas/athena!46991
parents 16061e85 c85d528e
No related branches found
No related tags found
No related merge requests found
......@@ -20,4 +20,9 @@ atlas_add_component( TileCalibAlgs
# Install files from the package:
atlas_install_headers( TileCalibAlgs )
atlas_install_joboptions( share/*.py )
atlas_install_python_modules( python/*.py POST_BUILD_CMD ${ATLAS_FLAKE8} )
atlas_add_test( TileDigiNoiseCalibAlgConfig_test
SCRIPT python -m TileCalibAlgs.TileDigiNoiseCalibAlgConfig
PROPERTIES TIMEOUT 300
POST_EXEC_SCRIPT nopost.sh)
#
# Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
#
'''
@file TileDigiNoiseCalibAlgConfig.py
@brief Python configuration of TileDigiNoiseCalibAlg algorithm for the Run III
'''
def TileDigiNoiseCalibAlgCfg(flags, **kwargs):
''' Function to configure TileDigiNoiseCalibAlg algorithm'''
from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
acc = ComponentAccumulator()
from TileConditions.TileCablingSvcConfig import TileCablingSvcCfg
acc.merge( TileCablingSvcCfg(flags) )
from TileConditions.TileInfoLoaderConfig import TileInfoLoaderCfg
acc.merge( TileInfoLoaderCfg(flags) )
from TileGeoModel.TileGMConfig import TileGMCfg
acc.merge(TileGMCfg( flags ))
from TileRecUtils.TileDQstatusConfig import TileDQstatusAlgCfg
acc.merge( TileDQstatusAlgCfg(flags) )
kwargs.setdefault('name', 'TileDigiNoiseCalibAlg')
from AthenaConfiguration.ComponentFactory import CompFactory
TileDigiNoiseCalibAlgCfg = CompFactory.TileDigiNoiseCalibAlg
acc.addEventAlgo(TileDigiNoiseCalibAlgCfg(**kwargs), primary=True)
return acc
if __name__=='__main__':
# Setup the Run III behavior
from AthenaCommon.Configurable import Configurable
Configurable.configurableRun3Behavior = True
# Setup logs
from AthenaCommon.Logging import log
from AthenaCommon.Constants import INFO
log.setLevel(INFO)
# Set the Athena configuration flags
from AthenaConfiguration.AllConfigFlags import ConfigFlags
from AthenaConfiguration.TestDefaults import defaultTestFiles
ConfigFlags.Input.Files = defaultTestFiles.RAW
ConfigFlags.Exec.MaxEvents = 3
ConfigFlags.fillFromArgs()
ConfigFlags.lock()
# Initialize configuration object, add accumulator, merge, and run.
from AthenaConfiguration.MainServicesConfig import MainServicesCfg
cfg = MainServicesCfg(ConfigFlags)
from ByteStreamCnvSvc.ByteStreamConfig import ByteStreamReadCfg
tileTypeNames = ['TileRawChannelContainer/TileRawChannelCnt',
'TileBeamElemContainer/TileBeamElemCnt',
'TileDigitsContainer/TileDigitsCnt']
cfg.merge( ByteStreamReadCfg(ConfigFlags, type_names = tileTypeNames) )
cfg.getService('ByteStreamCnvSvc').ROD2ROBmap = [ "-1" ]
runNumber = ConfigFlags.Input.RunNumber[0]
from AthenaConfiguration.ComponentFactory import CompFactory
cfg.addPublicTool( CompFactory.TileROD_Decoder(fullTileMode = runNumber) )
cfg.merge( TileDigiNoiseCalibAlgCfg(ConfigFlags) )
cfg.printConfig(withDetails = True, summariseProps = True)
ConfigFlags.dump()
cfg.store( open('TileDigiNoiseCalibAlg.pkl','wb') )
sc = cfg.run()
import sys
# Success should be 0
sys.exit(not sc.isSuccess())
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