ATLAS Offline Software
AccumulateConfig.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
2 
3 # File: InDetAlignConfig/python/AccumulateConfig.py
4 # Author: David Brunner (david.brunner@cern.ch), Thomas Strebler (thomas.strebler@cern.ch)
5 
6 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
7 from AthenaConfiguration.ComponentFactory import CompFactory
8 
9 
10 
11 def ConstrainedTrackProviderCfg(flags, name="ConstrainedTrackProvider", **kwargs):
12  cfg = ComponentAccumulator()
13 
14  if "TrackFitter" not in kwargs:
15 
16  from TrkConfig.CommonTrackFitterConfig import InDetStandaloneTrackFitterCfg
17  kwargs.setdefault("TrackFitter", cfg.addPublicTool(cfg.popToolsAndMerge(
18  InDetStandaloneTrackFitterCfg(flags, FillDerivativeMatrix = True))))
19 
20  kwargs.setdefault("MinPt", 0.)
21 
22  from PathResolver import PathResolver
23 
24  kwargs.setdefault("MomentumConstraintFileName", PathResolver.FindCalibFile("InDetAlign/nullmap.root"))
25  kwargs.setdefault("MomentumConstraintHistName", "LambdaCorrectionVsEtaPhi")
26  kwargs.setdefault("ScalePMapToGeV", True)
27  kwargs.setdefault("ReduceConstraintUncertainty", 100.)
28  kwargs.setdefault("z0ConstraintFileName", "")
29  kwargs.setdefault("z0ConstraintHistName", "z0CorrectionVsEtaPhi")
30  kwargs.setdefault("d0ConstraintFileName", "")
31  kwargs.setdefault("d0ConstraintHistName", "d0CorrectionVsEtaPhi")
32  kwargs.setdefault("UseConstraintError", False)
33  kwargs.setdefault("UseConstrainedTrkOnly", True)
34  kwargs.setdefault("InputTracksCollection", flags.ConstrainedTrackProvider.InputTracksCollection)
35 
36 
37  cfg.setPrivateTools(CompFactory.Trk.ConstrainedTrackProvider(name, **kwargs))
38  return cfg
39 
40 
41 def AnalyticalDerivCalcToolCfg(flags, name="AnalyticalDerivCalcTool", **kwargs):
42  cfg = ComponentAccumulator()
43 
44  if "AlignModuleTool" not in kwargs:
45  from InDetAlignConfig.IDAlignToolsConfig import InDetAlignModuleToolCfg
46  kwargs.setdefault("AlignModuleTool", cfg.addPublicTool(cfg.popToolsAndMerge(
47  InDetAlignModuleToolCfg(flags))))
48 
49  kwargs.setdefault("UseIntrinsicPixelError", True)
50  kwargs.setdefault("UseIntrinsicSCTError", True)
51  kwargs.setdefault("UseIntrinsicTRTError", True)
52 
53  cfg.setPrivateTools(CompFactory.Trk.AnalyticalDerivCalcTool(name, **kwargs))
54  return cfg
55 
56 
57 def AlignTrackDresserCfg(flags, name="AlignTrackDresser", **kwargs):
58  cfg = ComponentAccumulator()
59 
60  if "DerivCalcTool" not in kwargs:
61  kwargs.setdefault("DerivCalcTool", cfg.popToolsAndMerge(
63 
64  cfg.setPrivateTools(CompFactory.Trk.AlignTrackDresser(name, **kwargs))
65  return cfg
66 
67 
68 def SimpleIDNtupleToolCfg(flags, name="SimpleIDNtupleTool", **kwargs):
69  cfg = ComponentAccumulator()
70 
71  if "AlignModuleTool" not in kwargs:
72  from InDetAlignConfig.IDAlignToolsConfig import InDetAlignModuleToolCfg
73  kwargs.setdefault("AlignModuleTool", cfg.addPublicTool(cfg.popToolsAndMerge(
74  InDetAlignModuleToolCfg(flags))))
75 
76  if "TrackParticleCreatorTool" not in kwargs:
77  from TrkConfig.TrkParticleCreatorConfig import TrackParticleCreatorToolCfg
78  kwargs.setdefault("TrackParticleCreatorTool", cfg.popToolsAndMerge(
80 
81  cfg.setPrivateTools(CompFactory.InDet.SimpleIDNtupleTool(name, **kwargs))
82  return cfg
83 
84 
85 def AlignAlgCfg(flags, name="AlignAlgAccumulate", **kwargs):
86  cfg = ComponentAccumulator()
87 
88  if "GeometryManagerTool" not in kwargs:
89  from InDetAlignConfig.IDAlignToolsConfig import GeometryManagerToolCfg
90  kwargs.setdefault("GeometryManagerTool", cfg.addPublicTool(cfg.popToolsAndMerge(
91  GeometryManagerToolCfg(flags))))
92 
93  if "AlignTool" not in kwargs:
94  from InDetAlignConfig.IDAlignToolsConfig import GlobalChi2AlignToolCfg
95  kwargs.setdefault("AlignTool", cfg.popToolsAndMerge(GlobalChi2AlignToolCfg(flags)))
96 
97  if "AlignDBTool" not in kwargs:
98  from InDetAlignConfig.IDAlignToolsConfig import AlignDBToolCfg
99  kwargs.setdefault("AlignDBTool", cfg.popToolsAndMerge(AlignDBToolCfg(flags)))
100 
101  kwargs.setdefault("TrackCollectionProvider", cfg.popToolsAndMerge(
103 
104  if "AlignTrackCreator" not in kwargs:
105  from InDetAlignConfig.IDAlignToolsConfig import AlignTrackCreatorCfg
106  kwargs.setdefault("AlignTrackCreator", cfg.popToolsAndMerge(
107  AlignTrackCreatorCfg(flags)))
108 
109  kwargs.setdefault("AlignTrackDresser", cfg.popToolsAndMerge(AlignTrackDresserCfg(flags)))
110 
111  if "AlignTrackPreProcessor" not in kwargs:
112  from InDetAlignConfig.IDAlignToolsConfig import BeamspotVertexPreProcessorCfg
113  kwargs.setdefault("AlignTrackPreProcessor", cfg.popToolsAndMerge(
115 
116  kwargs.setdefault("WriteNtuple", flags.InDet.Align.writeAlignNtuple)
117  if kwargs["WriteNtuple"]:
118  kwargs.setdefault("FillNtupleTool", cfg.popToolsAndMerge(SimpleIDNtupleToolCfg(flags)))
119  kwargs.setdefault("FilePath", "{flags.InDet.Align.baseDir}/Accumulate")
120  kwargs.setdefault("FileName", "newIDalign.root")
121 
122  cfg.addEventAlgo(CompFactory.Trk.AlignAlg(name, **kwargs))
123  return cfg
124 
125 
126 def AlignTrackCollSplitterCfg(flags, name="AlignTrackCollSplitter", **kwargs):
127  cfg = ComponentAccumulator()
128  cfg.addEventAlgo(CompFactory.Trk.AlignTrackCollSplitter(name, **kwargs))
129  return cfg
130 
131 
132 def AccumulateCfg(flags, **kwargs):
133  cfg = AlignAlgCfg(flags)
134  cfg.merge(AlignTrackCollSplitterCfg(flags))
135 
136  if flags.InDet.Align.doMonitoring:
137  from InDetAlignmentMonitoringRun3.InDetAlignmentMonitoringRun3Config import (
138  InDetAlignmentMonitoringRun3Config)
139  cfg.merge(InDetAlignmentMonitoringRun3Config(flags))
140 
141  return cfg
IDAlignToolsConfig.AlignTrackCreatorCfg
def AlignTrackCreatorCfg(flags, name="AlignTrackCreator", **kwargs)
Definition: IDAlignToolsConfig.py:295
PathResolver::FindCalibFile
static std::string FindCalibFile(const std::string &logical_file_name)
Definition: PathResolver.h:63
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
AccumulateConfig.ConstrainedTrackProviderCfg
def ConstrainedTrackProviderCfg(flags, name="ConstrainedTrackProvider", **kwargs)
--— Setup of Tools for Trk::AlignAlg --—##
Definition: AccumulateConfig.py:11
python.TrkParticleCreatorConfig.TrackParticleCreatorToolCfg
def TrackParticleCreatorToolCfg(flags, name="InDetxAODParticleCreatorTool", **kwargs)
InDet/ITk #####.
Definition: TrkParticleCreatorConfig.py:24
AccumulateConfig.AccumulateCfg
def AccumulateCfg(flags, **kwargs)
Definition: AccumulateConfig.py:132
AccumulateConfig.AlignTrackDresserCfg
def AlignTrackDresserCfg(flags, name="AlignTrackDresser", **kwargs)
Definition: AccumulateConfig.py:57
IDAlignToolsConfig.GeometryManagerToolCfg
def GeometryManagerToolCfg(flags, **kwargs)
Definition: IDAlignToolsConfig.py:206
AccumulateConfig.SimpleIDNtupleToolCfg
def SimpleIDNtupleToolCfg(flags, name="SimpleIDNtupleTool", **kwargs)
Definition: AccumulateConfig.py:68
AccumulateConfig.AlignTrackCollSplitterCfg
def AlignTrackCollSplitterCfg(flags, name="AlignTrackCollSplitter", **kwargs)
Definition: AccumulateConfig.py:126
IDAlignToolsConfig.InDetAlignModuleToolCfg
def InDetAlignModuleToolCfg(flags, name="InDetAlignModuleTool", **kwargs)
--— Geometry mangager tool config functions --—##
Definition: IDAlignToolsConfig.py:12
InDetAlignmentMonitoringRun3Config
Definition: InDetAlignmentMonitoringRun3Config.py:1
IDAlignToolsConfig.GlobalChi2AlignToolCfg
def GlobalChi2AlignToolCfg(flags, name="GlobalChi2AlignTool", **kwargs)
Definition: IDAlignToolsConfig.py:258
IDAlignToolsConfig.BeamspotVertexPreProcessorCfg
def BeamspotVertexPreProcessorCfg(flags, name="BeamspotVertexPreProcessor", **kwargs)
--— BeamspotVertexPreProcessor Setup --—##
Definition: IDAlignToolsConfig.py:313
AccumulateConfig.AlignAlgCfg
def AlignAlgCfg(flags, name="AlignAlgAccumulate", **kwargs)
Definition: AccumulateConfig.py:85
AccumulateConfig.AnalyticalDerivCalcToolCfg
def AnalyticalDerivCalcToolCfg(flags, name="AnalyticalDerivCalcTool", **kwargs)
Definition: AccumulateConfig.py:41
IDAlignToolsConfig.AlignDBToolCfg
def AlignDBToolCfg(flags, **kwargs)
Definition: IDAlignToolsConfig.py:222
python.CommonTrackFitterConfig.InDetStandaloneTrackFitterCfg
def InDetStandaloneTrackFitterCfg(flags, name='InDetTrackFitter', **kwargs)
Definition: CommonTrackFitterConfig.py:23