ATLAS Offline Software
Loading...
Searching...
No Matches
TileMonitoringConfig.py
Go to the documentation of this file.
2# Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3#
4
5'''
6@file TileMonitoringConfig.py
7@brief Python configuration of Tile Monitoring for the Run III
8'''
9
11 ''' Function to configure Tile Monitoring in the monitoring system for Run III.'''
12
13 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
14 acc = ComponentAccumulator()
15
16 from AthenaCommon.Logging import logging
17 msg = logging.getLogger( 'TileMonitoringCfg' )
18
19 environment = flags.DQ.Environment
20
21 if environment in ('online', 'tier0', 'tier0Raw'):
22 msg.info('Setup Tile Monitoring for RAW data due to environment: %s', environment)
23
24 from TileMonitoring.TileDQFragMonitorAlgorithm import TileDQFragMonitoringConfig
25 acc.merge( TileDQFragMonitoringConfig(flags) )
26
27 from TileMonitoring.TileMBTSMonitorAlgorithm import TileMBTSMonitoringConfig
28 acc.merge( TileMBTSMonitoringConfig(flags) )
29
30 from TileMonitoring.TileDigiNoiseMonitorAlgorithm import TileDigiNoiseMonitoringConfig
31 acc.merge( TileDigiNoiseMonitoringConfig(flags) )
32
33 if environment in ('online', 'tier0', 'tier0ESD'):
34 msg.info('Setup Tile Monitoring for ESD data due to environment: %s', environment)
35
36 from TileMonitoring.TileCellMonitorAlgorithm import TileCellMonitoringConfig
37 acc.merge( TileCellMonitoringConfig(flags) )
38
39 from TileMonitoring.TileTowerMonitorAlgorithm import TileTowerMonitoringConfig
40 acc.merge( TileTowerMonitoringConfig(flags) )
41
42 from TileMonitoring.TileClusterMonitorAlgorithm import TileClusterMonitoringConfig
43 acc.merge( TileClusterMonitoringConfig(flags) )
44
45 from TileMonitoring.TileMuIdMonitorAlgorithm import TileMuIdMonitoringConfig
46 acc.merge( TileMuIdMonitoringConfig(flags) )
47
48 from TileMonitoring.TileJetMonitorAlgorithm import TileJetMonitoringConfig
49 acc.merge( TileJetMonitoringConfig(flags) )
50
51 if flags.IOVDb.DatabaseInstance == 'CONDBR2' and flags.DQ.triggerDataAvailable:
52 from TileMonitoring.TileTMDBRawChannelMonitorAlgorithm import TileTMDBRawChannelMonitoringConfig
53 acc.merge( TileTMDBRawChannelMonitoringConfig(flags, FillRawChannelHistograms = False, FillEfficiencyHistograms = True) )
54
55 from AthenaConfiguration.Enums import BeamType
56 if flags.Beam.Type in [BeamType.Cosmics, BeamType.SingleBeam]:
57 from TileCosmicAlgs.TileMuonFitterConfig import TileMuonFitterCfg
58 acc.merge(TileMuonFitterCfg(flags))
59
60 from TileMonitoring.TileMuonFitMonitorAlgorithm import TileMuonFitMonitoringConfig
61 acc.merge( TileMuonFitMonitoringConfig(flags) )
62
63 return acc
64
65
66
67if __name__=='__main__':
68
69 from AthenaConfiguration.AllConfigFlags import initConfigFlags
70 from AthenaCommon.Logging import log
71 from AthenaCommon.Constants import INFO
72 log.setLevel(INFO)
73
74 flags = initConfigFlags()
75 flags.Input.Files = ['/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/Tier0ChainTests/q431/22.0/v1/myESD.pool.root']
76 flags.Output.HISTFileName = 'TileMonitoringOutput.root'
77 flags.DQ.enableLumiAccess = False
78 flags.DQ.useTrigger = False
79 flags.DQ.Environment = 'tier0'
80 flags.Exec.MaxEvents = 3
81 flags.fillFromArgs()
82 flags.lock()
83
84 # Initialize configuration object, add accumulator, merge, and run.
85 from AthenaConfiguration.MainServicesConfig import MainServicesCfg
86 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
87 acc = MainServicesCfg(flags)
88 acc.merge(PoolReadCfg(flags))
89
90 acc.merge( TileMonitoringCfg(flags) )
91
92 acc.printConfig(withDetails = True, summariseProps = True)
93 flags.dump()
94 acc.store(open("TileMonitoring.pkl","wb"))
95
96 sc = acc.run()
97 import sys
98 # Success should be 0
99 sys.exit(not sc.isSuccess())