55 from AthenaConfiguration.AutoConfigFlags
import DetDescrInfo
57 mcf.addFlag(
"Muon.usePhaseIIGeoSetup",
lambda prevFlags : prevFlags.Detector.GeometryMuon
and
58 DetDescrInfo(prevFlags.GeoModel.AtlasVersion,
59 prevFlags.GeoModel.SQLiteDB ,
60 prevFlags.GeoModel.SQLiteDBFullPath)[
"Muon"][
"useR4Plugin"] )
62 mcf.addFlag(
"Muon.AlignedGeoTrfCacheMode", GeoTrfCacheMode.FullCacheCond, type = GeoTrfCacheMode)
66 mcf.addFlag(
"Muon.trackGeometryActiveMaterial",
True)
69 mcf.addFlag(
"Muon.trackGeometryPassiveMaterial",
lambda prevFlags: prevFlags.Muon.usePhaseIIGeoSetup
and \
70 len(prevFlags.Muon.trackGeometryMaterialMap) > 0)
72 mcf.addFlag(
"Muon.trackGeometryMaterialMap",
"")
74 mcf.addFlag(
"Muon.doFastMMDigitization",
False)
75 mcf.addFlag(
"Muon.doFastsTGCDigitization",
True)
76 mcf.addFlag(
"Muon.doFastRpcDigitization",
True)
78 mcf.addFlag(
"Muon.setupTruthAlgorithms",
lambda prevFlags: prevFlags.Muon.usePhaseIIGeoSetup
and \
79 prevFlags.Input.isMC
and \
80 not prevFlags.Trigger.doHLT)
89 from TrkConfig.TrkConfigFlags
import TrackingComponent
90 mcf.addFlag(
"Muon.scheduleActsReco",
lambda prevFlags: prevFlags.Muon.usePhaseIIGeoSetup
and \
91 prevFlags.Tracking.recoChain[0]
in [TrackingComponent.ActsChain , TrackingComponent.ActsLegacyChain ])
93 mcf.addFlag(
"Muon.scheduleActsReco",
False)
96 from ActsConfig.ActsConfigFlags
import TrackFitterType
97 mcf.addFlag(
"Muon.TrackFitterType", TrackFitterType.GlobalChiSquareFitter)
99 mcf.addFlag(
"Muon.TrackFitterType",
"None")
103 mcf.addFlag(
"Muon.includePileUpTruth",
False)
105 mcf.addFlag(
"Muon.enableMLBucketFilter",
False)
108 mcf.addFlag(
"Muon.expressMsTrackAtEntrance",
False)
113 mcf.addFlag(
"Muon.buildMETrack",
lambda prevFlags: prevFlags.Reco.EnableTracking
and\
114 not prevFlags.Muon.MuonTrigger )
116 mcf.addFlag(
"Muon.doMSVertex",
True)
117 mcf.addFlag(
"Muon.doSegmentT0Fit",
lambda prevFlags : prevFlags.Beam.Type
is not BeamType.Collisions)
118 mcf.addFlag(
"Muon.enableErrorTuning",
True)
119 mcf.addFlag(
"Muon.useLooseErrorTuning",
False)
120 mcf.addFlag(
"Muon.useTGCPriorNextBC",
False)
121 mcf.addFlag(
"Muon.useAlignmentCorrections",
True)
123 mcf.addFlag(
"Muon.makePRDs",
True)
125 mcf.addFlag(
"Muon.enableNRPC",
lambda prevFlags: prevFlags.Detector.GeometryRPC
and \
126 prevFlags.Muon.usePhaseIIGeoSetup )
128 mcf.addFlag(
"Muon.printSummary",
False)
129 mcf.addFlag(
"Muon.segmentOrigin",
"Muon")
131 mcf.addFlag(
"Muon.strategy", [])
132 mcf.addFlag(
"Muon.straightLineFitMomentum", 2000.0 )
134 mcf.addFlag(
"Muon.Chi2NDofCut", 20.0 )
135 mcf.addFlag(
"Muon.enableCurvedSegmentFinding",
False )
136 mcf.addFlag(
"Muon.updateSegmentSecondCoordinate",
lambda prevFlags : prevFlags.Beam.Type
is BeamType.Collisions)
138 mcf.addFlag(
"Muon.useSegmentMatching",
lambda prevFlags : prevFlags.Beam.Type
is BeamType.Collisions)
139 mcf.addFlag(
"Muon.useTrackSegmentMatching",
True )
140 mcf.addFlag(
"Muon.runCommissioningChain",
lambda prevFlags: (
False and (prevFlags.Detector.EnableMM
or prevFlags.Detector.EnablesTGC) \
141 and prevFlags.Beam.Type
is BeamType.Collisions) )
143 mcf.addFlag(
"Muon.applyMMPassivation",
lambda prevFlags: prevFlags.Detector.EnableMM
and not prevFlags.Common.isOnline
and (prevFlags.Common.Project
is not Project.AthSimulation \
144 and (prevFlags.Common.ProductionStep
not in [ProductionStep.Simulation, ProductionStep.FastChain]
or prevFlags.Overlay.DataOverlay)))
146 mcf.addFlag(
"Muon.Calib.readMdtJSON",
lambda prevFlags: prevFlags.GeoModel.Run > LHCPeriod.Run3
and prevFlags.Muon.usePhaseIIGeoSetup)
147 mcf.addFlag(
"Muon.Calib.fitAnalyticRt",
False)
149 mcf.addFlag(
"Muon.Calib.readMDTCalibFromBlob",
True)
150 mcf.addFlag(
"Muon.Calib.correctMdtRtForBField",
lambda prevFlags : (prevFlags.Input.isMC
is False and prevFlags.Beam.Type
is BeamType.Collisions))
151 mcf.addFlag(
"Muon.Calib.correctMdtRtForTimeSlewing",
lambda prevFlags : prevFlags.Input.isMC
is False)
153 mcf.addFlag(
"Muon.Calib.applySigPropUncert",
lambda prevFlags: prevFlags.Muon.usePhaseIIGeoSetup )
154 mcf.addFlag(
"Muon.Calib.useMLRt",
True)
155 mcf.addFlag(
"Muon.Calib.applyRtScaling",
False)
156 mcf.addFlag(
"Muon.Calib.mdtCalibrationSource",
"MDT")
157 mcf.addFlag(
"Muon.Calib.mdtPropagationSpeedBeta",
lambda prevFlags : 1.0
if prevFlags.Input.isMC
else 0.85)
159 mcf.addFlag(
"Muon.Calib.CscPedFromLocalFile",
False)
160 mcf.addFlag(
"Muon.Calib.CscNoiseFromLocalFile",
False)
161 mcf.addFlag(
"Muon.Calib.CscPSlopeFromLocalFile",
False)
162 mcf.addFlag(
"Muon.Calib.CscStatusFromLocalFile",
False)
163 mcf.addFlag(
"Muon.Calib.CscRmsFromLocalFile",
False)
164 mcf.addFlag(
"Muon.Calib.CscF001FromLocalFile",
False)
165 mcf.addFlag(
"Muon.Calib.CscT0BaseFromLocalFile",
False)
166 mcf.addFlag(
"Muon.Calib.CscT0PhaseFromLocalFile",
False)
168 mcf.addFlag(
"Muon.Calib.EventTag",
"MoMu")
178 mcf.addFlag(
"Muon.Calib.mdtMode",
"ntuple")
183 mcf.addFlag(
"Muon.Calib.applyMmT0Correction",
lambda prevFlags: prevFlags.GeoModel.Run==LHCPeriod.Run3
and prevFlags.Input.DataYear != 2022
and not prevFlags.Common.isOnline
and not prevFlags.Input.isMC )
184 mcf.addFlag(
"Muon.Calib.applysTgcT0Correction",
lambda prevFlags: prevFlags.GeoModel.Run<LHCPeriod.Run4
and not prevFlags.Common.isOnline
and not prevFlags.Input.isMC
and False)
185 mcf.addFlag(
"Muon.Calib.applyMmBFieldCalib",
True)
189 mcf.addFlag(
"Muon.Align.UseALines",
lambda prevFlags: (
_muonAlignMode(prevFlags)))
190 mcf.addFlag(
"Muon.Align.UseBLines",
lambda prevFlags: prevFlags.Muon.Align.UseALines)
191 mcf.addFlag(
"Muon.Align.UseILines",
lambda prevFlags: (
_muonAlignMode(prevFlags))
and \
192 prevFlags.Detector.GeometryCSC
and 'HLT' not in prevFlags.IOVDb.GlobalTag)
193 mcf.addFlag(
"Muon.Align.UseAsBuilt",
lambda prevFlags: (
_muonAlignMode(prevFlags))
and not \
194 (prevFlags.IOVDb.DatabaseInstance ==
'COMP200' or \
195 'HLT' in prevFlags.IOVDb.GlobalTag
or prevFlags.Common.isOnline) )
196 mcf.addFlag(
"Muon.Align.UsesTGCAsBuild",
lambda prevFlags: (
_muonAlignMode(prevFlags))
and not prevFlags.Common.isOnline
and prevFlags.GeoModel.Run == LHCPeriod.Run3)
199 mcf.addFlag(
"Muon.MuonTrigger",
False)
200 mcf.addFlag(
"Muon.SAMuonTrigger",
False)
201 mcf.addFlag(
"Muon.disableNSWForL2SA",
True)
203 mcf.addFlag(
"Muon.enableAlignment",
lambda flags: (flags.Common.Project
is not Project.AthSimulation \
204 and not (flags.Common.ProductionStep
in [ProductionStep.Simulation, ProductionStep.FastChain]
or flags.Overlay.DataOverlay)))
205 mcf.addFlag(
"Muon.enableTrigIDtrackReuse",
False)
208 mcf.addFlag(
"Muon.DESDM_MCP.doAlignmentFormat",
False)
209 mcf.addFlag(
"Muon.DESDM_MCP.doExtendedAlignmentContent",
False)
212 mcf.addFlag(
"Muon.doWriteRpcRDO",
True)
214 mcf.addFlag(
"Muon.writeSDOs",
lambda prevFlags : prevFlags.Output.doWriteESD
and prevFlags.Input.isMC)
218 mcf.addFlag(
"Muon.MMClusterCalibRecoTool",
lambda prevFlags: MMClusterBuilderEnum.Centroid
if (prevFlags.Common.isOnline
or prevFlags.Input.DataYear == 2022
or prevFlags.Beam.Type
is not BeamType.Collisions)
else MMClusterBuilderEnum.ClusterTimeProjection, type=MMClusterBuilderEnum)
220 mcf.addFlag(
"Muon.writexAODPRD",
lambda prevFlags: prevFlags.Muon.usePhaseIIGeoSetup)
222 mcf.addFlag(
"Muon.useMdtDcsData",
lambda prevFlags :
not prevFlags.Common.isOnline
and prevFlags.Detector.GeometryMDT)