3 from AthenaConfiguration.AthConfigFlags
import AthConfigFlags
4 from AthenaConfiguration.Enums
import BeamType, LHCPeriod, ProductionStep, Project, FlagEnum
25 """Flag values for Muon.MMClusterCalibRecoTool"""
27 ClusterTimeProjection =
"ClusterTimeProjection"
32 problematic_tags = [
'COMCOND-HLT[A-C]-00[01]-00',
'COMCOND-ES1C-00[01]-00',
'COMCOND-REPC-001',
'COMCOND-SIM-01-00']
33 if any(re.match(tag,flags.IOVDb.DatabaseInstance)
for tag
in problematic_tags):
35 elif flags.Input.isMC
or not flags.Muon.enableAlignment:
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)
59 mcf.addFlag(
"Muon.doMSVertex",
True)
60 mcf.addFlag(
"Muon.doSegmentT0Fit",
lambda prevFlags : prevFlags.Beam.Type
is not BeamType.Collisions)
61 mcf.addFlag(
"Muon.enableErrorTuning",
True)
62 mcf.addFlag(
"Muon.useLooseErrorTuning",
False)
63 mcf.addFlag(
"Muon.useTGCPriorNextBC",
False)
64 mcf.addFlag(
"Muon.useAlignmentCorrections",
True)
66 mcf.addFlag(
"Muon.makePRDs",
True)
68 mcf.addFlag(
"Muon.enableNRPC",
lambda prevFlags: prevFlags.Detector.GeometryRPC
and \
69 prevFlags.Muon.usePhaseIIGeoSetup )
71 mcf.addFlag(
"Muon.printSummary",
False)
72 mcf.addFlag(
"Muon.segmentOrigin",
"Muon")
74 mcf.addFlag(
"Muon.strategy", [])
75 mcf.addFlag(
"Muon.straightLineFitMomentum", 2000.0 )
77 mcf.addFlag(
"Muon.Chi2NDofCut", 20.0 )
78 mcf.addFlag(
"Muon.enableCurvedSegmentFinding",
False )
79 mcf.addFlag(
"Muon.updateSegmentSecondCoordinate",
lambda prevFlags : prevFlags.Beam.Type
is BeamType.Collisions)
81 mcf.addFlag(
"Muon.useSegmentMatching",
lambda prevFlags : prevFlags.Beam.Type
is BeamType.Collisions)
82 mcf.addFlag(
"Muon.useTrackSegmentMatching",
True )
83 mcf.addFlag(
"Muon.runCommissioningChain",
lambda prevFlags: (
False and (prevFlags.Detector.EnableMM
or prevFlags.Detector.EnablesTGC) \
84 and prevFlags.Beam.Type
is BeamType.Collisions) )
86 mcf.addFlag(
"Muon.applyMMPassivation",
lambda prevFlags: prevFlags.Detector.EnableMM
and not prevFlags.Common.isOnline
and (prevFlags.Common.Project
is not Project.AthSimulation \
87 and (prevFlags.Common.ProductionStep
not in [ProductionStep.Simulation, ProductionStep.FastChain]
or prevFlags.Overlay.DataOverlay)))
89 mcf.addFlag(
"Muon.Calib.readMdtJSON",
lambda prevFlags: prevFlags.GeoModel.Run > LHCPeriod.Run3
and prevFlags.Muon.usePhaseIIGeoSetup)
90 mcf.addFlag(
"Muon.Calib.fitAnalyticRt",
False)
92 mcf.addFlag(
"Muon.Calib.readMDTCalibFromBlob",
True)
93 mcf.addFlag(
"Muon.Calib.correctMdtRtForBField",
lambda prevFlags : (prevFlags.Input.isMC
is False and prevFlags.Beam.Type
is BeamType.Collisions))
94 mcf.addFlag(
"Muon.Calib.correctMdtRtForTimeSlewing",
lambda prevFlags : prevFlags.Input.isMC
is False)
96 mcf.addFlag(
"Muon.Calib.applySigPropUncert",
lambda prevFlags: prevFlags.Muon.usePhaseIIGeoSetup )
97 mcf.addFlag(
"Muon.Calib.useMLRt",
True)
98 mcf.addFlag(
"Muon.Calib.applyRtScaling",
False)
99 mcf.addFlag(
"Muon.Calib.mdtCalibrationSource",
"MDT")
100 mcf.addFlag(
"Muon.Calib.mdtPropagationSpeedBeta",
lambda prevFlags : 1.0
if prevFlags.Input.isMC
else 0.85)
102 mcf.addFlag(
"Muon.Calib.CscPedFromLocalFile",
False)
103 mcf.addFlag(
"Muon.Calib.CscNoiseFromLocalFile",
False)
104 mcf.addFlag(
"Muon.Calib.CscPSlopeFromLocalFile",
False)
105 mcf.addFlag(
"Muon.Calib.CscStatusFromLocalFile",
False)
106 mcf.addFlag(
"Muon.Calib.CscRmsFromLocalFile",
False)
107 mcf.addFlag(
"Muon.Calib.CscF001FromLocalFile",
False)
108 mcf.addFlag(
"Muon.Calib.CscT0BaseFromLocalFile",
False)
109 mcf.addFlag(
"Muon.Calib.CscT0PhaseFromLocalFile",
False)
111 mcf.addFlag(
"Muon.Calib.EventTag",
"MoMu")
121 mcf.addFlag(
"Muon.Calib.mdtMode",
"ntuple")
126 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 )
127 mcf.addFlag(
"Muon.Calib.applysTgcT0Correction",
lambda prevFlags: prevFlags.GeoModel.Run<LHCPeriod.Run4
and not prevFlags.Common.isOnline
and not prevFlags.Input.isMC
and False)
128 mcf.addFlag(
"Muon.Calib.applyMmBFieldCalib",
True)
132 mcf.addFlag(
"Muon.Align.UseALines",
lambda prevFlags: (
_muonAlignMode(prevFlags)))
133 mcf.addFlag(
"Muon.Align.UseBLines",
lambda prevFlags: prevFlags.Muon.Align.UseALines)
134 mcf.addFlag(
"Muon.Align.UseILines",
lambda prevFlags: (
_muonAlignMode(prevFlags))
and \
135 prevFlags.Detector.GeometryCSC
and 'HLT' not in prevFlags.IOVDb.GlobalTag)
136 mcf.addFlag(
"Muon.Align.UseAsBuilt",
lambda prevFlags: (
_muonAlignMode(prevFlags))
and not \
137 (prevFlags.IOVDb.DatabaseInstance ==
'COMP200' or \
138 'HLT' in prevFlags.IOVDb.GlobalTag
or prevFlags.Common.isOnline) )
139 mcf.addFlag(
"Muon.Align.UsesTGCAsBuild",
False)
142 mcf.addFlag(
"Muon.MuonTrigger",
False)
143 mcf.addFlag(
"Muon.SAMuonTrigger",
False)
144 mcf.addFlag(
"Muon.disableNSWForL2SA",
True)
146 mcf.addFlag(
"Muon.enableAlignment",
lambda flags: (flags.Common.Project
is not Project.AthSimulation \
147 and (flags.Common.ProductionStep
not in [ProductionStep.Simulation, ProductionStep.FastChain]
or flags.Overlay.DataOverlay)))
148 mcf.addFlag(
"Muon.enableTrigIDtrackReuse",
False)
151 mcf.addFlag(
"Muon.DESDM_MCP.doAlignmentFormat",
False)
154 mcf.addFlag(
"Muon.doWriteRpcRDO",
True)
156 mcf.addFlag(
"Muon.writeSDOs",
lambda prevFlags : prevFlags.Output.doWriteESD
and prevFlags.Input.isMC)
160 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)
162 mcf.addFlag(
"Muon.writexAODPRD",
False)
164 mcf.addFlag(
"Muon.useMdtDcsData",
lambda prevFlags :
not prevFlags.Common.isOnline)