19 resolutions_ = resolutions;
25 std::vector<metsig::SigInputObj> vobj;
27 vobj.push_back(resolutions_->evalPFJet(&(*
jet)));
28 std::vector<reco::PFCandidatePtr> pfs =
jet->getPFConstituents();
29 for(std::vector<reco::PFCandidatePtr>::const_iterator it=pfs.begin(); it!=pfs.end(); ++it){
31 clusteredParticlePtrs_.insert(ptr);
34 algo_.addObjects(vobj);
39 std::set<reco::CandidatePtr>::const_iterator it=clusteredParticlePtrs_.begin();
41 if(ptr.
id()==productID)
return;
43 std::set<reco::CandidatePtr>
temp;
44 for(; it!=clusteredParticlePtrs_.end(); ++it){
46 while(ptr.
id()!=productID){
47 ptr = ptr->sourceCandidatePtr(0);
52 clusteredParticlePtrs_.clear();
53 clusteredParticlePtrs_ =
temp;
58 if(clusteredParticlePtrs_.find(pf) != clusteredParticlePtrs_.end()) {
61 std::vector<metsig::SigInputObj> vobj;
62 vobj.push_back(resolutions_->evalPF(&(*pf)));
63 algo_.addObjects(vobj);
void addPFCandidate(reco::PFCandidatePtr pf)
boost::indirect_iterator< typename seq_t::const_iterator > const_iterator
ProductID id() const
Accessor for product ID.
void useOriginalPtrs(const edm::ProductID &productID)
bool isNull() const
Checks for null.
void setResolutions(metsig::SignAlgoResolutions *resolutions)
void addPFJets(edm::Handle< edm::View< reco::PFJet > > PFJets)
std::set< reco::CandidatePtr > clusteredParticlePtrs_