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 434 of file LVL1CaloMonitoringConfig.py.

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

Variable Documentation

◆ DataType

LVL1CaloMonitoringConfig.DataType

Definition at line 595 of file LVL1CaloMonitoringConfig.py.

◆ enableLumiAccess

LVL1CaloMonitoringConfig.enableLumiAccess

Definition at line 596 of file LVL1CaloMonitoringConfig.py.

◆ Environment

LVL1CaloMonitoringConfig.Environment

Definition at line 594 of file LVL1CaloMonitoringConfig.py.

◆ flags

LVL1CaloMonitoringConfig.flags

Definition at line 592 of file LVL1CaloMonitoringConfig.py.

◆ h

LVL1CaloMonitoringConfig.h

Definition at line 598 of file LVL1CaloMonitoringConfig.py.

◆ hanConfig

LVL1CaloMonitoringConfig.hanConfig

Definition at line 599 of file LVL1CaloMonitoringConfig.py.

◆ path

LVL1CaloMonitoringConfig.path

Definition at line 599 of file LVL1CaloMonitoringConfig.py.

◆ thresholdConfig

LVL1CaloMonitoringConfig.thresholdConfig

Definition at line 607 of file LVL1CaloMonitoringConfig.py.

◆ type

LVL1CaloMonitoringConfig.type

Definition at line 599 of file LVL1CaloMonitoringConfig.py.

◆ useTrigger

LVL1CaloMonitoringConfig.useTrigger

Definition at line 593 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:434
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