CMS 3D CMS Logo

EcalSCDynamicDPhiParameters.cc
Go to the documentation of this file.
2 #include <algorithm>
3 
5  double clustE, double absSeedEta) const {
6  // assume the collection is lexicographically sorted in ascending DynamicDPhiParams.eMin and ascending DynamicDPhiParams.etaMin
7  // find the matching eMin value
10  clustE,
12  return params.eMin < var;
13  });
14  if (it1 != dynamicDPhiParametersCollection_.begin()) {
15  --it1;
16  }
17 
18  // find the matching eMin and etaMin entry going only up to the sets matching for clustE
19  const auto vars = std::make_pair(it1->eMin, absSeedEta);
20  auto it2 = std::lower_bound(
22  it1 + 1,
23  vars,
24  [](const EcalSCDynamicDPhiParameters::DynamicDPhiParameters& params, const std::pair<double, double> vars) {
25  return params.eMin < vars.first || params.etaMin < vars.second;
26  });
27 
28  return (it2 != dynamicDPhiParametersCollection_.begin()) ? &*(it2 - 1) : nullptr;
29 }
30 
31 void EcalSCDynamicDPhiParameters::print(std::ostream& out) const {
32  out << "SC dynamic dPhi parameters:" << std::endl;
33  out << " Parameters are binned in " << dynamicDPhiParametersCollection_.size() << " (E, |eta|) regions." << std::endl;
34  for (const auto& params : dynamicDPhiParametersCollection_) {
35  out << " Parameters for E_min=" << params.eMin << " and |eta_min|=" << params.etaMin << ":" << std::endl;
36  out << " yoffset: " << params.yoffset << std::endl;
37  out << " scale: " << params.scale << std::endl;
38  out << " xoffset: " << params.xoffset << std::endl;
39  out << " width: " << params.width << std::endl;
40  out << " saturation: " << params.saturation << std::endl;
41  out << " cutoff: " << params.cutoff << std::endl;
42  }
43 }
vars
Definition: DeepTauIdBase.h:60
const DynamicDPhiParameters * dynamicDPhiParameters(double clustE, double absSeedEta) const
std::vector< DynamicDPhiParameters > dynamicDPhiParametersCollection_