8 using namespace muonisolation;
11 vector<double> etaBounds = pset.
getParameter<std::vector<double> >(
"EtaBounds");
12 vector<double> coneSizes = pset.
getParameter<std::vector<double> >(
"ConeSizes");
14 init(etaBounds, coneSizes, thresholds);
17 Cuts::Cuts(
const vector<double>& etaBounds,
const vector<double>& coneSizes,
const vector<double>&
thresholds) {
18 init(etaBounds, coneSizes, thresholds);
21 void Cuts::init(
const vector<double>& etaBounds,
const vector<double>& coneSizes,
const vector<double>&
thresholds) {
25 unsigned int nEta = etaBounds.size();
26 for (
unsigned int i = 0;
i <
nEta;
i++) {
28 minEta = etaBounds[
i - 1];
30 if (
i < coneSizes.size())
31 coneSize = coneSizes[
i];
32 if (
i < thresholds.size())
33 threshold = thresholds[
i];
37 theCuts.push_back(cut);
42 double absEta = fabs(eta);
43 unsigned int nCuts = theCuts.size();
44 unsigned int idx_eta = nCuts - 1;
45 for (
unsigned int i = 0;
i < nCuts;
i++) {
51 return theCuts[idx_eta];
56 typedef std::vector<CutSpec>::const_iterator
IT;
57 result <<
"Cuts : " << std::endl;
58 for (IT it = theCuts.begin(), itEnd = theCuts.end(); it < itEnd; ++it) {
59 result <<
"eta: " << (*it).etaRange <<
", cone: " << (*it).conesize <<
", cut: " << (*it).threshold << std::endl;
void print(TMatrixD &m, const char *label=nullptr, bool mathematicaFormat=false)
std::vector< LinkConnSpec >::const_iterator IT
T getParameter(std::string const &) const