8 using namespace muonisolation;
12 vector<double> etaBounds = pset.
getParameter<std::vector<double> >(
"EtaBounds");
13 vector<double> coneSizes = pset.
getParameter<std::vector<double> >(
"ConeSizes");
15 init(etaBounds,coneSizes,thresholds);
18 Cuts::Cuts(
const vector<double> & etaBounds,
const vector<double> & coneSizes,
21 init(etaBounds,coneSizes,thresholds);
25 void Cuts::init(
const vector<double> & etaBounds,
const vector<double> & coneSizes,
31 unsigned int nEta = etaBounds.size();
32 for (
unsigned int i=0;
i< nEta;
i++) {
33 if (
i>0) minEta = etaBounds[
i-1];
35 if (
i < coneSizes.size()) coneSize = coneSizes[
i];
36 if (
i < thresholds.size()) threshold = thresholds[
i];
40 theCuts.push_back( cut );
46 double absEta = fabs(eta);
47 unsigned int nCuts = theCuts.size();
48 unsigned int idx_eta = nCuts-1;
49 for (
unsigned int i = 0;
i < nCuts;
i++) {
50 if (absEta < theCuts[
i].
etaRange.max() ) { idx_eta =
i;
break; }
52 return theCuts[idx_eta];
58 typedef std::vector<CutSpec>::const_iterator
IT;
59 result <<
"Cuts : " << std::endl;
60 for (IT it = theCuts.begin(), itEnd = theCuts.end(); it < itEnd; ++it) {
61 result <<
"eta: "<<(*it).etaRange
62 <<
", cone: "<< (*it).conesize
63 <<
", cut: "<<(*it).threshold
T getParameter(std::string const &) const
std::string print(const Track &, edm::Verbosity=edm::Concise)
Track print utility.
std::vector< LinkConnSpec >::const_iterator IT