430 '''Function to call l1calo DQ monitoring algorithms'''
431 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
432 from AthenaConfiguration.Enums
import Format
436 local_logger = logging.getLogger(
'AthenaMonitoringCfg')
437 info = local_logger.info
438 info(
'In LVL1CaloMonitoringConfig')
443 if not flags.Trigger.Online.isPartition:
444 if not flags.DQ.triggerDataAvailable:
447 isData =
not flags.Input.isMC
450 validation=flags.DQ.Steering.LVL1Calo.doValidation
454 if not validation
and isData
and flags.DQ.Environment
not in (
'tier0Raw',
'AOD'):
456 from TrigT1CaloMonitoring.PprMonitorAlgorithm
import PprMonitoringConfig
457 from TrigT1CaloMonitoring.JepJemMonitorAlgorithm
import JepJemMonitoringConfig
460 from AthenaConfiguration.AutoConfigFlags
import GetFileMD
462 inputContainsRun3FormatConfigMetadata = (
"metadata_items" in md
and any((
'TriggerMenuJson' in key)
for key
in md[
"metadata_items"].
keys()))
465 if flags.Input.Format
is not Format.POOL
or inputContainsRun3FormatConfigMetadata:
471 detMask=eformat.helper.DetectorMask(f
'{md.get("detectorMask",[0x0])[0]:032x}')
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)
476 from TrigT1CaloMonitoring.CpmMonitorAlgorithm
import CpmMonitoringConfig
477 from TrigT1CaloMonitoring.CpmSimMonitorAlgorithm
import CpmSimMonitoringConfig
482 from TrigT1CaloMonitoring.JepCmxMonitorAlgorithm
import JepCmxMonitoringConfig
485 from TrigT1CaloMonitoring.OverviewMonitorAlgorithm
import OverviewMonitoringConfig
486 from TrigT1CaloMonitoring.PPMSimBSMonitorAlgorithm
import PPMSimBSMonitoringConfig
492 OverviewMonAlg = result.getEventAlgo(
"OverviewMonAlg")
493 OverviewMonAlg.CPMErrorLocation =
""
494 OverviewMonAlg.CPMMismatchLocation =
""
496 if flags.Input.TriggerStream ==
"physics_Mistimed":
497 from TrigT1CaloMonitoring.MistimedStreamMonitorAlgorithm
import MistimedStreamMonitorConfig
501 if flags.Input.Format
is Format.BS:
502 from TrigT1CaloByteStream.LVL1CaloRun2ByteStreamConfig
import LVL1CaloRun2ReadBSCfg
506 if flags.Trigger.enableL1CaloPhase1
and flags.Input.Format
is not Format.POOL:
509 from L1CaloFEXSim.L1CaloFEXSimCfg
import L1CaloFEXSimCfg
513 if flags.Trigger.L1.doeFex:
514 from TrigT1CaloMonitoring.EfexInputMonitorAlgorithm
import EfexInputMonitoringConfig
518 from TrigT1CaloMonitoring.EfexSimMonitorAlgorithm
import EfexSimMonitoringConfig
522 if flags.Trigger.L1.dogFex:
524 from TrigT1CaloMonitoring.GfexInputMonitorAlgorithm
import GfexInputMonitoringConfig
527 from TrigT1CaloMonitoring.GfexSimMonitorAlgorithm
import GfexSimMonitoringConfig
531 if flags.Trigger.L1.dojFex:
533 from TrigT1CaloMonitoring.JfexInputMonitorAlgorithm
import JfexInputMonitoringConfig
537 from TrigT1CaloMonitoring.JfexSimMonitorAlgorithm
import JfexSimMonitoringConfig
539 result.merge(JfexSimMonitoring)
541 if flags.Trigger.L1.doTopo
and isData:
543 from L1TopoSimulation.L1TopoSimulationConfig
import L1TopoSimulationCfg
544 result.merge(
L1TopoSimulationCfg(flags,readMuCTPI=
True,doMonitoring=
False, useMuonDecoder=
True, writeMuonRoIs =
False))
546 from L1TopoOnlineMonitoring.L1TopoOnlineMonitoringConfig
import Phase1TopoMonitoringCfg
550 if validation
or (isData
and flags.DQ.Environment
not in (
'tier0Raw',
'AOD')):
554 from TrigT1CaloMonitoring.L1CaloLegacyEDMMonitorAlgorithm
import L1CaloLegacyEDMMonitoringConfig
558 if flags.Trigger.L1.doeFex:
559 from TrigT1CaloMonitoring.EfexMonitorAlgorithm
import EfexMonitoringConfig
561 from TrigT1CaloMonitoring.EfexMonitorAlgorithm
import EfexMonitoringHistConfig
565 if flags.Trigger.L1.dogFex:
566 from TrigT1CaloMonitoring.GfexMonitorAlgorithm
import GfexMonitoringConfig
570 if flags.Trigger.L1.dojFex:
571 from TrigT1CaloMonitoring.JfexMonitorAlgorithm
import JfexMonitoringConfig
575 if flags.Trigger.L1.dojFex
or flags.Trigger.L1.dogFex:
576 from TrigT1CaloMonitoring.JetEfficiencyMonitorAlgorithm
import JetEfficiencyMonitoringConfig
579 result.printConfig( withDetails=
True )