13 namespace reco {
namespace tau {
15 std::vector<PFCandidatePtr>
16 flattenPiZeros(
const std::vector<RecoTauPiZero>::const_iterator& piZerosBegin,
const std::vector<RecoTauPiZero>::const_iterator& piZerosEnd) {
17 std::vector<PFCandidatePtr>
output;
19 for(std::vector<RecoTauPiZero>::const_iterator piZero = piZerosBegin;
20 piZero != piZerosEnd; ++piZero) {
21 for(
size_t iDaughter = 0; iDaughter < piZero->numberOfDaughters();
29 std::vector<PFCandidatePtr>
35 int particleId,
bool sort) {
38 pfCands.begin(), pfCands.end(), particleId, sort);
39 return selectedPFCands;
43 const std::vector<int>& particleIds,
bool sort) {
47 for(std::vector<int>::const_iterator particleId = particleIds.begin();
48 particleId != particleIds.end(); ++particleId) {
50 output.insert(output.end(), selectedPFCands.begin(), selectedPFCands.end());
67 output.reserve(mus.size() + es.size() + chs.size());
68 output.insert(output.end(), mus.begin(), mus.end());
69 output.insert(output.end(), es.begin(), es.end());
70 output.insert(output.end(), chs.begin(), chs.end());
std::vector< PFCandidatePtr > pfGammas(const PFJet &jet, bool sort=true)
Extract all pfGammas from a PFJet.
std::vector< reco::PFCandidatePtr > PFCandPtrs
std::vector< PFCandidatePtr > filterPFCandidates(const Iterator &begin, const Iterator &end, int particleId, bool sort=true)
Jets made from PFObjects.
std::vector< PFCandidatePtr > pfCandidates(const PFJet &jet, int particleId, bool sort=true)
std::vector< PFCandidatePtr > flattenPiZeros(const std::vector< RecoTauPiZero >::const_iterator &, const std::vector< RecoTauPiZero >::const_iterator &)
Flatten a list of pi zeros into a list of there constituent PFCandidates.
std::vector< PFCandidatePtr > pfChargedCands(const PFJet &jet, bool sort=true)
Extract all non-neutral candidates from a PFJet.
virtual std::vector< reco::PFCandidatePtr > getPFConstituents() const
get all constituents
PFCandPtrs::iterator PFCandIter
edm::Ptr< PFCandidate > PFCandidatePtr
persistent Ptr to a PFCandidate