25 from AthenaConfiguration.AthConfigFlags
import AthConfigFlags
26 flags = AthConfigFlags()
28 flags.addFlag(
"maxAbsEta", 9999.0)
29 flags.addFlag(
"minNTrtHits", 0)
30 flags.addFlag(
"maxNPixelHoles", 1)
31 flags.addFlag(
"maxZ0", 1000.0 * Units.mm)
32 flags.addFlag(
"maxZ0SinTheta", 1000.0 * Units.mm)
33 flags.addFlag(
"minNInnermostLayerHits", 0)
35 flags.addFlag(
"doMaxTracksCut",
lambda pcf:
36 not(pcf.Tracking.PriVertex.useBeamConstraint
or
37 pcf.Tracking.PrimaryPassConfig
is (
38 PrimaryPassConfig.HeavyIon)))
39 flags.addFlag(
"maxTracks", 3000)
40 flags.addFlag(
"maxVertices",
lambda pcf:
41 1
if pcf.Tracking.PrimaryPassConfig
in [
42 PrimaryPassConfig.HeavyIon, PrimaryPassConfig.VtxLumiHeavyIon]
49 return VertexSetup.FastIVF
50 elif pcf.Tracking.PrimaryPassConfig
is PrimaryPassConfig.VtxLumiHeavyIon:
51 return VertexSetup.FastIVF
52 elif (pcf.Tracking.doMinBias
or
53 pcf.Tracking.doLowMu
or
54 pcf.Tracking.PrimaryPassConfig
in [
55 PrimaryPassConfig.VtxLumi,
56 PrimaryPassConfig.VtxBeamSpot,
57 PrimaryPassConfig.HighPileup]):
58 return VertexSetup.IVF
60 return VertexSetup.ActsGaussAMVF
62 flags.addFlag(
"setup", vertexSetup, type=VertexSetup)
65 flags.addFlag(
"sortingSetup", VertexSortingSetup.SumPt2Sorting, type=VertexSortingSetup)
66 flags.addFlag(
"useBeamConstraint",
lambda pcf:
67 not(pcf.Tracking.PrimaryPassConfig
in [
68 PrimaryPassConfig.VtxLumi,
69 PrimaryPassConfig.VtxBeamSpot]))
72 if pcf.Detector.GeometryITk:
75 if not pcf.Tracking.PriVertex.useBeamConstraint:
76 return 10.0 * Units.mm
77 elif pcf.Tracking.PrimaryPassConfig
is PrimaryPassConfig.VtxLumiHeavyIon:
78 return 10.0 * Units.mm
82 flags.addFlag(
"maxD0", maxD0)
85 if pcf.Detector.GeometryITk:
86 return 900.0 * Units.MeV
88 if pcf.Tracking.doMinBias
or pcf.Tracking.doLowPt:
89 return 100.0 * Units.MeV
90 elif pcf.Reco.EnableHI
or pcf.Tracking.doLowMu \
91 or pcf.Tracking.PrimaryPassConfig
is PrimaryPassConfig.VtxLumiHeavyIon:
92 return 400.0 * Units.MeV
94 return 500.0 * Units.MeV
96 flags.addFlag(
"minPt", minPt)
99 if pcf.Detector.GeometryITk:
100 return 0.35 * Units.mm
102 if pcf.Tracking.doLowPt:
103 return 0.9 * Units.mm
105 return 5.0 * Units.mm
107 flags.addFlag(
"maxSigmaD0", maxSigmaD0)
109 idflags = {
"maxSigmaZ0SinTheta" : 10.0 * Units.mm,
115 itkflags = {
"maxSigmaZ0SinTheta" : 2.5 * Units.mm,
119 "maxZinterval" : 0.5}
124 flags.addFlag(k,
lambda pcf, a=idflags[k], b=itkflags[k]:
125 a
if pcf.Detector.GeometryID
else b)
127 flags.addFlag(
"gridMainGridSize", 20)
128 flags.addFlag(
"gridTrkGridSize", 10)
129 flags.addFlag(
"gridUseHighestSumZPosition",
False)
130 flags.addFlag(
"gridMaxD0Significance", 3.5)
131 flags.addFlag(
"gridMaxZ0Significance", 12.0)