8 : theConeSizeFunction(
nullptr), theConeSize(conesize), theWeights(weights) {
22 const vector<double>& dThresh)
35 float eta = deposits.front().dep->eta();
36 float pt = deposits.front().dep->candEnergy();
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);
Result result(const DepositContainer &deposits, const edm::Event *=0) const override
Compute the deposit within the cone and return the isolation result.
std::vector< double > theDepThresholds
double weightedSum(const DepositContainer &deposits, float dRcone) const
ResultType resultType() const override
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
std::vector< double > theWeights
const ConeSizeFunction * theConeSizeFunction
reco::IsoDeposit IsoDeposit