diff --git a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/CMakeLists.txt b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/CMakeLists.txt index 70feff1e74eec85a69f1cf1b88377c280797596a..6a610c94d461c53cb4fb2d09f7817f5b6b5e5974 100644 --- a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/CMakeLists.txt +++ b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/CMakeLists.txt @@ -54,6 +54,10 @@ atlas_add_test( TestSCTEncode SCRIPT athena.py --threads=1 SCT_RawDataByteStreamCnv/testSCTEncode.py PROPERTIES TIMEOUT 300 ENVIRONMENT THREADS=1 ) +atlas_add_test( TestSCTDecodeNewConf + SCRIPT python -m SCT_RawDataByteStreamCnv.SCT_RawDataByteStreamCnvConfig + PROPERTIES TIMEOUT 600 ) # Install files from the package: +atlas_install_python_modules( python/*.py ) atlas_install_joboptions( share/*.py ) diff --git a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/python/SCT_RawDataByteStreamCnvConfig.py b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/python/SCT_RawDataByteStreamCnvConfig.py new file mode 100644 index 0000000000000000000000000000000000000000..8c1925173755198b8fadf7c545271f0104f392c5 --- /dev/null +++ b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/python/SCT_RawDataByteStreamCnvConfig.py @@ -0,0 +1,59 @@ +# +# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration +# + +from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator +from AthenaConfiguration.ComponentFactory import CompFactory +from InDetConfig.InDetRecToolConfig import SCT_CablingToolCfg, SCT_ConfigurationConditionsToolCfg +from SCT_GeoModel.SCT_GeoModelConfig import SCT_GeometryCfg + +def SCT_RodDecoderCfg(flags): + acc = ComponentAccumulator() + acc.merge(SCT_GeometryCfg(flags)) + SCT_CablingTool = acc.popToolsAndMerge(SCT_CablingToolCfg(flags)) + SCT_ConfigurationConditionsTool = acc.popToolsAndMerge(SCT_ConfigurationConditionsToolCfg(flags)) + acc.setPrivateTools(CompFactory.SCT_RodDecoder(name="InDetSCTRodDecoder", + SCT_CablingTool=SCT_CablingTool, + ConfigTool=SCT_ConfigurationConditionsTool)) + return acc + +def SCTRawDataProviderToolCfg(flags): + acc = ComponentAccumulator() + InDetSCTRodDecoder = acc.popToolsAndMerge(SCT_RodDecoderCfg(flags)) + acc.setPrivateTools(CompFactory.SCTRawDataProviderTool(name="InDetSCTRawDataProviderTool", + Decoder=InDetSCTRodDecoder)) + return acc + +def SCTRawDataProviderCfg(flags): + acc = ComponentAccumulator() + InDetSCTRawDataProviderTool = acc.popToolsAndMerge(SCTRawDataProviderToolCfg(flags)) + acc.addEventAlgo(CompFactory.SCTRawDataProvider(name="InDetSCTRawDataProvider", + ProviderTool=InDetSCTRawDataProviderTool)) + return acc + +def SCTEventFlagWriterCfg(flags): + acc = ComponentAccumulator() + acc.addEventAlgo(CompFactory.SCTEventFlagWriter(name="InDetSCTEventFlagWriter")) + return acc + +if __name__ == "__main__": + from AthenaCommon.Configurable import Configurable + Configurable.configurableRun3Behavior = 1 + + from AthenaConfiguration.AllConfigFlags import ConfigFlags + ConfigFlags.Input.Files = ["/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/Tier0ChainTests/data17_13TeV.00330470.physics_Main.daq.RAW._lb0310._SFO-1._0001.data"] + ConfigFlags.IOVDb.GlobalTag = "CONDBR2-BLKPA-2018-03" + ConfigFlags.GeoModel.AtlasVersion = "ATLAS-R2-2016-01-00-01" + ConfigFlags.Detector.GeometrySCT = True + ConfigFlags.lock() + + from AthenaConfiguration.MainServicesConfig import MainServicesCfg + acc = MainServicesCfg(ConfigFlags) + + from ByteStreamCnvSvc.ByteStreamConfig import ByteStreamReadCfg + acc.merge(ByteStreamReadCfg(ConfigFlags)) + + acc.merge(SCTRawDataProviderCfg(ConfigFlags)) + acc.merge(SCTEventFlagWriterCfg(ConfigFlags)) + + acc.run(maxEvents=10) diff --git a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/python/__init__.py b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/python/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..f2f0fc1b7b487784e8781d2a41e43908019e0a7d --- /dev/null +++ b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/python/__init__.py @@ -0,0 +1 @@ +# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration