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.0,
16 3:2.7,
17 5:3.5,
18 6:4.5,
19 7:5.5,
20 9:7,
21 10:8,
22 12:10,
23 15:13,
24 18:16,
25 20:18,
26 22:20,
27 24:22,
28 26:25,
29 28:27,
30 40:39,
31 50:50
32 },
33 'jEM': {
34 20:14,
35 25:20,
36 35:30, # prospective Run 4 L1 item, ATR-30180
37 },
38 'eTAU': {
39 # in pp menu (doHeavyIonTobThresholds=False) ptMinToTopo value is assigined to eTAU1 and eTAU2
40 1:0.7,
41 2:2.0,
42 12:7.7,
43 20:10.1,
44 28:20, # prospective Run 4 L1 item, ATDAQPPES-19
45 30:17.7,
46 35:23.2,
47 40:29,
48 50:35,
49 55:37.5,
50 60:40,
51 70:50,
52 80:60,
53 120:90, # prospective Run 4 L1 item, ATDAQPPES-19
54 140:100,
55 },
56 'jTAU': {
57 # in pp menu (doHeavyIonTobThresholds=False) ptMinToTopo value is assigined to jTAU1
58 1:1.4,
59 20:10.1,
60 30:17.7,
61 },
62 'cTAU': {
63 12:7.7,
64 20:10.1,
65 30:17.7,
66 35:23.2,
67 50:35,
68 55:37.5,
69 },
70 'jJ': {
71 5:5,
72 10:10,
73 15:15,
74 20:21,
75 30:26,
76 40:27,
77 50:31,
78 55:41,
79 60:60,
80 70:62, # prospective Run 4 L1 item, ATDAQPPES-19
81 80:65,
82 90:81,
83 125:121,
84 140:137,
85 160:158,
86 180:195,
87 # Must be 400 to ensure threshold can be passed
88 500:400,
89 },
90 'CjJ': { # 0ETA2[1,3,5]
91 20:15,
92 30:22,
93 40:25,
94 50:33,
95 55:39,
96 56:40, # prospective Run 4 L1 item, ATR-30180
97 60:56,
98 70:54,
99 80:64,
100 85:70,
101 90:84,
102 100:98,
103 },
104 'SCjJ': { # 0ETA2[1,3,5], mostly a copy of CjJ but decoupled to allow for independent configuration of L1Topo's SimpleCone algorithm
105 10:15,
106 20:21,
107 30:22,
108 40:25,
109 50:33,
110 55:39,
111 60:56,
112 70:54,
113 80:64,
114 85:70,
115 90:84,
116 100:98,
117 },
118 'FjJ': { # 30ETA49
119 5:5,
120 10:10,
121 15:15,
122 20:20,
123 40:26,
124 50:32,
125 60:49,
126 90:83,
127 125:134,
128 },
129 'gJ':
130 {
131 20:20,
132 30:30,
133 40:40,
134 50:50,
135 100:100,
136 160:160,
137 400:400,
138 },
139 'gLJ':
140 {
141 80:50,
142 90:60, # prospective Run 4 L1 item, ATR-30180
143 100:70,
144 140:110,
145 160:130,
146 },
147 'jXE':
148 {
149 60:30,
150 70:34,
151 80:38,
152 90:45,
153 100:48,
154 110:52,
155 120:60,
156 500:300,
157 },
158 'gXENC':
159 {
160 70:30,
161 80:40,
162 100:50,
163 110:55,
164 },
165# 'gXERHO':
166# {
167# 70:30,
168# 80:40,
169# 100:50,
170# },
171 'gXEJWOJ':
172 {
173 60:30,
174 70:35, #ATR-28679: switched from 70:30, to 70:35 for adding 60:30
175 80:40,
176 100:50,
177 110:55,
178 120:60,
179 500:300,
180 },
181 'cXE':
182 {
183 100:50,
184 110:55,
185 },
186}
187
188def get_threshold_cut(threshold_type,threshold_val):
189 # To support more generality in topo alg configs
190 if threshold_val == 0:
191 return 0
192 # For jJ thresholds, there are different maps for:
193 # - jJ: 0-3.2 in eta
194 # - CjJ: 0-2.X (X=1,3,5) in eta
195 # - FjJ: 3.0-4.9 in eta
196 # - AjJ: 0-4.9 in eta uses the default range (L1Topo triggers)
197 _threshold_type = threshold_type
198 if threshold_type == 'AjJ':
199 _threshold_type = 'jJ'
200 return threshold_mapping[_threshold_type][threshold_val]