11 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
12 acc = ComponentAccumulator()
14 from AthenaMonitoring
import AthMonitorCfgHelper
15 helper = AthMonitorCfgHelper(flags,
"InDetAlignmentMonitoringRun3")
17 from AthenaConfiguration.ComponentFactory
import CompFactory
18 from InDetTrackSelectionTool.InDetTrackSelectionToolConfig
import (Align_InDetTrackSelectionToolCfg)
20 from AthenaMonitoring.FilledBunchFilterToolConfig
import FilledBunchFilterToolCfg
21 from AthenaConfiguration.Enums
import BeamType
23 trackCollectionName =
"ExtendedTracks"
24 trackCollectionName2 =
"NONE"
25 if (
"TrackName" in kwargs):
26 trackCollectionName = kwargs[
"TrackName"]
27 if (
"TrackName2" in kwargs):
28 trackCollectionName2 = kwargs[
"TrackName2"]
30 if ( flags.DQ.Environment
in (
'online',
'tier0',
'tier0Raw',
'tier0ESD') ):
33 kwargsIDAlignMonGenericTracksAlg = {}
34 kwargsIDAlignMonGenericTracksAlg.update({
'vxPrimContainerName' :
'PrimaryVertices'})
35 kwargsIDAlignMonGenericTracksAlg.update({
'TrackName' : trackCollectionName} )
36 if (
"NONE" not in trackCollectionName2): kwargsIDAlignMonGenericTracksAlg.update({
'TrackName2' : trackCollectionName2})
39 from InDetAlignmentMonitoringRun3.IDAlignMonGenericTracksAlgCfg
import IDAlignMonGenericTracksAlgCfg
40 inDetAlignMonGenericTracksAlg = helper.addAlgorithm(CompFactory.IDAlignMonGenericTracksAlg,
'IDAlignMonGenericTracksAlg'+
'_'+kwargsIDAlignMonGenericTracksAlg[
"TrackName"],
41 useExtendedPlots =
True,
42 ApplyTrackSelection =
False,
44 for k, v
in kwargsIDAlignMonGenericTracksAlg.items():
45 setattr(inDetAlignMonGenericTracksAlg, k, v)
47 inDetAlignMonGenericTracksAlg.TrackSelectionTool = acc.popToolsAndMerge(Align_InDetTrackSelectionToolCfg(flags))
55 kwargsIDAlignMonResidualsAlg = {
'TrackName' : kwargsIDAlignMonGenericTracksAlg[
"TrackName"]}
56 if (
"NONE" not in trackCollectionName2): kwargsIDAlignMonResidualsAlg.update({
'TrackName2' : trackCollectionName2})
58 from InDetAlignmentMonitoringRun3.IDAlignMonResidualsAlgCfg
import IDAlignMonResidualsAlgCfg
59 inDetAlignMonResidualsAlg = helper.addAlgorithm(CompFactory.IDAlignMonResidualsAlg,
'IDAlignMonResidualsAlg'+
'_'+kwargsIDAlignMonResidualsAlg[
"TrackName"],
60 ApplyTrackSelection =
False,
63 for k, v
in kwargsIDAlignMonResidualsAlg.items():
64 setattr(inDetAlignMonResidualsAlg, k, v)
66 inDetAlignMonResidualsAlg.TrackSelectionTool = acc.popToolsAndMerge(Align_InDetTrackSelectionToolCfg(flags))
74 if flags.Beam.Type
is not BeamType.Cosmics:
75 kwargsIDAlignMonPVBiasesAlg = {
76 'vxContainerName' :
'PrimaryVertices',
79 from InDetAlignmentMonitoringRun3.IDAlignMonPVBiasesAlgCfg
import IDAlignMonPVBiasesAlgCfg
80 inDetAlignMonPVBiasesAlg = helper.addAlgorithm(CompFactory.IDAlignMonPVBiasesAlg,
'IDAlignMonPVBiasesAlg',
81 addFilterTools = [FilledBunchFilterToolCfg(flags)])
83 for k, v
in kwargsIDAlignMonPVBiasesAlg.items():
84 setattr(inDetAlignMonPVBiasesAlg, k, v)
86 from TrkConfig.TrkVertexFitterUtilsConfig
import TrackToVertexIPEstimatorCfg
87 TrackToVertexIPEstimator = acc.popToolsAndMerge(
88 TrackToVertexIPEstimatorCfg(flags, name=
'TrackToVertexIPEstimator'))
90 inDetAlignMonPVBiasesAlg.TrackToVertexIPEstimator = TrackToVertexIPEstimator
97 acc.merge(helper.result())