Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Classes | Functions | Variables
LVL1CaloMonitoringConfig Namespace Reference

Classes

class  L1CaloMonitorCfgHelper
 

Functions

def LVL1CaloMonitoringConfig (flags)
 

Variables

 flags
 
 useTrigger
 
 Environment
 
 DataType
 
 enableLumiAccess
 
 h
 
 type
 
 path
 
 hanConfig
 
 thresholdConfig
 

Function Documentation

◆ LVL1CaloMonitoringConfig()

def LVL1CaloMonitoringConfig.LVL1CaloMonitoringConfig (   flags)
Function to call l1calo DQ monitoring algorithms

Definition at line 382 of file LVL1CaloMonitoringConfig.py.

382 def LVL1CaloMonitoringConfig(flags):
383  '''Function to call l1calo DQ monitoring algorithms'''
384  from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
385  from AthenaConfiguration.Enums import Format
386  import logging
387 
388  # local printing
389  local_logger = logging.getLogger('AthenaMonitoringCfg')
390  info = local_logger.info
391  info('In LVL1CaloMonitoringConfig')
392 
393  result = ComponentAccumulator()
394 
395  # If we're not putting trigger objects in event store, can't monitor them
396  if not flags.Trigger.Online.isPartition:
397  if not flags.DQ.triggerDataAvailable:
398  return result
399 
400  isData = not flags.Input.isMC
401 
402  # check if validation requested
403  validation=flags.DQ.Steering.LVL1Calo.doValidation
404 
405  # monitoring algorithm configs
406  # do not run on MC or RAW->ESD(tier0), or AOD-only
407  if not validation and isData and flags.DQ.Environment not in ('tier0Raw', 'AOD'):
408 
409  from TrigT1CaloMonitoring.PprMonitorAlgorithm import PprMonitoringConfig
410  from TrigT1CaloMonitoring.JepJemMonitorAlgorithm import JepJemMonitoringConfig
411 
412  # Use metadata to check Run3 compatible trigger info is available
413  from AthenaConfiguration.AutoConfigFlags import GetFileMD
414  md = GetFileMD(flags.Input.Files)
415  inputContainsRun3FormatConfigMetadata = ("metadata_items" in md and any(('TriggerMenuJson' in key) for key in md["metadata_items"].keys()))
416  result.merge(PprMonitoringConfig(flags))
417  result.merge(JepJemMonitoringConfig(flags))
418  if flags.Input.Format is not Format.POOL or inputContainsRun3FormatConfigMetadata:
419  # L1 menu available in the POOL file
420 
421  # since the legacy system started getting turned off in 2024, use detMask to determine
422  # which things are included, and therefore need monitoring ...
423  import eformat
424  detMask=eformat.helper.DetectorMask(f'{md.get("detectorMask",[0x0])[0]:032x}') #DetectorMask constructor swallows two 64bit ints
425  hasCPM = detMask.is_set(eformat.helper.SubDetector.TDAQ_CALO_CLUSTER_PROC_DAQ)
426  hasJEP = detMask.is_set(eformat.helper.SubDetector.TDAQ_CALO_JET_PROC_DAQ)
427 
428  if hasCPM:
429  from TrigT1CaloMonitoring.CpmMonitorAlgorithm import CpmMonitoringConfig
430  from TrigT1CaloMonitoring.CpmSimMonitorAlgorithm import CpmSimMonitoringConfig
431  result.merge(CpmMonitoringConfig(flags))
432  result.merge(CpmSimMonitoringConfig(flags))
433 
434  if hasJEP:
435  from TrigT1CaloMonitoring.JepCmxMonitorAlgorithm import JepCmxMonitoringConfig
436  result.merge(JepCmxMonitoringConfig(flags))
437 
438  from TrigT1CaloMonitoring.OverviewMonitorAlgorithm import OverviewMonitoringConfig
439  from TrigT1CaloMonitoring.PPMSimBSMonitorAlgorithm import PPMSimBSMonitoringConfig
440  result.merge(PPMSimBSMonitoringConfig(flags))
441  result.merge(OverviewMonitoringConfig(flags))
442 
443  if not hasCPM:
444  # CPM was disabled for run 480893 onwards, so stop monitoring that part
445  OverviewMonAlg = result.getEventAlgo("OverviewMonAlg")
446  OverviewMonAlg.CPMErrorLocation = ""
447  OverviewMonAlg.CPMMismatchLocation = ""
448 
449  if flags.Input.TriggerStream == "physics_Mistimed":
450  from TrigT1CaloMonitoring.MistimedStreamMonitorAlgorithm import MistimedStreamMonitorConfig
451  result.merge(MistimedStreamMonitorConfig(flags))
452 
453  # For running on bytestream data
454  if flags.Input.Format is Format.BS:
455  from TrigT1CaloByteStream.LVL1CaloRun2ByteStreamConfig import LVL1CaloRun2ReadBSCfg
456  result.merge(LVL1CaloRun2ReadBSCfg(flags))
457 
458  # Phase 1 monitoring of inputs and sim-vs-hw
459  if flags.Trigger.enableL1CaloPhase1 and flags.Input.Format is not Format.POOL:
460 
461  # run the L1Calo simulation (causes conflicts with DAOD)
462  from L1CaloFEXSim.L1CaloFEXSimCfg import L1CaloFEXSimCfg
463  result.merge(L1CaloFEXSimCfg(flags))
464 
465  #efex monitoring
466  if flags.Trigger.L1.doeFex:
467  from TrigT1CaloMonitoring.EfexInputMonitorAlgorithm import EfexInputMonitoringConfig
468  result.merge(EfexInputMonitoringConfig(flags))
469 
470  # monitoring of simulation vs hardware
471  from TrigT1CaloMonitoring.EfexSimMonitorAlgorithm import EfexSimMonitoringConfig
472  result.merge(EfexSimMonitoringConfig(flags))
473 
474  #gfex monitoring
475  if flags.Trigger.L1.dogFex:
476  #gfex input monitoring
477  from TrigT1CaloMonitoring.GfexInputMonitorAlgorithm import GfexInputMonitoringConfig
478  result.merge(GfexInputMonitoringConfig(flags))
479 
480  from TrigT1CaloMonitoring.GfexSimMonitorAlgorithm import GfexSimMonitoringConfig
481  result.merge(GfexSimMonitoringConfig(flags))
482 
483  #jfex monitoring
484  if flags.Trigger.L1.dojFex:
485  #jfex monitoring for input data
486  from TrigT1CaloMonitoring.JfexInputMonitorAlgorithm import JfexInputMonitoringConfig
487  result.merge(JfexInputMonitoringConfig(flags))
488 
489  #jfex monitoring for Data Vs Simulation
490  from TrigT1CaloMonitoring.JfexSimMonitorAlgorithm import JfexSimMonitoringConfig
491  JfexSimMonitoring = JfexSimMonitoringConfig(flags)
492  result.merge(JfexSimMonitoring)
493 
494  # run FEX output monitoring if doing validation or running on data not @ tier0 or on AOD
495  if validation or (isData and flags.DQ.Environment not in ('tier0Raw', 'AOD')):
496 
497  if validation:
498  # only run this monitoring if doing validation
499  from TrigT1CaloMonitoring.L1CaloLegacyEDMMonitorAlgorithm import L1CaloLegacyEDMMonitoringConfig
500  result.merge(L1CaloLegacyEDMMonitoringConfig(flags))
501 
502  #efex monitoring
503  if flags.Trigger.L1.doeFex:
504  from TrigT1CaloMonitoring.EfexMonitorAlgorithm import EfexMonitoringConfig
505  result.merge(EfexMonitoringConfig(flags))
506  from TrigT1CaloMonitoring.EfexMonitorAlgorithm import EfexMonitoringHistConfig
507  result.merge(EfexMonitoringHistConfig(flags,result.getEventAlgo('EfexMonAlg')))
508 
509  #gfex monitoring
510  if flags.Trigger.L1.dogFex:
511  from TrigT1CaloMonitoring.GfexMonitorAlgorithm import GfexMonitoringConfig
512  result.merge(GfexMonitoringConfig(flags))
513 
514  #jfex monitoring
515  if flags.Trigger.L1.dojFex:
516  from TrigT1CaloMonitoring.JfexMonitorAlgorithm import JfexMonitoringConfig
517  result.merge(JfexMonitoringConfig(flags))
518 
519  # jet efficiency monitoring -- needs either gfex or jfex to be worth scheduling
520  if flags.Trigger.L1.dojFex or flags.Trigger.L1.dogFex:
521  from TrigT1CaloMonitoring.JetEfficiencyMonitorAlgorithm import JetEfficiencyMonitoringConfig
522  result.merge(JetEfficiencyMonitoringConfig(flags))
523 
524  result.printConfig( withDetails= True )
525 
526  return result
527 

