diff --git a/Control/AthenaMonitoring/python/AthenaMonitoringCfg.py b/Control/AthenaMonitoring/python/AthenaMonitoringCfg.py index 7e7ef46779913f389df279bd48c10aea0dbf796a..bb798a4d1248b11e3e1e439ff00ac5efeaffa93f 100644 --- a/Control/AthenaMonitoring/python/AthenaMonitoringCfg.py +++ b/Control/AthenaMonitoring/python/AthenaMonitoringCfg.py @@ -17,6 +17,11 @@ def AthenaMonitoringCfg(flags): from TileMonitoring.TileJetMonitorAlgorithm import TileJetMonitoringConfig result.merge(TileJetMonitoringConfig(flags)) + if flags.DQ.Steering.doLArMon: + local_logger.info('Set up LAr monitoring') + from LArConfiguration.LArMonitoringConfig import LArMonitoringConfig + result.merge(LArMonitoringConfig(flags)) + if flags.DQ.Steering.doHLTMon: local_logger.info('Set up HLT monitoring') from TrigHLTMonitoring.TrigHLTMonitorAlgorithm import TrigHLTMonTopConfig diff --git a/LArCalorimeter/LArConfiguration/python/LArMonitoringConfig.py b/LArCalorimeter/LArConfiguration/python/LArMonitoringConfig.py new file mode 100644 index 0000000000000000000000000000000000000000..6216f84a942f60d8249cbee30f33cc65020969bb --- /dev/null +++ b/LArCalorimeter/LArConfiguration/python/LArMonitoringConfig.py @@ -0,0 +1,67 @@ +# +# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration +# + +def LArMonitoringConfig(inputFlags): + + + from LArMonitoring.LArCollisionTimeMonAlg import LArCollisionTimeMonConfig + from LArMonitoring.LArAffectedRegionsAlg import LArAffectedRegionsConfig + from LArMonitoring.LArDigitMonAlg import LArDigitMonConfig + from LArMonitoring.LArRODMonAlg import LArRODMonConfig + + # algos which could run anytime: + acc = LArAffectedRegionsConfig(inputFlags) + acc.merge(LArCollisionTimeMonConfig(inputFlags)) + + # and others on RAW data only + from LArConfiguration.LArConfigFlags import _getLArRunInfo + lri=_getLArRunInfo(inputFlags) + if lri is not None and lri.runType is not None: + acc.merge(LArDigitMonConfig(inputFlags)) + acc.merge(LArRODMonConfig(inputFlags)) + + return acc + + + +if __name__=='__main__': + + from AthenaConfiguration.AllConfigFlags import ConfigFlags + from AthenaCommon.Logging import log + from AthenaCommon.Constants import DEBUG + from AthenaCommon.Configurable import Configurable + Configurable.configurableRun3Behavior=1 + log.setLevel(DEBUG) + + + from LArMonitoring.LArMonConfigFlags import createLArMonConfigFlags + createLArMonConfigFlags() + + from AthenaConfiguration.TestDefaults import defaultTestFiles + ConfigFlags.Input.Files = defaultTestFiles.RAW + + ConfigFlags.Output.HISTFileName = 'LArMonitoringOutput.root' + ConfigFlags.DQ.enableLumiAccess = True + ConfigFlags.DQ.useTrigger = True + ConfigFlags.Beam.Type = 'collisions' + ConfigFlags.lock() + + + from CaloRec.CaloRecoConfig import CaloRecoCfg + cfg=CaloRecoCfg(ConfigFlags) + + #from CaloD3PDMaker.CaloD3PDConfig import CaloD3PDCfg,CaloD3PDAlg + #cfg.merge(CaloD3PDCfg(ConfigFlags, filename=ConfigFlags.Output.HISTFileName, streamname='CombinedMonitoring')) + + acc = LArMonitoringConfig(ConfigFlags) + cfg.merge(acc) + + cfg.printConfig() + + ConfigFlags.dump() + f=open("LArMonitoring.pkl","w") + cfg.store(f) + f.close() + + #cfg.run(100,OutputLevel=WARNING) diff --git a/LArCalorimeter/LArMonitoring/python/LArRODMonAlg.py b/LArCalorimeter/LArMonitoring/python/LArRODMonAlg.py index 0d58383815231496c30221eb990624c9c888355f..f39f7d27022a0aaac2cd2604d93cb74268457160 100644 --- a/LArCalorimeter/LArMonitoring/python/LArRODMonAlg.py +++ b/LArCalorimeter/LArMonitoring/python/LArRODMonAlg.py @@ -136,22 +136,23 @@ def LArRODMonConfig(inputFlags, cellDebug=False, dspDebug=False): #DQMD histos dqmd_hist_path='DQMD/' - darray = helper.addArray([lArDQGlobals.Partitions+['all']],larRODMonAlg,"RODMon") - darray.defineHistogram('Ediff,Erange;DE_ranges', title='E_{online} - E_{offline} for all ranges : E_{offline} - E_{online} (MeV) : Energy range ', + Group.defineHistogram('Ediff,Erange;E_ranges_all', title='E_{online} - E_{offline} for all ranges : E_{offline} - E_{online} (MeV) : Energy range ', type='TH2F', path=dqmd_hist_path, xbins=lArDQGlobals.DSP1Energy_Bins, xmin=lArDQGlobals.DSP1Energy_Min, xmax=lArDQGlobals.DSP1Energy_Max, ybins=lArDQGlobals.DSPRanges_Bins, ymin=lArDQGlobals.DSPRanges_Min, ymax=lArDQGlobals.DSPRanges_Max, #labels=?+lArDQGlobals.DSPRanges # how to put labels only on Y-axis ? ) - - Group.defineHistogram('Ediff,Erange;E_ranges_all', title='E_{online} - E_{offline} for all ranges : E_{offline} - E_{online} (MeV) : Energy range ', + dqmd_hist_path='/LAr/DSPMonitoring/DQMD/' + darray = helper.addArray([lArDQGlobals.Partitions+['all']],larRODMonAlg,"RODMon") + darray.defineHistogram('Ediff,Erange;DE_ranges', title='E_{online} - E_{offline} for all ranges : E_{offline} - E_{online} (MeV) : Energy range ', type='TH2F', path=dqmd_hist_path, xbins=lArDQGlobals.DSP1Energy_Bins, xmin=lArDQGlobals.DSP1Energy_Min, xmax=lArDQGlobals.DSP1Energy_Max, ybins=lArDQGlobals.DSPRanges_Bins, ymin=lArDQGlobals.DSPRanges_Min, ymax=lArDQGlobals.DSPRanges_Max, #labels=?+lArDQGlobals.DSPRanges # how to put labels only on Y-axis ? ) + #per partition, currently in one dir only - part_hist_path='perPartition/' + part_hist_path='/LAr/DSPMonitoring/perPartition/' darray.defineHistogram('Ediff;DE', title='E_{offline} - E_{online}:E_{offline} - E_{online}', type='TH1F', path=part_hist_path, xbins=lArDQGlobals.DSPEnergy_Bins, xmin=lArDQGlobals.DSPEnergy_Min, xmax=lArDQGlobals.DSPEnergy_Max)