ATLAS Offline Software
Loading...
Searching...
No Matches
MuonPhysValConfig.py
Go to the documentation of this file.
2# Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3#
4
5'''@file MuonPhysValConfig.py
6@author N. Pettersson
7@date 2022-07-13
8@brief Main CA-based python configuration for MuonPhysValMonitoring
9'''
10
11from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
12from AthenaConfiguration.ComponentFactory import CompFactory
13
14def PhysValMuonCfg(flags, name="muphysval", **kwargs):
15 acc = ComponentAccumulator()
16
17 kwargs.setdefault("IsData", not flags.Input.isMC)
18 kwargs.setdefault("SlowMuonContainerName", "")
19
20 kwargs.setdefault("SelectMuonWorkingPoints", [0, 1, 2])
21 kwargs.setdefault("SelectMuonAuthors", [1, 2 , 4, 5, 6, 8, 10])
22 selectMuonCat = [0, 1]
23 if not flags.Input.isMC:
24 selectMuonCat = [0, 1, 4]
25 kwargs.setdefault("SelectMuonCategories", selectMuonCat)
26 from IsolationSelection.IsolationSelectionConfig import MuonPhysValIsolationSelCfg
27 kwargs.setdefault("IsoTool", acc.popToolsAndMerge(MuonPhysValIsolationSelCfg(flags)))
28 from InDetConfig.InDetTrackSelectorToolConfig import MuonCombinedInDetDetailedTrackSelectorToolCfg
29 kwargs.setdefault("TrackSelector",acc.popToolsAndMerge(MuonCombinedInDetDetailedTrackSelectorToolCfg(flags)))
30 from MuonSelectorTools.MuonSelectorToolsConfig import MuonSelectionToolCfg
31 kwargs.setdefault("MuonSelector", acc.popToolsAndMerge(MuonSelectionToolCfg(flags)))
32 from MuonConfig.MuonRecToolsConfig import MuonEDMPrinterToolCfg
33 edmprinter = acc.getPrimaryAndMerge(MuonEDMPrinterToolCfg(flags))
34 kwargs.setdefault("MuonPrinter", CompFactory.Rec.MuonPrintingTool(MuonStationPrinter=edmprinter))
35 kwargs.setdefault("EnableLumi", False)
36 from AthenaCommon.Constants import WARNING
37 kwargs.setdefault("OutputLevel", WARNING)
38 kwargs.setdefault("DetailLevel", 10)
39
40 acc.setPrivateTools(CompFactory.MuonPhysValMonitoring.MuonPhysValMonitoringTool(name, **kwargs))
41 return acc
42
43
44def PhysValMuonTriggerCfg(flags, **kwargs):
45 acc = ComponentAccumulator()
46
47 selectHLTMuonItems = [
48 ["HLT_mu20","L1_MU20"],
49 ["HLT_mu20_iloose_L1MU15","L1_MU15"],
50 ["HLT_mu24","L1_MU20"],
51 ["HLT_mu24_iloose_L1MU15","L1_MU15"],
52 ["HLT_mu24_imedium","L1_MU20"],
53 ["HLT_mu26","L1_MU20"],
54 ["HLT_mu26_imedium","L1_MU20"],
55 ["HLT_mu50","L1_MU20"]
56 ]
57
58 selectL1MuonItems = [
59 "L1_MU4",
60 "L1_MU6",
61 "L1_MU10",
62 "L1_MU11",
63 "L1_MU15",
64 "L1_MU20",
65 ]
66
67 kwargs.setdefault("SelectHLTMuonItems", selectHLTMuonItems)
68 kwargs.setdefault("SelectL1MuonItems", selectL1MuonItems)
69 from TrigDecisionTool.TrigDecisionToolConfig import TrigDecisionToolCfg
70 kwargs.setdefault("TrigDecTool", acc.getPrimaryAndMerge(TrigDecisionToolCfg(flags)))
71
72 acc.setPrivateTools(acc.popToolsAndMerge(
73 PhysValMuonCfg(flags, **kwargs)))
74 return acc
75
76
77def PhysValLRTMuonCfg(flags, name="lrtmuphysval", **kwargs):
78 kwargs.setdefault("MuonContainerName", "MuonsLRT")
79 return PhysValMuonCfg(flags, name, **kwargs)
PhysValMuonCfg(flags, name="muphysval", **kwargs)
PhysValLRTMuonCfg(flags, name="lrtmuphysval", **kwargs)
PhysValMuonTriggerCfg(flags, **kwargs)