26 from AthenaConfiguration.AthConfigFlags
import AthConfigFlags
27 flags = AthConfigFlags()
29 flags.addFlag(
"maxAbsEta", 9999.0)
30 flags.addFlag(
"minNTrtHits", 0)
31 flags.addFlag(
"maxNPixelHoles", 1)
32 flags.addFlag(
"maxZ0", 1000.0 * Units.mm)
33 flags.addFlag(
"maxZ0SinTheta", 1000.0 * Units.mm)
34 flags.addFlag(
"minNInnermostLayerHits", 0)
36 flags.addFlag(
"doMaxTracksCut",
lambda pcf:
37 not(pcf.Tracking.PriVertex.useBeamConstraint
or
38 pcf.Tracking.PrimaryPassConfig
is (
39 PrimaryPassConfig.HeavyIon)))
40 flags.addFlag(
"maxTracks", 3000)
41 flags.addFlag(
"maxVertices",
lambda pcf:
42 1
if pcf.Tracking.PrimaryPassConfig
in [
43 PrimaryPassConfig.HeavyIon, PrimaryPassConfig.VtxLumiHeavyIon]
50 return VertexSetup.FastIVF
51 elif pcf.Tracking.PrimaryPassConfig
is PrimaryPassConfig.VtxLumiHeavyIon:
52 return VertexSetup.FastIVF
53 elif (pcf.Tracking.doMinBias
or
54 pcf.Tracking.doLowMu
or
55 pcf.Tracking.PrimaryPassConfig
in [
56 PrimaryPassConfig.VtxLumi,
57 PrimaryPassConfig.VtxBeamSpot,
58 PrimaryPassConfig.HighPileup]):
59 return VertexSetup.IVF
61 return VertexSetup.ActsGaussAMVF
63 flags.addFlag(
"setup", vertexSetup, type=VertexSetup)
66 flags.addFlag(
"sortingSetup", VertexSortingSetup.SumPt2Sorting, type=VertexSortingSetup)
67 flags.addFlag(
"PVNN.nnFile",
"InDetGNNHardScatterSelection/v2.0/network.onnx")
68 flags.addFlag(
"useBeamConstraint",
lambda pcf:
69 not(pcf.Tracking.PrimaryPassConfig
in [
70 PrimaryPassConfig.VtxLumi,
71 PrimaryPassConfig.VtxBeamSpot]))
74 if pcf.Detector.GeometryITk:
77 if not pcf.Tracking.PriVertex.useBeamConstraint:
78 return 10.0 * Units.mm
79 elif pcf.Tracking.PrimaryPassConfig
is PrimaryPassConfig.VtxLumiHeavyIon:
80 return 10.0 * Units.mm
84 flags.addFlag(
"maxD0", maxD0)
87 if pcf.Detector.GeometryITk:
88 return 900.0 * Units.MeV
90 if pcf.Tracking.doMinBias
or pcf.Tracking.doLowPt:
91 return 100.0 * Units.MeV
92 elif pcf.Reco.EnableHI
or pcf.Tracking.doLowMu \
93 or pcf.Tracking.PrimaryPassConfig
is PrimaryPassConfig.VtxLumiHeavyIon:
94 return 400.0 * Units.MeV
96 return 500.0 * Units.MeV
98 flags.addFlag(
"minPt", minPt)
101 if pcf.Detector.GeometryITk:
102 return 0.35 * Units.mm
104 if pcf.Tracking.doLowPt:
105 return 0.9 * Units.mm
107 return 5.0 * Units.mm
109 flags.addFlag(
"maxSigmaD0", maxSigmaD0)
111 idflags = {
"maxSigmaZ0SinTheta" : 10.0 * Units.mm,
117 itkflags = {
"maxSigmaZ0SinTheta" : 2.5 * Units.mm,
121 "maxZinterval" : 0.5}
126 flags.addFlag(k,
lambda pcf, a=idflags[k], b=itkflags[k]:
127 a
if pcf.Detector.GeometryID
else b)
129 flags.addFlag(
"gridMainGridSize", 20)
130 flags.addFlag(
"gridTrkGridSize", 10)
131 flags.addFlag(
"gridUseHighestSumZPosition",
False)
132 flags.addFlag(
"gridMaxD0Significance", 3.5)
133 flags.addFlag(
"gridMaxZ0Significance", 12.0)