ATLAS Offline Software
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 429 of file LVL1CaloMonitoringConfig.py.

429 def LVL1CaloMonitoringConfig(flags):
430  '''Function to call l1calo DQ monitoring algorithms'''
431  from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
432  from AthenaConfiguration.Enums import Format
433  import logging
434 
435  # local printing
436  local_logger = logging.getLogger('AthenaMonitoringCfg')
437  info = local_logger.info
438  info('In LVL1CaloMonitoringConfig')
439 
440  result = ComponentAccumulator()
441 
442  # If we're not putting trigger objects in event store, can't monitor them
443  if not flags.Trigger.Online.isPartition:
444  if not flags.DQ.triggerDataAvailable:
445  return result
446 
447  isData = not flags.Input.isMC
448 
449  # check if validation requested
450  validation=flags.DQ.Steering.LVL1Calo.doValidation
451 
452  # monitoring algorithm configs
453  # do not run on MC or RAW->ESD(tier0), or AOD-only
454  if not validation and isData and flags.DQ.Environment not in ('tier0Raw', 'AOD'):
455 
456  from TrigT1CaloMonitoring.PprMonitorAlgorithm import PprMonitoringConfig
457  from TrigT1CaloMonitoring.JepJemMonitorAlgorithm import JepJemMonitoringConfig
458 
459  # Use metadata to check Run3 compatible trigger info is available
460  from AthenaConfiguration.AutoConfigFlags import GetFileMD
461  md = GetFileMD(flags.Input.Files)
462  inputContainsRun3FormatConfigMetadata = ("metadata_items" in md and any(('TriggerMenuJson' in key) for key in md["metadata_items"].keys()))
463  result.merge(PprMonitoringConfig(flags))
464  result.merge(JepJemMonitoringConfig(flags))
465  if flags.Input.Format is not Format.POOL or inputContainsRun3FormatConfigMetadata:
466  # L1 menu available in the POOL file
467 
468  # since the legacy system started getting turned off in 2024, use detMask to determine
469  # which things are included, and therefore need monitoring ...
470  import eformat
471  detMask=eformat.helper.DetectorMask(f'{md.get("detectorMask",[0x0])[0]:032x}') #DetectorMask constructor swallows two 64bit ints
472  hasCPM = detMask.is_set(eformat.helper.SubDetector.TDAQ_CALO_CLUSTER_PROC_DAQ)
473  hasJEP = detMask.is_set(eformat.helper.SubDetector.TDAQ_CALO_JET_PROC_DAQ)
474 
475  if hasCPM:
476  from TrigT1CaloMonitoring.CpmMonitorAlgorithm import CpmMonitoringConfig
477  from TrigT1CaloMonitoring.CpmSimMonitorAlgorithm import CpmSimMonitoringConfig
478  result.merge(CpmMonitoringConfig(flags))
479  result.merge(CpmSimMonitoringConfig(flags))
480 
481  if hasJEP:
482  from TrigT1CaloMonitoring.JepCmxMonitorAlgorithm import JepCmxMonitoringConfig
483  result.merge(JepCmxMonitoringConfig(flags))
484 
485  from TrigT1CaloMonitoring.OverviewMonitorAlgorithm import OverviewMonitoringConfig
486  from TrigT1CaloMonitoring.PPMSimBSMonitorAlgorithm import PPMSimBSMonitoringConfig
487  result.merge(PPMSimBSMonitoringConfig(flags))
488  result.merge(OverviewMonitoringConfig(flags))
489 
490  if not hasCPM:
491  # CPM was disabled for run 480893 onwards, so stop monitoring that part
492  OverviewMonAlg = result.getEventAlgo("OverviewMonAlg")
493  OverviewMonAlg.CPMErrorLocation = ""
494  OverviewMonAlg.CPMMismatchLocation = ""
495 
496  if flags.Input.TriggerStream == "physics_Mistimed":
497  from TrigT1CaloMonitoring.MistimedStreamMonitorAlgorithm import MistimedStreamMonitorConfig
498  result.merge(MistimedStreamMonitorConfig(flags))
499 
500  # For running on bytestream data
501  if flags.Input.Format is Format.BS:
502  from TrigT1CaloByteStream.LVL1CaloRun2ByteStreamConfig import LVL1CaloRun2ReadBSCfg
503  result.merge(LVL1CaloRun2ReadBSCfg(flags))
504 
505  # Phase 1 monitoring of inputs and sim-vs-hw
506  if flags.Trigger.enableL1CaloPhase1 and flags.Input.Format is not Format.POOL:
507 
508  # run the L1Calo simulation (causes conflicts with DAOD)
509  from L1CaloFEXSim.L1CaloFEXSimCfg import L1CaloFEXSimCfg
510  result.merge(L1CaloFEXSimCfg(flags))
511 
512  #efex monitoring
513  if flags.Trigger.L1.doeFex:
514  from TrigT1CaloMonitoring.EfexInputMonitorAlgorithm import EfexInputMonitoringConfig
515  result.merge(EfexInputMonitoringConfig(flags))
516 
517  # monitoring of simulation vs hardware
518  from TrigT1CaloMonitoring.EfexSimMonitorAlgorithm import EfexSimMonitoringConfig
519  result.merge(EfexSimMonitoringConfig(flags))
520 
521  #gfex monitoring
522  if flags.Trigger.L1.dogFex:
523  #gfex input monitoring
524  from TrigT1CaloMonitoring.GfexInputMonitorAlgorithm import GfexInputMonitoringConfig
525  result.merge(GfexInputMonitoringConfig(flags))
526 
527  from TrigT1CaloMonitoring.GfexSimMonitorAlgorithm import GfexSimMonitoringConfig
528  result.merge(GfexSimMonitoringConfig(flags))
529 
530  #jfex monitoring
531  if flags.Trigger.L1.dojFex:
532  #jfex monitoring for input data
533  from TrigT1CaloMonitoring.JfexInputMonitorAlgorithm import JfexInputMonitoringConfig
534  result.merge(JfexInputMonitoringConfig(flags))
535 
536  #jfex monitoring for Data Vs Simulation
537  from TrigT1CaloMonitoring.JfexSimMonitorAlgorithm import JfexSimMonitoringConfig
538  JfexSimMonitoring = JfexSimMonitoringConfig(flags)
539  result.merge(JfexSimMonitoring)
540 
541  if flags.Trigger.L1.doTopo and isData:
542  #L1TopoSimulation (with monitoring Off to avoid clash with next call)
543  from L1TopoSimulation.L1TopoSimulationConfig import L1TopoSimulationCfg
544  result.merge(L1TopoSimulationCfg(flags,readMuCTPI=True,doMonitoring=False, useMuonDecoder=True, writeMuonRoIs = False))
545  #L1TopoOnlineMonitoring specific for L1Calo DQPlots
546  from L1TopoOnlineMonitoring.L1TopoOnlineMonitoringConfig import Phase1TopoMonitoringCfg
547  result.merge(Phase1TopoMonitoringCfg(flags))
548 
549  # run FEX output monitoring if doing validation or running on data not @ tier0 or on AOD
550  if validation or (isData and flags.DQ.Environment not in ('tier0Raw', 'AOD')):
551 
552  if validation:
553  # only run this monitoring if doing validation
554  from TrigT1CaloMonitoring.L1CaloLegacyEDMMonitorAlgorithm import L1CaloLegacyEDMMonitoringConfig
555  result.merge(L1CaloLegacyEDMMonitoringConfig(flags))
556 
557  #efex monitoring
558  if flags.Trigger.L1.doeFex:
559  from TrigT1CaloMonitoring.EfexMonitorAlgorithm import EfexMonitoringConfig
560  result.merge(EfexMonitoringConfig(flags))
561  from TrigT1CaloMonitoring.EfexMonitorAlgorithm import EfexMonitoringHistConfig
562  result.merge(EfexMonitoringHistConfig(flags,result.getEventAlgo('EfexMonAlg')))
563 
564  #gfex monitoring
565  if flags.Trigger.L1.dogFex:
566  from TrigT1CaloMonitoring.GfexMonitorAlgorithm import GfexMonitoringConfig
567  result.merge(GfexMonitoringConfig(flags))
568 
569  #jfex monitoring
570  if flags.Trigger.L1.dojFex:
571  from TrigT1CaloMonitoring.JfexMonitorAlgorithm import JfexMonitoringConfig
572  result.merge(JfexMonitoringConfig(flags))
573 
574  # jet efficiency monitoring -- needs either gfex or jfex to be worth scheduling
575  if flags.Trigger.L1.dojFex or flags.Trigger.L1.dogFex:
576  from TrigT1CaloMonitoring.JetEfficiencyMonitorAlgorithm import JetEfficiencyMonitoringConfig
577  result.merge(JetEfficiencyMonitoringConfig(flags))
578 
579  result.printConfig( withDetails= True )
580 
581  return result
582 

