Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:27:46

0001 #ifndef RecoTauTag_RecoTau_DeepTauScaling_h
0002 #define RecoTauTag_RecoTau_DeepTauScaling_h
0003 
0004 #include <vector>
0005 #include <map>
0006 #include <cmath>
0007 #include <limits>
0008 #include <algorithm>
0009 
0010 namespace deep_tau {
0011   namespace Scaling {
0012     constexpr float inf = std::numeric_limits<float>::infinity();
0013     enum class FeatureT {
0014       TauFlat,
0015       GridGlobal,
0016       PfCand_electron,
0017       PfCand_muon,
0018       PfCand_chHad,
0019       PfCand_nHad,
0020       PfCand_gamma,
0021       Electron,
0022       Muon
0023     };
0024 
0025     struct ScalingParams {
0026       std::vector<float> mean_;
0027       std::vector<float> std_;
0028       std::vector<float> lim_min_;
0029       std::vector<float> lim_max_;
0030 
0031       template <typename T>
0032       float scale(T value, int var_index) const {
0033         if (std::isfinite(value)) {
0034           const float mean = mean_.at(var_index);
0035           const float std = std_.at(var_index);
0036           const float lim_min = lim_min_.at(var_index);
0037           const float lim_max = lim_max_.at(var_index);
0038           const float norm_value = (static_cast<float>(value) - mean) / std;
0039           return std::clamp(norm_value, lim_min, lim_max);
0040         } else
0041           return 0.f;
0042       };
0043     };
0044 
0045     const std::map<std::pair<FeatureT, bool>, ScalingParams> scalingParamsMap_v2p1 = {
0046         {std::make_pair(FeatureT::TauFlat, false),
0047          {
0048              // mean_
0049              {21.49,  20.0,   0.0,   0., 0.6669, 1.,    0,       1,       0,       47.78, 0,      9.029,
0050               57.59,  0,      0,     0,  1.731,  22.38, -0.0241, 0.0675,  0.7973,  0,     0.0018, 2.26,
0051               0,      0.0026, 2.928, 0., 0,      4.717, -0.0003, -0.0009, -0.0022, 0.,    0.,     0.,
0052               0.0052, 0.,     1.538, 0,  0.,     0,     0.,      2.95,    0.0,     0,     0.0042},
0053 
0054              // std_
0055              {9.713,
0056               980.0,
0057               2.3,
0058               3.141592653589793,
0059               0.6553,
0060               4.2,
0061               1,
0062               2,
0063               2,
0064               123.5,
0065               1,
0066               26.42,
0067               155.3,
0068               1,
0069               1,
0070               1,
0071               6.846,
0072               16.34,
0073               0.0074,
0074               0.0128,
0075               3.456,
0076               1,
0077               0.0085,
0078               4.191,
0079               1,
0080               0.0114,
0081               4.466,
0082               0.0190,
0083               1,
0084               11.78,
0085               0.7362,
0086               0.7354,
0087               1.993,
0088               1,
0089               1.,
0090               1,
0091               0.01433,
0092               1.,
0093               4.401,
0094               1,
0095               1,
0096               1,
0097               3.141592653589793,
0098               3.927,
0099               1.,
0100               1.0,
0101               0.0323},
0102 
0103              // lim_min_
0104              {-5, 0.,   -1.0, -1., -5, 0,    -inf, 0,    0,    -5,   -inf, -5, -5,   -inf, -inf, -inf,
0105               -5, -5,   -5,   -5,  -5, -inf, -5,   -5,   -inf, -5,   -5,   -5, -inf, -5,   -5,   -5,
0106               -5, -inf, 0,    0,   -5, 0,    -5,   -inf, 0,    -inf, 0,    -5, -1.0, -inf, -5},
0107 
0108              // lim_max_
0109              {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,
0110               inf, 5,  5,   5,  inf, 5, 5,   5, 5, inf, 1,   1, 5, 1,   5,   inf, 1, inf, 1, 5, 1.0, inf, 5},
0111          }},  // end TauFlat
0112 
0113         {std::make_pair(FeatureT::GridGlobal, false),
0114          {
0115              // mean_
0116              {21.49, 20.0, 0.0, 0},
0117              // std_
0118              {9.713, 980.0, 2.3, 1},
0119              // lim_min_
0120              {-5, 0., -1.0, -inf},
0121              // lim_max_
0122              {5., 1., 1.0, inf},
0123          }},  // end GridGlobal
0124 
0125         {std::make_pair(FeatureT::PfCand_electron, false),
0126          {// mean_
0127           {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},
0128 
0129           // std_
0130           {1,     1.845,  0.5,    0.5,   7., 1,     1,    1,    10.0,  0.1221, 0.1226,
0131            1.024, 0.3411, 0.3385, 1.307, 1,  0.171, 6.45, 1.02, 210.4, 8.439,  3.203},
0132 
0133           // lim_min_
0134           {-inf, -5, -1.0, -1.0, 0., -inf, -inf, -inf, 0., -5, -5, -5, -5, -5, -5, -inf, -5, -5, -5, -5, -5, -5},
0135 
0136           // lim_max_
0137           {inf, 5, 1.0, 1.0, 1.,  inf, inf, inf, 1., 5, 5,
0138            5,   5, 5,   5,   inf, 5,   5,   5,   5,  5, 5}}},  // end PfCand_electron, is_innner=false
0139 
0140         {std::make_pair(FeatureT::PfCand_electron, true),
0141          {// mean_
0142           {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},
0143 
0144           // std_
0145           {1,     0.5383, 0.1,    0.1,   7., 1,     1,    1,    10.0,  0.1221, 0.1226,
0146            1.024, 0.3411, 0.3385, 1.307, 1,  0.171, 6.45, 1.02, 210.4, 8.439,  3.203},
0147 
0148           // lim_min_
0149           {-inf, -5, -1.0, -1.0, 0., -inf, -inf, -inf, 0., -5, -5, -5, -5, -5, -5, -inf, -5, -5, -5, -5, -5, -5},
0150 
0151           // lim_max_
0152           {inf, 5, 1.0, 1.0, 1.,  inf, inf, inf, 1., 5, 5,
0153            5,   5, 5,   5,   inf, 5,   5,   5,   5,  5, 5}}},  // end PfCand_electron, is_innner=true
0154 
0155         {std::make_pair(FeatureT::PfCand_gamma, false),
0156          {
0157              // mean
0158              {0,  0.02576, 0.0,    0.0,    0, 0,      0,     0,      0,     0.,    0.,   0.,
0159               0., 0.001,   0.0008, 0.0038, 0, 0.0004, 4.271, 0.0071, 162.1, 4.268, 12.25},
0160 
0161              // std
0162              {1,      0.3833, 0.5,    0.5,   7., 3.,    1,     1,     1,     7.,    0.0067, 0.0069,
0163               0.0578, 0.9565, 0.9592, 2.154, 1,  0.882, 63.78, 5.285, 622.4, 15.47, 4.774},
0164 
0165              // lim_min
0166              {-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},
0167 
0168              // lim_max
0169              {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},
0170 
0171          }},  // end PfCand_gamma, is_innner=false
0172 
0173         {std::make_pair(FeatureT::PfCand_gamma, true),
0174          {
0175              // mean
0176              {0,  0.6048, 0.0,    0.0,    0, 0,      0,     0,      0,     0.,    0.,   0.,
0177               0., 0.001,  0.0008, 0.0038, 0, 0.0004, 4.271, 0.0071, 162.1, 4.268, 12.25},
0178 
0179              // std
0180              {1,      1.669,  0.1,    0.1,   7., 3.,    1,     1,     1,     7.,    0.0067, 0.0069,
0181               0.0578, 0.9565, 0.9592, 2.154, 1,  0.882, 63.78, 5.285, 622.4, 15.47, 4.774},
0182 
0183              // lim_min
0184              {-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},
0185 
0186              // lim_max
0187              {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},
0188 
0189          }},  // end PfCand_gamma, is_innner=true
0190 
0191         {std::make_pair(FeatureT::Electron, false),
0192          {
0193              // mean
0194              {0,     0.5111, 0.0,   0.0,    0,     1.729, 0.1439, 1.794,   1.531,   1.531,  0.7735, 0.7735, 1.625,
0195               1.993, 70.25,  2.432, 2.034,  6.64,  4.183, 0.,     -0.0001, -0.0001, 0.0002, 0.0001, 0.0004, 0,
0196               0,     0.0008, 14.04, 0.0099, 3.049, 16.52, 1.355,  5.046,   0,       2.411,  15.16},
0197 
0198              // std
0199              {1,     2.765,  0.5,   0.5,    1,     1.644, 0.3284, 2.079,  1.424,  1.424,  0.935,  0.935,  1.581,
0200               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,
0201               1,     0.0052, 69.48, 0.0851, 10.39, 2.806, 16.81,  3.119,  1,      6.98,   5.26},
0202 
0203              // lim_min
0204              {-inf, -5, -1.0, -1.0, -inf, -5, -5,   -5,   -5, -5, -5, -5, -5, -5, -5, -5,   -5, -5, -5,
0205               -5,   -5, -5,   -5,   -5,   -5, -inf, -inf, -5, -5, -5, -5, -5, -5, -5, -inf, -5, -5},
0206 
0207              // lim_max
0208              {inf, 5, 1.0, 1.0, inf, 5, 5,   5,   5, 5, 5, 5, 5, 5, 5, 5,   5, 5, 5,
0209               5,   5, 5,   5,   5,   5, inf, inf, 5, 5, 5, 5, 5, 5, 5, inf, 5, 5},
0210          }},  // end Electron, is_innner=false
0211 
0212         {std::make_pair(FeatureT::Electron, true),
0213          {
0214              // mean
0215              {0,     1.067,  0.0,   0.0,    0,     1.729, 0.1439, 1.794,   1.531,   1.531,  0.7735, 0.7735, 1.625,
0216               1.993, 70.25,  2.432, 2.034,  6.64,  4.183, 0.,     -0.0001, -0.0001, 0.0002, 0.0001, 0.0004, 0,
0217               0,     0.0008, 14.04, 0.0099, 3.049, 16.52, 1.355,  5.046,   0,       2.411,  15.16},
0218 
0219              // std
0220              {1,     1.521,  0.1,   0.1,    1,     1.644, 0.3284, 2.079,  1.424,  1.424,  0.935,  0.935,  1.581,
0221               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,
0222               1,     0.0052, 69.48, 0.0851, 10.39, 2.806, 16.81,  3.119,  1,      6.98,   5.26},
0223 
0224              // lim_min
0225              {-inf, -5, -1.0, -1.0, -inf, -5, -5,   -5,   -5, -5, -5, -5, -5, -5, -5, -5,   -5, -5, -5,
0226               -5,   -5, -5,   -5,   -5,   -5, -inf, -inf, -5, -5, -5, -5, -5, -5, -5, -inf, -5, -5},
0227 
0228              // lim_max
0229              {inf, 5, 1.0, 1.0, inf, 5, 5,   5,   5, 5, 5, 5, 5, 5, 5, 5,   5, 5, 5,
0230               5,   5, 5,   5,   5,   5, inf, inf, 5, 5, 5, 5, 5, 5, 5, inf, 5, 5},
0231          }},  // end Electron, is_innner=true
0232 
0233         {std::make_pair(FeatureT::PfCand_muon, false),
0234          {
0235              // mean
0236              {0,       0.0861,  0.0,    0.0,     0, 0,       0,     0,       0,     0.,   -0.0007, 0.0001,
0237               -0.0117, -0.0001, 0.0004, -0.0118, 0, -0.0045, 4.575, -0.0117, 80.37, 0.69, 17.5},
0238 
0239              // std
0240              {1,     0.4065, 0.5,    0.5,   7., 3.,     1.,    1.,    1.,    11.,   0.6869, 0.6784,
0241               4.097, 0.8642, 0.8561, 4.405, 1,  0.9655, 42.36, 4.097, 343.3, 1.711, 5.11},
0242 
0243              // lim_min
0244              {-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},
0245 
0246              // lim_max
0247              {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},
0248 
0249          }},  // end PfCand_muon, is_innner=false
0250 
0251         {std::make_pair(FeatureT::PfCand_muon, true),
0252          {
0253              // mean
0254              {0,       0.9509,  0.0,    0.0,     0, 0,       0,     0,       0,     0.,   -0.0007, 0.0001,
0255               -0.0117, -0.0001, 0.0004, -0.0118, 0, -0.0045, 4.575, -0.0117, 80.37, 0.69, 17.5},
0256 
0257              // std
0258              {1,     0.4294, 0.1,    0.1,   7., 3.,     1.,    1.,    1.,    11.,   0.6869, 0.6784,
0259               4.097, 0.8642, 0.8561, 4.405, 1,  0.9655, 42.36, 4.097, 343.3, 1.711, 5.11},
0260 
0261              // lim_min
0262              {-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},
0263 
0264              // lim_max
0265              {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},
0266 
0267          }},  // end PfCand_muon, is_innner=true
0268 
0269         {std::make_pair(FeatureT::Muon, false),
0270          {
0271              // mean
0272              {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.,
0273               0., 0.,     0.,  0.,  0.,     0.,   0., 0.,    0.,    0., 0., 0., 0.,     0., 0., 0., 0., 0.},
0274 
0275              // std
0276              {1,    3.592, 0.5, 0.5,  1.039, 71.17, 1,    265.8, 10.59, 1,   1,   1,   0.4865,
0277               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,
0278               12.0, 12.0,  8.0, 24.0, 12.0,  12.0,  12.0, 4.0,   4.0,   2.0, 2.0},
0279 
0280              // lim_min
0281              {-inf, -5, -1.0, -1.0, -5, -5, -inf, -5, -5, -inf, -inf, -inf, -5, 0., 0., 0., 0., 0., 0.,
0282               0.,   0., 0.,   0.,   0., 0., 0.,   0., 0., 0.,   0.,   0.,   0., 0., 0., 0., 0., 0.},
0283 
0284              // lim_max
0285              {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,
0286               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},
0287 
0288          }},  // end Muon, is_innner=false
0289 
0290         {std::make_pair(FeatureT::Muon, true),
0291          {
0292              // mean
0293              {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.,
0294               0., 0.,     0.,  0.,  0.,     0.,   0., 0.,    0.,    0., 0., 0., 0.,     0., 0., 0., 0., 0.},
0295 
0296              // std
0297              {1,    3.402, 0.1, 0.1,  1.039, 71.17, 1,    265.8, 10.59, 1,   1,   1,   0.4865,
0298               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,
0299               12.0, 12.0,  8.0, 24.0, 12.0,  12.0,  12.0, 4.0,   4.0,   2.0, 2.0},
0300 
0301              // lim_min
0302              {-inf, -5, -1.0, -1.0, -5, -5, -inf, -5, -5, -inf, -inf, -inf, -5, 0., 0., 0., 0., 0., 0.,
0303               0.,   0., 0.,   0.,   0., 0., 0.,   0., 0., 0.,   0.,   0.,   0., 0., 0., 0., 0., 0.},
0304 
0305              // lim_max
0306              {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,
0307               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},
0308 
0309          }},  // end Muon, is_innner=true
0310 
0311         {std::make_pair(FeatureT::PfCand_chHad, false),
0312          {
0313              // mean
0314              {0,       0.0194,  0.0,    0.0,     0, 0,      0,     0,       0,     0,      0,     0., 0.0005, -0.0008,
0315               -0.0201, -0.0014, 0.0022, -0.0138, 0, -0.012, 6.417, -0.0246, 301.3, 0.7876, 13.92, 0,  0.},
0316 
0317              // std
0318              {1,     0.1865, 0.5,   0.5,   1, 7,     3,     1,     1,     1,     1,     12.0, 1.735, 1.752,
0319               8.333, 1.93,   1.948, 8.622, 1, 2.386, 36.28, 7.618, 491.1, 3.694, 6.581, 1,    2.6},
0320 
0321              // lim_min
0322              {-inf, -5, -1.0, -1.0, -inf, 0., 0., -inf, -inf, -inf, -inf, 0.,   -5, -5,
0323               -5,   -5, -5,   -5,   -inf, -5, -5, -5,   -5,   -5,   -5,   -inf, 0.},
0324 
0325              // lim_max
0326              {inf, 5, 1.0, 1.0, inf, 1., 1., inf, inf, inf, inf, 1.0, 5,  5,
0327               5,   5, 5,   5,   inf, 5,  5,  5,   5,   5,   5,   inf, 1.0},
0328          }},  // end PfCand_chHad, is_innner=false
0329 
0330         {std::make_pair(FeatureT::PfCand_chHad, true),
0331          {
0332              // mean
0333              {0,       0.2564,  0.0,    0.0,     0, 0,      0,     0,       0,     0,      0,     0., 0.0005, -0.0008,
0334               -0.0201, -0.0014, 0.0022, -0.0138, 0, -0.012, 6.417, -0.0246, 301.3, 0.7876, 13.92, 0,  0.},
0335 
0336              // std
0337              {1,     0.8607, 0.1,   0.1,   1, 7,     3,     1,     1,     1,     1,     12.0, 1.735, 1.752,
0338               8.333, 1.93,   1.948, 8.622, 1, 2.386, 36.28, 7.618, 491.1, 3.694, 6.581, 1,    2.6},
0339 
0340              // lim_min
0341              {-inf, -5, -1.0, -1.0, -inf, 0., 0., -inf, -inf, -inf, -inf, 0.,   -5, -5,
0342               -5,   -5, -5,   -5,   -inf, -5, -5, -5,   -5,   -5,   -5,   -inf, 0.},
0343 
0344              // lim_max
0345              {inf, 5, 1.0, 1.0, inf, 1., 1., inf, inf, inf, inf, 1.0, 5,  5,
0346               5,   5, 5,   5,   inf, 5,  5,  5,   5,   5,   5,   inf, 1.0},
0347          }},  // end PfCand_chHad, is_innner=true
0348 
0349         {std::make_pair(FeatureT::PfCand_nHad, false),
0350          {
0351              // mean
0352              {0, 0.0502, 0.0, 0.0, 0, 0, 0},
0353 
0354              // std
0355              {1, 0.4266, 0.5, 0.5, 1, 1, 1},
0356 
0357              // lim_min
0358              {-inf, -5, -1.0, -1.0, -inf, -inf, -inf},
0359 
0360              // lim_max
0361              {inf, 5, 1.0, 1.0, inf, inf, inf},
0362 
0363          }},  // end PfCand_nHad, is_innner=false
0364 
0365         {std::make_pair(FeatureT::PfCand_nHad, true),
0366          {
0367              // mean
0368              {0, 0.3163, 0.0, 0.0, 0, 0, 0},
0369 
0370              // std
0371              {1, 0.2769, 0.1, 0.1, 1, 1, 1},
0372 
0373              // lim_min
0374              {-inf, -5, -1.0, -1.0, -inf, -inf, -inf},
0375 
0376              // lim_max
0377              {inf, 5, 1.0, 1.0, inf, inf, inf},
0378 
0379          }},  // end PfCand_nHad, is_innner=true
0380 
0381     };  // end scalingParamsMap_v2p1
0382 
0383     const std::map<std::pair<FeatureT, bool>, ScalingParams> scalingParamsMap_v2p5 = {
0384         {std::make_pair(FeatureT::TauFlat, false),
0385          {
0386              // mean_
0387              {25.0,       510.0,      0.0,
0388               0.5762,     1.967,      0,
0389               1,          0,          14.32,
0390               0,          2.213,      11.36,
0391               0,          0,          0,
0392               1.202,      22.17,      0,
0393               0.002281,   2.392,      0,
0394               0.00318,    2.991,      3.212e-05,
0395               0,          16.75,      -0.0008515,
0396               -0.0001629, -0.0007875, -5.564,
0397               0.5,        0.5,        0.007766,
0398               0.5,        1.672,      0,
0399               0.5,        0,          1.5707963267948966,
0400               2.256,      0.0,        0,
0401               0.0002029},
0402 
0403              // std_
0404              {25.0,     490.0, 2.3,
0405               0.5293,   1.133, 1,
0406               1,        1,     44.8,
0407               1,        6.783, 48.09,
0408               1,        1,     1,
0409               3.739,    13.68, 1,
0410               0.009705, 4.187, 1,
0411               0.01452,  4.527, 0.4518,
0412               1,        191.7, 0.4016,
0413               0.4041,   1.157, 8.72,
0414               0.5,      0.5,   0.01834,
0415               0.5,      5.058, 1,
0416               0.5,      1,     1.5707963267948966,
0417               2.943,    1.0,   1,
0418               0.03612},
0419 
0420              // lim_min_
0421              {-1.0, -1.0, -1.0, -5,   -5, -inf, -inf, -inf, -5,   -inf, -5,   -5,   -inf, -inf, -inf,
0422               -5,   -5,   -inf, -5,   -5, -inf, -5,   -5,   -5,   -inf, -5,   -5,   -5,   -5,   -5,
0423               -1.0, -1.0, -5,   -1.0, -5, -inf, -1.0, -inf, -1.0, -5,   -1.0, -inf, -5},
0424 
0425              // lim_max_
0426              {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,
0427               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},
0428          }},  // end TauFlat
0429 
0430         {std::make_pair(FeatureT::GridGlobal, false),
0431          {
0432              // mean_
0433              {
0434                  25.0,
0435                  510.0,
0436                  0.0,
0437                  0,
0438              },
0439              // std_
0440              {
0441                  25.0,
0442                  490.0,
0443                  2.3,
0444                  1,
0445              },
0446              // lim_min_
0447              {-1.0, -1.0, -1.0, -inf},
0448              // lim_max_
0449              {1.0, 1.0, 1.0, inf},
0450          }},  // end GridGlobal
0451 
0452         {std::make_pair(FeatureT::PfCand_electron, false),
0453          {// mean_
0454           {0,       0.3457,   0.0,       0.0,       0, 0,        0,     0,        5.0,   -0.0008022, -2.653e-05,
0455            0.00382, 0.002371, 0.0003833, 0.0004431, 0, 0.000397, 3.409, 0.003507, 169.6, 4.561,      12.6},
0456 
0457           // std_
0458           {1,     1.164,  0.5,    0.5,   1, 1,      1,     1,   5.0,   0.4081, 0.4056,
0459            3.329, 0.6623, 0.6648, 3.548, 1, 0.5572, 16.07, 3.3, 486.1, 14.8,   3.729},
0460 
0461           // lim_min_
0462           {-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},
0463 
0464           // lim_max_
0465           {inf, 5, 1.0, 1.0, inf, inf, inf, inf, 1.0, 5, 5,
0466            5,   5, 5,   5,   inf, 5,   5,   5,   5,   5, 5}}},  // end PfCand_electron, is_inner=false
0467 
0468         {std::make_pair(FeatureT::PfCand_electron, true),
0469          {// mean_
0470           {0,         0.9558,    0.0,       0.0,       0, 0,         0,     0,         5.0,   -2.888e-06, 7.215e-06,
0471            0.0002156, 0.0002385, 6.221e-05, 0.0003546, 0, 3.333e-05, 1.412, 0.0002181, 21.72, 2.387,      14.73},
0472 
0473           // std_
0474           {1,      0.2323, 0.1,    0.1,   1, 1,       1,     1,      5.0,   0.03703, 0.03682,
0475            0.5552, 0.1855, 0.1867, 0.749, 1, 0.05183, 3.111, 0.5551, 230.5, 8.818,   3.125},
0476 
0477           // lim_min_
0478           {-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},
0479 
0480           // lim_max_
0481           {inf, 5, 1.0, 1.0, inf, inf, inf, inf, 1.0, 5, 5,
0482            5,   5, 5,   5,   inf, 5,   5,   5,   5,   5, 5}}},  // end PfCand_electron, is_inner=true
0483 
0484         {std::make_pair(FeatureT::PfCand_gamma, false),
0485          {
0486              // mean
0487              {0,         0.02024,  0.0,       0.0,      0, 0,        0,    0,       0,     3.5,   2.364e-08, -1.355e-07,
0488               5.947e-07, 0.001155, -3.88e-05, 0.001081, 0, 0.003532, 4.09, 0.02207, 175.0, 4.798, 12.18},
0489 
0490              // std
0491              {1,       0.1801, 0.5,    0.5,   1, 1,     1,     1,     1,     3.5,   0.003674, 0.00371,
0492               0.02345, 0.4628, 0.4667, 1.057, 1, 1.006, 11.45, 4.517, 546.1, 16.85, 4.741},
0493 
0494              // lim_min
0495              {-inf, -5, -1.0, -1.0, -inf, -inf, -inf, -inf, -inf, -1.0, -5, -5,
0496               -5,   -5, -5,   -5,   -inf, -5,   -5,   -5,   -5,   -5,   -5},
0497 
0498              // lim_max
0499              {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},
0500 
0501          }},  // end PfCand_gamma, is_inner=false
0502 
0503         {std::make_pair(FeatureT::PfCand_gamma, true),
0504          {
0505              // mean
0506              {0, 0.2681,     0.0,        0.0,       0,        0,         0,          0,
0507               0, 3.5,        -6.701e-06, 4.799e-06, 3.08e-05, 0.0009319, -0.0001133, 0.0007838,
0508               0, -0.0003009, 3.826,      0.01115,   114.2,    4.218,     12.27},
0509 
0510              // std
0511              {1,      0.5467, 0.1,    0.1,   1, 1,     1,     1,     1,     3.5,   0.02348, 0.02357,
0512               0.2203, 0.4899, 0.4941, 1.284, 1, 0.633, 20.83, 4.191, 439.3, 15.84, 4.562},
0513 
0514              // lim_min
0515              {-inf, -5, -1.0, -1.0, -inf, -inf, -inf, -inf, -inf, -1.0, -5, -5,
0516               -5,   -5, -5,   -5,   -inf, -5,   -5,   -5,   -5,   -5,   -5},
0517 
0518              // lim_max
0519              {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},
0520 
0521          }},  // end PfCand_gamma, is_inner=true
0522 
0523         {std::make_pair(FeatureT::Electron, false),
0524          {
0525              // mean
0526              {0,          0.3827,     0.0,        0.0,       0,         1.37,  0.3215, 1.793,    1.093, 1.093,
0527               1.013,      1.013,      1.063,      1.445,     13.07,     3.797, 2.624,  5.68,     2.231, -0.0001921,
0528               -0.0009969, -0.0008593, -0.0008999, -0.001147, -0.001182, 0,     0,      0.001218, 31.5,  0.05644,
0529               6.344,      14.65,      1.917,      6.866,     0,         1.862, 12.15},
0530 
0531              // std
0532              {1,     1.272,   0.5,   0.5,    1,     8.381, 0.5275, 2.419,  82.69,  82.69,  673.8,  673.8,  5.614,
0533               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,
0534               1,     0.00775, 82.72, 0.2343, 292.7, 3.103, 229.2,  5.051,  1,      5.64,   5.557},
0535 
0536              // lim_min
0537              {-inf, -5, -1.0, -1.0, -inf, -5, -5,   -5,   -5, -5, -5, -5, -5, -5, -5, -5,   -5, -5, -5,
0538               -5,   -5, -5,   -5,   -5,   -5, -inf, -inf, -5, -5, -5, -5, -5, -5, -5, -inf, -5, -5},
0539 
0540              // lim_max
0541              {inf, 5, 1.0, 1.0, inf, 5, 5,   5,   5, 5, 5, 5, 5, 5, 5, 5,   5, 5, 5,
0542               5,   5, 5,   5,   5,   5, inf, inf, 5, 5, 5, 5, 5, 5, 5, inf, 5, 5},
0543          }},  // end Electron, is_inner=false
0544 
0545         {std::make_pair(FeatureT::Electron, true),
0546          {
0547              // mean
0548              {0,          0.9372,    0.0,       0.0,       0,         1.654, 0.1878, 2.055,    2.593, 2.593,
0549               1.006,      1.006,     1.749,     2.0,       59.55,     1.748, 1.404,  5.054,    3.078, -4.413e-06,
0550               -1.477e-05, 9.209e-07, 0.0001262, 8.781e-05, 0.0003861, 0,     0,      0.000632, 15.88, 0.005635,
0551               3.163,      16.15,     1.669,     5.276,     0,         2.813, 14.46},
0552 
0553              // std
0554              {1,     0.4817,   0.1,   0.1,     1,     1.104, 0.3595, 2.141,   1183.0,  1183.0,  233.5,   233.5,   88.75,
0555               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,
0556               1,     0.004139, 50.36, 0.05148, 15.01, 2.752, 431.6,  2.463,   1,       8.186,   5.149},
0557 
0558              // lim_min
0559              {-inf, -5, -1.0, -1.0, -inf, -5, -5,   -5,   -5, -5, -5, -5, -5, -5, -5, -5,   -5, -5, -5,
0560               -5,   -5, -5,   -5,   -5,   -5, -inf, -inf, -5, -5, -5, -5, -5, -5, -5, -inf, -5, -5},
0561 
0562              // lim_max
0563              {inf, 5, 1.0, 1.0, inf, 5, 5,   5,   5, 5, 5, 5, 5, 5, 5, 5,   5, 5, 5,
0564               5,   5, 5,   5,   5,   5, inf, inf, 5, 5, 5, 5, 5, 5, 5, inf, 5, 5},
0565          }},  // end Electron, is_inner=true
0566 
0567         {std::make_pair(FeatureT::PfCand_muon, false),
0568          {
0569              // mean
0570              {0, 0.142,     0.0,        0.0,        0,        0,        0,          0,
0571               0, 5.5,       -9.307e-05, -0.0008956, -0.01717, 0.001419, -0.0001845, -0.01638,
0572               0, -0.008642, 10.87,      -0.01718,   296.6,    0.7838,   17.99},
0573 
0574              // std
0575              {1,     0.618, 0.5,   0.5,   1, 1,     1,     1,     1,     5.5,   1.123, 1.108,
0576               6.913, 1.229, 1.216, 7.147, 1, 1.578, 58.34, 6.915, 515.9, 2.933, 6.317},
0577 
0578              // lim_min
0579              {-inf, -5, -1.0, -1.0, -inf, -inf, -inf, -inf, -inf, -1.0, -5, -5,
0580               -5,   -5, -5,   -5,   -inf, -5,   -5,   -5,   -5,   -5,   -5},
0581 
0582              // lim_max
0583              {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},
0584 
0585          }},  // end PfCand_muon, is_inner=false
0586 
0587         {std::make_pair(FeatureT::PfCand_muon, true),
0588          {
0589              // mean
0590              {0, 0.9561,     0.0,        0.0,       0,         0,         0,          0,
0591               0, 5.5,        -9.493e-06, 2.109e-06, -0.005042, 0.0001233, -1.605e-06, -0.004842,
0592               0, -2.842e-05, 1.391,      -0.005043, 10.48,     0.5868,    17.11},
0593 
0594              // std
0595              {1,      0.1959, 0.1,    0.1,    1, 1,      1,     1,      1,     5.5,   0.0752, 0.07712,
0596               0.8103, 0.2137, 0.2138, 0.9617, 1, 0.1077, 7.796, 0.8103, 155.9, 1.003, 4.29},
0597 
0598              // lim_min
0599              {-inf, -5, -1.0, -1.0, -inf, -inf, -inf, -inf, -inf, -1.0, -5, -5,
0600               -5,   -5, -5,   -5,   -inf, -5,   -5,   -5,   -5,   -5,   -5},
0601 
0602              // lim_max
0603              {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},
0604 
0605          }},  // end PfCand_muon, is_inner=true
0606 
0607         {std::make_pair(FeatureT::Muon, false),
0608          {
0609              // mean
0610              {0,   0.3645, 0.0, 0.0,  0.00344, 17.54, 0,   24.78, 17.92, 0,   0,   0,   0.3221,
0611               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,
0612               6.0, 6.0,    4.0, 12.0, 6.0,     6.0,   6.0, 2.0,   2.0,   1.0, 1.0},
0613 
0614              // std
0615              {1,   85.0, 0.5, 0.5,  1.557, 97.45, 1,   2022.0, 6.573, 1,   1,   1,   0.6166,
0616               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,
0617               6.0, 6.0,  4.0, 12.0, 6.0,   6.0,   6.0, 2.0,    2.0,   1.0, 1.0},
0618 
0619              // lim_min
0620              {-inf, -5,   -1.0, -1.0, -5,   -5,   -inf, -5,   -5,   -inf, -inf, -inf, -5,
0621               -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,
0622               -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0},
0623 
0624              // lim_max
0625              {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,
0626               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},
0627 
0628          }},  // end Muon, is_inner=false
0629 
0630         {std::make_pair(FeatureT::Muon, true),
0631          {
0632              // mean
0633              {0,   1.033, 0.0, 0.0,  0.001217, 5.403, 0,   7.2, 18.58, 0,   0,   0,   0.09762,
0634               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,
0635               6.0, 6.0,   4.0, 12.0, 6.0,      6.0,   6.0, 2.0, 2.0,   1.0, 1.0},
0636 
0637              // std
0638              {1,   65.51, 0.1, 0.1,  0.2033, 36.07, 1,   263.3, 5.019, 1,   1,   1,   0.3956,
0639               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,
0640               6.0, 6.0,   4.0, 12.0, 6.0,    6.0,   6.0, 2.0,   2.0,   1.0, 1.0},
0641 
0642              // lim_min
0643              {-inf, -5,   -1.0, -1.0, -5,   -5,   -inf, -5,   -5,   -inf, -inf, -inf, -5,
0644               -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,
0645               -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0},
0646 
0647              // lim_max
0648              {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,
0649               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},
0650 
0651          }},  // end Muon, is_inner=true
0652 
0653         {std::make_pair(FeatureT::PfCand_chHad, false),
0654          {
0655              // mean
0656              {0, 0.02191,  0.0,  0.0,      0,         0,         0,        0,         0,
0657               0, 0,        6.0,  0.00106,  -0.001523, -0.008181, 0.004498, 4.287e-06, -0.007022,
0658               0, -0.01495, 6.04, -0.01381, 323.5,     0.753,     13.6,     0,         1.3},
0659 
0660              // std
0661              {1,     0.08964, 0.5,   0.5,   1, 1,     1,     1,     1,     1,     1,     6.0, 1.732, 1.741,
0662               8.372, 1.783,   1.792, 8.447, 1, 2.481, 33.16, 8.026, 443.9, 3.439, 6.624, 1,   1.3},
0663 
0664              // lim_min
0665              {-inf, -5, -1.0, -1.0, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -1.0, -5,  -5,
0666               -5,   -5, -5,   -5,   -inf, -5,   -5,   -5,   -5,   -5,   -5,   -inf, -1.0},
0667 
0668              // lim_max
0669              {inf, 5, 1.0, 1.0, inf, inf, inf, inf, inf, inf, inf, 1.0, 5,  5,
0670               5,   5, 5,   5,   inf, 5,   5,   5,   5,   5,   5,   inf, 1.0},
0671          }},  // end PfCand_chHad, is_inner=false
0672 
0673         {std::make_pair(FeatureT::PfCand_chHad, true),
0674          {
0675              // mean
0676              {0, 0.2482,    0.0,  0.0,       0,          0,         0,        0,        0,
0677               0, 0,         6.0,  0.0003524, -0.0003693, -0.002133, 0.003532, 0.000612, -0.0003197,
0678               0, -0.001701, 4.04, -0.002282, 61.12,      0.9004,    14.73,    0,        1.3},
0679 
0680              // std
0681              {1,     0.3601, 0.1,   0.1,   1, 1,     1,     1,     1,     1,    1,     6.0, 0.8533, 0.8569,
0682               4.132, 1.033,  1.039, 4.436, 1, 1.001, 16.62, 3.254, 244.4, 4.37, 5.599, 1,   1.3},
0683 
0684              // lim_min
0685              {-inf, -5, -1.0, -1.0, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -1.0, -5,  -5,
0686               -5,   -5, -5,   -5,   -inf, -5,   -5,   -5,   -5,   -5,   -5,   -inf, -1.0},
0687 
0688              // lim_max
0689              {inf, 5, 1.0, 1.0, inf, inf, inf, inf, inf, inf, inf, 1.0, 5,  5,
0690               5,   5, 5,   5,   inf, 5,   5,   5,   5,   5,   5,   inf, 1.0},
0691          }},  // end PfCand_chHad, is_inner=true
0692 
0693         {std::make_pair(FeatureT::PfCand_nHad, false),
0694          {
0695              // mean
0696              {0, 0.05398, 0.0, 0.0, 0, 0, 0},
0697 
0698              // std
0699              {1, 0.2929, 0.5, 0.5, 1, 1, 1},
0700 
0701              // lim_min
0702              {-inf, -5, -1.0, -1.0, -inf, -inf, -inf},
0703 
0704              // lim_max
0705              {inf, 5, 1.0, 1.0, inf, inf, inf},
0706 
0707          }},  // end PfCand_nHad, is_inner=false
0708 
0709         {std::make_pair(FeatureT::PfCand_nHad, true),
0710          {
0711              // mean
0712              {0, 0.2553, 0.0, 0.0, 0, 0, 0},
0713 
0714              // std
0715              {1, 0.2687, 0.1, 0.1, 1, 1, 1},
0716 
0717              // lim_min
0718              {-inf, -5, -1.0, -1.0, -inf, -inf, -inf},
0719 
0720              // lim_max
0721              {inf, 5, 1.0, 1.0, inf, inf, inf},
0722 
0723          }},  // end PfCand_nHad, is_inner=true
0724 
0725     };  // end scalingParamsMap_v2p5
0726 
0727     const std::map<std::pair<FeatureT, bool>, ScalingParams> scalingParamsMap_PhaseIIv2p5 = {
0728         {std::make_pair(FeatureT::TauFlat, false),
0729          {
0730              // mean_
0731              {100.0,      510.0,     0.0,
0732               0.5718,     2.181,     0,
0733               1,          0,         14.32,
0734               0,          2.243,     12.67,
0735               0,          0,         0,
0736               0.4827,     101.3,     0,
0737               0.001571,   3.935,     0,
0738               0.002075,   4.328,     0.001592,
0739               0,          93.74,     0.0003602,
0740               -1.718e-05, -0.001134, -2.712,
0741               0.5,        0.5,       0.007457,
0742               0.5,        1.072,     0,
0743               0.5,        0,         1.5707963267948966,
0744               4.13,       0.0,       0,
0745               -0.0008631},
0746 
0747              // std_
0748              {100.0,    490.0,  3.0,
0749               0.5081,   1.593,  1,
0750               1,        1,      41.7,
0751               1,        6.779,  39.88,
0752               1,        1,      1,
0753               2.298,    32.93,  1,
0754               0.008156, 8.897,  1,
0755               0.01112,  8.502,  0.8673,
0756               1,        862.9,  0.3587,
0757               0.3585,   1.599,  19.88,
0758               0.5,      0.5,    0.01698,
0759               0.5,      0.5388, 1,
0760               0.5,      1,      1.5707963267948966,
0761               3.313,    1.0,    1,
0762               0.9046},
0763 
0764              // lim_min_
0765              {-1.0, -1.0, -1.0, -5,   -5, -inf, -inf, -inf, -5,   -inf, -5,   -5,   -inf, -inf, -inf,
0766               -5,   -5,   -inf, -5,   -5, -inf, -5,   -5,   -5,   -inf, -5,   -5,   -5,   -5,   -5,
0767               -1.0, -1.0, -5,   -1.0, -5, -inf, -1.0, -inf, -1.0, -5,   -1.0, -inf, -5},
0768 
0769              // lim_max_
0770              {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,
0771               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},
0772          }},  // end TauFlat
0773 
0774         {std::make_pair(FeatureT::GridGlobal, false),
0775          {
0776              // mean_
0777              {100.0, 510.0, 0.0, 0},
0778              // std_
0779              {100.0, 490.0, 3.0, 1},
0780              // lim_min_
0781              {-1.0, -1.0, -1.0, -inf},
0782              // lim_max_
0783              {1.0, 1.0, 1.0, inf},
0784          }},  // end GridGlobal
0785 
0786         {std::make_pair(FeatureT::PfCand_electron, false),
0787          {
0788              // mean_
0789              {0,        0.1106,    0.0,        0.0,      0, 0,         0,     0,       7.5,   -0.000121, 5.664e-06,
0790               0.002146, -0.001255, -0.0001182, 0.003788, 0, 0.0008399, 6.696, 0.02434, 827.1, 2.902,     11.96},
0791 
0792              // std_
0793              {1,     1.069,  0.5,    0.5,   1, 1,       1,     1,     7.5,    0.11,  0.1115,
0794               5.572, 0.4267, 0.4208, 6.163, 1, 0.09652, 10.57, 5.509, 1507.0, 11.02, 6.747},
0795 
0796              // lim_min_
0797              {-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},
0798 
0799              // lim_max_
0800              {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},
0801          }},  // end PfCand_electron, is_inner=false
0802 
0803         {std::make_pair(FeatureT::PfCand_electron, true),
0804          {
0805              // mean_
0806              {0,        0.8424,     0.0,      0.0,      0, 0,         0,     0,        7.5,   -1.594e-05, -1.615e-05,
0807               0.001503, -0.0001738, -0.00201, 0.008298, 0, 3.245e-05, 2.908, 0.001685, 105.5, 1.305,      11.81},
0808 
0809              // std_
0810              {1,     0.6145, 0.1,    0.1,   1, 1,       1,     1,     7.5,   0.01716, 0.01745,
0811               1.209, 0.5551, 0.5364, 3.608, 1, 0.02022, 6.137, 1.189, 877.8, 5.948,   6.481},
0812 
0813              // lim_min_
0814              {-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},
0815 
0816              // lim_max_
0817              {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},
0818          }},  // end PfCand_electron, is_inner=true
0819 
0820         {std::make_pair(FeatureT::PfCand_gamma, false),
0821          {
0822              // mean
0823              {0,          0.01285,    0.0,      0.0,      0, 0,        0,    0,     0,      3.5,  4.308e-06, 1.919e-06,
0824               -0.0005881, -0.0009704, 0.000131, 0.001519, 0, 0.007348, 12.2, 4.698, 3080.0, 32.8, 5.8},
0825 
0826              // std
0827              {1,      0.07524, 0.5,    0.5,   1, 1,       1,     1,     1,      3.5,   0.003429, 0.003318,
0828               0.5228, 0.4157,  0.4125, 2.441, 1, 0.03917, 8.802, 5.297, 4449.0, 38.05, 1.6},
0829 
0830              // lim_min
0831              {-inf, -5, -1.0, -1.0, -inf, -inf, -inf, -inf, -inf, -1.0, -5, -5,
0832               -5,   -5, -5,   -5,   -inf, -5,   -5,   -5,   -5,   -5,   -5},
0833 
0834              // lim_max
0835              {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},
0836 
0837          }},  // end PfCand_gamma, is_inner=false
0838 
0839         {std::make_pair(FeatureT::PfCand_gamma, true),
0840          {
0841              // mean
0842              {0, 0.1594,   0.0,       0.0,        0,         0,          0,          0,
0843               0, 3.5,      1.295e-05, -8.435e-06, -0.001344, -0.0006508, -0.0004855, 0.004292,
0844               0, 0.001246, 7.58,      -0.4247,    1903.0,    18.11,      7.873},
0845 
0846              // std
0847              {1,      0.4276, 0.1,   0.1,   1, 1,       1,    1,     1,      3.5,   0.004268, 0.003182,
0848               0.6095, 0.3957, 0.394, 2.006, 1, 0.02973, 10.0, 6.273, 3515.0, 39.42, 1.51},
0849 
0850              // lim_min
0851              {-inf, -5, -1.0, -1.0, -inf, -inf, -inf, -inf, -inf, -1.0, -5, -5,
0852               -5,   -5, -5,   -5,   -inf, -5,   -5,   -5,   -5,   -5,   -5},
0853 
0854              // lim_max
0855              {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},
0856 
0857          }},  // end PfCand_gamma, is_inner=true
0858 
0859         {std::make_pair(FeatureT::Electron, false),
0860          {
0861              // mean
0862              {0,          0.3915,     0.0,       0.0,        0,          0.978, 0.4455, 1.803,     2.508, 2.508,
0863               1.726,      1.726,      1.957,     2.223,      10.34,      2.985, 1.6,    1.761,     1.041, 0.0001027,
0864               -0.0002442, -0.0002209, 5.576e-05, -0.0004276, -0.0004178, 0,     0,      0.0002244, 3.137, 0.01031,
0865               52.28,      8.907,      2.1,       7.053,      0,          1.288, 15.6},
0866 
0867              // std
0868              {1,     1.379,    0.5,   0.5,    1,      2.605, 0.6392,  2.079,   102.2,  102.2,   99.4,  99.4,   41.23,
0869               1.889, 12.54,    10.94, 9.838,  4.864,  2.771, 0.04308, 0.04422, 0.0429, 0.06296, 0.133, 0.1179, 1,
0870               1,     0.001352, 13.06, 0.0315, 1867.0, 1.421, 77.27,   6.956,   1,      1.081,   6.592},
0871 
0872              // lim_min
0873              {-inf, -5, -1.0, -1.0, -inf, -5, -5,   -5,   -5, -5, -5, -5, -5, -5, -5, -5,   -5, -5, -5,
0874               -5,   -5, -5,   -5,   -5,   -5, -inf, -inf, -5, -5, -5, -5, -5, -5, -5, -inf, -5, -5},
0875 
0876              // lim_max
0877              {inf, 5, 1.0, 1.0, inf, 5, 5,   5,   5, 5, 5, 5, 5, 5, 5, 5,   5, 5, 5,
0878               5,   5, 5,   5,   5,   5, inf, inf, 5, 5, 5, 5, 5, 5, 5, inf, 5, 5},
0879          }},  // end Electron, is_inner=false
0880 
0881         {std::make_pair(FeatureT::Electron, true),
0882          {
0883              // mean
0884              {0,          1.005,      0.0,       0.0,       0,         1.219, 0.1747, 2.046,     2.11,  2.11,
0885               1.784,      1.784,      2.07,      2.439,     45.29,     2.077, 1.602,  2.207,     1.535, 6.492e-06,
0886               -3.824e-06, -5.448e-06, 4.593e-05, 9.523e-05, 4.193e-05, 0,     0,      0.0002632, 2.268, 0.003118,
0887               4.976,      9.803,      1.455,     6.346,     0,         1.241, 15.65},
0888 
0889              // std
0890              {1,       1.014,   0.1,     0.1,     1,      0.5406, 0.3296, 1.92,     20.89, 20.89,
0891               23.88,   23.88,   5.072,   1.783,   39.63,  3.758,  3.153,  4.36,     2.753, 0.01403,
0892               0.01394, 0.01382, 0.02341, 0.04605, 0.0464, 1,      1,      0.001201, 10.6,  0.004481,
0893               35.88,   1.185,   36.29,   3.076,   1,      0.726,  5.13},
0894 
0895              // lim_min
0896              {-inf, -5, -1.0, -1.0, -inf, -5, -5,   -5,   -5, -5, -5, -5, -5, -5, -5, -5,   -5, -5, -5,
0897               -5,   -5, -5,   -5,   -5,   -5, -inf, -inf, -5, -5, -5, -5, -5, -5, -5, -inf, -5, -5},
0898 
0899              // lim_max
0900              {inf, 5, 1.0, 1.0, inf, 5, 5,   5,   5, 5, 5, 5, 5, 5, 5, 5,   5, 5, 5,
0901               5,   5, 5,   5,   5,   5, inf, inf, 5, 5, 5, 5, 5, 5, 5, inf, 5, 5},
0902          }},  // end Electron, is_inner=true
0903 
0904         {std::make_pair(FeatureT::PfCand_muon, false),
0905          {
0906              // mean
0907              {0, 0.06569,    0.0,        0.0,        0,      0,         0,         0,
0908               0, 5.5,        -7.842e-05, -0.0001811, 0.0152, 1.847e-05, -0.002452, 0.01452,
0909               0, -0.0003077, 4.264,      0.01624,    652.1,  0.8343,    21.51},
0910 
0911              // std
0912              {1,     0.8174, 0.5,    0.5,   1, 1,      1,     1,     1,     5.5,    0.06539, 0.06323,
0913               6.064, 0.4649, 0.4612, 6.464, 1, 0.0908, 25.46, 6.063, 832.1, 0.8017, 5.72},
0914 
0915              // lim_min
0916              {-inf, -5, -1.0, -1.0, -inf, -inf, -inf, -inf, -inf, -1.0, -5, -5,
0917               -5,   -5, -5,   -5,   -inf, -5,   -5,   -5,   -5,   -5,   -5},
0918 
0919              // lim_max
0920              {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},
0921 
0922          }},  // end PfCand_muon, is_inner=false
0923 
0924         {std::make_pair(FeatureT::PfCand_muon, true),
0925          {
0926              // mean
0927              {0, 0.9535,    0.0,        0.0,        0,         0,          0,         0,
0928               0, 5.5,       -3.664e-05, 1.199e-05,  -0.001638, -0.0003709, 0.0004101, -0.0002903,
0929               0, 4.724e-05, 2.692,      -0.0007676, 69.4,      0.4363,     18.07},
0930 
0931              // std
0932              {1,     0.6853, 0.1,    0.1,   1, 1,       1,    1,     1,     5.5,    0.02, 0.02026,
0933               1.248, 0.188,  0.1894, 1.374, 1, 0.02816, 17.5, 1.248, 742.1, 0.6667, 4.928},
0934 
0935              // lim_min
0936              {-inf, -5, -1.0, -1.0, -inf, -inf, -inf, -inf, -inf, -1.0, -5, -5,
0937               -5,   -5, -5,   -5,   -inf, -5,   -5,   -5,   -5,   -5,   -5},
0938 
0939              // lim_max
0940              {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},
0941 
0942          }},  // end PfCand_muon, is_inner=true
0943 
0944         {std::make_pair(FeatureT::Muon, false),
0945          {
0946              // mean
0947              {0,   0.1419, 0.0, 0.0,  -7.344e-05, 7.819, 0,   35.42, 17.91, 0,   0,   0,   0.05448,
0948               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,
0949               6.0, 6.0,    4.0, 12.0, 6.0,        6.0,   6.0, 2.0,   2.0,   1.0, 1.0},
0950 
0951              // std
0952              {1,   5.958, 0.5, 0.5,  0.1345, 49.28, 1,   274.6, 5.823, 1,   1,   1,   0.2388,
0953               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,
0954               6.0, 6.0,   4.0, 12.0, 6.0,    6.0,   6.0, 2.0,   2.0,   1.0, 1.0},
0955 
0956              // lim_min
0957              {-inf, -5,   -1.0, -1.0, -5,   -5,   -inf, -5,   -5,   -inf, -inf, -inf, -5,
0958               -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,
0959               -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0},
0960 
0961              // lim_max
0962              {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,
0963               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},
0964 
0965          }},  // end Muon, is_inner=false
0966 
0967         {std::make_pair(FeatureT::Muon, true),
0968          {
0969              // mean
0970              {0,   1.153, 0.0, 0.0,  -1.624e-05, 21.24, 0,   15.0, 18.63, 0,   0,   0,   0.05187,
0971               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,
0972               6.0, 6.0,   4.0, 12.0, 6.0,        6.0,   6.0, 2.0,  2.0,   1.0, 1.0},
0973 
0974              // std
0975              {1,   35.54, 0.1, 0.1,  0.16, 105.2, 1,   269.2, 4.874, 1,   1,   1,   0.2431,
0976               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,
0977               6.0, 6.0,   4.0, 12.0, 6.0,  6.0,   6.0, 2.0,   2.0,   1.0, 1.0},
0978 
0979              // lim_min
0980              {-inf, -5,   -1.0, -1.0, -5,   -5,   -inf, -5,   -5,   -inf, -inf, -inf, -5,
0981               -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,
0982               -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0},
0983 
0984              // lim_max
0985              {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,
0986               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},
0987 
0988          }},  // end Muon, is_inner=true
0989 
0990         {std::make_pair(FeatureT::PfCand_chHad, false),
0991          {
0992              // mean
0993              {0, 0.02063,   0.0,   0.0,       0,         0,       0,          0,          0,
0994               0, 0,         6.0,   7.994e-06, 1.326e-05, 0.00378, -0.0005101, -2.036e-05, 0.004647,
0995               0, 0.0002569, 1.772, 0.004969,  695.1,     0.6393,  15.17,      0,          1.3},
0996 
0997              // std
0998              {1,     0.06009, 0.5,    0.5,   1, 1,       1,     1,     1,     1,      1,     6.0, 0.04616, 0.04631,
0999               5.925, 0.3523,  0.3541, 6.099, 1, 0.04398, 5.968, 5.843, 756.6, 0.8879, 6.185, 1,   1.3},
1000 
1001              // lim_min
1002              {-inf, -5, -1.0, -1.0, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -1.0, -5,  -5,
1003               -5,   -5, -5,   -5,   -inf, -5,   -5,   -5,   -5,   -5,   -5,   -inf, -1.0},
1004 
1005              // lim_max
1006              {inf, 5, 1.0, 1.0, inf, inf, inf, inf, inf, inf, inf, 1.0, 5,  5,
1007               5,   5, 5,   5,   inf, 5,   5,   5,   5,   5,   5,   inf, 1.0},
1008          }},  // end PfCand_chHad, is_inner=false
1009 
1010         {std::make_pair(FeatureT::PfCand_chHad, true),
1011          {
1012              // mean
1013              {0, 0.1902,    0.0,   0.0,       0,         0,        0,          0,         0,
1014               0, 0,         6.0,   -3.22e-05, 1.892e-05, 0.001798, -0.0005992, 0.0003633, 0.004573,
1015               0, 8.158e-05, 4.518, 0.006913,  287.4,     0.5699,   16.18,      0,         1.3},
1016 
1017              // std
1018              {1,     0.3578, 0.1,    0.1,   1, 1,       1,    1,     1,     1,      1,     6.0, 0.0326, 0.03277,
1019               4.021, 0.413,  0.4153, 4.324, 1, 0.03025, 11.8, 3.547, 728.6, 0.8056, 5.736, 1,   1.3},
1020 
1021              // lim_min
1022              {-inf, -5, -1.0, -1.0, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -1.0, -5,  -5,
1023               -5,   -5, -5,   -5,   -inf, -5,   -5,   -5,   -5,   -5,   -5,   -inf, -1.0},
1024 
1025              // lim_max
1026              {inf, 5, 1.0, 1.0, inf, inf, inf, inf, inf, inf, inf, 1.0, 5,  5,
1027               5,   5, 5,   5,   inf, 5,   5,   5,   5,   5,   5,   inf, 1.0},
1028          }},  // end PfCand_chHad, is_inner=true
1029 
1030         {std::make_pair(FeatureT::PfCand_nHad, false),
1031          {
1032              // mean
1033              {0, 0.01414, 0.0, 0.0, 0, 0, 0},
1034 
1035              // std
1036              {1, 0.05509, 0.5, 0.5, 1, 1, 1},
1037 
1038              // lim_min
1039              {-inf, -5, -1.0, -1.0, -inf, -inf, -inf},
1040 
1041              // lim_max
1042              {inf, 5, 1.0, 1.0, inf, inf, inf},
1043 
1044          }},  // end PfCand_nHad, is_inner=false
1045 
1046         {std::make_pair(FeatureT::PfCand_nHad, true),
1047          {
1048              // mean
1049              {0, 0.1149, 0.0, 0.0, 0, 0, 0},
1050 
1051              // std
1052              {1, 0.2151, 0.1, 0.1, 1, 1, 1},
1053 
1054              // lim_min
1055              {-inf, -5, -1.0, -1.0, -inf, -inf, -inf},
1056 
1057              // lim_max
1058              {inf, 5, 1.0, 1.0, inf, inf, inf},
1059 
1060          }},  // end PfCand_nHad, is_inner=true
1061 
1062     };  // end scalingParamsMap_PhaseIIv2p5
1063 
1064   };  // namespace Scaling
1065 };    // namespace deep_tau
1066 
1067 #endif