ATLAS Offline Software
JetFitterMultiStageFitConfig.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
2 
3 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
4 from AthenaConfiguration.ComponentFactory import CompFactory
5 
6 from BTagging.InDetJetFitterUtilsConfig import InDetJetFitterUtilsCfg
7 from BTagging.ImprovedJetFitterInitializationHelperConfig import ImprovedJetFitterInitializationHelperCfg
8 from BTagging.ImprovedJetFitterRoutinesConfig import ImprovedJetFitterRoutinesCfg
9 
10 def InDetJetFitterMultiStageFitCfg(flags, name, suffix="", useBTagFlagsDefaults = True, **options):
11  """Sets up a JetFitterMultiStageFit tool and returns it.
12 
13  The following options have defaults:
14 
15  MaxNumDeleteIterations default: 30
16  VertexProbCut default: 0.001
17  MaxClusteringIterations default: 30
18  UseFastClustering default: False
19  maxTracksForDetailedClustering default: 25
20  VertexClusteringProbabilityCutWithMasses default: {0.002, 0.002, 0.050, 0.100, 0.200, 0.500, 0.700, 0.900, 0.900}
21 
22  input: name: The name of the tool (should be unique).
23  useBTagFlagsDefaults : Whether to use BTaggingFlags defaults for options that are not specified.
24  **options: Python dictionary with options for the tool.
25  output: The actual tool, which can then by added to ToolSvc via ToolSvc += output."""
26 
27  acc = ComponentAccumulator()
28  if useBTagFlagsDefaults:
29  improvedJetFitterRoutines = acc.popToolsAndMerge(ImprovedJetFitterRoutinesCfg(flags, 'ImprovedJFRoutines'+suffix))
30  inDetJetFitterUtils = acc.popToolsAndMerge(InDetJetFitterUtilsCfg(flags,'InDetJFUtils'+suffix))
31  improvedJetFitterInitializationHelper = acc.popToolsAndMerge(ImprovedJetFitterInitializationHelperCfg(flags, 'ImprovedJFInitHelper'+suffix))
32  defaults = { 'JetFitterInitializationHelper' : improvedJetFitterInitializationHelper,
33  'JetFitterRoutines' : improvedJetFitterRoutines,
34  'InDetJetFitterUtils' : inDetJetFitterUtils }
35  for option in defaults:
36  options.setdefault(option, defaults[option])
37 
38  options['name'] = name
39  acc.setPrivateTools( CompFactory.InDet.JetFitterMultiStageFit(**options) )
40  return acc
41 
42 
43 
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
python.JetFitterMultiStageFitConfig.InDetJetFitterMultiStageFitCfg
def InDetJetFitterMultiStageFitCfg(flags, name, suffix="", useBTagFlagsDefaults=True, **options)
Definition: JetFitterMultiStageFitConfig.py:10
python.InDetJetFitterUtilsConfig.InDetJetFitterUtilsCfg
def InDetJetFitterUtilsCfg(flags, name='InDetJFUtils', useBTagFlagsDefaults=True, options={})
Definition: InDetJetFitterUtilsConfig.py:9
python.ImprovedJetFitterRoutinesConfig.ImprovedJetFitterRoutinesCfg
def ImprovedJetFitterRoutinesCfg(flags, name, useBTagFlagsDefaults=True, **options)
Definition: ImprovedJetFitterRoutinesConfig.py:9
python.ImprovedJetFitterInitializationHelperConfig.ImprovedJetFitterInitializationHelperCfg
def ImprovedJetFitterInitializationHelperCfg(flags, name, useBTagFlagsDefaults=True, **options)
Definition: ImprovedJetFitterInitializationHelperConfig.py:6