5 using namespace muonisolation;
8 : theConeSizeFunction(nullptr), theConeSize(conesize), theWeights(weights) {
13 : theConeSizeFunction(conesize), theConeSize(0.), 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) {}
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);
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