ATLAS Offline Software
InDetV0FinderConfig.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 def InDetV0FinderToolCfg(flags, name="InDetV0FinderTool", **kwargs):
7 
9 
10  if "V0Tools" not in kwargs:
11  from TrkConfig.TrkVertexAnalysisUtilsConfig import V0ToolsCfg
12  kwargs.setdefault("V0Tools", acc.popToolsAndMerge(
13  V0ToolsCfg(flags, name+"_V0Tools")))
14  acc.addPublicTool(kwargs["V0Tools"])
15 
16  if "VertexPointEstimator" not in kwargs:
17  from InDetConfig.InDetConversionFinderToolsConfig import (
18  V0VertexPointEstimatorCfg)
19  kwargs.setdefault("VertexPointEstimator", acc.popToolsAndMerge(
21  acc.addPublicTool(kwargs["VertexPointEstimator"])
22 
23  if "VertexFitterTool" not in kwargs:
24  from TrkConfig.TrkV0FitterConfig import TrkV0VertexFitter_InDetExtrCfg
25  kwargs.setdefault("VertexFitterTool", acc.popToolsAndMerge(
27  acc.addPublicTool(kwargs["VertexFitterTool"])
28 
29  if "Extrapolator" not in kwargs:
30  from TrkConfig.AtlasExtrapolatorConfig import AtlasExtrapolatorCfg
31  kwargs.setdefault("Extrapolator", acc.popToolsAndMerge(
32  AtlasExtrapolatorCfg(flags)))
33  acc.addPublicTool(kwargs["Extrapolator"])
34 
35  if "TrackToVertexTool" not in kwargs:
36  from TrackToVertex.TrackToVertexConfig import InDetTrackToVertexCfg
37  kwargs.setdefault("TrackToVertexTool", acc.popToolsAndMerge(
38  InDetTrackToVertexCfg(flags)))
39  acc.addPublicTool(kwargs["TrackToVertexTool"])
40 
41  if "TrackSelectorTool" not in kwargs:
42  from InDetConfig.InDetTrackSelectorToolConfig import (
43  V0InDetConversionTrackSelectorToolCfg)
44  kwargs.setdefault("TrackSelectorTool", acc.popToolsAndMerge(
46  acc.addPublicTool(kwargs["TrackSelectorTool"])
47 
48  kwargs.setdefault("useV0Fitter", True)
49  kwargs.setdefault("doSimpleV0", False)
50  kwargs.setdefault("useVertexCollection", True)
51 
52  from TrkConfig.TrkVKalVrtFitterConfig import V0VKalVrtFitterCfg
53 
54  if "VKVertexFitterTool" not in kwargs:
55  kwargs.setdefault("VKVertexFitterTool", acc.popToolsAndMerge(
56  V0VKalVrtFitterCfg(flags, "_BPhysVKVFitter")))
57  if "KshortFitterTool" not in kwargs:
58  kwargs.setdefault("KshortFitterTool", acc.popToolsAndMerge(
59  V0VKalVrtFitterCfg(flags, "_BPhysVKKVFitter",
60  InputParticleMasses = [139.57,139.57],
61  MassForConstraint = 497.672)))
62  if "LambdaFitterTool" not in kwargs:
63  kwargs.setdefault("LambdaFitterTool", acc.popToolsAndMerge(
64  V0VKalVrtFitterCfg(flags, "_BPhysVKLFitter",
65  InputParticleMasses = [938.272,139.57],
66  MassForConstraint = 1115.68)))
67  if "LambdabarFitterTool" not in kwargs:
68  kwargs.setdefault("LambdabarFitterTool", acc.popToolsAndMerge(
69  V0VKalVrtFitterCfg(flags, "_BPhysVKLbFitter",
70  InputParticleMasses = [139.57,938.272],
71  MassForConstraint = 1115.68)))
72  if "GammaFitterTool" not in kwargs:
73  kwargs.setdefault("GammaFitterTool", acc.popToolsAndMerge(
74  V0VKalVrtFitterCfg(flags, "_BPhysVKGFitter",
75  Robustness = 6,
76  usePhiCnst = True,
77  useThetaCnst = True,
78  InputParticleMasses = [0.511,0.511])))
79 
80  acc.setPrivateTools(CompFactory.InDet.InDetV0FinderTool(name, **kwargs))
81  return acc
82 
83 def IDTR2_V0FinderToolCfg(flags, name="IDTR2_V0FinderTool", **kwargs):
84  acc = ComponentAccumulator()
85 
86  if "TrackSelectorTool" not in kwargs:
87  from InDetConfig.InDetTrackSelectorToolConfig import (
88  InDetV0VxTrackSelectorLooseCfg)
89  TrackSelectorTool = acc.popToolsAndMerge(
91  acc.addPublicTool(TrackSelectorTool)
92  kwargs.setdefault("TrackSelectorTool", TrackSelectorTool)
93 
94  acc.setPrivateTools(
95  acc.popToolsAndMerge(InDetV0FinderToolCfg(flags, name, **kwargs)))
96 
97  return acc
98 
99 def V0MainDecoratorCfg(flags, name="V0Decorator", **kwargs):
100  acc = ComponentAccumulator()
101 
102  if "V0Tools" not in kwargs:
103  from TrkConfig.TrkVertexAnalysisUtilsConfig import V0ToolsCfg
104  kwargs.setdefault("V0Tools", acc.popToolsAndMerge(
105  V0ToolsCfg(flags, name+"_V0Tools")))
106 
107  acc.setPrivateTools(CompFactory.InDet.V0MainDecorator(name, **kwargs))
108  return acc
109 
110 def InDetV0FinderCfg(flags, name="InDetV0Finder",
111  V0ContainerName="V0UnconstrVertices",
112  KshortContainerName="V0KshortVertices",
113  LambdaContainerName="V0LambdaVertices",
114  LambdabarContainerName="V0LambdabarVertices",
115  **kwargs):
116  acc = ComponentAccumulator()
117 
118  if "InDetV0FinderToolName" not in kwargs:
119  from InDetConfig.InDetV0FinderConfig import InDetV0FinderToolCfg
120  kwargs.setdefault("InDetV0FinderToolName", acc.popToolsAndMerge(
122  flags,
123  V0ContainerName = V0ContainerName,
124  KshortContainerName = KshortContainerName,
125  LambdaContainerName = LambdaContainerName,
126  LambdabarContainerName = LambdabarContainerName)))
127 
128  if "Decorator" not in kwargs:
129  from InDetConfig.InDetV0FinderConfig import V0MainDecoratorCfg
130  kwargs.setdefault("Decorator", acc.popToolsAndMerge(
132  flags,
133  V0ContainerName = V0ContainerName,
134  KshortContainerName = KshortContainerName,
135  LambdaContainerName = LambdaContainerName,
136  LambdabarContainerName = LambdabarContainerName)))
137 
138  acc.addEventAlgo(CompFactory.InDet.InDetV0Finder(
139  name,
140  V0ContainerName = V0ContainerName,
141  KshortContainerName = KshortContainerName,
142  LambdaContainerName = LambdaContainerName,
143  LambdabarContainerName = LambdabarContainerName,
144  **kwargs))
145  return acc
python.InDetV0FinderConfig.V0MainDecoratorCfg
def V0MainDecoratorCfg(flags, name="V0Decorator", **kwargs)
Definition: InDetV0FinderConfig.py:99
python.TrkV0FitterConfig.TrkV0VertexFitter_InDetExtrCfg
def TrkV0VertexFitter_InDetExtrCfg(flags, name="TrkV0VertexFitter_InDetExtr", **kwargs)
Definition: TrkV0FitterConfig.py:22
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
python.InDetV0FinderConfig.InDetV0FinderToolCfg
def InDetV0FinderToolCfg(flags, name="InDetV0FinderTool", **kwargs)
Definition: InDetV0FinderConfig.py:6
python.InDetTrackSelectorToolConfig.InDetV0VxTrackSelectorLooseCfg
def InDetV0VxTrackSelectorLooseCfg(flags, name='InDetV0VxTrackSelectorLoose', **kwargs)
Definition: InDetTrackSelectorToolConfig.py:59
python.TrkVertexAnalysisUtilsConfig.V0ToolsCfg
def V0ToolsCfg(flags, name="V0Tools", **kwargs)
Definition: TrkVertexAnalysisUtilsConfig.py:6
python.InDetV0FinderConfig.IDTR2_V0FinderToolCfg
def IDTR2_V0FinderToolCfg(flags, name="IDTR2_V0FinderTool", **kwargs)
Definition: InDetV0FinderConfig.py:83
python.AtlasExtrapolatorConfig.AtlasExtrapolatorCfg
def AtlasExtrapolatorCfg(flags, name='AtlasExtrapolator')
Definition: AtlasExtrapolatorConfig.py:63
python.InDetV0FinderConfig.InDetV0FinderCfg
def InDetV0FinderCfg(flags, name="InDetV0Finder", V0ContainerName="V0UnconstrVertices", KshortContainerName="V0KshortVertices", LambdaContainerName="V0LambdaVertices", LambdabarContainerName="V0LambdabarVertices", **kwargs)
Definition: InDetV0FinderConfig.py:110
python.TrkVKalVrtFitterConfig.V0VKalVrtFitterCfg
def V0VKalVrtFitterCfg(flags, name="V0VKalVrtFitter", **kwargs)
Definition: TrkVKalVrtFitterConfig.py:57
TrackToVertexConfig.InDetTrackToVertexCfg
def InDetTrackToVertexCfg(flags, name='InDetTrackToVertex', **kwargs)
Definition: TrackToVertexConfig.py:14
python.InDetTrackSelectorToolConfig.V0InDetConversionTrackSelectorToolCfg
def V0InDetConversionTrackSelectorToolCfg(flags, name='InDetV0VxTrackSelector', **kwargs)
Definition: InDetTrackSelectorToolConfig.py:38
python.InDetConversionFinderToolsConfig.V0VertexPointEstimatorCfg
def V0VertexPointEstimatorCfg(flags, name="InDetV0VertexPointEstimator", **kwargs)
Definition: InDetConversionFinderToolsConfig.py:80