13 typedef std::vector<reco::CandidatePtr>
CandPtrs;
21 int translateTypeToAbsPdgId(
int type) {
43 std::vector<CandidatePtr>
flattenPiZeros(
const std::vector<RecoTauPiZero>::const_iterator& piZerosBegin,
44 const std::vector<RecoTauPiZero>::const_iterator& piZerosEnd) {
45 std::vector<CandidatePtr>
output;
47 for (std::vector<RecoTauPiZero>::const_iterator piZero = piZerosBegin; piZero != piZerosEnd; ++piZero) {
48 for (
size_t iDaughter = 0; iDaughter < piZero->numberOfDaughters(); ++iDaughter) {
55 std::vector<CandidatePtr>
flattenPiZeros(
const std::vector<RecoTauPiZero>& piZeros) {
63 std::vector<CandidatePtr>
pfCandidates(
const Jet&
jet,
const std::vector<int>& particleIds,
bool sort) {
65 pdgIds.reserve(particleIds.size());
66 for (
auto particleId : particleIds)
67 pdgIds.push_back(translateTypeToAbsPdgId(particleId));
74 return selectedPFCands;
78 const std::vector<int>&
pdgIds,
85 output.insert(
output.end(), selectedPFCands.begin(), selectedPFCands.end());
100 output.reserve(mus.size() + es.size() + chs.size());