3"""Define methods to construct configured Tile conditions tools for tests"""
7 """Test Tile conditions tools configuration and return component accumulator"""
9 from AthenaCommon.Logging import logging
10 msg = logging.getLogger('TileCondToolsTestCfg')
12 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
13 acc = ComponentAccumulator()
15 from .TileEMScaleConfig import TileCondToolEmscaleCfg
16 emScaleTool = acc.popToolsAndMerge( TileCondToolEmscaleCfg(flags) )
19 from .TileEMScaleConfig import TileExpertToolEmscaleCfg
20 emScaleExpertTool = acc.popToolsAndMerge( TileExpertToolEmscaleCfg(flags) )
21 msg.info(emScaleExpertTool)
23 from .TileBadChannelsConfig import TileBadChanToolCfg
24 badChanTool = acc.popToolsAndMerge( TileBadChanToolCfg(flags) )
27 from .TileMuIDConfig import TileCondToolMuIDCfg
28 muIDTool = acc.popToolsAndMerge( TileCondToolMuIDCfg(flags) )
31 from .TileIntegratorConfig import TileCondToolIntegratorCfg
32 integratorTool = acc.popToolsAndMerge( TileCondToolIntegratorCfg(flags) )
33 msg.info(integratorTool)
35 from .TileTimingConfig import TileCondToolTimingCfg
36 timingTool = acc.popToolsAndMerge( TileCondToolTimingCfg(flags) )
39 from .TileTimingConfig import TileCondToolOnlineTimingCfg
40 onlineTimingTool = acc.popToolsAndMerge( TileCondToolOnlineTimingCfg(flags) )
41 msg.info(onlineTimingTool)
43 from .TileOFCConfig import TileCondToolOfcCoolCfg
44 ofcCoolTool = acc.popToolsAndMerge( TileCondToolOfcCoolCfg(flags) )
47 from .TileSampleNoiseConfig import TileCondToolNoiseSampleCfg
48 if flags.Common.isOnline:
49 accSampleNoise = TileCondToolNoiseSampleCfg(flags)
51 accSampleNoise = TileCondToolNoiseSampleCfg(flags,
52 TileSampleNoise = 'TileSampleNoise',
53 TileOnlineSampleNoise = 'TileOnlineSampleNoise')
55 sampleNoiseTool = acc.popToolsAndMerge( accSampleNoise )
56 msg.info(sampleNoiseTool)
58 if flags.IOVDb.DatabaseInstance == 'CONDBR2':
59 from .TileTMDBConfig import TileCondToolTMDBCfg
60 tmdbTool = acc.popToolsAndMerge( TileCondToolTMDBCfg(flags) )
63 from .TileDSPThresholdConfig import TileCondToolDspThresholdCfg
64 dspThrTool = acc.popToolsAndMerge( TileCondToolDspThresholdCfg(flags) )
67 if not (flags.IOVDb.DatabaseInstance == 'CONDBR2' and flags.Common.isOnline):
68 from .TilePulseShapeConfig import TileCondToolPulseShapeCfg
69 pulseShapeTool = acc.popToolsAndMerge( TileCondToolPulseShapeCfg(flags) )
70 msg.info(pulseShapeTool)
72 from .TilePulseShapeConfig import TileCondToolMuRcvPulseShapeCfg
73 muRcvPulseShapeTool = acc.popToolsAndMerge( TileCondToolMuRcvPulseShapeCfg(flags) )
74 msg.info(muRcvPulseShapeTool)
76 from .TileAutoCorrelationConfig import TileCondToolAutoCrCfg
77 autoCorrelationTool = acc.popToolsAndMerge( TileCondToolAutoCrCfg(flags) )
78 msg.info(autoCorrelationTool)
80 from .TileOFCConfig import TileCondToolOfcCfg
81 ofcTool = acc.popToolsAndMerge( TileCondToolOfcCfg(flags) )
85 if not (flags.Input.isMC or flags.Common.isOnline):
86 from TileConditions.TileDCSConfig import TileDCSToolCfg
87 dcsTool = acc.popToolsAndMerge( TileDCSToolCfg(flags) )
93if __name__ == "__main__":
95 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
96 from AthenaConfiguration.AllConfigFlags import initConfigFlags
97 from AthenaConfiguration.TestDefaults import defaultTestFiles
98 from AthenaCommon.Logging import log
99 from AthenaCommon.Constants import DEBUG
104 flags = initConfigFlags()
105 flags.Input.Files = defaultTestFiles.RAW_RUN2
108 acc = ComponentAccumulator()
109 acc.merge( TileCondToolsTestCfg(flags) )
111 acc.printConfig(withDetails = True, summariseProps = True)
112 print(acc.getService('IOVDbSvc'))
113 acc.store( open('TileCondTools.pkl','wb') )