47 from AthenaConfiguration.AutoConfigFlags
import DetDescrInfo
49 mcf.addFlag(
"Muon.usePhaseIIGeoSetup",
lambda prevFlags :
DetDescrInfo(prevFlags.GeoModel.AtlasVersion,
50 prevFlags.GeoModel.SQLiteDB ,
51 prevFlags.GeoModel.SQLiteDBFullPath)[
"Muon"][
"useR4Plugin"] )
53 mcf.addFlag(
"Muon.doDigitization",
True)
54 mcf.addFlag(
"Muon.doFastMMDigitization",
True)
55 mcf.addFlag(
"Muon.doFastsTGCDigitization",
True)
60 mcf.addFlag(
"Muon.doMSVertex",
True)
61 mcf.addFlag(
"Muon.doSegmentT0Fit",
lambda prevFlags : prevFlags.Beam.Type
is not BeamType.Collisions)
62 mcf.addFlag(
"Muon.enableErrorTuning",
True)
63 mcf.addFlag(
"Muon.useLooseErrorTuning",
False)
64 mcf.addFlag(
"Muon.useTGCPriorNextBC",
False)
65 mcf.addFlag(
"Muon.useAlignmentCorrections",
True)
67 mcf.addFlag(
"Muon.makePRDs",
True)
69 mcf.addFlag(
"Muon.enableNRPC",
lambda prevFlags: prevFlags.Detector.GeometryRPC
and \
70 prevFlags.Muon.usePhaseIIGeoSetup )
72 mcf.addFlag(
"Muon.printSummary",
False)
73 mcf.addFlag(
"Muon.segmentOrigin",
"Muon")
75 mcf.addFlag(
"Muon.strategy", [])
76 mcf.addFlag(
"Muon.straightLineFitMomentum", 2000.0 )
78 mcf.addFlag(
"Muon.Chi2NDofCut", 20.0 )
79 mcf.addFlag(
"Muon.enableCurvedSegmentFinding",
False )
80 mcf.addFlag(
"Muon.updateSegmentSecondCoordinate",
lambda prevFlags : prevFlags.Beam.Type
is BeamType.Collisions)
82 mcf.addFlag(
"Muon.useSegmentMatching",
lambda prevFlags : prevFlags.Beam.Type
is BeamType.Collisions)
83 mcf.addFlag(
"Muon.useTrackSegmentMatching",
True )
84 mcf.addFlag(
"Muon.runCommissioningChain",
lambda prevFlags: (
False and (prevFlags.Detector.EnableMM
or prevFlags.Detector.EnablesTGC) \
85 and prevFlags.Beam.Type
is BeamType.Collisions) )
87 mcf.addFlag(
"Muon.applyMMPassivation",
lambda prevFlags: prevFlags.Detector.EnableMM
and not prevFlags.Common.isOnline
and (prevFlags.Common.Project
is not Project.AthSimulation \
88 and (prevFlags.Common.ProductionStep
not in [ProductionStep.Simulation, ProductionStep.FastChain]
or prevFlags.Overlay.DataOverlay)))
90 mcf.addFlag(
"Muon.Calib.readMdtJSON",
lambda prevFlags: prevFlags.GeoModel.Run > LHCPeriod.Run3
and prevFlags.Muon.usePhaseIIGeoSetup)
91 mcf.addFlag(
"Muon.Calib.fitAnalyticRt",
False)
93 mcf.addFlag(
"Muon.Calib.readMDTCalibFromBlob",
True)
94 mcf.addFlag(
"Muon.Calib.correctMdtRtForBField",
lambda prevFlags : (prevFlags.Input.isMC
is False and prevFlags.Beam.Type
is BeamType.Collisions))
95 mcf.addFlag(
"Muon.Calib.correctMdtRtForTimeSlewing",
lambda prevFlags : prevFlags.Input.isMC
is False)
97 mcf.addFlag(
"Muon.Calib.applySigPropUncert",
lambda prevFlags: prevFlags.Muon.usePhaseIIGeoSetup )
98 mcf.addFlag(
"Muon.Calib.useMLRt",
True)
99 mcf.addFlag(
"Muon.Calib.applyRtScaling",
False)
100 mcf.addFlag(
"Muon.Calib.mdtCalibrationSource",
"MDT")
101 mcf.addFlag(
"Muon.Calib.mdtPropagationSpeedBeta",
lambda prevFlags : 1.0
if prevFlags.Input.isMC
else 0.85)
103 mcf.addFlag(
"Muon.Calib.CscPedFromLocalFile",
False)
104 mcf.addFlag(
"Muon.Calib.CscNoiseFromLocalFile",
False)
105 mcf.addFlag(
"Muon.Calib.CscPSlopeFromLocalFile",
False)
106 mcf.addFlag(
"Muon.Calib.CscStatusFromLocalFile",
False)
107 mcf.addFlag(
"Muon.Calib.CscRmsFromLocalFile",
False)
108 mcf.addFlag(
"Muon.Calib.CscF001FromLocalFile",
False)
109 mcf.addFlag(
"Muon.Calib.CscT0BaseFromLocalFile",
False)
110 mcf.addFlag(
"Muon.Calib.CscT0PhaseFromLocalFile",
False)
112 mcf.addFlag(
"Muon.Calib.EventTag",
"MoMu")
122 mcf.addFlag(
"Muon.Calib.mdtMode",
"ntuple")
127 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 )
128 mcf.addFlag(
"Muon.Calib.applysTgcT0Correction",
lambda prevFlags: prevFlags.GeoModel.Run<LHCPeriod.Run4
and not prevFlags.Common.isOnline
and not prevFlags.Input.isMC
and False)
129 mcf.addFlag(
"Muon.Calib.applyMmBFieldCalib",
True)
133 mcf.addFlag(
"Muon.Align.UseALines",
lambda prevFlags: (
_muonAlignMode(prevFlags)))
134 mcf.addFlag(
"Muon.Align.UseBLines",
lambda prevFlags: prevFlags.Muon.Align.UseALines)
135 mcf.addFlag(
"Muon.Align.UseILines",
lambda prevFlags: (
_muonAlignMode(prevFlags))
and \
136 prevFlags.Detector.GeometryCSC
and 'HLT' not in prevFlags.IOVDb.GlobalTag)
137 mcf.addFlag(
"Muon.Align.UseAsBuilt",
lambda prevFlags: (
_muonAlignMode(prevFlags))
and not \
138 (prevFlags.IOVDb.DatabaseInstance ==
'COMP200' or \
139 'HLT' in prevFlags.IOVDb.GlobalTag
or prevFlags.Common.isOnline) )
140 mcf.addFlag(
"Muon.Align.UsesTGCAsBuild",
lambda prevFlags: (
_muonAlignMode(prevFlags))
and not prevFlags.Common.isOnline
and prevFlags.GeoModel.Run == LHCPeriod.Run3)
143 mcf.addFlag(
"Muon.MuonTrigger",
False)
144 mcf.addFlag(
"Muon.SAMuonTrigger",
False)
145 mcf.addFlag(
"Muon.disableNSWForL2SA",
True)
147 mcf.addFlag(
"Muon.enableAlignment",
lambda flags: (flags.Common.Project
is not Project.AthSimulation \
148 and not (flags.Common.ProductionStep
in [ProductionStep.Simulation, ProductionStep.FastChain]
or flags.Overlay.DataOverlay)))
149 mcf.addFlag(
"Muon.enableTrigIDtrackReuse",
False)
152 mcf.addFlag(
"Muon.DESDM_MCP.doAlignmentFormat",
False)
155 mcf.addFlag(
"Muon.doWriteRpcRDO",
True)
157 mcf.addFlag(
"Muon.writeSDOs",
lambda prevFlags : prevFlags.Output.doWriteESD
and prevFlags.Input.isMC)
161 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)
163 mcf.addFlag(
"Muon.writexAODPRD",
lambda prevFlags: prevFlags.Muon.usePhaseIIGeoSetup)
165 mcf.addFlag(
"Muon.useMdtDcsData",
lambda prevFlags :
not prevFlags.Common.isOnline)