ATLAS Offline Software
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
3 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
4 from AthenaConfiguration.ComponentFactory import CompFactory
5 import AthenaCommon.SystemOfUnits as Units
6 
8  flags, name = 'ITkEtaDependentCutsSvc', **kwargs):
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 
39 def 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 
73 def 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
SystemOfUnits
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
python.InDetEtaDependentCutsConfig.ITkEtaDependentCutsSvcCfg
def ITkEtaDependentCutsSvcCfg(flags, name='ITkEtaDependentCutsSvc', **kwargs)
Definition: InDetEtaDependentCutsConfig.py:7
python.InDetEtaDependentCutsConfig.IDEtaDependentCuts_SV1_SvcCfg
def IDEtaDependentCuts_SV1_SvcCfg(flags, name="IDEtaDepCutsSvc_SV1", **kwargs)
Definition: InDetEtaDependentCutsConfig.py:73
python.InDetEtaDependentCutsConfig.IDEtaDependentCuts_IPXD_SvcCfg
def IDEtaDependentCuts_IPXD_SvcCfg(flags, name="IDEtaDepCutsSvc_IPXD", **kwargs)
Definition: InDetEtaDependentCutsConfig.py:39