ATLAS Offline Software
Loading...
Searching...
No Matches
L1CaloThresholdMapping.py
Go to the documentation of this file.
1# Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
2#
3# This module defines mapping rules from nominal Phase-I L1Calo thresholds
4# (target 50% efficiency point) to the actual cut that will be applied
5# to the TOB ET. This allows tuning of the thresholds transparently via
6# changes to the L1 menu, without adjusting the names of chains.
7#
8# The threshold mapping should be used for both multiplicity threshold
9# definitions and for the threshold cuts on TOBs in topo algorithms.
10
11threshold_mapping = {
12 'eEM': { # TODO: Update when eFEX EM calibrations are applied
13 # in pp menu (doHeavyIonTobThresholds=False) ptMinToTopo value is assigined to eEM1 and eEM2
14 1:1.4,
15 2:2.7,
16 5:3.5,
17 6:4.5,
18 7:5.5,
19 9:7,
20 10:8,
21 12:10,
22 15:13,
23 18:16,
24 20:18,
25 22:20,
26 24:22,
27 26:25,
28 28:27,
29 40:39,
30 50:50
31 },
32 'jEM': {
33 20:14,
34 25:20,
35 35:30, # prospective Run 4 L1 item, ATR-30180
36 },
37 'eTAU': {
38 # in pp menu (doHeavyIonTobThresholds=False) ptMinToTopo value is assigined to eTAU1 and eTAU2
39 1:0.7,
40 2:2.7,
41 12:7.7,
42 20:10.1,
43 28:20, # prospective Run 4 L1 item, ATDAQPPES-19
44 30:17.7,
45 35:23.2,
46 40:29,
47 50:35,
48 55:37.5,
49 60:40,
50 70:50,
51 80:60,
52 120:90, # prospective Run 4 L1 item, ATDAQPPES-19
53 140:100,
54 },
55 'jTAU': {
56 # in pp menu (doHeavyIonTobThresholds=False) ptMinToTopo value is assigined to jTAU1
57 1:1.4,
58 20:10.1,
59 30:17.7,
60 },
61 'cTAU': {
62 12:7.7,
63 20:10.1,
64 30:17.7,
65 35:23.2,
66 50:35,
67 55:37.5,
68 },
69 'jJ': {
70 5:5,
71 10:10,
72 15:15,
73 20:21,
74 30:26,
75 40:27,
76 50:31,
77 55:41,
78 60:60,
79 70:62, # prospective Run 4 L1 item, ATDAQPPES-19
80 80:65,
81 90:81,
82 125:121,
83 140:137,
84 160:158,
85 180:195,
86 # Must be 400 to ensure threshold can be passed
87 500:400,
88 },
89 'CjJ': { # 0ETA2[1,3,5]
90 20:15,
91 30:22,
92 40:25,
93 50:33,
94 55:39,
95 56:40, # prospective Run 4 L1 item, ATR-30180
96 60:56,
97 70:54,
98 80:64,
99 85:70,
100 90:84,
101 100:98,
102 },
103 'SCjJ': { # 0ETA2[1,3,5], mostly a copy of CjJ but decoupled to allow for independent configuration of L1Topo's SimpleCone algorithm
104 10:15,
105 20:21,
106 30:22,
107 40:25,
108 50:33,
109 55:39,
110 60:56,
111 70:54,
112 80:64,
113 85:70,
114 90:84,
115 100:98,
116 },
117 'FjJ': { # 30ETA49
118 5:5,
119 10:10,
120 15:15,
121 20:20,
122 40:26,
123 50:32,
124 60:49,
125 90:83,
126 125:134,
127 },
128 'gJ':
129 {
130 20:20,
131 30:30,
132 40:40,
133 50:50,
134 100:100,
135 160:160,
136 400:400,
137 },
138 'gLJ':
139 {
140 80:50,
141 90:60, # prospective Run 4 L1 item, ATR-30180
142 100:70,
143 140:110,
144 160:130,
145 },
146 'jXE':
147 {
148 60:30,
149 70:34,
150 80:38,
151 90:45,
152 100:48,
153 110:52,
154 120:60,
155 500:300,
156 },
157 'gXENC':
158 {
159 70:30,
160 80:40,
161 100:50,
162 },
163# 'gXERHO':
164# {
165# 70:30,
166# 80:40,
167# 100:50,
168# },
169 'gXEJWOJ':
170 {
171 60:30,
172 70:35, #ATR-28679: switched from 70:30, to 70:35 for adding 60:30
173 80:40,
174 100:50,
175 110:55,
176 120:60,
177 500:300,
178 },
179}
180
181def get_threshold_cut(threshold_type,threshold_val):
182 # To support more generality in topo alg configs
183 if threshold_val == 0:
184 return 0
185 # For jJ thresholds, there are different maps for:
186 # - jJ: 0-3.2 in eta
187 # - CjJ: 0-2.X (X=1,3,5) in eta
188 # - FjJ: 3.0-4.9 in eta
189 # - AjJ: 0-4.9 in eta uses the default range (L1Topo triggers)
190 _threshold_type = threshold_type
191 if threshold_type == 'AjJ':
192 _threshold_type = 'jJ'
193 return threshold_mapping[_threshold_type][threshold_val]