ATLAS Offline Software
JetSecVtxFindingAlgConfig.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 BTagging.InDetImprovedJetFitterVxFinderConfig import InDetImprovedJetFitterVxFinderCfg
6 from InDetConfig.InDetVKalVxInJetToolConfig import InDetVKalVxInJetToolCfg, MSV_InDetVKalVxInJetToolCfg
7 
8 
9 def JetSecVtxFindingAlgCfg(flags, BTagVxSecVertexInfoName, SVAlgName, JetCollection, PrimaryVertexCollectionName="", SVFinder="", TracksToTag="", **options):
10  """Adds a SecVtxTool instance and registers it.
11 
12  input: name: The tool's name.
13  JetCollection The name of the jet collections.
14  ToolSvc: The ToolSvc instance.
15  options: Python dictionary of options to be passed to the SecVtxTool.
16  output: The tool."""
17 
18  acc = ComponentAccumulator()
19 
20  if SVFinder == 'JetFitter':
21  secVtxFinder = acc.popToolsAndMerge(InDetImprovedJetFitterVxFinderCfg(flags, 'JFVxFinder'))
22  elif SVFinder == 'JetFitterFlip': #Add the JetFitterFlip tagger (invert sign of signed track impact parameter)
23  secVtxFinder = acc.popToolsAndMerge(InDetImprovedJetFitterVxFinderCfg(flags, 'JFVxFinderFlip', 'FLIP_SIGN'))
24  elif SVFinder == 'SV1':
25  secVtxFinder = acc.popToolsAndMerge(InDetVKalVxInJetToolCfg(flags, "IDVKalVxInJet"))
26  elif SVFinder == 'SV1Flip':
27  secVtxFinder = acc.popToolsAndMerge(InDetVKalVxInJetToolCfg(flags, "IDVKalVxInJetFlip"))
28  elif SVFinder == 'MSV':
29  secVtxFinder = acc.popToolsAndMerge(MSV_InDetVKalVxInJetToolCfg(flags, "IDVKalMultiVxInJet"))
30  else:
31  return acc
32 
33  options = {}
34  options.setdefault('SecVtxFinder', secVtxFinder)
35  options.setdefault('vxPrimaryCollectionName', PrimaryVertexCollectionName)
36  options['JetCollectionName'] = JetCollection
37  options['TracksToTag'] = TracksToTag
38  options['BTagVxSecVertexInfoName'] = BTagVxSecVertexInfoName
39  options['name'] = SVAlgName
40 
41  # -- create the association algorithm
42  acc.addEventAlgo(CompFactory.Analysis.JetSecVtxFindingAlg(**options))
43 
44  return acc
python.JetSecVtxFindingAlgConfig.JetSecVtxFindingAlgCfg
def JetSecVtxFindingAlgCfg(flags, BTagVxSecVertexInfoName, SVAlgName, JetCollection, PrimaryVertexCollectionName="", SVFinder="", TracksToTag="", **options)
Definition: JetSecVtxFindingAlgConfig.py:9
python.InDetImprovedJetFitterVxFinderConfig.InDetImprovedJetFitterVxFinderCfg
def InDetImprovedJetFitterVxFinderCfg(flags, name, suffix="", useBTagFlagsDefaults=True, **options)
Definition: InDetImprovedJetFitterVxFinderConfig.py:11
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
python.InDetVKalVxInJetToolConfig.InDetVKalVxInJetToolCfg
def InDetVKalVxInJetToolCfg(flags, name="InDetVKalVxInJetTool", **kwargs)
Definition: InDetVKalVxInJetToolConfig.py:28
python.InDetVKalVxInJetToolConfig.MSV_InDetVKalVxInJetToolCfg
def MSV_InDetVKalVxInJetToolCfg(flags, name="IDVKalMultiVxInJet", **kwargs)
Definition: InDetVKalVxInJetToolConfig.py:53