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)
65 mcf.addFlag(
"Muon.doFastMMDigitization",
False)
66 mcf.addFlag(
"Muon.doFastsTGCDigitization",
False)
67 mcf.addFlag(
"Muon.doFastRpcDigitization",
False)
69 mcf.addFlag(
"Muon.setupTruthAlgorithms",
lambda prevFlags: prevFlags.Muon.usePhaseIIGeoSetup
and \
70 prevFlags.Input.isMC
and \
71 not prevFlags.Trigger.doHLT)
79 from TrkConfig.TrkConfigFlags
import TrackingComponent
80 mcf.addFlag(
"Muon.scheduleActsReco",
lambda prevFlags: prevFlags.Muon.usePhaseIIGeoSetup
and \
81 prevFlags.Tracking.recoChain[0]
in [TrackingComponent.ActsChain , TrackingComponent.ActsLegacyChain ])
83 mcf.addFlag(
"Muon.scheduleActsReco",
False)
87 mcf.addFlag(
"Muon.scheduleLegacyReco",
lambda prevFlags:
not prevFlags.Muon.scheduleActsReco)
90 from ActsConfig.ActsConfigFlags
import TrackFitterType
91 mcf.addFlag(
"Muon.TrackFitterType", TrackFitterType.GlobalChiSquareFitter)
93 mcf.addFlag(
"Muon.TrackFitterType",
"None")
97 mcf.addFlag(
"Muon.includePileUpTruth",
False)
99 mcf.addFlag(
"Muon.enableMLBucketFilter",
False)
102 mcf.addFlag(
"Muon.expressMsTrackAtEntrance",
lambda prevFlags: prevFlags.Reco.EnableTracking )
107 mcf.addFlag(
"Muon.buildMETrack",
lambda prevFlags: prevFlags.Reco.EnableTracking
and\
108 not prevFlags.Muon.MuonTrigger )
110 mcf.addFlag(
"Muon.doMSVertex",
True)
111 mcf.addFlag(
"Muon.doSegmentT0Fit",
lambda prevFlags : prevFlags.Beam.Type
is not BeamType.Collisions)
112 mcf.addFlag(
"Muon.enableErrorTuning",
True)
113 mcf.addFlag(
"Muon.useLooseErrorTuning",
False)
115 mcf.addFlag(
"Muon.splitNswSegmentFinder",
lambda prevFlags: prevFlags.Detector.EnableMM
or prevFlags.Detector.EnablesTGC)
116 mcf.addFlag(
"Muon.useTGCPriorNextBC",
False)
117 mcf.addFlag(
"Muon.useAlignmentCorrections",
True)
119 mcf.addFlag(
"Muon.makePRDs",
True)
121 mcf.addFlag(
"Muon.enableNRPC",
lambda prevFlags: prevFlags.Detector.GeometryRPC
and \
122 prevFlags.Muon.usePhaseIIGeoSetup )
124 mcf.addFlag(
"Muon.printSummary",
False)
125 mcf.addFlag(
"Muon.segmentOrigin",
"Muon")
127 mcf.addFlag(
"Muon.strategy", [])
128 mcf.addFlag(
"Muon.straightLineFitMomentum", 2000.0 )
130 mcf.addFlag(
"Muon.Chi2NDofCut", 20.0 )
131 mcf.addFlag(
"Muon.enableCurvedSegmentFinding",
False )
132 mcf.addFlag(
"Muon.updateSegmentSecondCoordinate",
lambda prevFlags : prevFlags.Beam.Type
is BeamType.Collisions)
134 mcf.addFlag(
"Muon.useSegmentMatching",
lambda prevFlags : prevFlags.Beam.Type
is BeamType.Collisions)
135 mcf.addFlag(
"Muon.useTrackSegmentMatching",
True )
136 mcf.addFlag(
"Muon.runCommissioningChain",
lambda prevFlags: (
False and (prevFlags.Detector.EnableMM
or prevFlags.Detector.EnablesTGC) \
137 and prevFlags.Beam.Type
is BeamType.Collisions) )
139 mcf.addFlag(
"Muon.applyMMPassivation",
lambda prevFlags: prevFlags.Detector.EnableMM
and not prevFlags.Common.isOnline
and (prevFlags.Common.Project
is not Project.AthSimulation \
140 and (prevFlags.Common.ProductionStep
not in [ProductionStep.Simulation, ProductionStep.FastChain]
or prevFlags.Overlay.DataOverlay)))
142 mcf.addFlag(
"Muon.Calib.readMdtJSON",
lambda prevFlags: prevFlags.GeoModel.Run > LHCPeriod.Run3
and prevFlags.Muon.usePhaseIIGeoSetup)
143 mcf.addFlag(
"Muon.Calib.fitAnalyticRt",
False)
145 mcf.addFlag(
"Muon.Calib.readMDTCalibFromBlob",
True)
146 mcf.addFlag(
"Muon.Calib.correctMdtRtForBField",
lambda prevFlags : (prevFlags.Input.isMC
is False and prevFlags.Beam.Type
is BeamType.Collisions))
147 mcf.addFlag(
"Muon.Calib.correctMdtRtForTimeSlewing",
lambda prevFlags : prevFlags.Input.isMC
is False)
149 mcf.addFlag(
"Muon.Calib.applySigPropUncert",
lambda prevFlags: prevFlags.Muon.usePhaseIIGeoSetup )
150 mcf.addFlag(
"Muon.Calib.useMLRt",
True)
151 mcf.addFlag(
"Muon.Calib.applyRtScaling",
False)
152 mcf.addFlag(
"Muon.Calib.mdtCalibrationSource",
"MDT")
153 mcf.addFlag(
"Muon.Calib.mdtPropagationSpeedBeta",
lambda prevFlags : 1.0
if prevFlags.Input.isMC
else 0.85)
155 mcf.addFlag(
"Muon.Calib.CscPedFromLocalFile",
False)
156 mcf.addFlag(
"Muon.Calib.CscNoiseFromLocalFile",
False)
157 mcf.addFlag(
"Muon.Calib.CscPSlopeFromLocalFile",
False)
158 mcf.addFlag(
"Muon.Calib.CscStatusFromLocalFile",
False)
159 mcf.addFlag(
"Muon.Calib.CscRmsFromLocalFile",
False)
160 mcf.addFlag(
"Muon.Calib.CscF001FromLocalFile",
False)
161 mcf.addFlag(
"Muon.Calib.CscT0BaseFromLocalFile",
False)
162 mcf.addFlag(
"Muon.Calib.CscT0PhaseFromLocalFile",
False)
164 mcf.addFlag(
"Muon.Calib.EventTag",
"MoMu")
174 mcf.addFlag(
"Muon.Calib.mdtMode",
"ntuple")
179 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 )
180 mcf.addFlag(
"Muon.Calib.applysTgcT0Correction",
lambda prevFlags: prevFlags.GeoModel.Run<LHCPeriod.Run4
and not prevFlags.Common.isOnline
and not prevFlags.Input.isMC
and False)
181 mcf.addFlag(
"Muon.Calib.applyMmBFieldCalib",
True)
185 mcf.addFlag(
"Muon.Align.UseALines",
lambda prevFlags: (
_muonAlignMode(prevFlags)))
186 mcf.addFlag(
"Muon.Align.UseBLines",
lambda prevFlags: prevFlags.Muon.Align.UseALines)
187 mcf.addFlag(
"Muon.Align.UseILines",
lambda prevFlags: (
_muonAlignMode(prevFlags))
and \
188 prevFlags.Detector.GeometryCSC
and 'HLT' not in prevFlags.IOVDb.GlobalTag)
189 mcf.addFlag(
"Muon.Align.UseAsBuilt",
lambda prevFlags:
191 not (prevFlags.IOVDb.DatabaseInstance ==
'COMP200' or
192 'HLT' in prevFlags.IOVDb.GlobalTag
or
193 prevFlags.Common.isOnline
or
194 prevFlags.Common.ProductionStep
is ProductionStep.Derivation) )
195 mcf.addFlag(
"Muon.Align.UsesTGCAsBuilt",
lambda prevFlags:
196 prevFlags.Muon.Align.UseAsBuilt
and
197 prevFlags.GeoModel.Run
is LHCPeriod.Run3)
200 mcf.addFlag(
"Muon.MuonTrigger",
False)
201 mcf.addFlag(
"Muon.SAMuonTrigger",
False)
202 mcf.addFlag(
"Muon.disableNSWForL2SA",
True)
204 mcf.addFlag(
"Muon.enableAlignment",
lambda flags: (flags.Common.Project
is not Project.AthSimulation \
205 and not (flags.Common.ProductionStep
in [ProductionStep.Simulation, ProductionStep.FastChain]
or flags.Overlay.DataOverlay)))
206 mcf.addFlag(
"Muon.enableTrigIDtrackReuse",
False)
209 mcf.addFlag(
"Muon.DESDM_MCP.doAlignmentFormat",
False)
210 mcf.addFlag(
"Muon.DESDM_MCP.doExtendedAlignmentContent",
False)
213 mcf.addFlag(
"Muon.doWriteRpcRDO",
True)
215 mcf.addFlag(
"Muon.writeSDOs",
lambda prevFlags : prevFlags.Output.doWriteESD
and prevFlags.Input.isMC)
219 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)
221 mcf.addFlag(
"Muon.writexAODPRD",
lambda prevFlags: prevFlags.Muon.usePhaseIIGeoSetup)
223 mcf.addFlag(
"Muon.useMdtDcsData",
lambda prevFlags :
not prevFlags.Common.isOnline
and prevFlags.Detector.GeometryMDT)