5from AthenaConfiguration.ComponentFactory
import CompFactory
8from TrigMuonHypo.TrigMuonHypoMonitoring
import (
9 TrigmuCombHypoMonitoring,
10 TrigMuonEFHypoMonitoring,
11 TrigMuonEFIdtpHypoMonitoring,
12 TrigL2MuonOverlapRemoverMonitoringMucomb,
13 TrigMuonEFInvMassHypoMonitoring,
14 TrigMuonEFIdtpInvMassHypoMonitoring,
15 TrigMuonEFTrackIsolationMonitoring
21from AthenaCommon.SystemOfUnits
import GeV
23from AthenaCommon.Logging
import logging
24log = logging.getLogger(
'TrigMuonHypoConfig')
28 '3GeV_v22a' : [ [0,9.9], [ 0.1 ] ],
30 '4GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 3.38, 1.25, 3.17, 3.41] ],
31 '4GeV_barrelOnly_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 3.38, 1000., 1000., 1000.] ],
32 '6GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 5.17, 3.25, 4.69, 5.14] ],
33 '8GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 6.63, 5.17, 6.39, 6.81] ],
34 '10GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 8.28, 6.35, 7.19, 8.58] ],
36 '11GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 8.99, 6.62, 7.40, 9.32] ],
37 '13GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 10.42, 7.16, 7.81, 10.80] ],
38 '14GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 11.15, 7.58, 8.43, 11.61] ],
39 '15GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 11.31, 10.52, 12.00, 13.24] ],
40 '18GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 14.33, 9.45, 10.96, 14.35] ],
41 '20GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 3.10, 3.25, 2.69, 5.14] ],
42 '22GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 3.20, 3.25, 4.90, 5.00] ],
43 '23GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 3.20, 3.25, 4.90, 5.00] ],
44 '24GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 4.80, 3.25, 4.50, 5.10] ],
45 '26GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 3.50, 3.25, 4.45, 4.40] ],
46 '28GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 3.70, 3.25, 4.50, 5.40] ],
47 '30GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 3.00, 4.00, 4.30, 5.55] ],
48 '32GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 3.00, 6.50, 4.20, 6.00] ],
49 '34GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 3.40, 7.20, 4.60, 9.00] ],
50 '35GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 3.30, 5.40, 4.80, 5.00] ],
51 '36GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 4.20, 3.90, 4.30, 5.00] ],
52 '40GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 3.16, 6.20, 5.50, 10.00] ],
53 '45GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 3.20, 9.80, 5.30, 10.70] ],
54 '48GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 4.00, 7.30, 5.50, 9.50] ],
55 '50GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 1.30, 8.10, 4.50, 9.50] ],
56 '60GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 21.13, 21.20, 25.38, 29.54] ],
57 '80GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 21.13, 21.20, 25.38, 29.54] ],
58 '40GeV_uptoEC2_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 21.13, 21.20, 25.38, 1000.] ],
59 '40GeV_barrelOnly_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 21.13, 1000., 1000., 1000.] ],
60 '50GeV_barrelOnly_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 21.13, 1000., 1000., 1000.] ],
61 '60GeV_barrelOnly_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 21.13, 1000., 1000., 1000.] ],
66 '3GeV_v22a' : [ [0,1.05,1.5,2.0,9.9], [ 2.82, 2.76, 2.64, 2.64] ],
68 '2GeV_v15a' : [ [0,9.9], [ 2.000] ],
69 '3GeV_v15a' : [ [0,9.9], [ 3.000] ],
70 '4GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 3.86, 3.77, 3.69, 3.70] ],
71 '5GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 4.9, 4.8, 4.8, 4.8] ],
72 '6GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 5.87, 5.79, 5.70, 5.62] ],
73 '7GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 6.8, 6.7, 6.7, 6.6] ],
74 '8GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 7.80, 7.72, 7.59, 7.46] ],
75 '10GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 9.73, 9.63, 9.45, 9.24] ],
76 '11GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 10.8, 10.4, 10.6, 10.6] ],
77 '12GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 11.7, 11.3, 11.4, 11.5] ],
78 '13GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 12.62, 12.48, 12.24, 11.88] ],
79 '14GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 13.57, 13.44, 13.21, 12.77] ],
80 '15GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 14.50, 14.00, 14.00, 14.50] ],
81 '16GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 15.47, 15.09, 14.98, 15.08] ],
82 '18GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 17.41, 17.27, 16.95, 16.25] ],
83 '20GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 16.50, 19.19, 18.80, 17.00] ],
84 '22GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 18.70, 21.07, 19.13, 18.80] ],
85 '23GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 18.70, 21.07, 19.13, 18.80] ],
86 '24GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 18.10, 21.07, 18.60, 19.35] ],
87 '25GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 24.20, 23.20, 23.20, 22.60] ],
88 '26GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 21.50, 21.07, 20.22, 19.65] ],
89 '27GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 26.20, 25.10, 25.10, 24.40] ],
90 '28GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 18.30, 21.07, 20.77, 20.00] ],
91 '30GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 18.80, 21.00, 21.00, 20.10] ],
92 '32GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 16.50, 22.50, 20.00, 21.50] ],
93 '34GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 18.40, 24.10, 21.45, 23.00] ],
94 '35GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 17.40, 25.90, 23.40, 23.80] ],
95 '36GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 16.90, 25.60, 24.20, 24.00] ],
96 '38GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 35.80, 35.40, 35.40, 33.60] ],
97 '40GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 13.20, 27.90, 27.30, 27.60] ],
98 '40GeV_slow_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 40.00, 40.00, 40.00, 40.00] ],
99 '45GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 17.70, 33.10, 31.60, 33.30] ],
100 '48GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 14.00, 33.80, 34.20, 35.90] ],
101 '50GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 8.30, 33.55, 32.40, 37.70] ],
102 '60GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 45.0, 45.0, 45.0, 45.0] ],
103 '60GeV_slow_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 47.0, 47.0, 47.0, 47.0] ],
104 '70GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 49.0, 49.0, 49.0, 49.0] ],
105 '80GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 56.0, 56.0, 56.0, 56.0] ],
106 '100GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 70.0, 70.0, 70.0, 70.0] ],
108 '5GeV_v16' : [ [0,1.05,1.5,2.0,9.9], [ 4.9, 4.8, 4.8, 4.8] ],
109 '8GeV_v16' : [ [0,1.05,1.5,2.0,9.9], [ 7.8, 7.7, 7.7, 7.7] ],
110 '10GeV_v16' : [ [0,1.05,1.5,2.0,9.9], [ 9.8, 9.5, 9.6, 9.7] ],
111 '15GeV_v16' : [ [0,1.05,1.5,2.0,9.9], [ 14.50, 14.00, 14.00, 14.50] ],
112 '20GeV_v16' : [ [0,1.05,1.5,2.0,9.9], [ 19.31, 19.19, 18.80, 17.95] ],
113 '25GeV_v16' : [ [0,1.05,1.5,2.0,9.9], [ 24.2, 23.2, 23.2, 22.6] ],
114 '30GeV_v16' : [ [0,1.05,1.5,2.0,9.9], [ 29.0, 28.0, 28.0, 27.0] ],
115 '50GeV_v16' : [ [0,1.05,1.5,2.0,9.9], [ 40.0, 40.0, 40.0, 40.0] ],
118trigMuonEFSAThresholds = {
120 '3GeV_v22a' : [ [0,9.9], [ 1.0 ] ],
122 '0GeV' : [ [0,9.9], [ 0.100 ] ],
123 '2GeV' : [ [0,9.9], [ 2.000 ] ],
124 '3GeV' : [ [0,9.9], [ 3.000 ] ],
125 '4GeV' : [ [0,1.05,1.5,2.0,9.9], [ 3.0, 2.5, 2.5, 2.5] ],
126 '4GeV_barrelOnly' : [ [0,1.05,1.5,2.0,9.9], [ 3.0,1000.0,1000.0,1000.0]],
127 '5GeV' : [ [0,1.05,1.5,2.0,9.9], [ 4.6, 3.3, 4.0, 4.5] ],
128 '6GeV' : [ [0,1.05,1.5,2.0,9.9], [ 5.4, 4.5, 4.9, 5.3] ],
129 '7GeV' : [ [0,1.05,1.5,2.0,9.9], [ 6.3, 5.6, 5.6, 6.3] ],
130 '8GeV' : [ [0,1.05,1.5,2.0,9.9], [ 7.2, 6.7, 6.4, 7.3] ],
131 '10GeV' : [ [0,1.05,1.5,2.0,9.9], [ 8.9, 9.0, 8.4, 9.2] ],
132 '11GeV' : [ [0,1.05,1.5,2.0,9.9], [ 9.8, 10.1, 9.3, 10.1] ],
133 '12GeV' : [ [0,1.05,1.5,2.0,9.9], [ 10.6, 11.0, 10.2, 11.0] ],
134 '13GeV' : [ [0,1.05,1.5,2.0,9.9], [ 11.4, 12.0, 11.1, 12.0] ],
135 '14GeV' : [ [0,1.05,1.5,2.0,9.9], [ 12.2, 13.0, 12.1, 13.0] ],
136 '15GeV' : [ [0,1.05,1.5,2.0,9.9], [ 13.0, 14.0, 13.0, 14.0] ],
137 '16GeV' : [ [0,1.05,1.5,2.0,9.9], [ 13.0, 14.0, 13.0, 14.0] ],
138 '18GeV' : [ [0,1.05,1.5,2.0,9.9], [ 15.7, 16.6, 15.4, 16.3] ],
139 '20GeV' : [ [0,1.05,1.5,2.0,9.9], [ 18.20, 16.50, 17.00, 18.00] ],
140 '22GeV' : [ [0,1.05,1.5,2.0,9.9], [ 20.20, 18.00, 17.00, 19.00] ],
141 '23GeV' : [ [0,1.05,1.5,2.0,9.9], [ 21.20, 18.75, 17.80, 19.60] ],
142 '24GeV' : [ [0,1.05,1.5,2.0,9.9], [ 22.20, 19.50, 18.60, 20.20] ],
143 '26GeV' : [ [0,1.05,1.5,2.0,9.9], [ 23.50, 21.00, 20.15, 22.00] ],
144 '28GeV' : [ [0,1.05,1.5,2.0,9.9], [ 23.40, 21.00, 20.55, 22.50] ],
145 '30GeV' : [ [0,1.05,1.5,2.0,9.9], [ 25.20, 22.10, 21.70, 24.40] ],
146 '32GeV' : [ [0,1.05,1.5,2.0,9.9], [ 27.05, 20.50, 22.30, 26.12] ],
147 '34GeV' : [ [0,1.05,1.5,2.0,9.9], [ 28.90, 22.00, 24.00, 27.88] ],
148 '35GeV' : [ [0,1.05,1.5,2.0,9.9], [ 30.00, 20.90, 24.90, 28.85] ],
149 '36GeV' : [ [0,1.05,1.5,2.0,9.9], [ 30.50, 23.77, 26.40, 28.00] ],
150 '40GeV' : [ [0,1.05,1.5,2.0,9.9], [ 33.00, 27.30, 30.50, 32.90] ],
151 '40GeV_barrelOnly' : [ [0,1.05,1.5,2.0,9.9], [ 31.50,1000.0,1000.0,1000.0] ],
152 '40GeV_uptoEC2' : [ [0,1.05,1.5,2.0,9.9], [ 31.50, 30.00, 28.50, 1000.0] ],
153 '45GeV' : [ [0,1.05,1.5,2.0,9.9], [ 41.20, 31.90, 35.10, 37.50] ],
154 '48GeV' : [ [0,1.05,1.5,2.0,9.9], [ 43.00, 34.45, 38.00, 40.30] ],
155 '50GeV' : [ [0,1.05,1.5,2.0,9.9], [ 40.00, 36.30, 40.00, 42.10] ],
156 '50GeV_barrelOnly' : [ [0,1.05,1.5,2.0,9.9], [ 45.0,1000.0,1000.0,1000.0]],
157 '60GeV' : [ [0,1.05,1.5,2.0,9.9], [ 54.0, 54.0, 54.0, 54.0] ],
158 '60GeV_barrelOnly' : [ [0,1.05,1.5,2.0,9.9], [ 54.0,1000.0,1000.0,1000.0]],
159 '70GeV' : [ [0,1.05,1.5,2.0,9.9], [ 63.0, 63.0, 63.0, 63.0] ],
160 '80GeV' : [ [0,1.05,1.5,2.0,9.9], [ 72.0, 72.0, 72.0, 72.0] ],
161 '100GeV' : [ [0,1.05,1.5,2.0,9.9], [ 90.0, 90.0, 90.0, 90.0] ],
164efCombinerThresholds = {
167 '3GeV_v22a' : [ [0,1.05,1.5,2.0,9.9], [ 2.94, 2.91, 2.77, 2.72] ],
169 '2GeV_v15a' : [ [0,9.9], [2.000] ],
170 '3GeV_v15a' : [ [0,9.9], [3.000] ],
171 '4GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 3.94, 3.91, 3.77, 3.72] ],
172 '5GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 4.91, 4.86, 4.84, 4.83] ],
173 '6GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 5.92, 5.86, 5.70, 5.64] ],
174 '7GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 6.85, 6.77, 6.74, 6.74] ],
175 '8GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 7.89, 7.81, 7.60, 7.53] ],
176 '10GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 9.84, 9.77, 9.54, 9.47] ],
177 '11GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 10.74, 10.64, 10.58, 10.53] ],
178 '12GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 11.70, 11.59, 11.53, 11.49] ],
179 '13GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 12.80, 12.67, 12.43, 12.38] ],
180 '14GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 13.75, 13.62, 13.38, 13.36] ],
181 '15GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 14.63, 14.49, 14.42, 14.38] ],
182 '16GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 15.65, 15.50, 15.39, 15.37] ],
183 '18GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 17.68, 17.51, 17.34, 17.34] ],
184 '20GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 19.65, 19.50, 19.20, 19.30] ],
185 '22GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 21.64, 21.32, 21.30, 21.30] ],
186 '23GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 22.59, 22.27, 22.25, 22.27] ],
187 '24GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 23.55, 23.21, 23.20, 23.25] ],
188 '26GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 25.60, 25.15, 25.20, 25.20] ],
189 '27GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 26.26, 26.12, 26.11, 26.02] ],
190 '28GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 27.28, 27.09, 27.15, 27.20] ],
191 '30GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 29.20, 29.00, 29.00, 29.00] ],
192 '32GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 31.20, 30.95, 30.90, 30.84] ],
193 '34GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 33.16, 32.88, 32.80, 32.70] ],
194 '35GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 34.15, 33.82, 33.65, 33.65] ],
195 '36GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 35.23, 34.75, 34.50, 34.60] ],
196 '38GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 36.87, 36.67, 36.55, 36.48] ],
197 '40GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 38.80, 38.56, 38.40, 38.90] ],
198 '45GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 43.75, 43.30, 43.10, 43.90] ],
199 '48GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 46.50, 46.20, 46.00, 46.80] ],
200 '50GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 48.00, 48.20, 48.00, 48.80] ],
201 '60GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 54.00, 54.00, 54.00, 54.00] ],
202 '70GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 63.00, 63.00, 63.00, 63.00] ],
203 '80GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 72.00, 72.00, 72.00, 72.00] ],
204 '100GeV_v15a' : [ [0,1.05,1.5,2.0,9.9], [ 90.00, 90.00, 90.00, 90.00] ],
208muFastThresholdsForECWeakBRegion = {
211 '3GeV_v22a' : [ 0.1, 0.1 ],
213 '4GeV_v15a' : [ 2.72, 1.58],
214 '4GeV_barrelOnly_v15a' : [ 1000., 1000. ],
215 '6GeV_v15a' : [ 3.91, 2.22],
216 '8GeV_v15a' : [ 4.65, 3.26],
217 '10GeV_v15a' : [ 5.96, 4.24],
219 '11GeV_v15a' : [ 6.19, 4.37 ],
220 '13GeV_v15a' : [ 6.65, 4.64 ],
221 '14GeV_v15a' : [ 6.78, 5.03 ],
222 '15GeV_v15a' : [ 7.61, 7.81 ],
223 '18GeV_v15a' : [ 8.48, 7.26 ],
224 '20GeV_v15a' : [ 8.63, 7.26 ],
225 '22GeV_v15a' : [ 9.53, 7.77 ],
226 '23GeV_v15a' : [ 9.53, 7.77 ],
227 '24GeV_v15a' : [ 9.02, 8.31 ],
228 '26GeV_v15a' : [ 9.89, 8.77 ],
229 '28GeV_v15a' : [ 9.89, 8.77 ],
230 '30GeV_v15a' : [ 14.41, 17.43 ],
231 '32GeV_v15a' : [ 14.41, 17.43 ],
232 '34GeV_v15a' : [ 14.41, 17.43 ],
233 '35GeV_v15a' : [ 14.41, 17.43 ],
234 '36GeV_v15a' : [ 10.78, 10.66 ],
235 '40GeV_v15a' : [ 15.07, 18.02 ],
236 '45GeV_v15a' : [ 15.07, 18.02 ],
237 '48GeV_v15a' : [ 15.07, 18.02 ],
238 '50GeV_v15a' : [ 15.07, 18.02 ],
239 '60GeV_v15a' : [ 15.07, 18.02 ],
240 '80GeV_v15a' : [ 15.07, 18.02 ],
241 '40GeV_uptoEC2_v15a' : [ 15.07, 18.02 ],
242 '40GeV_barrelOnly_v15a' : [ 1000., 1000. ],
243 '50GeV_barrelOnly_v15a' : [ 1000., 1000. ],
244 '60GeV_barrelOnly_v15a' : [ 1000., 1000. ],
252trigMuonEFTrkIsoThresholds = {
256 'ivarverytight' : 0.04,
269trigMuonEFInvMassThresholds = {
270 'invmJPsiOS' : [2.5, 4.3],
271 'invmDimu' : [1.5, 14.],
272 'idZmumu' : [50., 130.],
273 'idJpsimumu' : [1., 5.],
277muonHypoMonGroups = [
'muonMon:online']
278idHypoMonGroups = [
'idMon:t0',
'idMon:shifter']
281 cparts = [i
for i
in chainDict[
'chainParts']
if i[
'signature']==
'Muon' or i[
'signature']==
'Bphysics']
282 return sum( [ [part[
'threshold']]*int(part[
'multiplicity'])
for part
in cparts ], [])
286 return CompFactory.TrigMufastHypoAlg(name, **kwargs)
290 chainPart = chainDict[
'chainParts'][0]
292 doOverlapRemoval =
False
293 if chainPart[
'signature'] ==
'Bphysics' or 'l2io' in chainPart[
'l2AlgInfo']:
294 doOverlapRemoval =
False
295 elif int(chainPart[
'multiplicity']) > 1:
296 doOverlapRemoval =
True
297 elif len(chainDict[
'signatures']) > 1
and not chainPart[
'extra']:
298 doOverlapRemoval =
True
300 doMonitoring = monitorAll
or any(group
in muonHypoMonGroups
for group
in chainDict[
'monGroups'])
302 config =
TrigMufastHypoToolConfig(chainDict[
'chainName'], chainPart, chainDict[
'eventBuildType'], doOverlapRemoval, doMonitoring)
303 config.compile(flags)
308 def __init__(self, name, cpart, eventBuildType, doOverlapRemoval = False, doMonitoring = False):
310 from AthenaCommon.Logging
import logging
311 self.
__log = logging.getLogger(
'TrigMufastHypoToolConfig')
320 self.
__useGeV_v15a = any(x
in cpart[
'addInfo']
for x
in [
'idperf',
'idtp',
'3layersEC'])
325 from AthenaConfiguration.ComponentFactory
import CompFactory
326 tool = CompFactory.TrigMufastHypoTool(name)
372 key = threshold +
'GeV_v15a'
374 key = threshold +
'GeV_v22a'
376 key = threshold +
'GeV_barrelOnly_v15a'
378 key = threshold +
'GeV_v15a'
382 self.
tool().ApplyOR =
True
384 self.
tool().RequireDR =
True
385 self.
tool().RequireMass =
True
386 self.
tool().RequireSameSign =
True
388 self.
tool().DRThresBB = 0.05
389 self.
tool().MassThresBB = 0.20
391 self.
tool().DRThresBE = 0.05
392 self.
tool().MassThresBE = 0.20
394 self.
tool().EtaBinsEC = [0.0, 1.9, 2.1, 9.9]
395 self.
tool().DRThresEC = [0.06, 0.05, 0.05]
396 self.
tool().MassThresEC = [0.20, 0.15, 0.10]
399 self.
tool().ApplyOR =
True
401 self.
tool().RequireDR =
True
402 self.
tool().RequireMass =
True
403 self.
tool().RequireSameSign =
True
405 self.
tool().DRThresBB = 0.05
406 self.
tool().MassThresBB = 0.20
408 self.
tool().DRThresBE = 0.05
409 self.
tool().MassThresBE = 0.20
411 self.
tool().EtaBinsEC = [0.0, 1.9, 2.1, 9.9]
412 self.
tool().DRThresEC = [0.06, 0.05, 0.05]
413 self.
tool().MassThresEC = [0.20, 0.15, 0.10]
421 self.
tool().AcceptAll =
True
423 self.
tool().AcceptAll =
False
424 self.
tool().DoCalib =
True
425 self.
tool().PtBins = [ [ 0.0, 2.5 ] ] * nt
428 self.
tool().AcceptAll =
True
429 self.
tool().PtBins = [ [-10000.,10000.] ]
430 self.
tool().PtThresholds = [ [ -1. * GeV ] ]
431 self.
tool().PtThresholdForECWeakBRegionA = [ 3. * GeV ]
432 self.
tool().PtThresholdForECWeakBRegionB = [ 3. * GeV ]
437 self.
log().
debug(
'Set %d thresholds', nt)
438 self.
tool().AcceptAll =
False
439 self.
tool().PtBins = [ [ 0.0, 2.5 ] ] * nt
440 self.
tool().PtThresholds = [ [ 5.49 * GeV ] ] * nt
441 self.
tool().PtThresholdForECWeakBRegionA = [ 3. * GeV ] * nt
442 self.
tool().PtThresholdForECWeakBRegionB = [ 3. * GeV ] * nt
448 values = muFastThresholds[thvaluename]
449 self.
tool().PtBins[th] = values[0]
450 self.
tool().PtThresholds[th] = [ x * GeV
for x
in values[1] ]
451 self.
log().
debug(
'Configration of threshold[%d] %s', th, self.
tool().PtThresholds[th])
452 self.
log().
debug(
'Configration of PtBins[%d] %s', th, self.
tool().PtBins[th])
453 if thvaluename
in muFastThresholdsForECWeakBRegion:
454 spThres = muFastThresholdsForECWeakBRegion[thvaluename]
455 self.
tool().PtThresholdForECWeakBRegionA[th] = spThres[0] * GeV
456 self.
tool().PtThresholdForECWeakBRegionB[th] = spThres[1] * GeV
458 self.
log().
debug(
'No special thresholds for EC weak Bfield regions for %s. Copy EC1 for region A, EC2 for region B.', thvaluename)
459 spThres = values[0][1]
460 if thvaluename ==
'2GeV' or thvaluename ==
'3GeV':
461 self.
tool().PtThresholdForECWeakBRegionA[th] = spThres[0] * GeV
462 self.
tool().PtThresholdForECWeakBRegionB[th] = spThres[0] * GeV
464 self.
tool().PtThresholdForECWeakBRegionA[th] = spThres[1] * GeV
465 self.
tool().PtThresholdForECWeakBRegionB[th] = spThres[2] * GeV
467 self.
log().
debug(
'Thresholds for A[%d]/B[%d] = %d/%d', th, th, self.
tool().PtThresholdForECWeakBRegionA[th], self.
tool().PtThresholdForECWeakBRegionB[th])
470 raise Exception(
'MuFast Hypo Misconfigured: threshold %r not supported' % thvaluename)
479 from TrigMuonHypo.TrigMuonHypoMonitoring
import TrigL2MuonOverlapRemoverMonitoringMufast
480 self.
tool().MonTool = TrigL2MuonOverlapRemoverMonitoringMufast(flags,
'TrigMufastHypoTool/' + self.
toolName())
482 from TrigMuonHypo.TrigMuonHypoMonitoring
import TrigMufastHypoMonitoring
483 self.
tool().MonTool = TrigMufastHypoMonitoring(flags,
'TrigMufastHypoTool/' + self.
toolName())
487 return CompFactory.TrigmuCombHypoAlg(name, **kwargs)
491 if 'idperf' in chainDict[
'chainParts'][0][
'addInfo']
or 'idtp' in chainDict[
'chainParts'][0][
'addInfo'] :
492 thresholds = [
'passthrough']
493 elif chainDict[
'chainParts'][0][
'multiplicity']==
"0":
494 thresholds = [chainDict[
'chainParts'][0][
'threshold']]
504 if 'mucombTag' in chainDict[
'chainParts'][0][
'extra']:
509 if chainDict[
'chainParts'][0][
'signature'] ==
'Bphysics':
512 tool = config.ConfigurationHypoTool( chainDict[
'chainName'], thresholds, tight, acceptAll, domuCombTag )
515 tool.MonTool = TrigmuCombHypoMonitoring(flags,
"TrigmuCombHypoTool/"+chainDict[
'chainName'])
517 if any(group
in muonHypoMonGroups
for group
in chainDict[
'monGroups']):
518 tool.MonTool = TrigmuCombHypoMonitoring(flags,
"TrigmuCombHypoTool/"+chainDict[
'chainName'])
521 if 'd0loose' in chainDict[
'chainParts'][0][
'lrtInfo']:
522 d0cut=trigMuonLrtd0Cut[
'd0loose']
523 elif 'd0medium' in chainDict[
'chainParts'][0][
'lrtInfo']:
524 d0cut=trigMuonLrtd0Cut[
'd0medium']
525 elif 'd0tight' in chainDict[
'chainParts'][0][
'lrtInfo']:
526 d0cut=trigMuonLrtd0Cut[
'd0tight']
534 if 'idperf' in chainDict[
'chainParts'][0][
'addInfo']
or 'idtp' in chainDict[
'chainParts'][0][
'addInfo'] :
535 thresholds = [
'passthrough']
536 elif chainDict[
'chainParts'][0][
'multiplicity']==
"0":
537 thresholds = [chainDict[
'chainParts'][0][
'threshold']]
546 if 'mucombTag' in chainDict[
'chainParts'][0][
'extra']:
551 tool = config.ConfigurationHypoTool( chainDict[
'chainName'], thresholds, tight, acceptAll, domuCombTag )
554 tool.MonTool = TrigL2MuonOverlapRemoverMonitoringMucomb(flags,
"TrigmuCombHypoTool/"+chainDict[
'chainName'])
556 if any(group
in muonHypoMonGroups
for group
in chainDict[
'monGroups']):
557 tool.MonTool = TrigL2MuonOverlapRemoverMonitoringMucomb(flags,
"TrigmuCombHypoTool/"+chainDict[
'chainName'])
561 tool.RequireDR =
True
562 tool.RequireMufastDR =
True
563 tool.RequireMass =
True
564 tool.RequireSameSign =
True
565 tool.EtaBins = [0, 0.9, 1.1, 1.9, 2.1, 9.9]
566 tool.DRThres = [0.002, 0.001, 0.002, 0.002, 0.002]
567 tool.MufastDRThres = [0.4, 0.4, 0.4, 0.4, 0.4]
568 tool.MassThres = [0.004, 0.002, 0.006, 0.006, 0.006]
577 if chainDict[
'chainParts'][0][
'multiplicity']==
"0":
578 thresholds = [chainDict[
'chainParts'][0][
'threshold']]
587 tool=config.ConfigurationHypoTool( chainDict[
'chainName'], thresholds, tight, acceptAll, domuCombTag )
591 tool.RequireDR =
True
592 tool.RequireMufastDR =
False
593 tool.RequireMass =
True
594 tool.RequireSameSign =
True
595 tool.EtaBins = [0, 0.9, 1.1, 1.9, 2.1, 9.9]
596 tool.DRThres = [0.002, 0.001, 0.002, 0.002, 0.002]
597 tool.MufastDRThres = [0]
598 tool.MassThres = [0.004, 0.002, 0.006, 0.006, 0.006]
606 if 'idperf' in chainDict[
'chainParts'][0][
'addInfo']
or 'idtp' in chainDict[
'chainParts'][0][
'addInfo'] :
607 thresholds = [
'passthrough']
608 elif chainDict[
'chainParts'][0][
'multiplicity']==
"0":
609 thresholds = [chainDict[
'chainParts'][0][
'threshold']]
620 tool=config.ConfigurationHypoTool( chainDict[
'chainName'], thresholds, tight, acceptAll, domuCombTag )
624 tool.RequireDR =
True
625 tool.RequireMufastDR =
True
626 tool.RequireMass =
True
627 tool.RequireSameSign =
True
628 tool.EtaBins = [0, 0.9, 1.1, 1.9, 2.1, 9.9]
629 tool.DRThres = [0.002, 0.001, 0.002, 0.002, 0.002]
630 tool.MufastDRThres = [0.4, 0.4, 0.4, 0.4, 0.4]
631 tool.MassThres = [0.004, 0.002, 0.006, 0.006, 0.006]
638 log = logging.getLogger(
'TrigmuCombHypoConfig')
642 tool = CompFactory.TrigmuCombHypoTool( thresholdHLT )
643 tool.AcceptAll = acceptAll
646 log.debug(
'Set %d thresholds', nt)
647 tool.PtBins = [ [ 0.0, 2.5 ] ] * nt
648 tool.PtThresholds = [ [ 5.83 * GeV ] ] * nt
650 for th, thvalue
in enumerate(thresholds):
651 if thvalue ==
'passthrough':
652 tool.AcceptAll =
True
653 tool.PtBins[th] = [-10000.,10000.]
654 tool.PtThresholds[th] = [ -1. * GeV ]
662 thvaluename = thvalue +
'GeV_v16'
664 thvaluename = thvalue +
'GeV_v15a'
667 thvaluename = thvalue +
'GeV_v22a'
668 log.debug(
'Number of threshold = %d, Value of threshold = %s', th, thvaluename)
671 values = muCombThresholds[thvaluename]
672 tool.PtBins[th] = values[0]
673 tool.PtThresholds[th] = [ x * GeV
for x
in values[1] ]
675 tool.ApplyPikCuts =
True
676 tool.MaxPtToApplyPik = 25.
677 tool.MaxChi2IDPik = 3.5
679 raise Exception(
'MuComb Hypo Misconfigured: threshold %r not supported' % thvaluename)
684 return CompFactory.TrigMuonEFHypoAlg(name, **kwargs)
689 if chainDict[
'chainParts'][0][
'multiplicity']==
"0":
690 thresholds = [chainDict[
'chainParts'][0][
'threshold']]
692 kwargs.setdefault(
"RequireSAMuons",
True)
693 if 'msonly' in chainDict[
'chainParts'][0][
'msonlyInfo']
and 'noL1' not in chainDict[
'chainParts'][0][
'extra']:
694 kwargs.setdefault(
"RemoveOverlaps",
True)
698 monTool = TrigMuonEFHypoMonitoring(flags,
"TrigMuonEFMSonlyHypoTool/"+chainDict[
'chainName'])
699 kwargs.setdefault(
"MonTool", monTool)
701 if any(group
in muonHypoMonGroups
for group
in chainDict[
'monGroups']):
702 monTool = TrigMuonEFHypoMonitoring(flags,
"TrigMuonEFMSonlyHypoTool/"+chainDict[
'chainName'])
703 kwargs.setdefault(
"MonTool", monTool)
704 if '3layersEC' in chainDict[
'chainParts'][0][
'addInfo']:
705 kwargs.setdefault(
"RequireThreeStations",
True)
707 if 'nscan10' in chainDict[
'chainParts'][0][
'addInfo']:
710 elif 'nscan20' in chainDict[
'chainParts'][0][
'addInfo']:
713 elif 'nscan30' in chainDict[
'chainParts'][0][
'addInfo']:
716 elif 'nscan40' in chainDict[
'chainParts'][0][
'addInfo']:
719 elif 'nscan' in chainDict[
'chainParts'][0][
'addInfo']:
726 kwargs.setdefault(
"ConeSize", conesize)
727 kwargs.setdefault(
"NarrowScan", narrowscan)
735 chainName = chainDict[
"chainName"]
736 hltChainName = chainName.rsplit(
"_L1",1)[0]
737 cparts = hltChainName.split(
"_")
739 if 'HLT' in hltChainName:
743 thrPart = part.split(
'mu')
744 if not thrPart[0]
or thrPart[0] ==
"0":
750 thr =thr.replace(
'noL1',
'')
751 for i
in range(1,int(mult)+1):
752 thresholds.append(thr)
756 monTool = TrigMuonEFHypoMonitoring(flags,
"TrigMuonEFMSonlyHypoTool/"+chainDict[
'chainName'])
758 if any(group
in muonHypoMonGroups
for group
in chainDict[
'monGroups']):
759 monTool = TrigMuonEFHypoMonitoring(flags,
"TrigMuonEFMSonlyHypoTool/"+chainDict[
'chainName'])
761 if 'nscan10' in chainDict[
'chainParts'][0][
'addInfo']:
764 elif 'nscan20' in chainDict[
'chainParts'][0][
'addInfo']:
767 elif 'nscan30' in chainDict[
'chainParts'][0][
'addInfo']:
770 elif 'nscan40' in chainDict[
'chainParts'][0][
'addInfo']:
773 elif 'nscan' in chainDict[
'chainParts'][0][
'addInfo']:
781 return TrigMuonEFHypoToolCfg( chainDict[
'chainName'], thresholds, doSA=
True, MonTool=monTool, RequireSAMuons=
True, NarrowScan=narrowscan, ConeSize=conesize)
786 log = logging.getLogger(name)
789 log.debug(
'Set %d thresholds', nt)
790 PtBins = [ [ 0.0, 2.5 ] ] * nt
791 PtThresholds = [ [ 5.49 * GeV ] ] * nt
793 for th, thvalue
in enumerate(thresholds):
794 if (thvalue==
'passthrough'):
796 PtBins[th] = [-10000.,10000.]
797 PtThresholds[th] = [ -1. * GeV ]
799 if "0eta105" in name:
800 thvaluename = thvalue+
"GeV_barrelOnly"
803 thvaluename = thvalue +
'GeV_v22a'
806 thvaluename = thvalue +
'GeV'
808 thvaluename = thvalue +
'GeV_v15a'
809 log.debug(
'Number of threshold = %d, Value of threshold = %s', th, thvaluename)
812 values = trigMuonEFSAThresholds[thvaluename]
814 values = efCombinerThresholds[thvaluename]
815 PtBins[th] = values[0]
816 PtThresholds[th] = [ x * GeV
for x
in values[1] ]
819 kwargs.setdefault(
"AcceptAll", passthrough)
820 kwargs.setdefault(
"PtBins", PtBins)
821 kwargs.setdefault(
"PtThresholds", PtThresholds)
822 return CompFactory.TrigMuonEFHypoTool(name, **kwargs)
826 if 'idperf' in chainDict[
'chainParts'][0][
'addInfo']
or 'idtp' in chainDict[
'chainParts'][0][
'addInfo']:
827 thresholds = [
'passthrough']
828 elif chainDict[
'chainParts'][0][
'multiplicity']==
"0":
829 thresholds = [chainDict[
'chainParts'][0][
'threshold']]
833 if 'muonqual' in chainDict[
'chainParts'][0][
'addInfo']:
838 if 'nscan10' in chainDict[
'chainParts'][0][
'addInfo']:
841 elif 'nscan20' in chainDict[
'chainParts'][0][
'addInfo']:
844 elif 'nscan30' in chainDict[
'chainParts'][0][
'addInfo']:
847 elif 'nscan40' in chainDict[
'chainParts'][0][
'addInfo']:
850 elif 'nscan' in chainDict[
'chainParts'][0][
'addInfo']:
857 if 'noL1' not in chainDict[
'chainParts'][0][
'extra']:
864 monTool = TrigMuonEFHypoMonitoring(flags,
"TrigMuonEFCombinerHypoTool/"+chainDict[
'chainName'])
866 if any(group
in muonHypoMonGroups
for group
in chainDict[
'monGroups']):
867 monTool = TrigMuonEFHypoMonitoring(flags,
"TrigMuonEFCombinerHypoTool/"+chainDict[
'chainName'])
870 if 'd0loose' in chainDict[
'chainParts'][0][
'lrtInfo']:
871 d0cut=trigMuonLrtd0Cut[
'd0loose']
872 elif 'd0medium' in chainDict[
'chainParts'][0][
'lrtInfo']:
873 d0cut=trigMuonLrtd0Cut[
'd0medium']
874 elif 'd0tight' in chainDict[
'chainParts'][0][
'lrtInfo']:
875 d0cut=trigMuonLrtd0Cut[
'd0tight']
878 tool =
TrigMuonEFHypoToolCfg(chainDict[
'chainName'], thresholds, doSA=
False, MuonQualityCut=muonquality, MonTool=monTool,
879 NarrowScan=narrowscan, RemoveOverlaps=overlap, ConeSize=conesize, MinimumD0=d0cut)
889 chainName = chainDict[
"chainName"]
890 hltChainName = chainName.rsplit(
"_L1",1)[0]
891 cparts = hltChainName.split(
"_")
892 if 'HLT' in hltChainName:
896 thrPart = part.split(
'mu')
897 if not thrPart[0]
or thrPart[0] ==
"0":
903 thr =thr.replace(
'noL1',
'')
904 for i
in range(1,int(mult)+1):
905 thresholds.append(thr)
906 if 'nscan10' in chainDict[
'chainParts'][0][
'addInfo']:
909 elif 'nscan20' in chainDict[
'chainParts'][0][
'addInfo']:
912 elif 'nscan30' in chainDict[
'chainParts'][0][
'addInfo']:
915 elif 'nscan40' in chainDict[
'chainParts'][0][
'addInfo']:
918 if 'nscan' in chainDict[
'chainParts'][0][
'addInfo']:
925 if 'muonqual' in chainDict[
'chainParts'][0][
'addInfo']:
932 monTool = TrigMuonEFHypoMonitoring(flags,
"TrigMuonEFCombinerHypoTool/"+chainDict[
'chainName'])
934 if any(group
in muonHypoMonGroups
for group
in chainDict[
'monGroups']):
935 monTool = TrigMuonEFHypoMonitoring(flags,
"TrigMuonEFCombinerHypoTool/"+chainDict[
'chainName'])
937 tool =
TrigMuonEFHypoToolCfg(chainDict[
'chainName'], thresholds, doSA=
False, MuonQualityCut=muonquality, MonTool=monTool,
938 NarrowScan=narrowscan, ConeSize=conesize)
945 cparts = [i
for i
in chainDict[
'chainParts']
if i[
'signature']==
'Muon']
946 if 'ivarperf' in chainDict[
'chainParts'][0][
'isoInfo']:
947 thresholds =
'passthrough'
949 thresholds = cparts[0][
'isoInfo']
955 tool.MonTool = TrigMuonEFTrackIsolationMonitoring(flags,
'TrigMuonEFTrackIsolationHypoTool/'+chainDict[
'chainName'])
957 if any(group
in muonHypoMonGroups
for group
in chainDict[
'monGroups']):
958 tool.MonTool = TrigMuonEFTrackIsolationMonitoring(flags,
'TrigMuonEFTrackIsolationHypoTool/'+chainDict[
'chainName'])
965 if(isoCut==
'passthrough') :
966 kwargs.setdefault(
"AcceptAll",
True)
969 ptcone03 = trigMuonEFTrkIsoThresholds[ isoCut ]
971 kwargs.setdefault(
"PtCone02Cut", 0.0)
972 kwargs.setdefault(
"PtCone03Cut", ptcone03)
973 kwargs.setdefault(
"AcceptAll",
False)
976 kwargs.setdefault(
"RequireCombinedMuon",
False)
977 kwargs.setdefault(
"DoAbsCut",
True)
979 kwargs.setdefault(
"RequireCombinedMuon",
True)
980 kwargs.setdefault(
"DoAbsCut",
False)
984 kwargs.setdefault(
"useVarIso",
True)
986 kwargs.setdefault(
"useVarIso",
False)
988 tool = CompFactory.TrigMuonEFTrackIsolationHypoTool(name, **kwargs)
992 return CompFactory.TrigMuonEFTrackIsolationHypoAlg(name, **kwargs)
995 cparts = [i
for i
in chainDict[
'chainParts']
if i[
'signature']==
'Muon']
997 thresholds = cparts[-1][
'invMassInfo']
998 if "os" in cparts[-1][
'addInfo']:
1006 tool.MonTool = TrigMuonEFInvMassHypoMonitoring(flags,
"TrigMuonEFInvMassHypoTool/"+chainDict[
'chainName'])
1008 if any(group
in muonHypoMonGroups
for group
in chainDict[
'monGroups']):
1009 tool.MonTool = TrigMuonEFInvMassHypoMonitoring(flags,
"TrigMuonEFInvMassHypoTool/"+chainDict[
'chainName'])
1015 massWindow = trigMuonEFInvMassThresholds[thresholds]
1017 kwargs.setdefault(
"InvMassLow", massWindow[0])
1018 kwargs.setdefault(
"InvMassHigh", massWindow[1])
1019 kwargs.setdefault(
"AcceptAll",
False)
1021 tool = CompFactory.TrigMuonEFInvMassHypoTool(toolName, **kwargs)
1027 if any(group
in idHypoMonGroups
for group
in chainDict[
'monGroups']):
1028 monTool = TrigMuonEFIdtpHypoMonitoring(flags,
"TrigMuonEFIdtpHypoTool/"+chainDict[
'chainName'])
1035 log = logging.getLogger(name)
1037 nt = len(thresholds)
1038 log.debug(
'Set %d thresholds', nt)
1039 ptBins = [ [ 0, 2.5 ] ] * nt
1040 ptThresholds = [ [ 5.49 * GeV ] ] * nt
1041 for th, thvalue
in enumerate(thresholds):
1042 thvaluename = thvalue +
'GeV'
1044 thvaluename = thvalue +
'GeV_v22a'
1045 log.debug(
'Number of threshold = %d, Value of threshold = %s', th, thvaluename)
1046 if (thvalue==
'passthrough'):
1047 ptBins[th] = [-10000.,10000.]
1048 ptThresholds[th] = [ -1. * GeV ]
1050 values = trigMuonEFSAThresholds[thvaluename]
1051 ptBins[th] = values[0]
1052 ptThresholds[th] = [ x * GeV
for x
in values[1] ]
1055 if (thvalue==
'passthrough'):
1056 kwargs.setdefault(
"AcceptAll",
True)
1058 kwargs.setdefault(
"AcceptAll",
False)
1060 kwargs.setdefault(
"PtBins", ptBins)
1061 kwargs.setdefault(
"PtThresholds", ptThresholds)
1064 return CompFactory.TrigMuonEFIdtpHypoTool( name, **kwargs )
1067 cname = chainDict[
'chainName']
1068 if 'idZmumu' in cname :
1069 thresholds =
'idZmumu'
1070 elif 'idJpsimumu' in cname :
1071 thresholds =
'idJpsimumu'
1073 log.warning(
"unknown chain name for IdtpInvmassHypo, chain name= %s, setting threshold of Z mass",cname)
1074 thresholds =
'idZmumu'
1078 if any(group
in idHypoMonGroups
for group
in chainDict[
'monGroups']):
1079 tool.MonTool = TrigMuonEFIdtpInvMassHypoMonitoring(flags,
"TrigMuonEFIdtpInvMassHypoTool/"+chainDict[
'chainName'])
1085 massWindow = trigMuonEFInvMassThresholds[thresholds]
1086 kwargs.setdefault(
"InvMassLow", massWindow[0])
1087 kwargs.setdefault(
"InvMassHigh", massWindow[1])
1088 kwargs.setdefault(
"AcceptAll",
False)
1090 return CompFactory.TrigMuonEFIdtpInvMassHypoTool(name, **kwargs)
1094 return CompFactory.TrigMuonEFIdtpHypoAlg(name, **kwargs)
1097 return CompFactory.TrigMuonLateMuRoIHypoAlg(name, **kwargs)
1105 tool = CompFactory.TrigMuonLateMuRoIHypoTool(name, AcceptAll=
False)
ConfigurationHypoTool(self, thresholdHLT, thresholds, tight, acceptAll, domuCombTag)
TrigMuonEFTrackIsolationHypoAlgCfg(flags, name="TrigMuonEFTrackIsolationHypoAlg", **kwargs)
TrigMuonEFInvMassHypoCfg(flags, toolName, thresholds, **kwargs)
TrigmuCombHypoAlgCfg(flags, name="UNSPECIFIED", **kwargs)
TrigMuonEFIdtpHypoAlgCfg(flags, name="TrigMuonEFIdtpHypoAlg", **kwargs)
TrigMuonEFIdtpInvMassHypoCfg(name, thresholds, **kwargs)
TrigMuonLateMuRoIHypoCfg(flags, name="TrigMuRoIHypoTool")
TrigmuCombHypoToolFromDict(flags, chainDict)
TrigMuonEFIdtpHypoToolFromDict(flags, chainDict)
TrigMuonEFInvMassHypoToolFromDict(flags, chainDict)
TrigMuonEFIdtpHypoCfg(name, thresholds, **kwargs)
TrigMuonEFIdtpInvMassHypoToolFromDict(flags, chainDict)
TrigMuonEFHypoAlgCfg(flags, name="UNSPECIFIED", **kwargs)
TrigmuCombHypoToolwORFromDict(flags, chainDict)
TrigMuonEFMSonlyHypoToolFromName(flags, chainDict)
TrigMuonLateMuRoIHypoToolFromDict(flags, chainDict)
TrigMuonLateMuRoIHypoAlgCfg(flags, name="TrigMuRoIHypoAlg", **kwargs)
getThresholdsFromDict(chainDict)
Trigl2IOHypoToolwORFromDict(flags, chainDict)
TrigMuonEFMSonlyHypoToolFromDict(flags, chainDict)
TrigMufastHypoToolFromDict(flags, chainDict)
Trigl2mtCBHypoToolwORFromDict(flags, chainDict)
TrigMuonEFHypoToolCfg(name, thresholds, doSA=False, **kwargs)
TrigMufastHypoAlgCfg(flags, name="UNSPECIFIED", **kwargs)
TrigMuonEFCombinerHypoToolFromDict(flags, chainDict)
TrigMuonEFTrackIsolationHypoCfg(flags, name, isoCut, **kwargs)
TrigMuonEFCombinerHypoToolFromName(flags, chainDict)
TrigMuonEFTrackIsolationHypoToolFromDict(flags, chainDict)