436 '''Function to call l1calo DQ monitoring algorithms'''
437 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
438 from AthenaConfiguration.Enums
import Format
442 local_logger = logging.getLogger(
'AthenaMonitoringCfg')
443 info = local_logger.info
444 info(
'In LVL1CaloMonitoringConfig')
446 result = ComponentAccumulator()
449 if not flags.Trigger.Online.isPartition:
450 if not flags.DQ.triggerDataAvailable:
453 isData =
not flags.Input.isMC
456 validation=flags.DQ.Steering.LVL1Calo.doValidation
460 if not validation
and isData
and flags.DQ.Environment
not in (
'tier0Raw',
'AOD'):
462 from TrigT1CaloMonitoring.PprMonitorAlgorithm
import PprMonitoringConfig
463 from TrigT1CaloMonitoring.JepJemMonitorAlgorithm
import JepJemMonitoringConfig
466 from AthenaConfiguration.AutoConfigFlags
import GetFileMD
467 md = GetFileMD(flags.Input.Files)
468 inputContainsRun3FormatConfigMetadata = (
"metadata_items" in md
and any((
'TriggerMenuJson' in key)
for key
in md[
"metadata_items"].keys()))
469 result.merge(PprMonitoringConfig(flags))
470 result.merge(JepJemMonitoringConfig(flags))
471 if flags.Input.Format
is not Format.POOL
or inputContainsRun3FormatConfigMetadata:
477 detMask=eformat.helper.DetectorMask(f
'{md.get("detectorMask",[0x0])[0]:032x}')
478 hasCPM = detMask.is_set(eformat.helper.SubDetector.TDAQ_CALO_CLUSTER_PROC_DAQ)
479 hasJEP = detMask.is_set(eformat.helper.SubDetector.TDAQ_CALO_JET_PROC_DAQ)
482 from TrigT1CaloMonitoring.CpmMonitorAlgorithm
import CpmMonitoringConfig
483 from TrigT1CaloMonitoring.CpmSimMonitorAlgorithm
import CpmSimMonitoringConfig
484 result.merge(CpmMonitoringConfig(flags))
485 result.merge(CpmSimMonitoringConfig(flags))
488 from TrigT1CaloMonitoring.JepCmxMonitorAlgorithm
import JepCmxMonitoringConfig
489 result.merge(JepCmxMonitoringConfig(flags))
491 from TrigT1CaloMonitoring.OverviewMonitorAlgorithm
import OverviewMonitoringConfig
492 from TrigT1CaloMonitoring.PPMSimBSMonitorAlgorithm
import PPMSimBSMonitoringConfig
493 result.merge(PPMSimBSMonitoringConfig(flags))
494 result.merge(OverviewMonitoringConfig(flags))
498 OverviewMonAlg = result.getEventAlgo(
"OverviewMonAlg")
499 OverviewMonAlg.CPMErrorLocation =
""
500 OverviewMonAlg.CPMMismatchLocation =
""
502 if flags.Input.TriggerStream ==
"physics_Mistimed":
503 from TrigT1CaloMonitoring.MistimedStreamMonitorAlgorithm
import MistimedStreamMonitorConfig
504 result.merge(MistimedStreamMonitorConfig(flags))
507 if flags.Input.Format
is Format.BS:
508 from TrigT1CaloByteStream.LVL1CaloRun2ByteStreamConfig
import LVL1CaloRun2ReadBSCfg
509 result.merge(LVL1CaloRun2ReadBSCfg(flags))
512 if flags.Trigger.enableL1CaloPhase1
and flags.Input.Format
is not Format.POOL:
515 from L1CaloFEXSim.L1CaloFEXSimCfg
import L1CaloFEXSimCfg
519 if flags.Trigger.L1.doeFex:
520 from TrigT1CaloMonitoring.EfexInputMonitorAlgorithm
import EfexInputMonitoringConfig
521 result.merge(EfexInputMonitoringConfig(flags))
524 from TrigT1CaloMonitoring.EfexSimMonitorAlgorithm
import EfexSimMonitoringConfig
525 result.merge(EfexSimMonitoringConfig(flags))
528 if flags.Trigger.L1.dogFex:
530 from TrigT1CaloMonitoring.GfexInputMonitorAlgorithm
import GfexInputMonitoringConfig
531 result.merge(GfexInputMonitoringConfig(flags))
533 from TrigT1CaloMonitoring.GfexSimMonitorAlgorithm
import GfexSimMonitoringConfig
534 result.merge(GfexSimMonitoringConfig(flags))
537 if flags.Trigger.L1.dojFex:
539 from TrigT1CaloMonitoring.JfexInputMonitorAlgorithm
import JfexInputMonitoringConfig
540 result.merge(JfexInputMonitoringConfig(flags))
543 from TrigT1CaloMonitoring.JfexSimMonitorAlgorithm
import JfexSimMonitoringConfig
544 JfexSimMonitoring = JfexSimMonitoringConfig(flags)
545 result.merge(JfexSimMonitoring)
547 if flags.Trigger.L1.doTopo
and isData:
549 from L1TopoSimulation.L1TopoSimulationConfig
import L1TopoSimulationCfg
550 result.merge(L1TopoSimulationCfg(flags,readMuCTPI=
True,doMonitoring=
False, useMuonDecoder=
True, writeMuonRoIs =
False))
552 from L1TopoOnlineMonitoring.L1TopoOnlineMonitoringConfig
import Phase1TopoMonitoringCfg
553 result.merge(Phase1TopoMonitoringCfg(flags))
556 if validation
or (isData
and flags.DQ.Environment
not in (
'tier0Raw',
'AOD')):
560 from TrigT1CaloMonitoring.L1CaloLegacyEDMMonitorAlgorithm
import L1CaloLegacyEDMMonitoringConfig
561 result.merge(L1CaloLegacyEDMMonitoringConfig(flags))
564 if flags.Trigger.L1.doeFex:
565 from TrigT1CaloMonitoring.EfexMonitorAlgorithm
import EfexMonitoringConfig
566 result.merge(EfexMonitoringConfig(flags))
567 from TrigT1CaloMonitoring.EfexMonitorAlgorithm
import EfexMonitoringHistConfig
568 result.merge(EfexMonitoringHistConfig(flags,result.getEventAlgo(
'EfexMonAlg')))
571 if flags.Trigger.L1.dogFex:
572 from TrigT1CaloMonitoring.GfexMonitorAlgorithm
import GfexMonitoringConfig
573 result.merge(GfexMonitoringConfig(flags))
576 if flags.Trigger.L1.dojFex:
577 from TrigT1CaloMonitoring.JfexMonitorAlgorithm
import JfexMonitoringConfig
578 result.merge(JfexMonitoringConfig(flags))
581 if flags.Trigger.L1.dojFex
or flags.Trigger.L1.dogFex:
582 from TrigT1CaloMonitoring.JetEfficiencyMonitorAlgorithm
import JetEfficiencyMonitoringConfig
583 result.merge(JetEfficiencyMonitoringConfig(flags))
585 result.printConfig( withDetails=
True )