Variable Documentation

◆ DataType

LVL1CaloMonitoringConfig.DataType

Definition at line 535 of file LVL1CaloMonitoringConfig.py.

◆ enableLumiAccess

LVL1CaloMonitoringConfig.enableLumiAccess

Definition at line 536 of file LVL1CaloMonitoringConfig.py.

◆ Environment

LVL1CaloMonitoringConfig.Environment

Definition at line 534 of file LVL1CaloMonitoringConfig.py.

◆ flags

LVL1CaloMonitoringConfig.flags

Definition at line 532 of file LVL1CaloMonitoringConfig.py.

◆ h

LVL1CaloMonitoringConfig.h

Definition at line 538 of file LVL1CaloMonitoringConfig.py.

◆ hanConfig

LVL1CaloMonitoringConfig.hanConfig

Definition at line 539 of file LVL1CaloMonitoringConfig.py.

◆ path

LVL1CaloMonitoringConfig.path

Definition at line 539 of file LVL1CaloMonitoringConfig.py.

◆ thresholdConfig

LVL1CaloMonitoringConfig.thresholdConfig

Definition at line 547 of file LVL1CaloMonitoringConfig.py.

◆ type

LVL1CaloMonitoringConfig.type

Definition at line 539 of file LVL1CaloMonitoringConfig.py.

