"DataQualitySteering_jobOptions.py: exception when setting up Muon segment monitoring" ) try: if MuonDQADetFlags.doCSCSegmMon(): include("MuonSegmMonitoring/MuonCSCSegmDQA_options.py") except Exception: treatException( "DataQualitySteering_jobOptions.py: exception when setting up Muon CSC segment monitoring" ) #------------- ---------# # Muon track monitoring # #------------- ---------# if DQMonFlags.doMuonTrackMon(): try: if DQMonFlags.useTrigger( ): ## monitoring tool cannot have a dependence on TrigDecisionTool if DQMonFlags.useTrigger==False (ATLASRECTS-3549) if MuonDQADetFlags.doMuonTrackMon(): include("MuonTrackMonitoring/MuonTrackDQA_options.py") if MuonDQADetFlags.MuonTrkMonDoTrigger(): include("MuonTrackMonitoring/MuonTrigTrackDQA_options.py") except Exception: treatException( "DataQualitySteering_jobOptions.py: exception when setting up Muon track monitoring" ) #-------------------------# # MuonTrkPhys monitoring # #-------------------------# if DQMonFlags.doMuonTrkPhysMon(): try: if MuonDQADetFlags.doMuonTrkPhysMon():
rec.readAOD = True 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
#monMan.Run = 1 #monMan.LumiBlock = 1 # list of the algorithms to be executed at run time from InDetVertexMonitoring.InDetVertexMonitoringConf import InDetVertexMonitoring myVx = InDetVertexMonitoring() myVx.DoControlPlots = False myVx.OutputLevel = WARNING if not 'DQMonFlags' in dir(): print "DQMonFlags not yet imported - I import them now" from AthenaMonitoring.DQMonFlags import DQMonFlags #DQMonFlags.useTrigger = False 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()):
theLArBadChannelTool = LArBadChanTool() ToolSvc += theLArBadChannelTool LArCellMon = LArCellMonTool( name="LArCellMonCosmics", CaloCellContainer="AllCalo", #TimeGran = "run", ProcessNEvents= 100, #determines eventsblock time granularity, defined in ManagedMonitorToolBase. BadLBTool=GetLArBadLBFilterTool(), ReadyFilterTool=monAtlasReadyFilterTool, useElectronicNoiseOnly=False, #useTwoGaus = True, Tile-only CaloNoiseTool=theCaloNoiseTool, useTrigger=DQMonFlags.useTrigger(), rndmTriggerNames= "L1_RD0, L1_RD0_FILLED, L1_RD0_EMPTY, L1_RD1, L1_RD1_NOISE, L1_RD1_HIST, L1_RD1_BGRP4, L1_RD1_BGRP5", caloTriggerNames= "L1_EM[0-9]+, L1_HA[0-9]+, L1_J[0-9]+.*, L1_JB[0-9]+, L1_JF[0-9]+, L1_TE[0-9]+, L1_JE[0-9]+, L1_XE[0-9]+, L1_2EM[0-9]+, L1_2FJ[0-9]+, L1_2J[0-9]+,L1_3J[0-9]+.*,L1_4J[0-9]+.*,L1_5J[0-9]+,L1_6J[0-9]+,L1_FJ[0-9]+.*", minBiasTriggerNames="L1_RD0_FILLED, L1_MBTS_1, L1_MBTS_2, L1_MBTS_1_1", metTriggerNames="EF_xe[0-9]+.*", miscTriggerNames="", LArBadChannelMask=theLArChanMasker, LArBadChannelTool=theLArBadChannelTool, MaskBadChannels=False, MaskNoCondChannels=False, useReadyFilterTool=False, useBeamBackgroundRemoval=False, #doInverseMasking = False,
egammaMonitorUpsilon2S = False ### photonTrigItems = [] electronTrigItems = [] ZeeTrigItems = [] JPsiTrigItems = [] UpsilonTrigItems = [] SoftETrigItems = [] FrwdETrigItems = [] WenutriggerXselection = ["tight", "tight", "loose", "loose"] # WenutriggerXselection = [] MyTrigDecisionTool = "" if DQMonFlags.useTrigger(): photonTrigItems = ["EF_g35_loose_g25_loose"] electronTrigItems = ["EF_e24vh_medium1", "EF_2e12Tvh_loose1"] UpsilonTrigItems = ["EF_2e12Tvh_loose1"] SoftETrigItems = ["EF_2e12Tvh_loose1"] FrwdETrigItems = ["EF_e24vh_medium1"] ZeeTrigItems = ["EF_e24vh_medium1"] JPsiTrigItems = ["EF_2e12Tvh_loose1"] WenutriggerXselection = [ "EF_e24vh_medium1", "medium", "tight", "tight", "loose", "loose" ] MyTrigDecisionTool = "Trig::TrigDecisionTool/TrigDecisionTool" if (egammaMonitorPhotons):
include ("TileMonitoring/TileMonTopoCluster_jobOptions.py") ToolSvc += CfgMgr.TileClusterMonTool(name = 'TileClusterMon' , OutputLevel = INFO , clustersContainerName = "TileTopoCluster" , FillHistogramsForL1Triggers = [] , histoPathBase = "/Tile/Cluster"); ManagedAthenaTileMon.AthenaMonTools += [ ToolSvc.TileClusterMon ]; if (jobproperties.Beam.beamType() == 'cosmics' or jobproperties.Beam.beamType() == 'singlebeam'): ToolSvc += CfgMgr.TileMuonFitMonTool(name = 'TileMuonFitMon' , OutputLevel = INFO , UseLVL1 = DQMonFlags.useTrigger() , FillHistogramsForL1Triggers = [] , histoPathBase = "/Tile/MuonFit") ManagedAthenaTileMon.AthenaMonTools += [ ToolSvc.TileMuonFitMon ] ToolSvc += CfgMgr.TileMuIdMonTool(name = 'TileMuIdMon' , OutputLevel = INFO , FillHistogramsForL1Triggers = [] , histoPathBase = "/Tile/Muid") ManagedAthenaTileMon.AthenaMonTools += [ ToolSvc.TileMuIdMon ]; ToolSvc += CfgMgr.TileL2MonTool(name = 'TileL2MuMon'
monitoredStreams=[]) from AthenaCommon.BeamFlags import jobproperties if jobproperties.Global.DataSource.get_Value() == 'data': theLArOddCellsMonTool.LArPedestalKey = 'Pedestal' else: theLArOddCellsMonTool.LArPedestalKey = 'LArPedestal' #The next line is actually getting all the information. I'm sure this is available offline at the T0, but #this shouldn't be available online, so be careful when you use it.... #TK: Only do this when trigger is enabled. from AthenaMonitoring.DQMonFlags import DQMonFlags if DQMonFlags.useTrigger() and not athenaCommonFlags.isOnline(): from RecExConfig.InputFilePeeker import inputFileSummary #this retrieve the stream the file open belongs to the output is like: express_express or physics_CosmicCalo #so retrieve the chain, split it in the "_" char and get the second part (ie CosmicCalo or express...) if inputFileSummary: #Try to find the bitestreamMetaData: if "bs_metadata" in inputFileSummary: #Try to find the Stream: if "Stream" in inputFileSummary['bs_metadata']: #Try the input format should be like physics_L1Calo if not inputFileSummary['bs_metadata']['Stream'].find( "_") == -1: #if ok get the stream name: StreamFromFile = inputFileSummary['bs_metadata'][ 'Stream'].split("_")[1] if StreamFromFile == 'express':
def athenaMonitoringTools(): if DQMonFlags.useTrigger(): return [athenaMonTool, athenaMonTool_LB, athenaMonTool_trig] else: return [athenaMonTool, athenaMonTool_LB]
FrwdETrigItems = [] MyTrigDecisionTool = "" # do trigger by default for at least one electron and photon monitor BypassphotonTrigItems = [] BypassmySingleElectronTrigItems = [] # Force the trigger with a trigger found in the test file for test purpose # BypassphotonTrigItems = ['L1_EM20VH'] # BypassmySingleElectronTrigItems = ['L1_EM20VH'] BypassphotonTrigItems += egammaConf.primary_double_pho BypassmySingleElectronTrigItems += egammaConf.primary_single_ele print("egamma electron trigger = %s" % BypassmySingleElectronTrigItems) BypassMyTrigDecisionTool = monTrigDecTool if DQMonFlags.useTrigger() else None ## Commenting in/out Trigger for now MyDoTrigger = False #MyDoTrigger = DQMonFlags.useTrigger() if (MyDoTrigger): photonTrigItems += egammaConf.primary_double_pho mySingleElectronTrigger += egammaConf.primary_single_ele myDiElectronTrigger += egammaConf.primary_double_ele JPsiTrigItems += egammaConf.monitoring_Jpsiee FrwdETrigItems += egammaConf.primary_single_ele ZeeTrigItems += egammaConf.monitoring_Zee MyTrigDecisionTool = monTrigDecTool
TileClusterMon = CfgMgr.TileClusterMonTool( name='TileClusterMon', OutputLevel=INFO, clustersContainerName="TileTopoCluster", FillHistogramsForL1Triggers=[], histoPathBase="/Tile/Cluster") ManagedAthenaTileMon.AthenaMonTools += [TileClusterMon] if (jobproperties.Beam.beamType() == 'cosmics' or jobproperties.Beam.beamType() == 'singlebeam'): TileMuonFitMon = CfgMgr.TileMuonFitMonTool( name='TileMuonFitMon', OutputLevel=INFO, UseLVL1=DQMonFlags.useTrigger(), FillHistogramsForL1Triggers=[], histoPathBase="/Tile/MuonFit") ManagedAthenaTileMon.AthenaMonTools += [TileMuonFitMon] TileMuIdMon = CfgMgr.TileMuIdMonTool(name='TileMuIdMon', OutputLevel=INFO, FillHistogramsForL1Triggers=[], histoPathBase="/Tile/Muid") ManagedAthenaTileMon.AthenaMonTools += [TileMuIdMon] TileL2MuMon = CfgMgr.TileL2MonTool(name='TileL2MuMon', OutputLevel=INFO, FillHistogramsForL1Triggers=[],
tdt_local_logger = logging.getLogger('TrigDecTool_jobOptions') # Set up the trigger decision tool (for trigger-aware monitoring) if not 'DQMonFlags' in dir(): tdt_local_logger.debug("DQMonFlags not yet imported - I import them now") from AthenaMonitoring.DQMonFlags import DQMonFlags 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.*", } )