ATLAS Offline Software
MultivariateTagManagerConfig.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
2 
3 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
4 from AthenaConfiguration.ComponentFactory import CompFactory
5 from JetTagTools.MV2TagConfig import MV2TagCfg
6 
7 def MultivariateTagManagerCfg(flags, name = 'MultivariateTagManager', TaggerList = ['DL1', 'DL1rnn', 'DL1mu', 'MV2c10'], scheme = '', useBTagFlagsDefaults = True, **options):
8  """Sets up a MultivariateTagManager tool and returns it.
9 
10  The following options have BTaggingFlags defaults:
11 
12  inputSV0SourceName default: "SV0"
13  inputSV1SourceName default: "SV1"
14  inputIP2DSourceName default: "IP2D"
15  inputIP3DSourceName default: "IP3D"
16  inputJFSourceName default: "JetFitter"
17 
18  input: name: The name of the tool (should be unique).
19  output: The actual tool."""
20  acc = ComponentAccumulator()
21  mvtagtoollist = []
22  MultivariateTagManagerAuxBranches = []
23 
24  if 'MV2c10rnn' in TaggerList:
25  #RNNIP output variables are needed
26  rnnip_outputs = ['b','c','u','tau']
27  MultivariateTagManagerAuxBranches += ['rnnip_p' + x for x in rnnip_outputs]
28 
29  if 'MV2c10' in TaggerList:
30  mv2 = acc.popToolsAndMerge(MV2TagCfg(flags, 'MV2c10', scheme))
31  mvtagtoollist.append(mv2)
32 
33  if 'MV2c10mu' in TaggerList:
34  mv2 = acc.popToolsAndMerge(MV2TagCfg(flags, 'MV2c10mu', scheme))
35  mvtagtoollist.append(mv2)
36 
37  if 'MV2c10rnn' in TaggerList:
38  mv2 = acc.popToolsAndMerge(MV2TagCfg(flags, 'MV2c10rnn', scheme))
39  mvtagtoollist.append(mv2)
40 
41  #Check if input has been scheduled
42  #if IP2D not added ....
43 
44  if useBTagFlagsDefaults:
45  defaults = { 'inputSV0SourceName' : 'SV0',
46  'inputSV1SourceName' : 'SV1',
47  'inputIP2DSourceName' : 'IP2D',
48  'inputIP3DSourceName' : 'IP3D',
49  'inputJFSourceName' : 'JetFitter',
50  'MVTagToolList' : mvtagtoollist,
51  'arbitraryAuxData' : MultivariateTagManagerAuxBranches,
52  }
53  for option in defaults:
54  options.setdefault(option, defaults[option])
55  options['name'] = name
56  acc.setPrivateTools(CompFactory.Analysis.MultivariateTagManager(**options))
57  return acc
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
MV2TagConfig.MV2TagCfg
def MV2TagCfg(flags, name='MV2c10', scheme='', useBTagFlagsDefaults=True, **options)
Definition: MV2TagConfig.py:8
MultivariateTagManagerConfig.MultivariateTagManagerCfg
def MultivariateTagManagerCfg(flags, name='MultivariateTagManager', TaggerList=['DL1', 'DL1rnn', 'DL1mu', 'MV2c10'], scheme='', useBTagFlagsDefaults=True, **options)
Definition: MultivariateTagManagerConfig.py:7