ATLAS Offline Software
Loading...
Searching...
No Matches
InDetAlignmentMonitoringRun3Config.py
Go to the documentation of this file.
2# Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3#
4
5
11 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
12 acc = ComponentAccumulator()
13
14 from AthenaMonitoring import AthMonitorCfgHelper
15 helper = AthMonitorCfgHelper(flags, "InDetAlignmentMonitoringRun3")
16
17 from AthenaConfiguration.ComponentFactory import CompFactory
18 from InDetTrackSelectionTool.InDetTrackSelectionToolConfig import (Align_InDetTrackSelectionToolCfg)
19
20 from AthenaMonitoring.FilledBunchFilterToolConfig import FilledBunchFilterToolCfg
21 from AthenaConfiguration.Enums import BeamType
22
23 trackCollectionName = "ExtendedTracks"
24 trackCollectionName2 = "NONE"
25 if ("TrackName" in kwargs):
26 trackCollectionName = kwargs["TrackName"]
27 if ("TrackName2" in kwargs):
28 trackCollectionName2 = kwargs["TrackName2"]
29
30 if ( flags.DQ.Environment in ('online', 'tier0', 'tier0Raw', 'tier0ESD') ):
31
32
33 kwargsIDAlignMonGenericTracksAlg = {}
34 kwargsIDAlignMonGenericTracksAlg.update({'vxPrimContainerName' : 'PrimaryVertices'}) #InDetKeys.xAODVertexContainer())
35 kwargsIDAlignMonGenericTracksAlg.update({'TrackName' : trackCollectionName} )
36 if ("NONE" not in trackCollectionName2): kwargsIDAlignMonGenericTracksAlg.update({'TrackName2' : trackCollectionName2})
37
38 from AthenaCommon.Constants import DEBUG
39 from InDetAlignmentMonitoringRun3.IDAlignMonGenericTracksAlgCfg import IDAlignMonGenericTracksAlgCfg
40 inDetAlignMonGenericTracksAlg = helper.addAlgorithm(CompFactory.IDAlignMonGenericTracksAlg, 'IDAlignMonGenericTracksAlg'+'_'+kwargsIDAlignMonGenericTracksAlg["TrackName"],
41 useExtendedPlots = True,
42 ApplyTrackSelection = False,
43 OutputLevel = DEBUG)
44 for k, v in kwargsIDAlignMonGenericTracksAlg.items():
45 setattr(inDetAlignMonGenericTracksAlg, k, v)
46
47 inDetAlignMonGenericTracksAlg.TrackSelectionTool = acc.popToolsAndMerge(Align_InDetTrackSelectionToolCfg(flags))
48
49 IDAlignMonGenericTracksAlgCfg(helper, inDetAlignMonGenericTracksAlg, **kwargsIDAlignMonGenericTracksAlg)
50
51
52
53
54
55 kwargsIDAlignMonResidualsAlg = { 'TrackName' : kwargsIDAlignMonGenericTracksAlg["TrackName"]} #for residuals, use the same track collections as for track monitoring
56 if ("NONE" not in trackCollectionName2): kwargsIDAlignMonResidualsAlg.update({'TrackName2' : trackCollectionName2})
57
58 from InDetAlignmentMonitoringRun3.IDAlignMonResidualsAlgCfg import IDAlignMonResidualsAlgCfg
59 inDetAlignMonResidualsAlg = helper.addAlgorithm(CompFactory.IDAlignMonResidualsAlg, 'IDAlignMonResidualsAlg'+'_'+kwargsIDAlignMonResidualsAlg["TrackName"],
60 ApplyTrackSelection = False,
61 OutputLevel = DEBUG)
62
63 for k, v in kwargsIDAlignMonResidualsAlg.items():
64 setattr(inDetAlignMonResidualsAlg, k, v)
65
66 inDetAlignMonResidualsAlg.TrackSelectionTool = acc.popToolsAndMerge(Align_InDetTrackSelectionToolCfg(flags))
67
68 IDAlignMonResidualsAlgCfg(helper, inDetAlignMonResidualsAlg, **kwargsIDAlignMonResidualsAlg)
69
70
71
72
73
74 if flags.Beam.Type is not BeamType.Cosmics:
75 kwargsIDAlignMonPVBiasesAlg = {
76 'vxContainerName' : 'PrimaryVertices',
77 }
78
79 from InDetAlignmentMonitoringRun3.IDAlignMonPVBiasesAlgCfg import IDAlignMonPVBiasesAlgCfg
80 inDetAlignMonPVBiasesAlg = helper.addAlgorithm(CompFactory.IDAlignMonPVBiasesAlg, 'IDAlignMonPVBiasesAlg',
81 addFilterTools = [FilledBunchFilterToolCfg(flags)])
82
83 for k, v in kwargsIDAlignMonPVBiasesAlg.items():
84 setattr(inDetAlignMonPVBiasesAlg, k, v)
85
86 from TrkConfig.TrkVertexFitterUtilsConfig import TrackToVertexIPEstimatorCfg
87 TrackToVertexIPEstimator = acc.popToolsAndMerge(
88 TrackToVertexIPEstimatorCfg(flags, name='TrackToVertexIPEstimator'))
89
90 inDetAlignMonPVBiasesAlg.TrackToVertexIPEstimator = TrackToVertexIPEstimator
91
92 #IDAlignMonPVBiasesAlgCfg(helper, inDetAlignMonPVBiasesAlg, **kwargsIDAlignMonPVBiasesAlg)
93 IDAlignMonPVBiasesAlgCfg(helper, inDetAlignMonPVBiasesAlg )
94
95
96
97 acc.merge(helper.result())
98
99 return acc
100#