ATLAS Offline Software
Loading...
Searching...
No Matches
InDetEtaDependentCutsConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
2# Configuration of InDetEtaDependentCuts package
3from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
4from AthenaConfiguration.ComponentFactory import CompFactory
5import AthenaCommon.SystemOfUnits as Units
6
8 flags, name = 'ITkEtaDependentCutsSvc', **kwargs):
9 acc = ComponentAccumulator()
10
11 cuts = flags.Tracking.ActiveConfig
12
13 kwargs.setdefault("etaBins", cuts.etaBins)
14 kwargs.setdefault("maxdImpactSSSSeeds", cuts.maxdImpactSSSSeeds)
15 kwargs.setdefault("maxDoubleHoles", cuts.maxDoubleHoles)
16 kwargs.setdefault("maxHoles", cuts.maxHoles)
17 kwargs.setdefault("maxPixelHoles", cuts.maxPixelHoles)
18 kwargs.setdefault("maxPrimaryImpact", cuts.maxPrimaryImpact)
19 kwargs.setdefault("maxSctHoles", cuts.maxSctHoles)
20 kwargs.setdefault("maxShared", cuts.maxShared)
21 kwargs.setdefault("maxZImpact", cuts.maxZImpact)
22 kwargs.setdefault("minClusters", cuts.minClusters)
23 kwargs.setdefault("minPixelHits", cuts.minPixel)
24 kwargs.setdefault("minPT", cuts.minPT)
25 kwargs.setdefault("minPTBrem", cuts.minPTBrem)
26 kwargs.setdefault("minSiNotShared", cuts.minSiNotShared)
27 kwargs.setdefault("maxHolesGapPattern", cuts.nHolesGapMax)
28 kwargs.setdefault("maxHolesPattern", cuts.nHolesMax)
29 kwargs.setdefault("nWeightedClustersMin", cuts.nWeightedClustersMin)
30 kwargs.setdefault("phiWidthBrem", [flags.Tracking.phiWidthBrem])
31 kwargs.setdefault("etaWidthBrem", [flags.Tracking.etaWidthBrem])
32 kwargs.setdefault("Xi2max", cuts.Xi2max)
33 kwargs.setdefault("Xi2maxNoAdd", cuts.Xi2maxNoAdd)
34
35 acc.addService(CompFactory.InDet.InDetEtaDependentCutsSvc(
36 name=name + flags.Tracking.ActiveConfig.extension, **kwargs))
37 return acc
38
39def IDEtaDependentCuts_IPXD_SvcCfg(flags, name="IDEtaDepCutsSvc_IPXD", **kwargs):
40 acc = ComponentAccumulator()
41
42 InDetEtaDependentCutsSvc = CompFactory.InDet.InDetEtaDependentCutsSvc( name, **kwargs )
43
44 InDetEtaDependentCutsSvc.etaBins = [-1.0, 9999.]
45 InDetEtaDependentCutsSvc.minPT = [1.0 * Units.GeV]
46 InDetEtaDependentCutsSvc.maxPrimaryImpact = [1.0 * Units.mm]
47 InDetEtaDependentCutsSvc.maxZImpact = [1.5 * Units.mm]
48 InDetEtaDependentCutsSvc.minPixelHits = [1]
49 InDetEtaDependentCutsSvc.minClusters = [7]
50 #Unused
51 InDetEtaDependentCutsSvc.etaWidthBrem = [-1]
52 InDetEtaDependentCutsSvc.phiWidthBrem = [-1]
53 InDetEtaDependentCutsSvc.maxdImpactSSSSeeds = [-1]
54 InDetEtaDependentCutsSvc.maxDoubleHoles = [-1]
55 InDetEtaDependentCutsSvc.maxHoles = [-1]
56 InDetEtaDependentCutsSvc.maxSctHoles = [-1]
57 InDetEtaDependentCutsSvc.maxShared = [-1]
58 InDetEtaDependentCutsSvc.minInnermostPixelHits = [-1]
59 InDetEtaDependentCutsSvc.minStripHits = [-1]
60 InDetEtaDependentCutsSvc.minPTBrem = [-1]
61 InDetEtaDependentCutsSvc.minSiNotShared = [-1]
62 InDetEtaDependentCutsSvc.maxHolesGapPattern = [-1]
63 InDetEtaDependentCutsSvc.maxHolesPattern = [-1]
64 InDetEtaDependentCutsSvc.maxPixelHoles = [-1]
65 InDetEtaDependentCutsSvc.nWeightedClustersMin = [-1]
66 InDetEtaDependentCutsSvc.Xi2max = [-1]
67 InDetEtaDependentCutsSvc.Xi2maxNoAdd = [-1]
68
69 acc.addService(InDetEtaDependentCutsSvc)
70 return acc
71
72
73def IDEtaDependentCuts_SV1_SvcCfg(flags, name="IDEtaDepCutsSvc_SV1", **kwargs):
74 acc = ComponentAccumulator()
75
76 InDetEtaDependentCutsSvc = CompFactory.InDet.InDetEtaDependentCutsSvc( name, **kwargs )
77
78 InDetEtaDependentCutsSvc.etaBins = [-1.0, 1.65, 2.0, 9999.]
79 InDetEtaDependentCutsSvc.minPT = [0.7 * Units.GeV]
80 InDetEtaDependentCutsSvc.maxPrimaryImpact = [5.0 * Units.mm]
81 InDetEtaDependentCutsSvc.maxZImpact = [3.0 * Units.mm]
82 InDetEtaDependentCutsSvc.minPixelHits = [1, 1, 2]
83 InDetEtaDependentCutsSvc.minClusters = [7]
84 InDetEtaDependentCutsSvc.maxShared = [1000]
85 InDetEtaDependentCutsSvc.Xi2max = [3.0]
86 #Unused
87 InDetEtaDependentCutsSvc.etaWidthBrem = [-1]
88 InDetEtaDependentCutsSvc.phiWidthBrem = [-1]
89 InDetEtaDependentCutsSvc.maxdImpactSSSSeeds = [-1]
90 InDetEtaDependentCutsSvc.maxDoubleHoles = [-1]
91 InDetEtaDependentCutsSvc.maxHoles = [-1]
92 InDetEtaDependentCutsSvc.maxPixelHoles = [-1]
93 InDetEtaDependentCutsSvc.maxSctHoles = [-1]
94 InDetEtaDependentCutsSvc.minStripHits = [-1]
95 InDetEtaDependentCutsSvc.minInnermostPixelHits = [-1]
96 InDetEtaDependentCutsSvc.minPTBrem = [-1]
97 InDetEtaDependentCutsSvc.minSiNotShared = [-1]
98 InDetEtaDependentCutsSvc.maxHolesGapPattern = [-1]
99 InDetEtaDependentCutsSvc.maxHolesPattern = [-1]
100 InDetEtaDependentCutsSvc.nWeightedClustersMin = [-1]
101 InDetEtaDependentCutsSvc.Xi2maxNoAdd = [-1]
102
103 acc.addService(InDetEtaDependentCutsSvc)
104 return acc
IDEtaDependentCuts_IPXD_SvcCfg(flags, name="IDEtaDepCutsSvc_IPXD", **kwargs)
IDEtaDependentCuts_SV1_SvcCfg(flags, name="IDEtaDepCutsSvc_SV1", **kwargs)
ITkEtaDependentCutsSvcCfg(flags, name='ITkEtaDependentCutsSvc', **kwargs)