28 """Return an AthConfigFlags object with required flags"""
29 flags = AthConfigFlags()
37 flags.addFlag(
"Reco.EnableTracking",
38 lambda prevFlags: prevFlags.Detector.EnableID
or
39 prevFlags.Detector.EnableITk)
41 flags.addFlag(
"Reco.EnableHGTDExtension",
42 lambda prevFlags: prevFlags.Reco.EnableTracking
and
43 prevFlags.Detector.EnableHGTD)
45 flags.addFlag(
"Reco.EnableEgamma",
46 lambda prevFlags: prevFlags.Detector.EnableCalo)
49 flags.addFlag(
"Reco.EnableCaloExtension",
lambda prevFlags: (
51 prevFlags.Reco.EnablePFlow
52 or prevFlags.Reco.EnableTau
53 or prevFlags.Reco.EnableCombinedMuon
55 and prevFlags.Detector.EnableCalo
56 and prevFlags.Reco.EnableTracking))
58 flags.addFlag(
"Reco.EnableCombinedMuon",
59 lambda prevFlags: prevFlags.Detector.EnableMuon
and
60 prevFlags.Reco.EnableTracking)
62 flags.addFlag(
"Reco.EnableTrackOverlay",
lambda prevFlags:
False)
64 flags.addFlag(
"Reco.EnablePFlow",
lambda prevFlags: (
65 prevFlags.Reco.EnableTracking
66 and prevFlags.Detector.EnableCalo
67 and prevFlags.Tracking.doVertexFinding))
69 flags.addFlag(
"Reco.EnableIsolation",
lambda prevFlags: (
70 prevFlags.Tracking.doVertexFinding
71 and (prevFlags.Reco.EnableCombinedMuon
72 or prevFlags.Reco.EnableEgamma)))
74 flags.addFlag(
"Reco.EnableJet",
lambda prevFlags: (
75 prevFlags.Detector.EnableCalo
76 and prevFlags.Reco.EnableTracking
77 and prevFlags.Reco.EnableEgamma
78 and prevFlags.Reco.EnableCombinedMuon
79 and prevFlags.Reco.EnablePFlow
80 and prevFlags.Reco.HIMode
is not HIMode.HI)
or
81 prevFlags.Common.ProductionStep
is ProductionStep.Derivation)
84 flags.addFlag(
"Reco.EnableTau",
lambda prevFlags: prevFlags.Reco.EnableJet)
86 flags.addFlag(
"Reco.EnableBTagging",
87 lambda prevFlags: prevFlags.Reco.EnableJet
or
88 (prevFlags.Reco.EnableHI
and prevFlags.HeavyIon.doJet))
90 flags.addFlag(
"Reco.EnableMet",
lambda prevFlags: (
91 prevFlags.Reco.EnableJet
92 and prevFlags.Reco.EnableTau))
96 flags.addFlag(
"Reco.EnableGlobalFELinking",
97 lambda prevFlags: prevFlags.Reco.EnableJet
and
98 prevFlags.Reco.EnableTau
and prevFlags.Reco.EnablePFlow
and
99 prevFlags.Reco.EnableEgamma
and
100 prevFlags.Reco.EnableCombinedMuon)
102 flags.addFlag(
"Reco.EnableTrackCellAssociation",
103 lambda prevFlags: prevFlags.Detector.EnableCalo
and
104 prevFlags.Reco.EnableTracking)
106 flags.addFlag(
"Reco.EnableCaloRinger",
107 lambda prevFlags: prevFlags.Reco.EnableEgamma
and
108 not prevFlags.Reco.EnableHI)
113 flags.addFlag(
"Reco.EnableTrigger",
114 lambda prevFlags: prevFlags.Trigger.EDMVersion > 0)
117 flags.addFlag(
"Reco.EnableHI",
118 lambda prevFlags: prevFlags.Reco.HIMode
is not HIMode.pp)
120 flags.addFlag(
"Reco.HIMode", _hiModeChoice, type=HIMode)
124 flags.addFlag(
"Reco.EnableBeamSpotDecoration",
125 lambda prevFlags:
not prevFlags.Common.isOnline)
128 flags.addFlag(
"Reco.EnableZDC",_recoZDC)
131 flags.addFlag(
"Reco.EnablePostProcessing",
True)
132 flags.addFlag(
"Reco.PostProcessing.ThinNegativeClusters",
133 lambda prevFlags: prevFlags.Reco.EnablePostProcessing
and
134 prevFlags.Detector.EnableCalo
and
135 prevFlags.Output.doWriteAOD
and
136 prevFlags.Calo.Thin.NegativeEnergyCaloClusters
and
137 not prevFlags.Reco.EnableHI)
139 flags.addFlag(
"Reco.PostProcessing.TRTAloneThinning",
140 lambda prevFlags: prevFlags.Reco.EnablePostProcessing
and
141 prevFlags.Reco.EnableTracking
and
142 prevFlags.Output.doWriteAOD)
143 flags.addFlag(
"Reco.PostProcessing.GeantTruthThinning",
144 lambda prevFlags: prevFlags.Reco.EnablePostProcessing
and
145 prevFlags.Input.isMC
and
146 prevFlags.Output.doWriteAOD)
147 flags.addFlag(
"Reco.PostProcessing.InDetForwardTrackParticleThinning",
148 lambda prevFlags: prevFlags.Reco.EnablePostProcessing
and
149 prevFlags.Reco.EnableTracking
and
150 prevFlags.Reco.EnableCombinedMuon
and
151 prevFlags.Output.doWriteAOD)