CMS 3D CMS Logo

DeepTauScaling.h
Go to the documentation of this file.
1 #ifndef RecoTauTag_RecoTau_DeepTauScaling_h
2 #define RecoTauTag_RecoTau_DeepTauScaling_h
3 
4 #include <vector>
5 #include <map>
6 #include <cmath>
7 #include <limits>
8 #include <algorithm>
9 
10 namespace deep_tau {
11  namespace Scaling {
13  enum class FeatureT {
14  TauFlat,
15  GridGlobal,
21  Electron,
22  Muon
23  };
24 
25  struct ScalingParams {
26  std::vector<float> mean_;
27  std::vector<float> std_;
28  std::vector<float> lim_min_;
29  std::vector<float> lim_max_;
30 
31  template <typename T>
32  float scale(T value, int var_index) const {
33  if (std::isfinite(value)) {
34  const float mean = mean_.at(var_index);
35  const float std = std_.at(var_index);
36  const float lim_min = lim_min_.at(var_index);
37  const float lim_max = lim_max_.at(var_index);
38  const float norm_value = (static_cast<float>(value) - mean) / std;
39  return std::clamp(norm_value, lim_min, lim_max);
40  } else
41  return 0.f;
42  };
43  };
44 
45  const std::map<std::pair<FeatureT, bool>, ScalingParams> scalingParamsMap_v2p1 = {
46  {std::make_pair(FeatureT::TauFlat, false),
47  {
48  // mean_
49  {21.49, 20.0, 0.0, 0., 0.6669, 1., 0, 1, 0, 47.78, 0, 9.029,
50  57.59, 0, 0, 0, 1.731, 22.38, -0.0241, 0.0675, 0.7973, 0, 0.0018, 2.26,
51  0, 0.0026, 2.928, 0., 0, 4.717, -0.0003, -0.0009, -0.0022, 0., 0., 0.,
52  0.0052, 0., 1.538, 0, 0., 0, 0., 2.95, 0.0, 0, 0.0042},
53 
54  // std_
55  {9.713,
56  980.0,
57  2.3,
58  3.141592653589793,
59  0.6553,
60  4.2,
61  1,
62  2,
63  2,
64  123.5,
65  1,
66  26.42,
67  155.3,
68  1,
69  1,
70  1,
71  6.846,
72  16.34,
73  0.0074,
74  0.0128,
75  3.456,
76  1,
77  0.0085,
78  4.191,
79  1,
80  0.0114,
81  4.466,
82  0.0190,
83  1,
84  11.78,
85  0.7362,
86  0.7354,
87  1.993,
88  1,
89  1.,
90  1,
91  0.01433,
92  1.,
93  4.401,
94  1,
95  1,
96  1,
97  3.141592653589793,
98  3.927,
99  1.,
100  1.0,
101  0.0323},
102 
103  // lim_min_
104  {-5, 0., -1.0, -1., -5, 0, -inf, 0, 0, -5, -inf, -5, -5, -inf, -inf, -inf,
105  -5, -5, -5, -5, -5, -inf, -5, -5, -inf, -5, -5, -5, -inf, -5, -5, -5,
106  -5, -inf, 0, 0, -5, 0, -5, -inf, 0, -inf, 0, -5, -1.0, -inf, -5},
107 
108  // lim_max_
109  {5, 1., 1.0, 1., 5, 1, inf, 1, 1, 5, inf, 5, 5, inf, inf, inf, 5, 5, 5, 5, 5, inf, 5, 5,
110  inf, 5, 5, 5, inf, 5, 5, 5, 5, inf, 1, 1, 5, 1, 5, inf, 1, inf, 1, 5, 1.0, inf, 5},
111  }}, // end TauFlat
112 
113  {std::make_pair(FeatureT::GridGlobal, false),
114  {
115  // mean_
116  {21.49, 20.0, 0.0, 0},
117  // std_
118  {9.713, 980.0, 2.3, 1},
119  // lim_min_
120  {-5, 0., -1.0, -inf},
121  // lim_max_
122  {5., 1., 1.0, inf},
123  }}, // end GridGlobal
124 
125  {std::make_pair(FeatureT::PfCand_electron, false),
126  {// mean_
127  {0, 0.304, 0.0, 0.0, 0, 0, 0, 0, 0, 0, 0, 0.001, 0, 0.0003, 0, 0, 0., 1.634, 0.001, 24.56, 2.272, 15.18},
128 
129  // std_
130  {1, 1.845, 0.5, 0.5, 7., 1, 1, 1, 10.0, 0.1221, 0.1226,
131  1.024, 0.3411, 0.3385, 1.307, 1, 0.171, 6.45, 1.02, 210.4, 8.439, 3.203},
132 
133  // lim_min_
134  {-inf, -5, -1.0, -1.0, 0., -inf, -inf, -inf, 0., -5, -5, -5, -5, -5, -5, -inf, -5, -5, -5, -5, -5, -5},
135 
136  // lim_max_
137  {inf, 5, 1.0, 1.0, 1., inf, inf, inf, 1., 5, 5,
138  5, 5, 5, 5, inf, 5, 5, 5, 5, 5, 5}}}, // end PfCand_electron, is_innner=false
139 
140  {std::make_pair(FeatureT::PfCand_electron, true),
141  {// mean_
142  {0, 0.9792, 0.0, 0.0, 0, 0, 0, 0, 0, 0, 0, 0.001, 0, 0.0003, 0, 0, 0., 1.634, 0.001, 24.56, 2.272, 15.18},
143 
144  // std_
145  {1, 0.5383, 0.1, 0.1, 7., 1, 1, 1, 10.0, 0.1221, 0.1226,
146  1.024, 0.3411, 0.3385, 1.307, 1, 0.171, 6.45, 1.02, 210.4, 8.439, 3.203},
147 
148  // lim_min_
149  {-inf, -5, -1.0, -1.0, 0., -inf, -inf, -inf, 0., -5, -5, -5, -5, -5, -5, -inf, -5, -5, -5, -5, -5, -5},
150 
151  // lim_max_
152  {inf, 5, 1.0, 1.0, 1., inf, inf, inf, 1., 5, 5,
153  5, 5, 5, 5, inf, 5, 5, 5, 5, 5, 5}}}, // end PfCand_electron, is_innner=true
154 
155  {std::make_pair(FeatureT::PfCand_gamma, false),
156  {
157  // mean
158  {0, 0.02576, 0.0, 0.0, 0, 0, 0, 0, 0, 0., 0., 0.,
159  0., 0.001, 0.0008, 0.0038, 0, 0.0004, 4.271, 0.0071, 162.1, 4.268, 12.25},
160 
161  // std
162  {1, 0.3833, 0.5, 0.5, 7., 3., 1, 1, 1, 7., 0.0067, 0.0069,
163  0.0578, 0.9565, 0.9592, 2.154, 1, 0.882, 63.78, 5.285, 622.4, 15.47, 4.774},
164 
165  // lim_min
166  {-inf, -5, -1.0, -1.0, 0., 0., -inf, -inf, -inf, 0., -5, -5, -5, -5, -5, -5, -inf, -5, -5, -5, -5, -5, -5},
167 
168  // lim_max
169  {inf, 5, 1.0, 1.0, 1., 1., inf, inf, inf, 1., 5, 5, 5, 5, 5, 5, inf, 5, 5, 5, 5, 5, 5},
170 
171  }}, // end PfCand_gamma, is_innner=false
172 
173  {std::make_pair(FeatureT::PfCand_gamma, true),
174  {
175  // mean
176  {0, 0.6048, 0.0, 0.0, 0, 0, 0, 0, 0, 0., 0., 0.,
177  0., 0.001, 0.0008, 0.0038, 0, 0.0004, 4.271, 0.0071, 162.1, 4.268, 12.25},
178 
179  // std
180  {1, 1.669, 0.1, 0.1, 7., 3., 1, 1, 1, 7., 0.0067, 0.0069,
181  0.0578, 0.9565, 0.9592, 2.154, 1, 0.882, 63.78, 5.285, 622.4, 15.47, 4.774},
182 
183  // lim_min
184  {-inf, -5, -1.0, -1.0, 0., 0., -inf, -inf, -inf, 0., -5, -5, -5, -5, -5, -5, -inf, -5, -5, -5, -5, -5, -5},
185 
186  // lim_max
187  {inf, 5, 1.0, 1.0, 1., 1., inf, inf, inf, 1., 5, 5, 5, 5, 5, 5, inf, 5, 5, 5, 5, 5, 5},
188 
189  }}, // end PfCand_gamma, is_innner=true
190 
191  {std::make_pair(FeatureT::Electron, false),
192  {
193  // mean
194  {0, 0.5111, 0.0, 0.0, 0, 1.729, 0.1439, 1.794, 1.531, 1.531, 0.7735, 0.7735, 1.625,
195  1.993, 70.25, 2.432, 2.034, 6.64, 4.183, 0., -0.0001, -0.0001, 0.0002, 0.0001, 0.0004, 0,
196  0, 0.0008, 14.04, 0.0099, 3.049, 16.52, 1.355, 5.046, 0, 2.411, 15.16},
197 
198  // std
199  {1, 2.765, 0.5, 0.5, 1, 1.644, 0.3284, 2.079, 1.424, 1.424, 0.935, 0.935, 1.581,
200  1.308, 58.16, 15.13, 13.96, 36.8, 20.63, 0.0363, 0.0512, 0.0541, 0.0553, 0.0523, 0.0777, 1,
201  1, 0.0052, 69.48, 0.0851, 10.39, 2.806, 16.81, 3.119, 1, 6.98, 5.26},
202 
203  // lim_min
204  {-inf, -5, -1.0, -1.0, -inf, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5,
205  -5, -5, -5, -5, -5, -5, -inf, -inf, -5, -5, -5, -5, -5, -5, -5, -inf, -5, -5},
206 
207  // lim_max
208  {inf, 5, 1.0, 1.0, inf, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
209  5, 5, 5, 5, 5, 5, inf, inf, 5, 5, 5, 5, 5, 5, 5, inf, 5, 5},
210  }}, // end Electron, is_innner=false
211 
212  {std::make_pair(FeatureT::Electron, true),
213  {
214  // mean
215  {0, 1.067, 0.0, 0.0, 0, 1.729, 0.1439, 1.794, 1.531, 1.531, 0.7735, 0.7735, 1.625,
216  1.993, 70.25, 2.432, 2.034, 6.64, 4.183, 0., -0.0001, -0.0001, 0.0002, 0.0001, 0.0004, 0,
217  0, 0.0008, 14.04, 0.0099, 3.049, 16.52, 1.355, 5.046, 0, 2.411, 15.16},
218 
219  // std
220  {1, 1.521, 0.1, 0.1, 1, 1.644, 0.3284, 2.079, 1.424, 1.424, 0.935, 0.935, 1.581,
221  1.308, 58.16, 15.13, 13.96, 36.8, 20.63, 0.0363, 0.0512, 0.0541, 0.0553, 0.0523, 0.0777, 1,
222  1, 0.0052, 69.48, 0.0851, 10.39, 2.806, 16.81, 3.119, 1, 6.98, 5.26},
223 
224  // lim_min
225  {-inf, -5, -1.0, -1.0, -inf, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5,
226  -5, -5, -5, -5, -5, -5, -inf, -inf, -5, -5, -5, -5, -5, -5, -5, -inf, -5, -5},
227 
228  // lim_max
229  {inf, 5, 1.0, 1.0, inf, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
230  5, 5, 5, 5, 5, 5, inf, inf, 5, 5, 5, 5, 5, 5, 5, inf, 5, 5},
231  }}, // end Electron, is_innner=true
232 
233  {std::make_pair(FeatureT::PfCand_muon, false),
234  {
235  // mean
236  {0, 0.0861, 0.0, 0.0, 0, 0, 0, 0, 0, 0., -0.0007, 0.0001,
237  -0.0117, -0.0001, 0.0004, -0.0118, 0, -0.0045, 4.575, -0.0117, 80.37, 0.69, 17.5},
238 
239  // std
240  {1, 0.4065, 0.5, 0.5, 7., 3., 1., 1., 1., 11., 0.6869, 0.6784,
241  4.097, 0.8642, 0.8561, 4.405, 1, 0.9655, 42.36, 4.097, 343.3, 1.711, 5.11},
242 
243  // lim_min
244  {-inf, -5, -1.0, -1.0, 0., 0., -inf, -inf, -inf, 0., -5, -5, -5, -5, -5, -5, -inf, -5, -5, -5, -5, -5, -5},
245 
246  // lim_max
247  {inf, 5, 1.0, 1.0, 1., 1., inf, inf, inf, 1.0, 5, 5, 5, 5, 5, 5, inf, 5, 5, 5, 5, 5, 5},
248 
249  }}, // end PfCand_muon, is_innner=false
250 
251  {std::make_pair(FeatureT::PfCand_muon, true),
252  {
253  // mean
254  {0, 0.9509, 0.0, 0.0, 0, 0, 0, 0, 0, 0., -0.0007, 0.0001,
255  -0.0117, -0.0001, 0.0004, -0.0118, 0, -0.0045, 4.575, -0.0117, 80.37, 0.69, 17.5},
256 
257  // std
258  {1, 0.4294, 0.1, 0.1, 7., 3., 1., 1., 1., 11., 0.6869, 0.6784,
259  4.097, 0.8642, 0.8561, 4.405, 1, 0.9655, 42.36, 4.097, 343.3, 1.711, 5.11},
260 
261  // lim_min
262  {-inf, -5, -1.0, -1.0, 0., 0., -inf, -inf, -inf, 0., -5, -5, -5, -5, -5, -5, -inf, -5, -5, -5, -5, -5, -5},
263 
264  // lim_max
265  {inf, 5, 1.0, 1.0, 1., 1., inf, inf, inf, 1.0, 5, 5, 5, 5, 5, 5, inf, 5, 5, 5, 5, 5, 5},
266 
267  }}, // end PfCand_muon, is_innner=true
268 
269  {std::make_pair(FeatureT::Muon, false),
270  {
271  // mean
272  {0, 0.2678, 0.0, 0.0, 0.0019, 8.98, 0, 21.52, 21.84, 0, 0, 0, 0.2273, 0., 0., 0., 0., 0., 0.,
273  0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.},
274 
275  // std
276  {1, 3.592, 0.5, 0.5, 1.039, 71.17, 1, 265.8, 10.59, 1, 1, 1, 0.4865,
277  2.0, 2.0, 2.0, 2.0, 6.0, 2.0, 2.0, 2.0, 7., 6.0, 4.0, 4.0, 12.0,
278  12.0, 12.0, 8.0, 24.0, 12.0, 12.0, 12.0, 4.0, 4.0, 2.0, 2.0},
279 
280  // lim_min
281  {-inf, -5, -1.0, -1.0, -5, -5, -inf, -5, -5, -inf, -inf, -inf, -5, 0., 0., 0., 0., 0., 0.,
282  0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.},
283 
284  // lim_max
285  {inf, 5, 1.0, 1.0, 5, 5, inf, 5, 5, inf, inf, inf, 5, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
286  1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0},
287 
288  }}, // end Muon, is_innner=false
289 
290  {std::make_pair(FeatureT::Muon, true),
291  {
292  // mean
293  {0, 0.7966, 0.0, 0.0, 0.0019, 8.98, 0, 21.52, 21.84, 0, 0, 0, 0.2273, 0., 0., 0., 0., 0., 0.,
294  0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.},
295 
296  // std
297  {1, 3.402, 0.1, 0.1, 1.039, 71.17, 1, 265.8, 10.59, 1, 1, 1, 0.4865,
298  2.0, 2.0, 2.0, 2.0, 6.0, 2.0, 2.0, 2.0, 7., 6.0, 4.0, 4.0, 12.0,
299  12.0, 12.0, 8.0, 24.0, 12.0, 12.0, 12.0, 4.0, 4.0, 2.0, 2.0},
300 
301  // lim_min
302  {-inf, -5, -1.0, -1.0, -5, -5, -inf, -5, -5, -inf, -inf, -inf, -5, 0., 0., 0., 0., 0., 0.,
303  0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.},
304 
305  // lim_max
306  {inf, 5, 1.0, 1.0, 5, 5, inf, 5, 5, inf, inf, inf, 5, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
307  1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0},
308 
309  }}, // end Muon, is_innner=true
310 
311  {std::make_pair(FeatureT::PfCand_chHad, false),
312  {
313  // mean
314  {0, 0.0194, 0.0, 0.0, 0, 0, 0, 0, 0, 0, 0, 0., 0.0005, -0.0008,
315  -0.0201, -0.0014, 0.0022, -0.0138, 0, -0.012, 6.417, -0.0246, 301.3, 0.7876, 13.92, 0, 0.},
316 
317  // std
318  {1, 0.1865, 0.5, 0.5, 1, 7, 3, 1, 1, 1, 1, 12.0, 1.735, 1.752,
319  8.333, 1.93, 1.948, 8.622, 1, 2.386, 36.28, 7.618, 491.1, 3.694, 6.581, 1, 2.6},
320 
321  // lim_min
322  {-inf, -5, -1.0, -1.0, -inf, 0., 0., -inf, -inf, -inf, -inf, 0., -5, -5,
323  -5, -5, -5, -5, -inf, -5, -5, -5, -5, -5, -5, -inf, 0.},
324 
325  // lim_max
326  {inf, 5, 1.0, 1.0, inf, 1., 1., inf, inf, inf, inf, 1.0, 5, 5,
327  5, 5, 5, 5, inf, 5, 5, 5, 5, 5, 5, inf, 1.0},
328  }}, // end PfCand_chHad, is_innner=false
329 
330  {std::make_pair(FeatureT::PfCand_chHad, true),
331  {
332  // mean
333  {0, 0.2564, 0.0, 0.0, 0, 0, 0, 0, 0, 0, 0, 0., 0.0005, -0.0008,
334  -0.0201, -0.0014, 0.0022, -0.0138, 0, -0.012, 6.417, -0.0246, 301.3, 0.7876, 13.92, 0, 0.},
335 
336  // std
337  {1, 0.8607, 0.1, 0.1, 1, 7, 3, 1, 1, 1, 1, 12.0, 1.735, 1.752,
338  8.333, 1.93, 1.948, 8.622, 1, 2.386, 36.28, 7.618, 491.1, 3.694, 6.581, 1, 2.6},
339 
340  // lim_min
341  {-inf, -5, -1.0, -1.0, -inf, 0., 0., -inf, -inf, -inf, -inf, 0., -5, -5,
342  -5, -5, -5, -5, -inf, -5, -5, -5, -5, -5, -5, -inf, 0.},
343 
344  // lim_max
345  {inf, 5, 1.0, 1.0, inf, 1., 1., inf, inf, inf, inf, 1.0, 5, 5,
346  5, 5, 5, 5, inf, 5, 5, 5, 5, 5, 5, inf, 1.0},
347  }}, // end PfCand_chHad, is_innner=true
348 
349  {std::make_pair(FeatureT::PfCand_nHad, false),
350  {
351  // mean
352  {0, 0.0502, 0.0, 0.0, 0, 0, 0},
353 
354  // std
355  {1, 0.4266, 0.5, 0.5, 1, 1, 1},
356 
357  // lim_min
358  {-inf, -5, -1.0, -1.0, -inf, -inf, -inf},
359 
360  // lim_max
361  {inf, 5, 1.0, 1.0, inf, inf, inf},
362 
363  }}, // end PfCand_nHad, is_innner=false
364 
365  {std::make_pair(FeatureT::PfCand_nHad, true),
366  {
367  // mean
368  {0, 0.3163, 0.0, 0.0, 0, 0, 0},
369 
370  // std
371  {1, 0.2769, 0.1, 0.1, 1, 1, 1},
372 
373  // lim_min
374  {-inf, -5, -1.0, -1.0, -inf, -inf, -inf},
375 
376  // lim_max
377  {inf, 5, 1.0, 1.0, inf, inf, inf},
378 
379  }}, // end PfCand_nHad, is_innner=true
380 
381  }; // end scalingParamsMap_v2p1
382 
383  const std::map<std::pair<FeatureT, bool>, ScalingParams> scalingParamsMap_v2p5 = {
384  {std::make_pair(FeatureT::TauFlat, false),
385  {
386  // mean_
387  {25.0, 510.0, 0.0,
388  0.5762, 1.967, 0,
389  1, 0, 14.32,
390  0, 2.213, 11.36,
391  0, 0, 0,
392  1.202, 22.17, 0,
393  0.002281, 2.392, 0,
394  0.00318, 2.991, 3.212e-05,
395  0, 16.75, -0.0008515,
396  -0.0001629, -0.0007875, -5.564,
397  0.5, 0.5, 0.007766,
398  0.5, 1.672, 0,
399  0.5, 0, 1.5707963267948966,
400  2.256, 0.0, 0,
401  0.0002029},
402 
403  // std_
404  {25.0, 490.0, 2.3,
405  0.5293, 1.133, 1,
406  1, 1, 44.8,
407  1, 6.783, 48.09,
408  1, 1, 1,
409  3.739, 13.68, 1,
410  0.009705, 4.187, 1,
411  0.01452, 4.527, 0.4518,
412  1, 191.7, 0.4016,
413  0.4041, 1.157, 8.72,
414  0.5, 0.5, 0.01834,
415  0.5, 5.058, 1,
416  0.5, 1, 1.5707963267948966,
417  2.943, 1.0, 1,
418  0.03612},
419 
420  // lim_min_
421  {-1.0, -1.0, -1.0, -5, -5, -inf, -inf, -inf, -5, -inf, -5, -5, -inf, -inf, -inf,
422  -5, -5, -inf, -5, -5, -inf, -5, -5, -5, -inf, -5, -5, -5, -5, -5,
423  -1.0, -1.0, -5, -1.0, -5, -inf, -1.0, -inf, -1.0, -5, -1.0, -inf, -5},
424 
425  // lim_max_
426  {1.0, 1.0, 1.0, 5, 5, inf, inf, inf, 5, inf, 5, 5, inf, inf, inf, 5, 5, inf, 5, 5, inf, 5,
427  5, 5, inf, 5, 5, 5, 5, 5, 1.0, 1.0, 5, 1.0, 5, inf, 1.0, inf, 1.0, 5, 1.0, inf, 5},
428  }}, // end TauFlat
429 
430  {std::make_pair(FeatureT::GridGlobal, false),
431  {
432  // mean_
433  {
434  25.0,
435  510.0,
436  0.0,
437  0,
438  },
439  // std_
440  {
441  25.0,
442  490.0,
443  2.3,
444  1,
445  },
446  // lim_min_
447  {-1.0, -1.0, -1.0, -inf},
448  // lim_max_
449  {1.0, 1.0, 1.0, inf},
450  }}, // end GridGlobal
451 
452  {std::make_pair(FeatureT::PfCand_electron, false),
453  {// mean_
454  {0, 0.3457, 0.0, 0.0, 0, 0, 0, 0, 5.0, -0.0008022, -2.653e-05,
455  0.00382, 0.002371, 0.0003833, 0.0004431, 0, 0.000397, 3.409, 0.003507, 169.6, 4.561, 12.6},
456 
457  // std_
458  {1, 1.164, 0.5, 0.5, 1, 1, 1, 1, 5.0, 0.4081, 0.4056,
459  3.329, 0.6623, 0.6648, 3.548, 1, 0.5572, 16.07, 3.3, 486.1, 14.8, 3.729},
460 
461  // lim_min_
462  {-inf, -5, -1.0, -1.0, -inf, -inf, -inf, -inf, -1.0, -5, -5, -5, -5, -5, -5, -inf, -5, -5, -5, -5, -5, -5},
463 
464  // lim_max_
465  {inf, 5, 1.0, 1.0, inf, inf, inf, inf, 1.0, 5, 5,
466  5, 5, 5, 5, inf, 5, 5, 5, 5, 5, 5}}}, // end PfCand_electron, is_inner=false
467 
468  {std::make_pair(FeatureT::PfCand_electron, true),
469  {// mean_
470  {0, 0.9558, 0.0, 0.0, 0, 0, 0, 0, 5.0, -2.888e-06, 7.215e-06,
471  0.0002156, 0.0002385, 6.221e-05, 0.0003546, 0, 3.333e-05, 1.412, 0.0002181, 21.72, 2.387, 14.73},
472 
473  // std_
474  {1, 0.2323, 0.1, 0.1, 1, 1, 1, 1, 5.0, 0.03703, 0.03682,
475  0.5552, 0.1855, 0.1867, 0.749, 1, 0.05183, 3.111, 0.5551, 230.5, 8.818, 3.125},
476 
477  // lim_min_
478  {-inf, -5, -1.0, -1.0, -inf, -inf, -inf, -inf, -1.0, -5, -5, -5, -5, -5, -5, -inf, -5, -5, -5, -5, -5, -5},
479 
480  // lim_max_
481  {inf, 5, 1.0, 1.0, inf, inf, inf, inf, 1.0, 5, 5,
482  5, 5, 5, 5, inf, 5, 5, 5, 5, 5, 5}}}, // end PfCand_electron, is_inner=true
483 
484  {std::make_pair(FeatureT::PfCand_gamma, false),
485  {
486  // mean
487  {0, 0.02024, 0.0, 0.0, 0, 0, 0, 0, 0, 3.5, 2.364e-08, -1.355e-07,
488  5.947e-07, 0.001155, -3.88e-05, 0.001081, 0, 0.003532, 4.09, 0.02207, 175.0, 4.798, 12.18},
489 
490  // std
491  {1, 0.1801, 0.5, 0.5, 1, 1, 1, 1, 1, 3.5, 0.003674, 0.00371,
492  0.02345, 0.4628, 0.4667, 1.057, 1, 1.006, 11.45, 4.517, 546.1, 16.85, 4.741},
493 
494  // lim_min
495  {-inf, -5, -1.0, -1.0, -inf, -inf, -inf, -inf, -inf, -1.0, -5, -5,
496  -5, -5, -5, -5, -inf, -5, -5, -5, -5, -5, -5},
497 
498  // lim_max
499  {inf, 5, 1.0, 1.0, inf, inf, inf, inf, inf, 1.0, 5, 5, 5, 5, 5, 5, inf, 5, 5, 5, 5, 5, 5},
500 
501  }}, // end PfCand_gamma, is_inner=false
502 
503  {std::make_pair(FeatureT::PfCand_gamma, true),
504  {
505  // mean
506  {0, 0.2681, 0.0, 0.0, 0, 0, 0, 0,
507  0, 3.5, -6.701e-06, 4.799e-06, 3.08e-05, 0.0009319, -0.0001133, 0.0007838,
508  0, -0.0003009, 3.826, 0.01115, 114.2, 4.218, 12.27},
509 
510  // std
511  {1, 0.5467, 0.1, 0.1, 1, 1, 1, 1, 1, 3.5, 0.02348, 0.02357,
512  0.2203, 0.4899, 0.4941, 1.284, 1, 0.633, 20.83, 4.191, 439.3, 15.84, 4.562},
513 
514  // lim_min
515  {-inf, -5, -1.0, -1.0, -inf, -inf, -inf, -inf, -inf, -1.0, -5, -5,
516  -5, -5, -5, -5, -inf, -5, -5, -5, -5, -5, -5},
517 
518  // lim_max
519  {inf, 5, 1.0, 1.0, inf, inf, inf, inf, inf, 1.0, 5, 5, 5, 5, 5, 5, inf, 5, 5, 5, 5, 5, 5},
520 
521  }}, // end PfCand_gamma, is_inner=true
522 
523  {std::make_pair(FeatureT::Electron, false),
524  {
525  // mean
526  {0, 0.3827, 0.0, 0.0, 0, 1.37, 0.3215, 1.793, 1.093, 1.093,
527  1.013, 1.013, 1.063, 1.445, 13.07, 3.797, 2.624, 5.68, 2.231, -0.0001921,
528  -0.0009969, -0.0008593, -0.0008999, -0.001147, -0.001182, 0, 0, 0.001218, 31.5, 0.05644,
529  6.344, 14.65, 1.917, 6.866, 0, 1.862, 12.15},
530 
531  // std
532  {1, 1.272, 0.5, 0.5, 1, 8.381, 0.5275, 2.419, 82.69, 82.69, 673.8, 673.8, 5.614,
533  2.021, 27.8, 21.65, 19.0, 41.93, 21.58, 0.1324, 0.1474, 0.1548, 0.1514, 0.1452, 0.1966, 1,
534  1, 0.00775, 82.72, 0.2343, 292.7, 3.103, 229.2, 5.051, 1, 5.64, 5.557},
535 
536  // lim_min
537  {-inf, -5, -1.0, -1.0, -inf, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5,
538  -5, -5, -5, -5, -5, -5, -inf, -inf, -5, -5, -5, -5, -5, -5, -5, -inf, -5, -5},
539 
540  // lim_max
541  {inf, 5, 1.0, 1.0, inf, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
542  5, 5, 5, 5, 5, 5, inf, inf, 5, 5, 5, 5, 5, 5, 5, inf, 5, 5},
543  }}, // end Electron, is_inner=false
544 
545  {std::make_pair(FeatureT::Electron, true),
546  {
547  // mean
548  {0, 0.9372, 0.0, 0.0, 0, 1.654, 0.1878, 2.055, 2.593, 2.593,
549  1.006, 1.006, 1.749, 2.0, 59.55, 1.748, 1.404, 5.054, 3.078, -4.413e-06,
550  -1.477e-05, 9.209e-07, 0.0001262, 8.781e-05, 0.0003861, 0, 0, 0.000632, 15.88, 0.005635,
551  3.163, 16.15, 1.669, 5.276, 0, 2.813, 14.46},
552 
553  // std
554  {1, 0.4817, 0.1, 0.1, 1, 1.104, 0.3595, 2.141, 1183.0, 1183.0, 233.5, 233.5, 88.75,
555  1.278, 44.9, 2.591, 2.199, 14.8, 10.23, 0.0119, 0.02151, 0.02331, 0.03042, 0.03347, 0.05816, 1,
556  1, 0.004139, 50.36, 0.05148, 15.01, 2.752, 431.6, 2.463, 1, 8.186, 5.149},
557 
558  // lim_min
559  {-inf, -5, -1.0, -1.0, -inf, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5,
560  -5, -5, -5, -5, -5, -5, -inf, -inf, -5, -5, -5, -5, -5, -5, -5, -inf, -5, -5},
561 
562  // lim_max
563  {inf, 5, 1.0, 1.0, inf, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
564  5, 5, 5, 5, 5, 5, inf, inf, 5, 5, 5, 5, 5, 5, 5, inf, 5, 5},
565  }}, // end Electron, is_inner=true
566 
567  {std::make_pair(FeatureT::PfCand_muon, false),
568  {
569  // mean
570  {0, 0.142, 0.0, 0.0, 0, 0, 0, 0,
571  0, 5.5, -9.307e-05, -0.0008956, -0.01717, 0.001419, -0.0001845, -0.01638,
572  0, -0.008642, 10.87, -0.01718, 296.6, 0.7838, 17.99},
573 
574  // std
575  {1, 0.618, 0.5, 0.5, 1, 1, 1, 1, 1, 5.5, 1.123, 1.108,
576  6.913, 1.229, 1.216, 7.147, 1, 1.578, 58.34, 6.915, 515.9, 2.933, 6.317},
577 
578  // lim_min
579  {-inf, -5, -1.0, -1.0, -inf, -inf, -inf, -inf, -inf, -1.0, -5, -5,
580  -5, -5, -5, -5, -inf, -5, -5, -5, -5, -5, -5},
581 
582  // lim_max
583  {inf, 5, 1.0, 1.0, inf, inf, inf, inf, inf, 1.0, 5, 5, 5, 5, 5, 5, inf, 5, 5, 5, 5, 5, 5},
584 
585  }}, // end PfCand_muon, is_inner=false
586 
587  {std::make_pair(FeatureT::PfCand_muon, true),
588  {
589  // mean
590  {0, 0.9561, 0.0, 0.0, 0, 0, 0, 0,
591  0, 5.5, -9.493e-06, 2.109e-06, -0.005042, 0.0001233, -1.605e-06, -0.004842,
592  0, -2.842e-05, 1.391, -0.005043, 10.48, 0.5868, 17.11},
593 
594  // std
595  {1, 0.1959, 0.1, 0.1, 1, 1, 1, 1, 1, 5.5, 0.0752, 0.07712,
596  0.8103, 0.2137, 0.2138, 0.9617, 1, 0.1077, 7.796, 0.8103, 155.9, 1.003, 4.29},
597 
598  // lim_min
599  {-inf, -5, -1.0, -1.0, -inf, -inf, -inf, -inf, -inf, -1.0, -5, -5,
600  -5, -5, -5, -5, -inf, -5, -5, -5, -5, -5, -5},
601 
602  // lim_max
603  {inf, 5, 1.0, 1.0, inf, inf, inf, inf, inf, 1.0, 5, 5, 5, 5, 5, 5, inf, 5, 5, 5, 5, 5, 5},
604 
605  }}, // end PfCand_muon, is_inner=true
606 
607  {std::make_pair(FeatureT::Muon, false),
608  {
609  // mean
610  {0, 0.3645, 0.0, 0.0, 0.00344, 17.54, 0, 24.78, 17.92, 0, 0, 0, 0.3221,
611  1.0, 1.0, 1.0, 1.0, 3.0, 1.0, 1.0, 1.0, 3.5, 3.0, 2.0, 2.0, 6.0,
612  6.0, 6.0, 4.0, 12.0, 6.0, 6.0, 6.0, 2.0, 2.0, 1.0, 1.0},
613 
614  // std
615  {1, 85.0, 0.5, 0.5, 1.557, 97.45, 1, 2022.0, 6.573, 1, 1, 1, 0.6166,
616  1.0, 1.0, 1.0, 1.0, 3.0, 1.0, 1.0, 1.0, 3.5, 3.0, 2.0, 2.0, 6.0,
617  6.0, 6.0, 4.0, 12.0, 6.0, 6.0, 6.0, 2.0, 2.0, 1.0, 1.0},
618 
619  // lim_min
620  {-inf, -5, -1.0, -1.0, -5, -5, -inf, -5, -5, -inf, -inf, -inf, -5,
621  -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0,
622  -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0},
623 
624  // lim_max
625  {inf, 5, 1.0, 1.0, 5, 5, inf, 5, 5, inf, inf, inf, 5, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
626  1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0},
627 
628  }}, // end Muon, is_inner=false
629 
630  {std::make_pair(FeatureT::Muon, true),
631  {
632  // mean
633  {0, 1.033, 0.0, 0.0, 0.001217, 5.403, 0, 7.2, 18.58, 0, 0, 0, 0.09762,
634  1.0, 1.0, 1.0, 1.0, 3.0, 1.0, 1.0, 1.0, 3.5, 3.0, 2.0, 2.0, 6.0,
635  6.0, 6.0, 4.0, 12.0, 6.0, 6.0, 6.0, 2.0, 2.0, 1.0, 1.0},
636 
637  // std
638  {1, 65.51, 0.1, 0.1, 0.2033, 36.07, 1, 263.3, 5.019, 1, 1, 1, 0.3956,
639  1.0, 1.0, 1.0, 1.0, 3.0, 1.0, 1.0, 1.0, 3.5, 3.0, 2.0, 2.0, 6.0,
640  6.0, 6.0, 4.0, 12.0, 6.0, 6.0, 6.0, 2.0, 2.0, 1.0, 1.0},
641 
642  // lim_min
643  {-inf, -5, -1.0, -1.0, -5, -5, -inf, -5, -5, -inf, -inf, -inf, -5,
644  -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0,
645  -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0},
646 
647  // lim_max
648  {inf, 5, 1.0, 1.0, 5, 5, inf, 5, 5, inf, inf, inf, 5, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
649  1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0},
650 
651  }}, // end Muon, is_inner=true
652 
653  {std::make_pair(FeatureT::PfCand_chHad, false),
654  {
655  // mean
656  {0, 0.02191, 0.0, 0.0, 0, 0, 0, 0, 0,
657  0, 0, 6.0, 0.00106, -0.001523, -0.008181, 0.004498, 4.287e-06, -0.007022,
658  0, -0.01495, 6.04, -0.01381, 323.5, 0.753, 13.6, 0, 1.3},
659 
660  // std
661  {1, 0.08964, 0.5, 0.5, 1, 1, 1, 1, 1, 1, 1, 6.0, 1.732, 1.741,
662  8.372, 1.783, 1.792, 8.447, 1, 2.481, 33.16, 8.026, 443.9, 3.439, 6.624, 1, 1.3},
663 
664  // lim_min
665  {-inf, -5, -1.0, -1.0, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -1.0, -5, -5,
666  -5, -5, -5, -5, -inf, -5, -5, -5, -5, -5, -5, -inf, -1.0},
667 
668  // lim_max
669  {inf, 5, 1.0, 1.0, inf, inf, inf, inf, inf, inf, inf, 1.0, 5, 5,
670  5, 5, 5, 5, inf, 5, 5, 5, 5, 5, 5, inf, 1.0},
671  }}, // end PfCand_chHad, is_inner=false
672 
673  {std::make_pair(FeatureT::PfCand_chHad, true),
674  {
675  // mean
676  {0, 0.2482, 0.0, 0.0, 0, 0, 0, 0, 0,
677  0, 0, 6.0, 0.0003524, -0.0003693, -0.002133, 0.003532, 0.000612, -0.0003197,
678  0, -0.001701, 4.04, -0.002282, 61.12, 0.9004, 14.73, 0, 1.3},
679 
680  // std
681  {1, 0.3601, 0.1, 0.1, 1, 1, 1, 1, 1, 1, 1, 6.0, 0.8533, 0.8569,
682  4.132, 1.033, 1.039, 4.436, 1, 1.001, 16.62, 3.254, 244.4, 4.37, 5.599, 1, 1.3},
683 
684  // lim_min
685  {-inf, -5, -1.0, -1.0, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -1.0, -5, -5,
686  -5, -5, -5, -5, -inf, -5, -5, -5, -5, -5, -5, -inf, -1.0},
687 
688  // lim_max
689  {inf, 5, 1.0, 1.0, inf, inf, inf, inf, inf, inf, inf, 1.0, 5, 5,
690  5, 5, 5, 5, inf, 5, 5, 5, 5, 5, 5, inf, 1.0},
691  }}, // end PfCand_chHad, is_inner=true
692 
693  {std::make_pair(FeatureT::PfCand_nHad, false),
694  {
695  // mean
696  {0, 0.05398, 0.0, 0.0, 0, 0, 0},
697 
698  // std
699  {1, 0.2929, 0.5, 0.5, 1, 1, 1},
700 
701  // lim_min
702  {-inf, -5, -1.0, -1.0, -inf, -inf, -inf},
703 
704  // lim_max
705  {inf, 5, 1.0, 1.0, inf, inf, inf},
706 
707  }}, // end PfCand_nHad, is_inner=false
708 
709  {std::make_pair(FeatureT::PfCand_nHad, true),
710  {
711  // mean
712  {0, 0.2553, 0.0, 0.0, 0, 0, 0},
713 
714  // std
715  {1, 0.2687, 0.1, 0.1, 1, 1, 1},
716 
717  // lim_min
718  {-inf, -5, -1.0, -1.0, -inf, -inf, -inf},
719 
720  // lim_max
721  {inf, 5, 1.0, 1.0, inf, inf, inf},
722 
723  }}, // end PfCand_nHad, is_inner=true
724 
725  }; // end scalingParamsMap_v2p5
726 
727  }; // namespace Scaling
728 }; // namespace deep_tau
729 
730 #endif
std::vector< float > lim_min_
const std::map< std::pair< FeatureT, bool >, ScalingParams > scalingParamsMap_v2p5
Definition: Muon.py:1
const double infinity
constexpr float inf
Definition: value.py:1
const std::map< std::pair< FeatureT, bool >, ScalingParams > scalingParamsMap_v2p1
std::vector< float > lim_max_
long double T
float scale(T value, int var_index) const