435 '''Function to call l1calo DQ monitoring algorithms'''
436 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
437 from AthenaConfiguration.Enums
import Format
441 local_logger = logging.getLogger(
'AthenaMonitoringCfg')
442 info = local_logger.info
443 info(
'In LVL1CaloMonitoringConfig')
448 if not flags.Trigger.Online.isPartition:
449 if not flags.DQ.triggerDataAvailable:
452 isData =
not flags.Input.isMC
455 validation=flags.DQ.Steering.LVL1Calo.doValidation
459 if not validation
and isData
and flags.DQ.Environment
not in (
'tier0Raw',
'AOD'):
461 from TrigT1CaloMonitoring.PprMonitorAlgorithm
import PprMonitoringConfig
462 from TrigT1CaloMonitoring.JepJemMonitorAlgorithm
import JepJemMonitoringConfig
465 from AthenaConfiguration.AutoConfigFlags
import GetFileMD
467 inputContainsRun3FormatConfigMetadata = (
"metadata_items" in md
and any((
'TriggerMenuJson' in key)
for key
in md[
"metadata_items"].
keys()))
470 if flags.Input.Format
is not Format.POOL
or inputContainsRun3FormatConfigMetadata:
476 detMask=eformat.helper.DetectorMask(f
'{md.get("detectorMask",[0x0])[0]:032x}')
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)
481 from TrigT1CaloMonitoring.CpmMonitorAlgorithm
import CpmMonitoringConfig
482 from TrigT1CaloMonitoring.CpmSimMonitorAlgorithm
import CpmSimMonitoringConfig
487 from TrigT1CaloMonitoring.JepCmxMonitorAlgorithm
import JepCmxMonitoringConfig
490 from TrigT1CaloMonitoring.OverviewMonitorAlgorithm
import OverviewMonitoringConfig
491 from TrigT1CaloMonitoring.PPMSimBSMonitorAlgorithm
import PPMSimBSMonitoringConfig
497 OverviewMonAlg = result.getEventAlgo(
"OverviewMonAlg")
498 OverviewMonAlg.CPMErrorLocation =
""
499 OverviewMonAlg.CPMMismatchLocation =
""
501 if flags.Input.TriggerStream ==
"physics_Mistimed":
502 from TrigT1CaloMonitoring.MistimedStreamMonitorAlgorithm
import MistimedStreamMonitorConfig
506 if flags.Input.Format
is Format.BS:
507 from TrigT1CaloByteStream.LVL1CaloRun2ByteStreamConfig
import LVL1CaloRun2ReadBSCfg
511 if flags.Trigger.enableL1CaloPhase1
and flags.Input.Format
is not Format.POOL:
514 from L1CaloFEXSim.L1CaloFEXSimCfg
import L1CaloFEXSimCfg
518 if flags.Trigger.L1.doeFex:
519 from TrigT1CaloMonitoring.EfexInputMonitorAlgorithm
import EfexInputMonitoringConfig
523 from TrigT1CaloMonitoring.EfexSimMonitorAlgorithm
import EfexSimMonitoringConfig
527 if flags.Trigger.L1.dogFex:
529 from TrigT1CaloMonitoring.GfexInputMonitorAlgorithm
import GfexInputMonitoringConfig
532 from TrigT1CaloMonitoring.GfexSimMonitorAlgorithm
import GfexSimMonitoringConfig
536 if flags.Trigger.L1.dojFex:
538 from TrigT1CaloMonitoring.JfexInputMonitorAlgorithm
import JfexInputMonitoringConfig
542 from TrigT1CaloMonitoring.JfexSimMonitorAlgorithm
import JfexSimMonitoringConfig
544 result.merge(JfexSimMonitoring)
546 if flags.Trigger.L1.doTopo
and isData:
548 from L1TopoSimulation.L1TopoSimulationConfig
import L1TopoSimulationCfg
549 result.merge(
L1TopoSimulationCfg(flags,readMuCTPI=
True,doMonitoring=
False, useMuonDecoder=
True, writeMuonRoIs =
False))
551 from L1TopoOnlineMonitoring.L1TopoOnlineMonitoringConfig
import Phase1TopoMonitoringCfg
555 if validation
or (isData
and flags.DQ.Environment
not in (
'tier0Raw',
'AOD')):
559 from TrigT1CaloMonitoring.L1CaloLegacyEDMMonitorAlgorithm
import L1CaloLegacyEDMMonitoringConfig
563 if flags.Trigger.L1.doeFex:
564 from TrigT1CaloMonitoring.EfexMonitorAlgorithm
import EfexMonitoringConfig
566 from TrigT1CaloMonitoring.EfexMonitorAlgorithm
import EfexMonitoringHistConfig
570 if flags.Trigger.L1.dogFex:
571 from TrigT1CaloMonitoring.GfexMonitorAlgorithm
import GfexMonitoringConfig
575 if flags.Trigger.L1.dojFex:
576 from TrigT1CaloMonitoring.JfexMonitorAlgorithm
import JfexMonitoringConfig
580 if flags.Trigger.L1.dojFex
or flags.Trigger.L1.dogFex:
581 from TrigT1CaloMonitoring.JetEfficiencyMonitorAlgorithm
import JetEfficiencyMonitoringConfig
584 result.printConfig( withDetails=
True )