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')
445 result = ComponentAccumulator()
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
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:
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
483 result.merge(CpmMonitoringConfig(flags))
484 result.merge(CpmSimMonitoringConfig(flags))
487 from TrigT1CaloMonitoring.JepCmxMonitorAlgorithm
import JepCmxMonitoringConfig
488 result.merge(JepCmxMonitoringConfig(flags))
490 from TrigT1CaloMonitoring.OverviewMonitorAlgorithm
import OverviewMonitoringConfig
491 from TrigT1CaloMonitoring.PPMSimBSMonitorAlgorithm
import PPMSimBSMonitoringConfig
492 result.merge(PPMSimBSMonitoringConfig(flags))
493 result.merge(OverviewMonitoringConfig(flags))
497 OverviewMonAlg = result.getEventAlgo(
"OverviewMonAlg")
498 OverviewMonAlg.CPMErrorLocation =
""
499 OverviewMonAlg.CPMMismatchLocation =
""
501 if flags.Input.TriggerStream ==
"physics_Mistimed":
502 from TrigT1CaloMonitoring.MistimedStreamMonitorAlgorithm
import MistimedStreamMonitorConfig
503 result.merge(MistimedStreamMonitorConfig(flags))
506 if flags.Input.Format
is Format.BS:
507 from TrigT1CaloByteStream.LVL1CaloRun2ByteStreamConfig
import LVL1CaloRun2ReadBSCfg
508 result.merge(LVL1CaloRun2ReadBSCfg(flags))
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
520 result.merge(EfexInputMonitoringConfig(flags))
523 from TrigT1CaloMonitoring.EfexSimMonitorAlgorithm
import EfexSimMonitoringConfig
524 result.merge(EfexSimMonitoringConfig(flags))
527 if flags.Trigger.L1.dogFex:
529 from TrigT1CaloMonitoring.GfexInputMonitorAlgorithm
import GfexInputMonitoringConfig
530 result.merge(GfexInputMonitoringConfig(flags))
532 from TrigT1CaloMonitoring.GfexSimMonitorAlgorithm
import GfexSimMonitoringConfig
533 result.merge(GfexSimMonitoringConfig(flags))
536 if flags.Trigger.L1.dojFex:
538 from TrigT1CaloMonitoring.JfexInputMonitorAlgorithm
import JfexInputMonitoringConfig
539 result.merge(JfexInputMonitoringConfig(flags))
542 from TrigT1CaloMonitoring.JfexSimMonitorAlgorithm
import JfexSimMonitoringConfig
543 JfexSimMonitoring = JfexSimMonitoringConfig(flags)
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
552 result.merge(Phase1TopoMonitoringCfg(flags))
555 if validation
or (isData
and flags.DQ.Environment
not in (
'tier0Raw',
'AOD')):
559 from TrigT1CaloMonitoring.L1CaloLegacyEDMMonitorAlgorithm
import L1CaloLegacyEDMMonitoringConfig
560 result.merge(L1CaloLegacyEDMMonitoringConfig(flags))
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')))
570 if flags.Trigger.L1.dogFex:
571 from TrigT1CaloMonitoring.GfexMonitorAlgorithm
import GfexMonitoringConfig
572 result.merge(GfexMonitoringConfig(flags))
575 if flags.Trigger.L1.dojFex:
576 from TrigT1CaloMonitoring.JfexMonitorAlgorithm
import JfexMonitoringConfig
577 result.merge(JfexMonitoringConfig(flags))
580 if flags.Trigger.L1.dojFex
or flags.Trigger.L1.dogFex:
581 from TrigT1CaloMonitoring.JetEfficiencyMonitorAlgorithm
import JetEfficiencyMonitoringConfig
582 result.merge(JetEfficiencyMonitoringConfig(flags))
584 result.printConfig( withDetails=
True )