21 resolutions_ = resolutions;
26 std::vector<metsig::SigInputObj> vobj;
28 vobj.push_back(resolutions_->evalPFJet(&(*
jet)));
29 std::vector<reco::PFCandidatePtr> pfs =
jet->getPFConstituents();
30 for (std::vector<reco::PFCandidatePtr>::const_iterator it = pfs.begin(); it != pfs.end(); ++it) {
32 clusteredParticlePtrs_.insert(ptr);
35 algo_.addObjects(vobj);
40 std::set<reco::CandidatePtr>::const_iterator it = clusteredParticlePtrs_.begin();
42 if (ptr.
id() == productID)
45 std::set<reco::CandidatePtr>
temp;
46 for (; it != clusteredParticlePtrs_.end(); ++it) {
48 while (ptr.
id() != productID) {
49 ptr = ptr->sourceCandidatePtr(0);
55 clusteredParticlePtrs_.clear();
56 clusteredParticlePtrs_ =
temp;
61 if (clusteredParticlePtrs_.find(pf) != clusteredParticlePtrs_.end()) {
64 std::vector<metsig::SigInputObj> vobj;
65 vobj.push_back(resolutions_->evalPF(&(*pf)));
66 algo_.addObjects(vobj);
71 useOriginalPtrs(PFCandidates.id());
73 iParticle != (PFCandidates.product())->
end();
81 if (!dau.isAvailable())
86 return getSignifMatrix();
ROOT::Math::SMatrix< double, 2 > METCovMatrix
const_iterator begin() const
void addPFJets(const edm::View< reco::PFJet > *PFJets)
void setResolutions(metsig::SignAlgoResolutions *resolutions)
bool isNull() const
Checks for null.
reco::METCovMatrix mkSignifMatrix(edm::Handle< edm::View< reco::Candidate > > &PFCandidates)
ProductID id() const
Accessor for product ID.
void addPFCandidate(reco::PFCandidatePtr pf)
Particle reconstructed by the particle flow algorithm.
boost::indirect_iterator< typename seq_t::const_iterator > const_iterator
const_iterator end() const
void useOriginalPtrs(const edm::ProductID &productID)
std::set< reco::CandidatePtr > clusteredParticlePtrs_