8 : theConeSizeFunction(nullptr), theConeSize(
conesize), theWeights(
weights) {
18 : theConeSizeFunction(nullptr), theConeSize(
conesize), theWeights(
weights), theDepThresholds(dThresh) {}
22 const vector<double>& dThresh)
23 : theConeSizeFunction(
conesize), theConeSize(0.), theWeights(
weights), theDepThresholds(dThresh) {}
41 res.valFloat = sumDep;
50 vector<double>::const_iterator
w =
theWeights.begin();
53 typedef DepositContainer::const_iterator DI;
54 for (DI dep =
deposits.begin(), depEnd =
deposits.end(); dep != depEnd; ++dep) {
55 if (dep->vetos !=
nullptr) {
56 sumDep += dep->dep->depositAndCountWithin(
dRcone, *dep->vetos, (*dThresh)).first * (*w);
58 sumDep += dep->dep->depositAndCountWithin(
dRcone,
Vetos(), (*dThresh)).first * (*w);
std::vector< double > theDepThresholds
double weightedSum(const DepositContainer &deposits, float dRcone) const
virtual float coneSize(float eta, float pT) const
Get the cone size.
reco::IsoDeposit::Vetos Vetos
IsolatorByDeposit(float conesize, const std::vector< double > &weights)
construct with no addtnl thresholds on deposits
MuIsoBaseIsolator::DepositContainer DepositContainer
Result result(const DepositContainer &deposits, const edm::Event *=nullptr) const override
Compute the deposit within the cone and return the isolation result.
std::vector< double > theWeights
reco::IsoDeposit IsoDeposit
ResultType resultType() const override