20def ParticleSelectorCfg( flags, name="ParticleSelector", **kwargs ) :
21
22
23
24
25
26
27
28
29
30
31
32
33
34 acc = ComponentAccumulator()
35
36
37
38
39
40
41
42
43
44 if flags.has("UseOfflineTool") and flags.UseOfflineTool :
45
46 kwargs_InDetTrackSelectionTool = {}
47
48
49
50 for key, value in flags.InDetSelector.node_flags():
51 kwargs_InDetTrackSelectionTool.setdefault( key, value )
52
53 from InDetTrackSelectionTool.InDetTrackSelectionToolConfig import InDetTrackSelectionToolCfg
54 offlineSelectionTool = acc.popToolsAndMerge( InDetTrackSelectionToolCfg( flags, **kwargs_InDetTrackSelectionTool) )
55
56 kwargs.setdefault( "offlineTool", offlineSelectionTool )
57
58
59
60
61
62
63
64 if flags.Input.isMC and ( flags.has("UseTruthTool", True) or flags.hasNode("TruthSelector") ) :
65
66
67
68
69
70
71
72
73
74 kwargs_base = {}
75
76 if flags.hasNode("TruthSelector"):
77 for key, value in flags.TruthSelector.node_flags():
78 kwargs_base.setdefault( key. value )
79
80
81 from TrigIDR4Monitoring.TruthSelectorBase import TruthSelectorBaseCfg
82
83
84
85
86
87 kwargs.setdefault("truthTool", acc.popToolsAndMerge( TruthSelectorBaseCfg( flags, name="TruthSelector_"+name, **kwargs_base ) ) )
88
89
90
91 for key, value in flags.node_flags():
92 kwargs.setdefault( key, value )
93
94 acc.setPrivateTools( CompFactory.IDTPM2.ParticleSelector( name, **kwargs ) )
95
96 return acc
97