diff --git a/Trigger/TrigAlgorithms/TrigCaloRec/python/TrigCaloConfigFlags.py b/Trigger/TrigAlgorithms/TrigCaloRec/python/TrigCaloConfigFlags.py new file mode 100644 index 0000000000000000000000000000000000000000..700fc7695c9bba18e31c643d7bdb65e8202c7d75 --- /dev/null +++ b/Trigger/TrigAlgorithms/TrigCaloRec/python/TrigCaloConfigFlags.py @@ -0,0 +1,14 @@ +# Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration + +from AthenaConfiguration.AthConfigFlags import AthConfigFlags + +def createTrigCaloConfigFlags(): + tccf=AthConfigFlags() + + # Enable cell timing cut + tccf.addFlag('Trigger.Calo.TopoCluster.doTimeCut', False) + tccf.addFlag('Trigger.Calo.TopoCluster.extendTimeCut', False) + tccf.addFlag('Trigger.Calo.TopoCluster.useUpperLimitForTimeCut', False) + tccf.addFlag('Trigger.Calo.TopoCluster.timeCutUpperLimit', 20.0) + + return tccf diff --git a/Trigger/TrigAlgorithms/TrigCaloRec/python/TrigCaloRecConfig.py b/Trigger/TrigAlgorithms/TrigCaloRec/python/TrigCaloRecConfig.py index 02efe265523074af6730e6076d0cde243e333905..612948f83f563411ae79ea93f8cd8e3d0c3c9e2e 100755 --- a/Trigger/TrigAlgorithms/TrigCaloRec/python/TrigCaloRecConfig.py +++ b/Trigger/TrigAlgorithms/TrigCaloRec/python/TrigCaloRecConfig.py @@ -1,5 +1,6 @@ # Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration + from TrigCaloRec.TrigCaloRecConf import (TrigCaloClusterMaker, TrigCaloTowerMaker, TrigCaloClusterCalibrator) @@ -74,7 +75,7 @@ class TrigCaloClusterMaker_topo (TrigCaloClusterMakerBase): __slots__ = [] def __init__ (self, name='TrigCaloClusterMaker_topo', cells="cells",doMoments=True, doLC=True ): super(TrigCaloClusterMaker_topo, self).__init__(name) - + self.Cells=cells from CaloClusterCorrection.CaloClusterCorrectionConf import CaloLCWeightTool, CaloLCClassificationTool, CaloLCOutOfClusterTool, CaloLCDeadMaterialTool @@ -84,7 +85,8 @@ class TrigCaloClusterMaker_topo (TrigCaloClusterMakerBase): from CaloRec.CaloTopoClusterFlags import jobproperties from AthenaCommon.SystemOfUnits import deg from AthenaCommon.GlobalFlags import globalflags - + from AthenaConfiguration.AllConfigFlags import ConfigFlags as flags + # tools used by tools if doLC: @@ -245,6 +247,12 @@ class TrigCaloClusterMaker_topo (TrigCaloClusterMakerBase): # use 2-gaussian or single gaussian noise for TileCal TrigTopoMaker.TwoGaussianNoise = jobproperties.CaloTopoClusterFlags.doTwoGaussianNoise() + #timing + TrigTopoMaker.SeedCutsInT = flags.Trigger.Calo.TopoCluster.doTimeCut + TrigTopoMaker.CutOOTseed = flags.Trigger.Calo.TopoCluster.extendTimeCut and flags.Trigger.Calo.TopoCluster.doTimeCut + TrigTopoMaker.UseTimeCutUpperLimit = flags.Trigger.Calo.TopoCluster.useUpperLimitForTimeCut + TrigTopoMaker.TimeCutUpperLimit = flags.Trigger.Calo.TopoCluster.timeCutUpperLimit + TrigTopoSplitter = CaloTopoClusterSplitter("TrigTopoSplitter") # cells from the following samplings will be able to form local # maxima. The excluded samplings are PreSamplerB, EMB1, @@ -480,6 +488,13 @@ def hltTopoClusterMakerCfg(flags, name, clustersKey, cellsKey="CaloCells"): ) topoMaker = acc.popToolsAndMerge(CaloTopoClusterToolCfg(flags, cellsname=cellsKey)) + + #timing + topoMaker.SeedCutsInT = flags.Trigger.Calo.TopoCluster.doTimeCut + topoMaker.CutOOTseed = flags.Trigger.Calo.TopoCluster.extendTimeCut and flags.Trigger.Calo.TopoCluster.doTimeCut + topoMaker.UseTimeCutUpperLimit = flags.Trigger.Calo.TopoCluster.useUpperLimitForTimeCut + topoMaker.TimeCutUpperLimit = flags.Trigger.Calo.TopoCluster.timeCutUpperLimit + topoSplitter = acc.popToolsAndMerge(CaloTopoClusterSplitterToolCfg(flags)) topoMoments = CompFactory.CaloClusterMomentsMaker ('TrigTopoMoments') diff --git a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerConfigFlags.py b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerConfigFlags.py index fdb7a9d9a8f0083416013fe6a4bb0cb4f3b7869c..20d7b40cadbd7a70532ae9bef35d9cf8998faeb4 100644 --- a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerConfigFlags.py +++ b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerConfigFlags.py @@ -332,6 +332,11 @@ def createTriggerRecoFlags(): from TrigInDetConfig.TrigTrackingPassFlagsITk import createTrigTrackingPassFlagsITk return createTrigTrackingPassFlagsITk() flags.addFlagsCategory( 'Trigger.ITkTracking', __idITk ) + + def __trigCalo(): + from TrigCaloRec.TrigCaloConfigFlags import createTrigCaloConfigFlags + return createTrigCaloConfigFlags() + flags.addFlagsCategory( 'Trigger.Calo', __trigCalo ) # NB: Longer term it may be worth moving these into a PF set of config flags, but right now the only ones that exist do not seem to be used in the HLT. # When we use component accumulators for this in the HLT maybe we should revisit this