◆ useTrigger

LVL1CaloMonitoringConfig.useTrigger

Definition at line 533 of file LVL1CaloMonitoringConfig.py.

grepfile.info
info
Definition: grepfile.py:38
python.AutoConfigFlags.GetFileMD
def GetFileMD(filenames, allowEmpty=True, maxLevel='peeker')
Definition: AutoConfigFlags.py:65
EfexMonitorAlgorithm.EfexMonitoringHistConfig
def EfexMonitoringHistConfig(flags, eFexAlg)
Definition: EfexMonitorAlgorithm.py:24
PPMSimBSMonitorAlgorithm.PPMSimBSMonitoringConfig
def PPMSimBSMonitoringConfig(flags)
Definition: PPMSimBSMonitorAlgorithm.py:7
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
EfexSimMonitorAlgorithm.EfexSimMonitoringConfig
def EfexSimMonitoringConfig(flags)
Definition: EfexSimMonitorAlgorithm.py:4
GfexSimMonitorAlgorithm.GfexSimMonitoringConfig
def GfexSimMonitoringConfig(flags, UseOfflineCopy=True)
Definition: GfexSimMonitorAlgorithm.py:4
LVL1CaloRun2ByteStreamConfig.LVL1CaloRun2ReadBSCfg
def LVL1CaloRun2ReadBSCfg(flags, forRoIBResultToxAOD=False)
Definition: LVL1CaloRun2ByteStreamConfig.py:121
CpmSimMonitorAlgorithm.CpmSimMonitoringConfig
def CpmSimMonitoringConfig(inputFlags)
Definition: CpmSimMonitorAlgorithm.py:4
EfexInputMonitorAlgorithm.EfexInputMonitoringConfig
def EfexInputMonitoringConfig(flags)
Definition: EfexInputMonitorAlgorithm.py:4
L1CaloLegacyEDMMonitorAlgorithm.L1CaloLegacyEDMMonitoringConfig
def L1CaloLegacyEDMMonitoringConfig(inputFlags)
Definition: L1CaloLegacyEDMMonitorAlgorithm.py:5
GfexInputMonitorAlgorithm.GfexInputMonitoringConfig
def GfexInputMonitoringConfig(flags)
Definition: GfexInputMonitorAlgorithm.py:4
PprMonitorAlgorithm.PprMonitoringConfig
def PprMonitoringConfig(inputFlags)
Definition: PprMonitorAlgorithm.py:5
LVL1CaloMonitoringConfig.LVL1CaloMonitoringConfig
def LVL1CaloMonitoringConfig(flags)
Definition: LVL1CaloMonitoringConfig.py:382
GfexMonitorAlgorithm.GfexMonitoringConfig
def GfexMonitoringConfig(flags)
Definition: GfexMonitorAlgorithm.py:4
JepCmxMonitorAlgorithm.JepCmxMonitoringConfig
def JepCmxMonitoringConfig(inputFlags)
Definition: JepCmxMonitorAlgorithm.py:4
MistimedStreamMonitorAlgorithm.MistimedStreamMonitorConfig
def MistimedStreamMonitorConfig(flags, Legacy, PhaseI)
Definition: MistimedStreamMonitorAlgorithm.py:6
JfexSimMonitorAlgorithm.JfexSimMonitoringConfig
def JfexSimMonitoringConfig(flags)
Definition: JfexSimMonitorAlgorithm.py:4
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:798
JfexInputMonitorAlgorithm.JfexInputMonitoringConfig
def JfexInputMonitoringConfig(flags)
Definition: JfexInputMonitorAlgorithm.py:4
EfexMonitorAlgorithm.EfexMonitoringConfig
def EfexMonitoringConfig(inputFlags)
Definition: EfexMonitorAlgorithm.py:4
JetEfficiencyMonitorAlgorithm.JetEfficiencyMonitoringConfig
def JetEfficiencyMonitoringConfig(flags)
Definition: JetEfficiencyMonitorAlgorithm.py:4
CpmMonitorAlgorithm.CpmMonitoringConfig
def CpmMonitoringConfig(inputFlags)
Definition: CpmMonitorAlgorithm.py:4
JepJemMonitorAlgorithm.JepJemMonitoringConfig
def JepJemMonitoringConfig(inputFlags)
Definition: JepJemMonitorAlgorithm.py:4
L1CaloFEXSimCfg
Definition: L1CaloFEXSimCfg.py:1
JfexMonitorAlgorithm.JfexMonitoringConfig
def JfexMonitoringConfig(flags)
Definition: JfexMonitorAlgorithm.py:4
OverviewMonitorAlgorithm.OverviewMonitoringConfig
def OverviewMonitoringConfig(inputFlags)
Definition: OverviewMonitorAlgorithm.py:4