Variable Documentation

◆ DataType

LVL1CaloMonitoringConfig.DataType

Definition at line 590 of file LVL1CaloMonitoringConfig.py.

◆ enableLumiAccess

LVL1CaloMonitoringConfig.enableLumiAccess

Definition at line 591 of file LVL1CaloMonitoringConfig.py.

◆ Environment

LVL1CaloMonitoringConfig.Environment

Definition at line 589 of file LVL1CaloMonitoringConfig.py.

◆ flags

LVL1CaloMonitoringConfig.flags

Definition at line 587 of file LVL1CaloMonitoringConfig.py.

◆ h

LVL1CaloMonitoringConfig.h

Definition at line 593 of file LVL1CaloMonitoringConfig.py.

◆ hanConfig

LVL1CaloMonitoringConfig.hanConfig

Definition at line 594 of file LVL1CaloMonitoringConfig.py.

◆ path

LVL1CaloMonitoringConfig.path

Definition at line 594 of file LVL1CaloMonitoringConfig.py.

◆ thresholdConfig

LVL1CaloMonitoringConfig.thresholdConfig

Definition at line 602 of file LVL1CaloMonitoringConfig.py.

◆ type

LVL1CaloMonitoringConfig.type

Definition at line 594 of file LVL1CaloMonitoringConfig.py.

◆ useTrigger

LVL1CaloMonitoringConfig.useTrigger

Definition at line 588 of file LVL1CaloMonitoringConfig.py.

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
L1TopoSimulationConfig.L1TopoSimulationCfg
def L1TopoSimulationCfg(flags, doMonitoring=True, readMuCTPI=False, name="L1TopoSimulation", deactivateL1TopoMuons=False, useMuonRoIs=False, useMuonDecoder=False, writeMuonRoIs=True)
Definition: L1TopoSimulationConfig.py:46
EfexInputMonitorAlgorithm.EfexInputMonitoringConfig
def EfexInputMonitoringConfig(flags)
Definition: EfexInputMonitorAlgorithm.py:44
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:429
GfexMonitorAlgorithm.GfexMonitoringConfig
def GfexMonitoringConfig(flags)
Definition: GfexMonitorAlgorithm.py:4
L1TopoOnlineMonitoringConfig.Phase1TopoMonitoringCfg
def Phase1TopoMonitoringCfg(flags)
Definition: L1TopoOnlineMonitoringConfig.py:66
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:801
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
python.ParticleTypeUtil.info
def info
Definition: ParticleTypeUtil.py:87
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