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})
38 from InDetAlignmentMonitoringRun3.IDAlignMonGenericTracksAlgCfg
import IDAlignMonGenericTracksAlgCfg
39 inDetAlignMonGenericTracksAlg = helper.addAlgorithm(CompFactory.IDAlignMonGenericTracksAlg,
'IDAlignMonGenericTracksAlg'+
'_'+kwargsIDAlignMonGenericTracksAlg[
"TrackName"],
40 useExtendedPlots =
True,
41 ApplyTrackSelection =
False)
42 for k, v
in kwargsIDAlignMonGenericTracksAlg.items():
43 setattr(inDetAlignMonGenericTracksAlg, k, v)
45 inDetAlignMonGenericTracksAlg.TrackSelectionTool = acc.popToolsAndMerge(Align_InDetTrackSelectionToolCfg(flags))
53 kwargsIDAlignMonResidualsAlg = {
'TrackName' : kwargsIDAlignMonGenericTracksAlg[
"TrackName"]}
54 if (
"NONE" not in trackCollectionName2): kwargsIDAlignMonResidualsAlg.update({
'TrackName2' : trackCollectionName2})
56 from InDetAlignmentMonitoringRun3.IDAlignMonResidualsAlgCfg
import IDAlignMonResidualsAlgCfg
57 inDetAlignMonResidualsAlg = helper.addAlgorithm(CompFactory.IDAlignMonResidualsAlg,
'IDAlignMonResidualsAlg'+
'_'+kwargsIDAlignMonResidualsAlg[
"TrackName"],
58 ApplyTrackSelection =
False)
60 for k, v
in kwargsIDAlignMonResidualsAlg.items():
61 setattr(inDetAlignMonResidualsAlg, k, v)
63 inDetAlignMonResidualsAlg.TrackSelectionTool = acc.popToolsAndMerge(Align_InDetTrackSelectionToolCfg(flags))
71 if flags.Beam.Type
is not BeamType.Cosmics:
72 kwargsIDAlignMonPVBiasesAlg = {
73 'vxContainerName' :
'PrimaryVertices',
76 from InDetAlignmentMonitoringRun3.IDAlignMonPVBiasesAlgCfg
import IDAlignMonPVBiasesAlgCfg
77 inDetAlignMonPVBiasesAlg = helper.addAlgorithm(CompFactory.IDAlignMonPVBiasesAlg,
'IDAlignMonPVBiasesAlg',
78 addFilterTools = [FilledBunchFilterToolCfg(flags)])
80 for k, v
in kwargsIDAlignMonPVBiasesAlg.items():
81 setattr(inDetAlignMonPVBiasesAlg, k, v)
83 from TrkConfig.TrkVertexFitterUtilsConfig
import TrackToVertexIPEstimatorCfg
84 TrackToVertexIPEstimator = acc.popToolsAndMerge(
85 TrackToVertexIPEstimatorCfg(flags, name=
'TrackToVertexIPEstimator'))
87 inDetAlignMonPVBiasesAlg.TrackToVertexIPEstimator = TrackToVertexIPEstimator
94 acc.merge(helper.result())