9def ImprovedJetFitterRoutinesCfg(flags, name, useBTagFlagsDefaults = True, **options):
10 """Sets up a ImprovedJetFitterRoutines tool and returns it.
11
12 The following options have BTaggingFlags defaults:
13
14 BeFast default: False
15 maxDRshift default: 0.0
16 noPrimaryVertexRefit default: False
17
18 input: name: The name of the tool (should be unique).
19 useBTagFlagsDefaults : Whether to use BTaggingFlags defaults for options that are not specified.
20 **options: Python dictionary with options for the tool.
21 output: The actual tool, which can then by added to ToolSvc via ToolSvc += output."""
22 acc = ComponentAccumulator()
23 if useBTagFlagsDefaults:
24 improvedJetFitterInitializationHelper = acc.popToolsAndMerge(ImprovedJetFitterInitializationHelperCfg(flags, 'ImprovedJFInitHelper'))
25 trkDistanceFinderNeutralNeutral = acc.popToolsAndMerge(TrkDistanceFinderNeutralNeutralCfg(flags, 'TrkDistFinderNeutralNeutral'))
26 trkDistanceFinderNeutralCharged = acc.popToolsAndMerge(TrkDistanceFinderNeutralChargedCfg(flags, 'TrkDistFinderNeutralCharged'))
27
28 defaults = {
29 'BeFast' : False,
30 'maxDRshift' : 0.0,
31 'noPrimaryVertexRefit' : False,
32 'JetFitterInitializationHelper' : improvedJetFitterInitializationHelper,
33 'JetFitterMinimumDistanceFinder' : trkDistanceFinderNeutralCharged,
34 'JetFitterMinimumDistanceFinderNeutral' : trkDistanceFinderNeutralNeutral,
35
36 }
37 for option in defaults:
38 options.setdefault(option, defaults[option])
39 options['name'] = name
40 acc.setPrivateTools(CompFactory.Trk.JetFitterRoutines(**options))
41
42 return acc