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",
False)
78 mcf.addFlag(
"Muon.setupTruthAlgorithms",
lambda prevFlags: prevFlags.Muon.usePhaseIIGeoSetup
and \
79 prevFlags.Input.isMC
and \
80 not prevFlags.Trigger.doHLT)
88 from TrkConfig.TrkConfigFlags
import TrackingComponent
89 mcf.addFlag(
"Muon.scheduleActsReco",
lambda prevFlags: prevFlags.Muon.usePhaseIIGeoSetup
and \
90 prevFlags.Tracking.recoChain[0]
in [TrackingComponent.ActsChain , TrackingComponent.ActsLegacyChain ])
92 mcf.addFlag(
"Muon.scheduleActsReco",
False)
95 from ActsConfig.ActsConfigFlags
import TrackFitterType
96 mcf.addFlag(
"Muon.TrackFitterType", TrackFitterType.GlobalChiSquareFitter)
98 mcf.addFlag(
"Muon.TrackFitterType",
"None")
102 mcf.addFlag(
"Muon.includePileUpTruth",
False)
104 mcf.addFlag(
"Muon.enableMLBucketFilter",
False)
107 mcf.addFlag(
"Muon.expressMsTrackAtEntrance",
lambda prevFlags: prevFlags.Reco.EnableTracking )
112 mcf.addFlag(
"Muon.buildMETrack",
lambda prevFlags: prevFlags.Reco.EnableTracking
and\
113 not prevFlags.Muon.MuonTrigger )
115 mcf.addFlag(
"Muon.doMSVertex",
True)
116 mcf.addFlag(
"Muon.doSegmentT0Fit",
lambda prevFlags : prevFlags.Beam.Type
is not BeamType.Collisions)
117 mcf.addFlag(
"Muon.enableErrorTuning",
True)
118 mcf.addFlag(
"Muon.useLooseErrorTuning",
False)
120 mcf.addFlag(
"Muon.splitNswSegmentFinder",
lambda prevFlags: prevFlags.Detector.EnableMM
or prevFlags.Detector.EnablesTGC)
121 mcf.addFlag(
"Muon.useTGCPriorNextBC",
False)
122 mcf.addFlag(
"Muon.useAlignmentCorrections",
True)
124 mcf.addFlag(
"Muon.makePRDs",
True)
126 mcf.addFlag(
"Muon.enableNRPC",
lambda prevFlags: prevFlags.Detector.GeometryRPC
and \
127 prevFlags.Muon.usePhaseIIGeoSetup )
129 mcf.addFlag(
"Muon.printSummary",
False)
130 mcf.addFlag(
"Muon.segmentOrigin",
"Muon")
132 mcf.addFlag(
"Muon.strategy", [])
133 mcf.addFlag(
"Muon.straightLineFitMomentum", 2000.0 )
135 mcf.addFlag(
"Muon.Chi2NDofCut", 20.0 )
136 mcf.addFlag(
"Muon.enableCurvedSegmentFinding",
False )
137 mcf.addFlag(
"Muon.updateSegmentSecondCoordinate",
lambda prevFlags : prevFlags.Beam.Type
is BeamType.Collisions)
139 mcf.addFlag(
"Muon.useSegmentMatching",
lambda prevFlags : prevFlags.Beam.Type
is BeamType.Collisions)
140 mcf.addFlag(
"Muon.useTrackSegmentMatching",
True )
141 mcf.addFlag(
"Muon.runCommissioningChain",
lambda prevFlags: (
False and (prevFlags.Detector.EnableMM
or prevFlags.Detector.EnablesTGC) \
142 and prevFlags.Beam.Type
is BeamType.Collisions) )
144 mcf.addFlag(
"Muon.applyMMPassivation",
lambda prevFlags: prevFlags.Detector.EnableMM
and not prevFlags.Common.isOnline
and (prevFlags.Common.Project
is not Project.AthSimulation \
145 and (prevFlags.Common.ProductionStep
not in [ProductionStep.Simulation, ProductionStep.FastChain]
or prevFlags.Overlay.DataOverlay)))
147 mcf.addFlag(
"Muon.Calib.readMdtJSON",
lambda prevFlags: prevFlags.GeoModel.Run > LHCPeriod.Run3
and prevFlags.Muon.usePhaseIIGeoSetup)
148 mcf.addFlag(
"Muon.Calib.fitAnalyticRt",
False)
150 mcf.addFlag(
"Muon.Calib.readMDTCalibFromBlob",
True)
151 mcf.addFlag(
"Muon.Calib.correctMdtRtForBField",
lambda prevFlags : (prevFlags.Input.isMC
is False and prevFlags.Beam.Type
is BeamType.Collisions))
152 mcf.addFlag(
"Muon.Calib.correctMdtRtForTimeSlewing",
lambda prevFlags : prevFlags.Input.isMC
is False)
154 mcf.addFlag(
"Muon.Calib.applySigPropUncert",
lambda prevFlags: prevFlags.Muon.usePhaseIIGeoSetup )
155 mcf.addFlag(
"Muon.Calib.useMLRt",
True)
156 mcf.addFlag(
"Muon.Calib.applyRtScaling",
False)
157 mcf.addFlag(
"Muon.Calib.mdtCalibrationSource",
"MDT")
158 mcf.addFlag(
"Muon.Calib.mdtPropagationSpeedBeta",
lambda prevFlags : 1.0
if prevFlags.Input.isMC
else 0.85)
160 mcf.addFlag(
"Muon.Calib.CscPedFromLocalFile",
False)
161 mcf.addFlag(
"Muon.Calib.CscNoiseFromLocalFile",
False)
162 mcf.addFlag(
"Muon.Calib.CscPSlopeFromLocalFile",
False)
163 mcf.addFlag(
"Muon.Calib.CscStatusFromLocalFile",
False)
164 mcf.addFlag(
"Muon.Calib.CscRmsFromLocalFile",
False)
165 mcf.addFlag(
"Muon.Calib.CscF001FromLocalFile",
False)
166 mcf.addFlag(
"Muon.Calib.CscT0BaseFromLocalFile",
False)
167 mcf.addFlag(
"Muon.Calib.CscT0PhaseFromLocalFile",
False)
169 mcf.addFlag(
"Muon.Calib.EventTag",
"MoMu")
179 mcf.addFlag(
"Muon.Calib.mdtMode",
"ntuple")
184 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 )
185 mcf.addFlag(
"Muon.Calib.applysTgcT0Correction",
lambda prevFlags: prevFlags.GeoModel.Run<LHCPeriod.Run4
and not prevFlags.Common.isOnline
and not prevFlags.Input.isMC
and False)
186 mcf.addFlag(
"Muon.Calib.applyMmBFieldCalib",
True)
190 mcf.addFlag(
"Muon.Align.UseALines",
lambda prevFlags: (
_muonAlignMode(prevFlags)))
191 mcf.addFlag(
"Muon.Align.UseBLines",
lambda prevFlags: prevFlags.Muon.Align.UseALines)
192 mcf.addFlag(
"Muon.Align.UseILines",
lambda prevFlags: (
_muonAlignMode(prevFlags))
and \
193 prevFlags.Detector.GeometryCSC
and 'HLT' not in prevFlags.IOVDb.GlobalTag)
194 mcf.addFlag(
"Muon.Align.UseAsBuilt",
lambda prevFlags:
196 not (prevFlags.IOVDb.DatabaseInstance ==
'COMP200' or
197 'HLT' in prevFlags.IOVDb.GlobalTag
or
198 prevFlags.Common.isOnline
or
199 prevFlags.Common.ProductionStep
is ProductionStep.Derivation) )
200 mcf.addFlag(
"Muon.Align.UsesTGCAsBuilt",
lambda prevFlags:
201 prevFlags.Muon.Align.UseAsBuilt
and
202 prevFlags.GeoModel.Run
is LHCPeriod.Run3)
205 mcf.addFlag(
"Muon.MuonTrigger",
False)
206 mcf.addFlag(
"Muon.SAMuonTrigger",
False)
207 mcf.addFlag(
"Muon.disableNSWForL2SA",
True)
209 mcf.addFlag(
"Muon.enableAlignment",
lambda flags: (flags.Common.Project
is not Project.AthSimulation \
210 and not (flags.Common.ProductionStep
in [ProductionStep.Simulation, ProductionStep.FastChain]
or flags.Overlay.DataOverlay)))
211 mcf.addFlag(
"Muon.enableTrigIDtrackReuse",
False)
214 mcf.addFlag(
"Muon.DESDM_MCP.doAlignmentFormat",
False)
215 mcf.addFlag(
"Muon.DESDM_MCP.doExtendedAlignmentContent",
False)
218 mcf.addFlag(
"Muon.doWriteRpcRDO",
True)
220 mcf.addFlag(
"Muon.writeSDOs",
lambda prevFlags : prevFlags.Output.doWriteESD
and prevFlags.Input.isMC)
224 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)
226 mcf.addFlag(
"Muon.writexAODPRD",
lambda prevFlags: prevFlags.Muon.usePhaseIIGeoSetup)
228 mcf.addFlag(
"Muon.useMdtDcsData",
lambda prevFlags :
not prevFlags.Common.isOnline
and prevFlags.Detector.GeometryMDT)