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 TrackCollectionProviderCfg(flags, name = "TrackCollectionProvider", **kwargs):
12  cfg = ComponentAccumulator()
13 
14  kwargs.setdefault("InputTrkCol", flags.InDet.Align.inputTracksCollection)
15  kwargs.setdefault("MaxRetrievalErrors", 10)
16 
17  cfg.setPrivateTools(CompFactory.Trk.TrackCollectionProvider(name, **kwargs))
18  return cfg
19 
20 def ConstrainedTrackProviderCfg(flags, name = "ConstrainedTrackProvider", **kwargs):
21  cfg = ComponentAccumulator()
22 
23  if "TrackFitter" not in kwargs:
24 
25  from TrkConfig.CommonTrackFitterConfig import InDetStandaloneTrackFitterCfg
26  kwargs.setdefault("TrackFitter", cfg.addPublicTool(cfg.popToolsAndMerge(
27  InDetStandaloneTrackFitterCfg(flags, FillDerivativeMatrix = True))))
28 
29  kwargs.setdefault("MinPt", 0.)
30 
31  from PathResolver import PathResolver
32 
33  kwargs.setdefault("MomentumConstraintFileName", PathResolver.FindCalibFile("InDetAlign/nullmap.root"))
34  kwargs.setdefault("MomentumConstraintHistName", "LambdaCorrectionVsEtaPhi")
35  kwargs.setdefault("ScalePMapToGeV", True)
36  kwargs.setdefault("ReduceConstraintUncertainty", 100.)
37  kwargs.setdefault("z0ConstraintFileName", "")
38  kwargs.setdefault("z0ConstraintHistName", "z0CorrectionVsEtaPhi")
39  kwargs.setdefault("d0ConstraintFileName", "")
40  kwargs.setdefault("d0ConstraintHistName", "d0CorrectionVsEtaPhi")
41  kwargs.setdefault("UseConstraintError", False)
42  kwargs.setdefault("UseConstrainedTrkOnly", True)
43  kwargs.setdefault("InputTracksCollection", flags.InDet.Align.inputTracksCollection)
44 
45  cfg.setPrivateTools(CompFactory.Trk.ConstrainedTrackProvider(name, **kwargs))
46  return cfg
47 
48 
49 def AnalyticalDerivCalcToolCfg(flags, name="AnalyticalDerivCalcTool", **kwargs):
50  cfg = ComponentAccumulator()
51 
52  if "AlignModuleTool" not in kwargs:
53  from InDetAlignConfig.IDAlignToolsConfig import InDetAlignModuleToolCfg
54  kwargs.setdefault("AlignModuleTool", cfg.addPublicTool(cfg.popToolsAndMerge(
55  InDetAlignModuleToolCfg(flags))))
56 
57  kwargs.setdefault("UseIntrinsicPixelError", True)
58  kwargs.setdefault("UseIntrinsicSCTError", True)
59  kwargs.setdefault("UseIntrinsicTRTError", True)
60 
61  cfg.setPrivateTools(CompFactory.Trk.AnalyticalDerivCalcTool(name, **kwargs))
62  return cfg
63 
64 
65 def AlignTrackDresserCfg(flags, name="AlignTrackDresser", **kwargs):
66  cfg = ComponentAccumulator()
67 
68  if "DerivCalcTool" not in kwargs:
69  kwargs.setdefault("DerivCalcTool", cfg.popToolsAndMerge(
71 
72  cfg.setPrivateTools(CompFactory.Trk.AlignTrackDresser(name, **kwargs))
73  return cfg
74 
75 
76 def SimpleIDNtupleToolCfg(flags, name="SimpleIDNtupleTool", **kwargs):
77  cfg = ComponentAccumulator()
78 
79  if "AlignModuleTool" not in kwargs:
80  from InDetAlignConfig.IDAlignToolsConfig import InDetAlignModuleToolCfg
81  kwargs.setdefault("AlignModuleTool", cfg.addPublicTool(cfg.popToolsAndMerge(
82  InDetAlignModuleToolCfg(flags))))
83 
84  if "TrackParticleCreatorTool" not in kwargs:
85  from TrkConfig.TrkParticleCreatorConfig import TrackParticleCreatorToolCfg
86  kwargs.setdefault("TrackParticleCreatorTool", cfg.popToolsAndMerge(
88 
89  cfg.setPrivateTools(CompFactory.InDet.SimpleIDNtupleTool(name, **kwargs))
90  return cfg
91 
92 
93 def AlignAlgCfg(flags, name="AlignAlgAccumulate", **kwargs):
94  cfg = ComponentAccumulator()
95 
96  if "GeometryManagerTool" not in kwargs:
97  from InDetAlignConfig.IDAlignToolsConfig import InDetGeometryManagerToolCfg
98  kwargs.setdefault("GeometryManagerTool", cfg.addPublicTool(cfg.popToolsAndMerge(
100 
101  if "AlignTool" not in kwargs:
102  from InDetAlignConfig.IDAlignToolsConfig import GlobalChi2AlignToolCfg
103  kwargs.setdefault("AlignTool", cfg.popToolsAndMerge(GlobalChi2AlignToolCfg(flags)))
104 
105  if "AlignDBTool" not in kwargs:
106  from InDetAlignConfig.IDAlignToolsConfig import InDetTrkAlignDBToolCfg
107  kwargs.setdefault("AlignDBTool", cfg.popToolsAndMerge(InDetTrkAlignDBToolCfg(flags)))
108 
109  kwargs.setdefault("TrackCollectionProvider", cfg.popToolsAndMerge(
111 
112  if "AlignTrackCreator" not in kwargs:
113  from InDetAlignConfig.IDAlignToolsConfig import AlignTrackCreatorCfg
114  kwargs.setdefault("AlignTrackCreator", cfg.popToolsAndMerge(
115  AlignTrackCreatorCfg(flags)))
116 
117  kwargs.setdefault("AlignTrackDresser", cfg.popToolsAndMerge(AlignTrackDresserCfg(flags)))
118 
119  if "AlignTrackPreProcessor" not in kwargs:
120  from InDetAlignConfig.IDAlignToolsConfig import BeamspotVertexPreProcessorCfg
121  kwargs.setdefault("AlignTrackPreProcessor", cfg.popToolsAndMerge(
123 
124  kwargs.setdefault("WriteNtuple", flags.InDet.Align.writeAlignNtuple)
125 
126  if flags.InDet.Align.writeAlignNtuple:
127  kwargs.setdefault("FillNtupleTool", cfg.popToolsAndMerge(SimpleIDNtupleToolCfg(flags)))
128  kwargs.setdefault("FilePath", "{flags.InDet.Align.baseDir}/Accumulate")
129  kwargs.setdefault("FileName", "newIDalign.root")
130 
131  cfg.addEventAlgo(CompFactory.Trk.AlignAlg(name, **kwargs))
132 
133  return cfg
134 
135 def AccumulateCfg(flags):
136  cfg = AlignAlgCfg(flags)
137 
138  if flags.InDet.Align.doMonitoring:
139  from InDetAlignmentMonitoringRun3.InDetAlignmentMonitoringRun3Config import (
140  InDetAlignmentMonitoringRun3Config)
141 
142  cfg.merge(InDetAlignmentMonitoringRun3Config(flags, TrackCollectionName = flags.InDet.Align.inputTracksCollection))
143 
144  return cfg
IDAlignToolsConfig.AlignTrackCreatorCfg
def AlignTrackCreatorCfg(flags, name="AlignTrackCreator", **kwargs)
Definition: IDAlignToolsConfig.py:316
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)
Definition: AccumulateConfig.py:20
python.TrkParticleCreatorConfig.TrackParticleCreatorToolCfg
def TrackParticleCreatorToolCfg(flags, name="InDetxAODParticleCreatorTool", **kwargs)
InDet/ITk #####.
Definition: TrkParticleCreatorConfig.py:24
IDAlignToolsConfig.InDetTrkAlignDBToolCfg
def InDetTrkAlignDBToolCfg(flags, name="InDetTrkAlignDBTool", **kwargs)
Definition: IDAlignToolsConfig.py:215
AccumulateConfig.AlignTrackDresserCfg
def AlignTrackDresserCfg(flags, name="AlignTrackDresser", **kwargs)
Definition: AccumulateConfig.py:65
AccumulateConfig.TrackCollectionProviderCfg
def TrackCollectionProviderCfg(flags, name="TrackCollectionProvider", **kwargs)
--— Setup of Tools for Trk::AlignAlg --—##
Definition: AccumulateConfig.py:11
AccumulateConfig.SimpleIDNtupleToolCfg
def SimpleIDNtupleToolCfg(flags, name="SimpleIDNtupleTool", **kwargs)
Definition: AccumulateConfig.py:76
AccumulateConfig.AccumulateCfg
def AccumulateCfg(flags)
Definition: AccumulateConfig.py:135
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:281
IDAlignToolsConfig.BeamspotVertexPreProcessorCfg
def BeamspotVertexPreProcessorCfg(flags, name="BeamspotVertexPreProcessor", **kwargs)
--— BeamspotVertexPreProcessor Setup --—##
Definition: IDAlignToolsConfig.py:334
AccumulateConfig.AlignAlgCfg
def AlignAlgCfg(flags, name="AlignAlgAccumulate", **kwargs)
Definition: AccumulateConfig.py:93
AccumulateConfig.AnalyticalDerivCalcToolCfg
def AnalyticalDerivCalcToolCfg(flags, name="AnalyticalDerivCalcTool", **kwargs)
Definition: AccumulateConfig.py:49
IDAlignToolsConfig.InDetGeometryManagerToolCfg
def InDetGeometryManagerToolCfg(flags, name="InDetGeometryManagerTool", **kwargs)
Definition: IDAlignToolsConfig.py:149
python.CommonTrackFitterConfig.InDetStandaloneTrackFitterCfg
def InDetStandaloneTrackFitterCfg(flags, name='InDetTrackFitter', **kwargs)
Definition: CommonTrackFitterConfig.py:23