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