ATLAS Offline Software
Loading...
Searching...
No Matches
TrigNavToolsConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
2
3from AthenaConfiguration.ComponentFactory import CompFactory
4from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
5
6def _actions(mode):
7 options = {
8 "drop": ["Drop"],
9 "slimming": [
10 "DropFeatures",
11 "Squeeze",
12 "Reload",
13 "SyncThinning",
14 "DropChains",
15 "Save",
16 "Restore",
17 ],
18 "trigger": [
19 "DropFeatures",
20 "Reload",
21 "SyncThinning",
22 "DropChains",
23 "Save",
24 "Restore",
25 ],
26 "cleanup": ["DropFeatures", "Reload", "SyncThinning", "Save"],
27 "cleanup_noreload": ["DropFeatures", "SyncThinning", "Save"],
28 }
29 return options[mode]
30
31
32def TrigNavigationThinningSvcCfg(flags, thinningConfig):
33 from TrigDecisionTool.TrigDecisionToolConfig import TrigDecisionToolCfg
34
35 assert "name" in thinningConfig, "name of the configuration is missing"
36 assert "mode" in thinningConfig, "mode of slimming has to be configured"
37
38 acc = ComponentAccumulator()
39 svc = CompFactory.TrigNavigationThinningSvc(
40 thinningConfig["name"] + "ThinSvc",
41 Actions = _actions(thinningConfig["mode"]),
42 TrigDecisionTool = acc.getPrimaryAndMerge(TrigDecisionToolCfg(flags))
43 )
44
45 if "chains" in thinningConfig:
46 svc.ChainsRegex = thinningConfig["chains"]
47 if "features" in thinningConfig:
48 svc.FeatureInclusionList = thinningConfig["features"]
49 if "Print" in svc.Actions:
50 from AthenaCommon.Constants import DEBUG
51 svc.OutputLevel = DEBUG
52
53 acc.addService(svc, primary = True)
54 return acc
TrigNavigationThinningSvcCfg(flags, thinningConfig)