Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-10-16 05:06:36

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     // Scaling parameters added for BoostedDeepTau v2p0 IDs for boostedTaus
0728     const std::map<std::pair<FeatureT, bool>, ScalingParams> scalingParamsMap_BoostedRun2_v2p0 = {
0729         {std::make_pair(FeatureT::TauFlat, false),
0730          {
0731              //mean_GP
0732              {25.0,  510.0,    0.0,      0.622,     1.926, 0,     1,         0,          42.94,         0,
0733               6.999, 42.46,    0,        0,         0,     1.422, 20.69,     0,          0.001955,      2.333,
0734               0,     0.002899, 2.782,    0.0001181, 0,     10.85, -0.001526, -0.0005461, -0.001127,     -5.308,
0735               0.5,   0.5,      0.004013, 0.5,       1.543, 0,     0.5,       0,          1.57079632679, 2.947,
0736               0.0,   0,        0.003125},
0737              //std_GP
0738              {25.0,  490.0,  2.3,   0.6156, 1.089, 1,        1,       1,   100.9,   1,     19.13,  121.6, 1,
0739               1,     1,      6.161, 18.41,  1,     0.009373, 3.935,   1,   0.01412, 3.926, 0.3395, 1,     147.0,
0740               0.817, 0.8158, 1.837, 9.015,  0.5,   0.5,      0.01159, 0.5, 4.234,   1,     0.5,    1,     1.57079632679,
0741               3.66,  1.0,    1,     0.03355},
0742              //lim_min_GP
0743              {-1.0, -1.0, -1.0, -5,   -5, -inf, -inf, -inf, -5,   -inf, -5,   -5,   -inf, -inf, -inf,
0744               -5,   -5,   -inf, -5,   -5, -inf, -5,   -5,   -5,   -inf, -5,   -5,   -5,   -5,   -5,
0745               -1.0, -1.0, -5,   -1.0, -5, -inf, -1.0, -inf, -1.0, -5,   -1.0, -inf, -5},
0746              //lim_max_GP
0747              {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,
0748               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},
0749 
0750          }},  // end TauFlat
0751 
0752         {std::make_pair(FeatureT::GridGlobal, false),
0753          {
0754              //mean_GP
0755              {25.0, 510.0, 0.0, 0},
0756              //std_GP
0757              {25.0, 490.0, 2.3, 1},
0758              //lim_min_GP
0759              {-1.0, -1.0, -1.0, -inf},
0760              //lim_max_GP
0761              {1.0, 1.0, 1.0, inf},
0762          }},  // end GridGlobal
0763 
0764         {std::make_pair(FeatureT::PfCand_electron, false),
0765          {
0766              //mean_GP
0767              {0,       0.5296,   0.0,      0.0,     0, 0,         0,     0,       5.0,   -0.0004758, 0.0005222,
0768               0.01039, 0.001353, 0.001985, 0.02035, 0, -0.002186, 2.675, 0.01001, 99.29, 4.52,       12.43},
0769              //std_GP
0770              {1,     1.508, 0.5,   0.5,   1, 1,      1,     1,     5.0,   0.3307, 0.326,
0771               2.593, 1.058, 1.075, 3.202, 1, 0.4468, 6.082, 2.571, 378.5, 15.09,  3.515},
0772              //lim_min_GP
0773              {-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},
0774              //lim_max_GP
0775              {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},
0776 
0777          }},  // end PfCand_electron, is_inner=false
0778 
0779         {std::make_pair(FeatureT::PfCand_electron, true),
0780          {
0781              //mean_GP
0782              {0,         0.9756,    0.0,       0.0,       0, 0,         0,     0,         5.0,   2.092e-05, -1.775e-05,
0783               0.0008577, 0.0002263, 5.592e-06, 0.0005022, 0, 1.286e-05, 1.396, 0.0008577, 17.23, 2.443,     14.52},
0784              //std_GP
0785              {1,      0.1756, 0.1,    0.1,    1, 1,       1,     1,      5.0,   0.02507, 0.02448,
0786               0.4693, 0.1855, 0.1991, 0.6996, 1, 0.03483, 3.208, 0.4693, 203.6, 9.155,   3.095},
0787              //lim_min_GP
0788              {-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},
0789              //lim_max_GP
0790              {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},
0791 
0792          }},  // end PfCand_electron, is_inner=true
0793 
0794         {std::make_pair(FeatureT::PfCand_gamma, false),
0795          {
0796              //mean_GP
0797              {0, 0.0188,   0.0,       0.0,       0,          0,        0,         0,
0798               0, 3.5,      5.772e-07, 1.242e-06, -9.272e-07, 0.002195, 0.0008768, 0.002605,
0799               0, -0.01067, 3.456,     -0.01241,  90.32,      3.51,     12.56},
0800              //std_GP
0801              {1,       0.1668, 0.5,    0.5,   1, 1,      1,     1,     1,     3.5,   0.004348, 0.004227,
0802               0.02717, 0.9785, 0.9745, 1.853, 1, 0.7017, 8.255, 3.143, 389.7, 14.66, 4.179},
0803              //lim_min_GP
0804              {-inf, -5, -1.0, -1.0, -inf, -inf, -inf, -inf, -inf, -1.0, -5, -5,
0805               -5,   -5, -5,   -5,   -inf, -5,   -5,   -5,   -5,   -5,   -5},
0806              //lim_max_GP
0807              {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},
0808 
0809          }},  // end PfCand_gamma, is_inner=false
0810 
0811         {std::make_pair(FeatureT::PfCand_gamma, true),
0812          {
0813              //mean_GP
0814              {0, 0.432,     0.0,        0.0,        0,        0,        0,         0,
0815               0, 3.5,       -4.771e-06, -1.346e-05, -5.6e-06, 0.002579, 0.0006076, 0.00243,
0816               0, -0.006341, 3.475,      -0.003692,  81.19,    4.392,    11.97},
0817              //std_GP
0818              {1,      0.6669, 0.1,   0.1,   1, 1,      1,     1,     1,     3.5,   0.01989, 0.01664,
0819               0.1996, 1.074,  1.074, 2.307, 1, 0.6659, 8.764, 5.124, 362.7, 17.24, 4.257},
0820              //lim_min_GP
0821              {-inf, -5, -1.0, -1.0, -inf, -inf, -inf, -inf, -inf, -1.0, -5, -5,
0822               -5,   -5, -5,   -5,   -inf, -5,   -5,   -5,   -5,   -5,   -5},
0823              //lim_max_GP
0824              {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},
0825 
0826          }},  // end PfCand_gamma, is_inner=true
0827 
0828         {std::make_pair(FeatureT::Electron, false),
0829          {
0830              //mean_GP
0831              {0,          0.639,      0.0,       0.0,        0,          1.422, 0.2507, 1.849,     1.22,  1.221,
0832               0.5587,     0.5588,     1.107,     1.51,       28.08,      3.667, 2.723,  6.103,     3.063, -2.107e-05,
0833               -0.0009144, -0.0007777, -0.000229, -0.0006306, -0.0002614, 0,     0,      0.0009277, 25.86, 0.03157,
0834               5.659,      14.69,      5.883,     5.938,      0,          1.92,  12.97},
0835              //std_GP
0836              {1,     1.737,    0.5,   0.5,    1,     4.675, 0.4625,  2.366,   51.67,   51.67,  4.228,  4.228,  4.931,
0837               1.887, 48.65,    19.1,  16.89,  36.95, 21.04, 0.08013, 0.08983, 0.09281, 0.1013, 0.1021, 0.1341, 1,
0838               1,     0.006744, 89.11, 0.1741, 41.99, 2.904, 193.2,   4.225,   1,       5.94,   5.211},
0839              //lim_min_GP
0840              {-inf, -5, -1.0, -1.0, -inf, -5, -5,   -5,   -5, -5, -5, -5, -5, -5, -5, -5,   -5, -5, -5,
0841               -5,   -5, -5,   -5,   -5,   -5, -inf, -inf, -5, -5, -5, -5, -5, -5, -5, -inf, -5, -5},
0842              //lim_max_GP
0843              {inf, 5, 1.0, 1.0, inf, 5, 5,   5,   5, 5, 5, 5, 5, 5, 5, 5,   5, 5, 5,
0844               5,   5, 5,   5,   5,   5, inf, inf, 5, 5, 5, 5, 5, 5, 5, inf, 5, 5},
0845 
0846          }},  // end Electron, is_inner=false
0847 
0848         {std::make_pair(FeatureT::Electron, true),
0849          {
0850              //mean_GP
0851              {0,         1.019,     0.0,       0.0,       0,         1.728, 0.1058, 1.964,    2.415, 2.415,
0852               0.8938,    0.8938,    1.629,     2.017,     74.29,     2.361, 1.963,  6.631,    4.339, 2.437e-05,
0853               6.556e-06, 1.221e-05, 9.284e-05, 8.955e-05, 0.0002721, 0,     0,      0.000552, 19.23, 0.003983,
0854               3.172,     16.12,     3.077,     4.594,     0,         2.347, 15.11},
0855              //std_GP
0856              {1,     0.6477,   0.1,   0.1,     1,     1.09,  0.2543,  2.165,   229.9,   229.9,   28.39,   28.39,  2.592,
0857               1.266, 56.95,    4.558, 3.866,   22.93, 16.01, 0.00759, 0.01344, 0.01435, 0.02339, 0.02578, 0.0431, 1,
0858               1,     0.003065, 65.85, 0.03472, 14.33, 2.669, 100.9,   2.304,   1,       6.815,   4.786},
0859              //lim_min_GP
0860              {-inf, -5, -1.0, -1.0, -inf, -5, -5,   -5,   -5, -5, -5, -5, -5, -5, -5, -5,   -5, -5, -5,
0861               -5,   -5, -5,   -5,   -5,   -5, -inf, -inf, -5, -5, -5, -5, -5, -5, -5, -inf, -5, -5},
0862              //lim_max_GP
0863              {inf, 5, 1.0, 1.0, inf, 5, 5,   5,   5, 5, 5, 5, 5, 5, 5, 5,   5, 5, 5,
0864               5,   5, 5,   5,   5,   5, inf, inf, 5, 5, 5, 5, 5, 5, 5, inf, 5, 5},
0865 
0866          }},  // end Electron, is_inner=true
0867 
0868         {std::make_pair(FeatureT::PfCand_muon, false),
0869          {
0870              //mean_GP
0871              {0,        0.3069,   0.0,      0.0,      0, 0,        0,    0,        0,     5.5,    0.002564, 0.002138,
0872               -0.02319, 0.002726, 0.003231, -0.02213, 0, -0.01843, 12.3, -0.02323, 215.1, 0.9003, 16.24},
0873              //std_GP
0874              {1,     1.105, 0.5,   0.5,   1, 1,     1,     1,     1,     5.5,   1.116, 1.113,
0875               6.667, 1.445, 1.442, 7.106, 1, 1.577, 74.65, 6.672, 464.2, 2.841, 6.138},
0876              //lim_min_GP
0877              {-inf, -5, -1.0, -1.0, -inf, -inf, -inf, -inf, -inf, -1.0, -5, -5,
0878               -5,   -5, -5,   -5,   -inf, -5,   -5,   -5,   -5,   -5,   -5},
0879              //lim_max_GP
0880              {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},
0881 
0882          }},  // end PfCand_muon, is_inner=false
0883 
0884         {std::make_pair(FeatureT::PfCand_muon, true),
0885          {
0886              //mean_GP
0887              {0, 0.9569,     0.0,        0.0,        0,         0,         0,          0,
0888               0, 5.5,        -8.717e-05, -5.207e-05, -0.004623, 0.0002897, -0.0002568, -0.005295,
0889               0, -1.742e-05, 1.37,       -0.004624,  9.428,     0.6257,    16.65},
0890              //std_GP
0891              {1,      0.2011, 0.1,    0.1,   1, 1,      1,     1,      1,     5.5,    0.07502, 0.07406,
0892               0.8187, 0.3524, 0.3537, 1.063, 1, 0.1054, 8.667, 0.8187, 148.1, 0.9767, 4.303},
0893              //lim_min_GP
0894              {-inf, -5, -1.0, -1.0, -inf, -inf, -inf, -inf, -inf, -1.0, -5, -5,
0895               -5,   -5, -5,   -5,   -inf, -5,   -5,   -5,   -5,   -5,   -5},
0896              //lim_max_GP
0897              {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},
0898 
0899          }},  // end PfCand_muon, is_inner=true
0900 
0901         {std::make_pair(FeatureT::Muon, false),
0902          {
0903              //mean_GP
0904              {0,   0.5049, 0.0, 0.0,  0.003816, 15.83, 0,   43.85, 18.36, 0,   0,   0,   0.3329,
0905               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,
0906               6.0, 6.0,    4.0, 12.0, 6.0,      6.0,   6.0, 2.0,   2.0,   1.0, 1.0},
0907              //std_GP
0908              {1,   149.0, 0.5, 0.5,  1.447, 87.94, 1,   465.1, 9.36, 1,   1,   1,   0.5782,
0909               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,
0910               6.0, 6.0,   4.0, 12.0, 6.0,   6.0,   6.0, 2.0,   2.0,  1.0, 1.0},
0911              //lim_min_GP
0912              {-inf, -5,   -1.0, -1.0, -5,   -5,   -inf, -5,   -5,   -inf, -inf, -inf, -5,
0913               -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,
0914               -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0},
0915              //lim_max_GP
0916              {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,
0917               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},
0918 
0919          }},  // end Muon, is_inner=false
0920 
0921         {std::make_pair(FeatureT::Muon, true),
0922          {
0923              //mean_GP
0924              {0,   0.8256, 0.0, 0.0,  0.0006146, 3.845, 0,   21.54, 19.47, 0,   0,   0,   0.1571,
0925               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,
0926               6.0, 6.0,    4.0, 12.0, 6.0,       6.0,   6.0, 2.0,   2.0,   1.0, 1.0},
0927              //std_GP
0928              {1,   36.23, 0.1, 0.1,  0.1437, 24.66, 1,   261.6, 7.661, 1,   1,   1,   0.434,
0929               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,
0930               6.0, 6.0,   4.0, 12.0, 6.0,    6.0,   6.0, 2.0,   2.0,   1.0, 1.0},
0931              //lim_min_GP
0932              {-inf, -5,   -1.0, -1.0, -5,   -5,   -inf, -5,   -5,   -inf, -inf, -inf, -5,
0933               -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,
0934               -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0},
0935              //lim_max_GP
0936              {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,
0937               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},
0938 
0939          }},  // end Muon, is_inner=true
0940 
0941         {std::make_pair(FeatureT::PfCand_chHad, false),
0942          {
0943              //mean_GP
0944              {0, 0.0191,   0.0,   0.0,       0,         0,        0,        0,         0,
0945               0, 0,        6.0,   0.0001957, -0.001691, -0.01458, 0.001266, 0.0003823, -0.01261,
0946               0, -0.01382, 6.517, -0.01976,  266.4,     0.7886,   12.81,    0,         1.3},
0947              //std_GP
0948              {1,     0.1126, 0.5,   0.5,   1, 1,     1,     1,    1,     1,     1,     6.0, 1.68, 1.689,
0949               8.038, 1.877,  1.885, 8.228, 1, 2.405, 34.23, 7.63, 414.6, 3.429, 6.363, 1,   1.3},
0950              //lim_min_GP
0951              {-inf, -5, -1.0, -1.0, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -1.0, -5,  -5,
0952               -5,   -5, -5,   -5,   -inf, -5,   -5,   -5,   -5,   -5,   -5,   -inf, -1.0},
0953              //lim_max_GP
0954              {inf, 5, 1.0, 1.0, inf, inf, inf, inf, inf, inf, inf, 1.0, 5,  5,
0955               5,   5, 5,   5,   inf, 5,   5,   5,   5,   5,   5,   inf, 1.0},
0956          }},  // end PfCand_chHad, is_inner=false
0957 
0958         {std::make_pair(FeatureT::PfCand_chHad, true),
0959          {
0960              //mean_GP
0961              {0, 0.2193,     0.0,   0.0,        0,         0,         0,        0,        0,
0962               0, 0,          6.0,   -0.0002255, -0.000324, -0.003971, 0.002356, 0.001573, -0.000732,
0963               0, -0.0006407, 3.897, -0.003331,  30.88,     0.976,     13.8,     0,        1.3},
0964              //std_GP
0965              {1,     0.3191, 0.1,   0.1,   1, 1,      1,     1,     1,     1,     1,    6.0, 0.6118, 0.6153,
0966               2.924, 1.378,  1.373, 3.908, 1, 0.7228, 14.35, 2.303, 164.5, 4.321, 5.13, 1,   1.3},
0967              //lim_min_GP
0968              {-inf, -5, -1.0, -1.0, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -1.0, -5,  -5,
0969               -5,   -5, -5,   -5,   -inf, -5,   -5,   -5,   -5,   -5,   -5,   -inf, -1.0},
0970              //lim_max_GP
0971              {inf, 5, 1.0, 1.0, inf, inf, inf, inf, inf, inf, inf, 1.0, 5,  5,
0972               5,   5, 5,   5,   inf, 5,   5,   5,   5,   5,   5,   inf, 1.0},
0973 
0974          }},  // end PfCand_chHad, is_inner=true
0975 
0976         {std::make_pair(FeatureT::PfCand_nHad, false),
0977          {
0978              //mean_GP
0979              {0, 0.03963, 0.0, 0.0, 0, 0, 0},
0980              //std_GP
0981              {1, 0.1872, 0.5, 0.5, 1, 1, 1},
0982              //lim_min_GP
0983              {-inf, -5, -1.0, -1.0, -inf, -inf, -inf},
0984              //lim_max_GP
0985              {inf, 5, 1.0, 1.0, inf, inf, inf},
0986 
0987          }},  // end PfCand_nHad, is_inner=false
0988 
0989         {std::make_pair(FeatureT::PfCand_nHad, true),
0990          {
0991              //mean_GP
0992              {0, 0.3073, 0.0, 0.0, 0, 0, 0},
0993              //std_GP
0994              {1, 0.3819, 0.1, 0.1, 1, 1, 1},
0995              //lim_min_GP
0996              {-inf, -5, -1.0, -1.0, -inf, -inf, -inf},
0997              //lim_max_GP
0998              {inf, 5, 1.0, 1.0, inf, inf, inf},
0999 
1000          }},  // end PfCand_nHad, is_inner=true
1001 
1002     };  // end of ScalingParams BoostedDeepTau v2p0 IDs for boostedTaus
1003 
1004     const std::map<std::pair<FeatureT, bool>, ScalingParams> scalingParamsMap_PhaseIIv2p5 = {
1005         {std::make_pair(FeatureT::TauFlat, false),
1006          {
1007              // mean_
1008              {100.0,      510.0,     0.0,
1009               0.5718,     2.181,     0,
1010               1,          0,         14.32,
1011               0,          2.243,     12.67,
1012               0,          0,         0,
1013               0.4827,     101.3,     0,
1014               0.001571,   3.935,     0,
1015               0.002075,   4.328,     0.001592,
1016               0,          93.74,     0.0003602,
1017               -1.718e-05, -0.001134, -2.712,
1018               0.5,        0.5,       0.007457,
1019               0.5,        1.072,     0,
1020               0.5,        0,         1.5707963267948966,
1021               4.13,       0.0,       0,
1022               -0.0008631},
1023 
1024              // std_
1025              {100.0,    490.0,  3.0,
1026               0.5081,   1.593,  1,
1027               1,        1,      41.7,
1028               1,        6.779,  39.88,
1029               1,        1,      1,
1030               2.298,    32.93,  1,
1031               0.008156, 8.897,  1,
1032               0.01112,  8.502,  0.8673,
1033               1,        862.9,  0.3587,
1034               0.3585,   1.599,  19.88,
1035               0.5,      0.5,    0.01698,
1036               0.5,      0.5388, 1,
1037               0.5,      1,      1.5707963267948966,
1038               3.313,    1.0,    1,
1039               0.9046},
1040 
1041              // lim_min_
1042              {-1.0, -1.0, -1.0, -5,   -5, -inf, -inf, -inf, -5,   -inf, -5,   -5,   -inf, -inf, -inf,
1043               -5,   -5,   -inf, -5,   -5, -inf, -5,   -5,   -5,   -inf, -5,   -5,   -5,   -5,   -5,
1044               -1.0, -1.0, -5,   -1.0, -5, -inf, -1.0, -inf, -1.0, -5,   -1.0, -inf, -5},
1045 
1046              // lim_max_
1047              {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,
1048               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},
1049          }},  // end TauFlat
1050 
1051         {std::make_pair(FeatureT::GridGlobal, false),
1052          {
1053              // mean_
1054              {100.0, 510.0, 0.0, 0},
1055              // std_
1056              {100.0, 490.0, 3.0, 1},
1057              // lim_min_
1058              {-1.0, -1.0, -1.0, -inf},
1059              // lim_max_
1060              {1.0, 1.0, 1.0, inf},
1061          }},  // end GridGlobal
1062 
1063         {std::make_pair(FeatureT::PfCand_electron, false),
1064          {
1065              // mean_
1066              {0,        0.1106,    0.0,        0.0,      0, 0,         0,     0,       7.5,   -0.000121, 5.664e-06,
1067               0.002146, -0.001255, -0.0001182, 0.003788, 0, 0.0008399, 6.696, 0.02434, 827.1, 2.902,     11.96},
1068 
1069              // std_
1070              {1,     1.069,  0.5,    0.5,   1, 1,       1,     1,     7.5,    0.11,  0.1115,
1071               5.572, 0.4267, 0.4208, 6.163, 1, 0.09652, 10.57, 5.509, 1507.0, 11.02, 6.747},
1072 
1073              // lim_min_
1074              {-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},
1075 
1076              // lim_max_
1077              {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},
1078          }},  // end PfCand_electron, is_inner=false
1079 
1080         {std::make_pair(FeatureT::PfCand_electron, true),
1081          {
1082              // mean_
1083              {0,        0.8424,     0.0,      0.0,      0, 0,         0,     0,        7.5,   -1.594e-05, -1.615e-05,
1084               0.001503, -0.0001738, -0.00201, 0.008298, 0, 3.245e-05, 2.908, 0.001685, 105.5, 1.305,      11.81},
1085 
1086              // std_
1087              {1,     0.6145, 0.1,    0.1,   1, 1,       1,     1,     7.5,   0.01716, 0.01745,
1088               1.209, 0.5551, 0.5364, 3.608, 1, 0.02022, 6.137, 1.189, 877.8, 5.948,   6.481},
1089 
1090              // lim_min_
1091              {-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},
1092 
1093              // lim_max_
1094              {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},
1095          }},  // end PfCand_electron, is_inner=true
1096 
1097         {std::make_pair(FeatureT::PfCand_gamma, false),
1098          {
1099              // mean
1100              {0,          0.01285,    0.0,      0.0,      0, 0,        0,    0,     0,      3.5,  4.308e-06, 1.919e-06,
1101               -0.0005881, -0.0009704, 0.000131, 0.001519, 0, 0.007348, 12.2, 4.698, 3080.0, 32.8, 5.8},
1102 
1103              // std
1104              {1,      0.07524, 0.5,    0.5,   1, 1,       1,     1,     1,      3.5,   0.003429, 0.003318,
1105               0.5228, 0.4157,  0.4125, 2.441, 1, 0.03917, 8.802, 5.297, 4449.0, 38.05, 1.6},
1106 
1107              // lim_min
1108              {-inf, -5, -1.0, -1.0, -inf, -inf, -inf, -inf, -inf, -1.0, -5, -5,
1109               -5,   -5, -5,   -5,   -inf, -5,   -5,   -5,   -5,   -5,   -5},
1110 
1111              // lim_max
1112              {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},
1113 
1114          }},  // end PfCand_gamma, is_inner=false
1115 
1116         {std::make_pair(FeatureT::PfCand_gamma, true),
1117          {
1118              // mean
1119              {0, 0.1594,   0.0,       0.0,        0,         0,          0,          0,
1120               0, 3.5,      1.295e-05, -8.435e-06, -0.001344, -0.0006508, -0.0004855, 0.004292,
1121               0, 0.001246, 7.58,      -0.4247,    1903.0,    18.11,      7.873},
1122 
1123              // std
1124              {1,      0.4276, 0.1,   0.1,   1, 1,       1,    1,     1,      3.5,   0.004268, 0.003182,
1125               0.6095, 0.3957, 0.394, 2.006, 1, 0.02973, 10.0, 6.273, 3515.0, 39.42, 1.51},
1126 
1127              // lim_min
1128              {-inf, -5, -1.0, -1.0, -inf, -inf, -inf, -inf, -inf, -1.0, -5, -5,
1129               -5,   -5, -5,   -5,   -inf, -5,   -5,   -5,   -5,   -5,   -5},
1130 
1131              // lim_max
1132              {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},
1133 
1134          }},  // end PfCand_gamma, is_inner=true
1135 
1136         {std::make_pair(FeatureT::Electron, false),
1137          {
1138              // mean
1139              {0,          0.3915,     0.0,       0.0,        0,          0.978, 0.4455, 1.803,     2.508, 2.508,
1140               1.726,      1.726,      1.957,     2.223,      10.34,      2.985, 1.6,    1.761,     1.041, 0.0001027,
1141               -0.0002442, -0.0002209, 5.576e-05, -0.0004276, -0.0004178, 0,     0,      0.0002244, 3.137, 0.01031,
1142               52.28,      8.907,      2.1,       7.053,      0,          1.288, 15.6},
1143 
1144              // std
1145              {1,     1.379,    0.5,   0.5,    1,      2.605, 0.6392,  2.079,   102.2,  102.2,   99.4,  99.4,   41.23,
1146               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,
1147               1,     0.001352, 13.06, 0.0315, 1867.0, 1.421, 77.27,   6.956,   1,      1.081,   6.592},
1148 
1149              // lim_min
1150              {-inf, -5, -1.0, -1.0, -inf, -5, -5,   -5,   -5, -5, -5, -5, -5, -5, -5, -5,   -5, -5, -5,
1151               -5,   -5, -5,   -5,   -5,   -5, -inf, -inf, -5, -5, -5, -5, -5, -5, -5, -inf, -5, -5},
1152 
1153              // lim_max
1154              {inf, 5, 1.0, 1.0, inf, 5, 5,   5,   5, 5, 5, 5, 5, 5, 5, 5,   5, 5, 5,
1155               5,   5, 5,   5,   5,   5, inf, inf, 5, 5, 5, 5, 5, 5, 5, inf, 5, 5},
1156          }},  // end Electron, is_inner=false
1157 
1158         {std::make_pair(FeatureT::Electron, true),
1159          {
1160              // mean
1161              {0,          1.005,      0.0,       0.0,       0,         1.219, 0.1747, 2.046,     2.11,  2.11,
1162               1.784,      1.784,      2.07,      2.439,     45.29,     2.077, 1.602,  2.207,     1.535, 6.492e-06,
1163               -3.824e-06, -5.448e-06, 4.593e-05, 9.523e-05, 4.193e-05, 0,     0,      0.0002632, 2.268, 0.003118,
1164               4.976,      9.803,      1.455,     6.346,     0,         1.241, 15.65},
1165 
1166              // std
1167              {1,       1.014,   0.1,     0.1,     1,      0.5406, 0.3296, 1.92,     20.89, 20.89,
1168               23.88,   23.88,   5.072,   1.783,   39.63,  3.758,  3.153,  4.36,     2.753, 0.01403,
1169               0.01394, 0.01382, 0.02341, 0.04605, 0.0464, 1,      1,      0.001201, 10.6,  0.004481,
1170               35.88,   1.185,   36.29,   3.076,   1,      0.726,  5.13},
1171 
1172              // lim_min
1173              {-inf, -5, -1.0, -1.0, -inf, -5, -5,   -5,   -5, -5, -5, -5, -5, -5, -5, -5,   -5, -5, -5,
1174               -5,   -5, -5,   -5,   -5,   -5, -inf, -inf, -5, -5, -5, -5, -5, -5, -5, -inf, -5, -5},
1175 
1176              // lim_max
1177              {inf, 5, 1.0, 1.0, inf, 5, 5,   5,   5, 5, 5, 5, 5, 5, 5, 5,   5, 5, 5,
1178               5,   5, 5,   5,   5,   5, inf, inf, 5, 5, 5, 5, 5, 5, 5, inf, 5, 5},
1179          }},  // end Electron, is_inner=true
1180 
1181         {std::make_pair(FeatureT::PfCand_muon, false),
1182          {
1183              // mean
1184              {0, 0.06569,    0.0,        0.0,        0,      0,         0,         0,
1185               0, 5.5,        -7.842e-05, -0.0001811, 0.0152, 1.847e-05, -0.002452, 0.01452,
1186               0, -0.0003077, 4.264,      0.01624,    652.1,  0.8343,    21.51},
1187 
1188              // std
1189              {1,     0.8174, 0.5,    0.5,   1, 1,      1,     1,     1,     5.5,    0.06539, 0.06323,
1190               6.064, 0.4649, 0.4612, 6.464, 1, 0.0908, 25.46, 6.063, 832.1, 0.8017, 5.72},
1191 
1192              // lim_min
1193              {-inf, -5, -1.0, -1.0, -inf, -inf, -inf, -inf, -inf, -1.0, -5, -5,
1194               -5,   -5, -5,   -5,   -inf, -5,   -5,   -5,   -5,   -5,   -5},
1195 
1196              // lim_max
1197              {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},
1198 
1199          }},  // end PfCand_muon, is_inner=false
1200 
1201         {std::make_pair(FeatureT::PfCand_muon, true),
1202          {
1203              // mean
1204              {0, 0.9535,    0.0,        0.0,        0,         0,          0,         0,
1205               0, 5.5,       -3.664e-05, 1.199e-05,  -0.001638, -0.0003709, 0.0004101, -0.0002903,
1206               0, 4.724e-05, 2.692,      -0.0007676, 69.4,      0.4363,     18.07},
1207 
1208              // std
1209              {1,     0.6853, 0.1,    0.1,   1, 1,       1,    1,     1,     5.5,    0.02, 0.02026,
1210               1.248, 0.188,  0.1894, 1.374, 1, 0.02816, 17.5, 1.248, 742.1, 0.6667, 4.928},
1211 
1212              // lim_min
1213              {-inf, -5, -1.0, -1.0, -inf, -inf, -inf, -inf, -inf, -1.0, -5, -5,
1214               -5,   -5, -5,   -5,   -inf, -5,   -5,   -5,   -5,   -5,   -5},
1215 
1216              // lim_max
1217              {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},
1218 
1219          }},  // end PfCand_muon, is_inner=true
1220 
1221         {std::make_pair(FeatureT::Muon, false),
1222          {
1223              // mean
1224              {0,   0.1419, 0.0, 0.0,  -7.344e-05, 7.819, 0,   35.42, 17.91, 0,   0,   0,   0.05448,
1225               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,
1226               6.0, 6.0,    4.0, 12.0, 6.0,        6.0,   6.0, 2.0,   2.0,   1.0, 1.0},
1227 
1228              // std
1229              {1,   5.958, 0.5, 0.5,  0.1345, 49.28, 1,   274.6, 5.823, 1,   1,   1,   0.2388,
1230               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,
1231               6.0, 6.0,   4.0, 12.0, 6.0,    6.0,   6.0, 2.0,   2.0,   1.0, 1.0},
1232 
1233              // lim_min
1234              {-inf, -5,   -1.0, -1.0, -5,   -5,   -inf, -5,   -5,   -inf, -inf, -inf, -5,
1235               -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,
1236               -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0},
1237 
1238              // lim_max
1239              {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,
1240               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},
1241 
1242          }},  // end Muon, is_inner=false
1243 
1244         {std::make_pair(FeatureT::Muon, true),
1245          {
1246              // mean
1247              {0,   1.153, 0.0, 0.0,  -1.624e-05, 21.24, 0,   15.0, 18.63, 0,   0,   0,   0.05187,
1248               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,
1249               6.0, 6.0,   4.0, 12.0, 6.0,        6.0,   6.0, 2.0,  2.0,   1.0, 1.0},
1250 
1251              // std
1252              {1,   35.54, 0.1, 0.1,  0.16, 105.2, 1,   269.2, 4.874, 1,   1,   1,   0.2431,
1253               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,
1254               6.0, 6.0,   4.0, 12.0, 6.0,  6.0,   6.0, 2.0,   2.0,   1.0, 1.0},
1255 
1256              // lim_min
1257              {-inf, -5,   -1.0, -1.0, -5,   -5,   -inf, -5,   -5,   -inf, -inf, -inf, -5,
1258               -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,
1259               -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0},
1260 
1261              // lim_max
1262              {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,
1263               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},
1264 
1265          }},  // end Muon, is_inner=true
1266 
1267         {std::make_pair(FeatureT::PfCand_chHad, false),
1268          {
1269              // mean
1270              {0, 0.02063,   0.0,   0.0,       0,         0,       0,          0,          0,
1271               0, 0,         6.0,   7.994e-06, 1.326e-05, 0.00378, -0.0005101, -2.036e-05, 0.004647,
1272               0, 0.0002569, 1.772, 0.004969,  695.1,     0.6393,  15.17,      0,          1.3},
1273 
1274              // std
1275              {1,     0.06009, 0.5,    0.5,   1, 1,       1,     1,     1,     1,      1,     6.0, 0.04616, 0.04631,
1276               5.925, 0.3523,  0.3541, 6.099, 1, 0.04398, 5.968, 5.843, 756.6, 0.8879, 6.185, 1,   1.3},
1277 
1278              // lim_min
1279              {-inf, -5, -1.0, -1.0, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -1.0, -5,  -5,
1280               -5,   -5, -5,   -5,   -inf, -5,   -5,   -5,   -5,   -5,   -5,   -inf, -1.0},
1281 
1282              // lim_max
1283              {inf, 5, 1.0, 1.0, inf, inf, inf, inf, inf, inf, inf, 1.0, 5,  5,
1284               5,   5, 5,   5,   inf, 5,   5,   5,   5,   5,   5,   inf, 1.0},
1285          }},  // end PfCand_chHad, is_inner=false
1286 
1287         {std::make_pair(FeatureT::PfCand_chHad, true),
1288          {
1289              // mean
1290              {0, 0.1902,    0.0,   0.0,       0,         0,        0,          0,         0,
1291               0, 0,         6.0,   -3.22e-05, 1.892e-05, 0.001798, -0.0005992, 0.0003633, 0.004573,
1292               0, 8.158e-05, 4.518, 0.006913,  287.4,     0.5699,   16.18,      0,         1.3},
1293 
1294              // std
1295              {1,     0.3578, 0.1,    0.1,   1, 1,       1,    1,     1,     1,      1,     6.0, 0.0326, 0.03277,
1296               4.021, 0.413,  0.4153, 4.324, 1, 0.03025, 11.8, 3.547, 728.6, 0.8056, 5.736, 1,   1.3},
1297 
1298              // lim_min
1299              {-inf, -5, -1.0, -1.0, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -1.0, -5,  -5,
1300               -5,   -5, -5,   -5,   -inf, -5,   -5,   -5,   -5,   -5,   -5,   -inf, -1.0},
1301 
1302              // lim_max
1303              {inf, 5, 1.0, 1.0, inf, inf, inf, inf, inf, inf, inf, 1.0, 5,  5,
1304               5,   5, 5,   5,   inf, 5,   5,   5,   5,   5,   5,   inf, 1.0},
1305          }},  // end PfCand_chHad, is_inner=true
1306 
1307         {std::make_pair(FeatureT::PfCand_nHad, false),
1308          {
1309              // mean
1310              {0, 0.01414, 0.0, 0.0, 0, 0, 0},
1311 
1312              // std
1313              {1, 0.05509, 0.5, 0.5, 1, 1, 1},
1314 
1315              // lim_min
1316              {-inf, -5, -1.0, -1.0, -inf, -inf, -inf},
1317 
1318              // lim_max
1319              {inf, 5, 1.0, 1.0, inf, inf, inf},
1320 
1321          }},  // end PfCand_nHad, is_inner=false
1322 
1323         {std::make_pair(FeatureT::PfCand_nHad, true),
1324          {
1325              // mean
1326              {0, 0.1149, 0.0, 0.0, 0, 0, 0},
1327 
1328              // std
1329              {1, 0.2151, 0.1, 0.1, 1, 1, 1},
1330 
1331              // lim_min
1332              {-inf, -5, -1.0, -1.0, -inf, -inf, -inf},
1333 
1334              // lim_max
1335              {inf, 5, 1.0, 1.0, inf, inf, inf},
1336 
1337          }},  // end PfCand_nHad, is_inner=true
1338 
1339     };  // end scalingParamsMap_PhaseIIv2p5
1340 
1341   };  // namespace Scaling
1342 };  // namespace deep_tau
1343 
1344 #endif