if DQMonFlags.useTrigger(): if not 'rec' in dir(): from RecExConfig.RecFlags import rec if rec.readESD() and (DQMonFlags.monManEnvironment=='tier0ESD'): # for ESD->AOD use trigger config stored as in-file meta-data, if not 'TriggerFlags' in dir(): from TriggerJobOpts.TriggerFlags import TriggerFlags TriggerFlags.configurationSourceList = ['ds'] # set up trigger config service if not 'TriggerConfigGetter' in dir(): from TriggerJobOpts.TriggerConfigGetter import TriggerConfigGetter cfg = TriggerConfigGetter() if not hasattr(ToolSvc, DQMonFlags.nameTrigDecTool()): from TrigDecisionTool.TrigDecisionToolConf import Trig__TrigDecisionTool monTrigDecTool = Trig__TrigDecisionTool(name=DQMonFlags.nameTrigDecTool(), OutputLevel=ERROR, PublicChainGroups = {"EF": "EF_rd0*",} ) ToolSvc += monTrigDecTool if DQMonFlags.useTrigger(): if not hasattr(ToolSvc, 'monTrigDecTool'): print "Trigger decision tool not found: don't run trigger-aware monitoring" else: myVx.TrigDecisionTool = monTrigDecTool #tool should already be in namespace myVx.TriggerChain = "EF_rd0_filled_NoAlg" ToolSvc += myVx
rec.doWriteESD = False rec.doWriteAOD = False rec.doWriteTAG = False ############################### # Setup Athena Monitoring ############################### from AthenaMonitoring.AthenaMonitoringConf import AthenaMonManager if not 'DQMonFlags' in dir(): from AthenaMonitoring.DQMonFlags import DQMonFlags HLTmetOutputLevel = INFO myTrigDecisionTool = "" if (DQMonFlags.useTrigger() and hasattr(ToolSvc, DQMonFlags.nameTrigDecTool())): myTrigDecisionTool = getattr(ToolSvc, DQMonFlags.nameTrigDecTool()) else: from TrigDecisionTool.TrigDecisionToolConf import Trig__TrigDecisionTool ToolSvc += Trig__TrigDecisionTool("TrigDecisionTool") ToolSvc.TrigDecisionTool.OutputLevel = ERROR ToolSvc.TrigDecisionTool.Navigation.OutputLevel = ERROR HLTmetMonMan = AthenaMonManager(name="HLTMonManager", FileKey=DQMonFlags.monManFileKey(), Environment=DQMonFlags.monManEnvironment(), OutputLevel=HLTmetOutputLevel) topSequence += HLTmetMonMan # in order to check available detectors
# # # Vertex Monitoring Tool # # # #################################################### if InDetFlags.doMonitoringGlobal(): from InDetVertexMonitoring.InDetVertexMonitoringConf import InDetVertexMonitoring InDetVertexMonitoring = InDetVertexMonitoring( name = "InDetVertexMonitoring", VertexContainer = InDetKeys.xAODVertexContainer(), DoControlPlots = False, histFolder = "InDetGlobal/PrimaryVertexMultiplicity" ) if not hasattr(ToolSvc, 'monTrigDecTool') and rec.doTrigger == True: printfunc ("Trigger decision tool not found: including it now") from TrigDecisionTool.TrigDecisionToolConf import Trig__TrigDecisionTool monTrigDecTool = Trig__TrigDecisionTool(name=DQMonFlags.nameTrigDecTool(), OutputLevel=ERROR, PublicChainGroups = {"EFRandom": "EF_rd0_filled_NoAlg"} ) #ToolSvc += monTrigDecTool if rec.doTrigger == True: InDetVertexMonitoring.TrigDecisionTool = monTrigDecTool InDetVertexMonitoring.TriggerChain = "EF_rd0_filled_NoAlg" #ToolSvc += InDetVertexMonitoring InDetGlobalManager.AthenaMonTools += [ InDetVertexMonitoring] #################################################### topSequence+=InDetGlobalManager
if jobproperties.TileRecFlags.readDigits(): if 'doTileRODMon' in dir() and doTileRODMon: ToolSvc += CfgMgr.TileRODMonTool( name = 'TileRODMon' , OutputLevel = INFO , histoPathBase = "/Tile/ROD" , FillHistogramsForL1Triggers = [] , doOnline = athenaCommonFlags.isOnline()) ManagedAthenaTileMon.AthenaMonTools += [ ToolSvc.TileRODMon ] ToolSvc += CfgMgr.TileDigiNoiseMonTool(name = 'TileDigiNoiseMon' , OutputLevel = INFO , TileDigitsContainer = "TileDigitsCnt" , histoPathBase = "/Tile/DigiNoise" , TriggerChain = "HLT_noalg_cosmiccalo_L1RD1_EMPTY" , TrigDecisionTool = getattr(ToolSvc, DQMonFlags.nameTrigDecTool()) if DQMonFlags.useTrigger() else "" , TriggerTypes = [ 0x82 ]); if globalflags.InputFormat() == 'pool': ToolSvc.TileDigiNoiseMon.TileDigitsContainer = 'TileDigitsFlt' ManagedAthenaTileMon.AthenaMonTools += [ ToolSvc.TileDigiNoiseMon ] ToolSvc += CfgMgr.TileDQFragLWMonTool(name = 'TileDQFragMon' , OutputLevel = INFO , TileRawChannelContainer = jobproperties.TileRecFlags.TileRawChannelContainer() , TileDigitsContainer = "TileDigitsCnt" , NegAmpHG = -200. , NegAmpLG = -15. , SkipMasked = True
#cbg athenaMonTool_LB.FilterTools += [monbadlb] ToolSvc += athenaMonTool_LB from AthenaMonitoring.DQMonFlags import DQMonFlags if DQMonFlags.useTrigger(): athenaMonTool_trig = JetMonitoringTool( "JetMonitoring_trig", HistoTools=[ commonMonitoringTool("AntiKt4LCTopoJets", pathSuffix='_trig'), commonMonitoringTool("AntiKt4EMTopoJets", pathSuffix='_trig'), commonMonitoringTool("AntiKt10LCTopoJets", pathSuffix='_trig') ], IntervalType=6) #cbg athenaMonTool_trig.FilterTools += [monbadlb] ToolSvc += athenaMonTool_trig athenaMonTool_trig.TrigDecisionTool = getattr(ToolSvc, DQMonFlags.nameTrigDecTool()) athenaMonTool_trig.TriggerChain = "CATEGORY_monitoring_jet" #athenaMonTool_trig.TriggerChain = "HLT_j25,HLT_j60,HLT_j200_jes_PS" #athenaMonTool_trig.OutputLevel = 2 def athenaMonitoringTools(): if DQMonFlags.useTrigger(): return [athenaMonTool, athenaMonTool_LB, athenaMonTool_trig] else: return [athenaMonTool, athenaMonTool_LB]
# # # Vertex Monitoring Tool # # # #################################################### if InDetFlags.doMonitoringGlobal(): from InDetVertexMonitoring.InDetVertexMonitoringConf import InDetVertexMonitoring InDetVertexMonitoring = InDetVertexMonitoring( name = "InDetVertexMonitoring", VertexContainer = InDetKeys.PrimaryVertices(), DoControlPlots = False, histFolder = "InDetGlobal/PrimaryVertexMultiplicity" ) if not hasattr(ToolSvc, 'monTrigDecTool') and rec.doTrigger == True: print "Trigger decision tool not found: including it now" from TrigDecisionTool.TrigDecisionToolConf import Trig__TrigDecisionTool monTrigDecTool = Trig__TrigDecisionTool(name=DQMonFlags.nameTrigDecTool(), OutputLevel=ERROR, PublicChainGroups = {"EFRandom": "EF_rd0_filled_NoAlg"} ) ToolSvc += monTrigDecTool if rec.doTrigger == True: InDetVertexMonitoring.TrigDecisionTool = monTrigDecTool InDetVertexMonitoring.TriggerChain = "EF_rd0_filled_NoAlg" ToolSvc += InDetVertexMonitoring InDetGlobalManager.AthenaMonTools += [ InDetVertexMonitoring] #################################################### topSequence+=InDetGlobalManager
include("SCT_Monitoring/SCTLorentzMonAlg_jobOptions.py") include("SCT_Monitoring/SCTTracksMonAlg_jobOptions.py") include("SCT_Monitoring/SCTHitsNoiseMonAlg_jobOptions.py") else: from AthenaMonitoring.DQMonFlags import DQMonFlags tracksName = (InDetKeys.SCTTracks() if InDetFlags.doTrackSegmentsSCT() else InDetKeys.UnslimmedTracks()) doTrigger = False TrigDecisionTool_InDetSCTHitsTool = "" if globalflags.DataSource == "data": from RecExConfig.RecFlags import rec if rec.doTrigger(): doTrigger = True TrigDecisionTool_InDetSCTHitsTool = DQMonFlags.nameTrigDecTool() from SCT_Monitoring.SCT_MonitoringConf import SCTHitsNoiseMonTool InDetSCTHitsTool = SCTHitsNoiseMonTool( name="InDetSCTHitsNoiseMonTool", OutputLevel=4, doTrigger=doTrigger, TrigDecisionTool=TrigDecisionTool_InDetSCTHitsTool, tracksName=tracksName) if (InDetFlags.doPrintConfigurables()): printfunc(InDetSCTHitsTool) from SCT_Monitoring.SCT_MonitoringConf import SCTErrMonTool InDetSCTErrMonTool = SCTErrMonTool(name="InDetSCTErrMonTool", OutputLevel=4, histoPathBase="/stat",
# # #################################################### if InDetFlags.doMonitoringGlobal() and doIdNCBMon: from InDetGlobalMonitoring.InDetGlobalMonitoringConf import InDetGlobalBackgroundMonTool InDetGlobalBackgroundMonTool = InDetGlobalBackgroundMonTool( name="InDetGlobalBackgroundMonTool") # Trigger selection only for offline. Online, the triggers are selected directly in the job steering if not hasattr( ToolSvc, 'monTrigDecTool' ) and rec.doTrigger == True and not athenaCommonFlags.isOnline(): print "Trigger decision tool not found: including it now" from TrigDecisionTool.TrigDecisionToolConf import Trig__TrigDecisionTool monTrigDecTool = Trig__TrigDecisionTool( name=DQMonFlags.nameTrigDecTool(), OutputLevel=ERROR, PublicChainGroups={ "EFRandom": "EF_rd0_filled_NoAlg", "L1Unpaired": "L1_BCM_.*" }) ToolSvc += monTrigDecTool InDetGlobalBackgroundMonTool.TrigDecisionTool = monTrigDecTool InDetGlobalBackgroundMonTool.TriggerChain = "L1_BCM_AC_UNPAIRED_ISO, L1_BCM_AC_UNPAIRED_NONISO, L1_BCM_CA_UNPAIRED_ISO, L1_BCM_CA_UNPAIRED_NONISO" ToolSvc += InDetGlobalBackgroundMonTool InDetGlobalManager.AthenaMonTools += [InDetGlobalBackgroundMonTool] if InDetFlags.doMonitoringGlobal( ) or InDetFlags.doMonitoringPrimaryVertexingEnhanced():
if DQMonFlags.useTrigger(): if not 'rec' in dir(): from RecExConfig.RecFlags import rec if rec.readESD() and (DQMonFlags.monManEnvironment=='tier0ESD'): # for ESD->AOD use trigger config stored as in-file meta-data, if not 'TriggerFlags' in dir(): from TriggerJobOpts.TriggerFlags import TriggerFlags TriggerFlags.configurationSourceList = ['ds'] # set up trigger config service if not 'TriggerConfigGetter' in dir(): from TriggerJobOpts.TriggerConfigGetter import TriggerConfigGetter cfg = TriggerConfigGetter() if not hasattr(ToolSvc, DQMonFlags.nameTrigDecTool()): from TrigDecisionTool.TrigDecisionToolConf import Trig__TrigDecisionTool monTrigDecTool = Trig__TrigDecisionTool(name=DQMonFlags.nameTrigDecTool(), OutputLevel=ERROR, PublicChainGroups = {"EFTau": "EF_[0-9]?tau.*", "EFPhoton": "EF_[0-9]?g*", "EFJets":"EF_J.*", } ) ToolSvc += monTrigDecTool tdt_local_logger.info('Scheduling the trigger translator') # Look up all monitoring menu lists, shove into trigger translator # pass them in as joined strings, unpack in tool from TrigHLTMonitoring.HLTMonTriggerList import HLTMonTriggerList tdt_local_hltconfig = HLTMonTriggerList()
if DQMonFlags.useTrigger(): if not 'rec' in dir(): from RecExConfig.RecFlags import rec if rec.readESD() and (DQMonFlags.monManEnvironment=='tier0ESD'): # for ESD->AOD use trigger config stored as in-file meta-data, if not 'TriggerFlags' in dir(): from TriggerJobOpts.TriggerFlags import TriggerFlags TriggerFlags.configurationSourceList = ['ds'] # set up trigger config service if not 'TriggerConfigGetter' in dir(): from TriggerJobOpts.TriggerConfigGetter import TriggerConfigGetter cfg = TriggerConfigGetter() if not hasattr(ToolSvc, DQMonFlags.nameTrigDecTool().split('/')[-1]): tdt_local_logger.error('DQ Monitoring is being asked to set up the TrigDecisionTool for some reason. THIS IS A TERRIBLE IDEA AND SHOULD BE CONSIDERED A BUG!') from TrigDecisionTool.TrigDecisionToolConf import Trig__TrigDecisionTool monTrigDecTool = Trig__TrigDecisionTool(name=DQMonFlags.nameTrigDecTool(), OutputLevel=ERROR, PublicChainGroups = {"EFTau": "EF_[0-9]?tau.*", "EFPhoton": "EF_[0-9]?g*", "EFJets":"EF_J.*", } ) ToolSvc += monTrigDecTool # The following should be provided automatically when setting up the tool, but is not # Still needs to be provided by the trigger # When trigger has a standard procedure for this, switch ToolSvc.TrigDecisionTool.TrigConfigSvc = "Trig::TrigConfigSvc/TrigConfigSvc" from TrigEDMConfig.TriggerEDM import EDMLibraries
if DQMonFlags.useTrigger(): if not 'rec' in dir(): from RecExConfig.RecFlags import rec if rec.readESD() and (DQMonFlags.monManEnvironment == 'tier0ESD'): # for ESD->AOD use trigger config stored as in-file meta-data, if not 'TriggerFlags' in dir(): from TriggerJobOpts.TriggerFlags import TriggerFlags TriggerFlags.configurationSourceList = ['ds'] # set up trigger config service if not 'TriggerConfigGetter' in dir(): from TriggerJobOpts.TriggerConfigGetter import TriggerConfigGetter cfg = TriggerConfigGetter() if not hasattr(ToolSvc, DQMonFlags.nameTrigDecTool().split('/')[-1]): tdt_local_logger.error( 'DQ Monitoring is being asked to set up the TrigDecisionTool for some reason. THIS IS A TERRIBLE IDEA AND SHOULD BE CONSIDERED A BUG!' ) from TrigDecisionTool.TrigDecisionToolConf import Trig__TrigDecisionTool monTrigDecTool = Trig__TrigDecisionTool( name=DQMonFlags.nameTrigDecTool(), OutputLevel=ERROR, PublicChainGroups={ "EFTau": "EF_[0-9]?tau.*", "EFPhoton": "EF_[0-9]?g*", "EFJets": "EF_J.*", }) ToolSvc += monTrigDecTool # The following should be provided automatically when setting up the tool, but is not # Still needs to be provided by the trigger