26 for(
size_type iCand = 0; iCand < nNeutral; ++iCand)
62 std::vector<const Candidate*>
66 std::vector<const Candidate*>
output;
67 for(
size_type iterCand = 0; iterCand < numberOfChargedPions; ++iterCand)
72 std::vector<const Candidate*>
76 std::vector<const Candidate*>
output;
77 for(
size_type iterCand = 0; iterCand < numberOfChargedPions; ++iterCand)
82 std::vector<const Candidate*>
88 output.insert(output.end(), neutralObjects.begin(), neutralObjects.end());
92 std::vector<const Candidate*>
96 std::vector<const Candidate*>
output;
97 for(
size_t iFilteredCand = 0; iFilteredCand < numberOfFilteredObjects; ++iFilteredCand)
100 if (absCharge < 0 ||
abs(myCand->
charge()) == absCharge)
101 output.push_back(myCand);
106 std::vector<const Candidate*>
112 std::vector<const Candidate*>
129 edm::LogError(
"PFTauDecayMode") <<
"Error in pfMasterClones(...) - found a leaf candidate with no Master clone reference!";
std::vector< const Candidate * > chargedFilteredObjectCandidates() const
returns only charged filtered objects
const CompositeCandidate & filteredObjects() const
returns references to PF objects that were filtered
virtual const Candidate * daughter(size_type i) const =0
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode) ...
CompositeCandidate piZeroes_
PFTauDecayMode * clone() const
returns a clone of the candidate
void pfMasterClones(const Candidate *input, PFCandidateRefVector &toFill) const
fills master clones to PF objects (utility function)
std::vector< const Candidate * > neutralPionCandidates() const
returns pointers to neutral pions
virtual void setCharge(Charge q)
set electric charge
virtual void setStatus(int status)
set status word
virtual void setP4(const LorentzVector &p4)
set 4-momentum
const VertexCompositeCandidate & chargedPions() const
returns collection of charged pions w/ vertex information (tracks are refit)
virtual size_type numberOfDaughters() const
number of daughters
static std::string const input
std::vector< const Candidate * > filteredObjectCandidates(int absCharge=-2) const
returns pointers to filtered objects (i.e. those not included in signal objects)
PFCandidateRefVector associatedChargedPFCandidates() const
returns the PFCandidates associated to the charged signal objects
virtual size_type numberOfDaughters() const =0
number of daughters
virtual bool hasMasterClone() const =0
const CompositeCandidate & neutralPions() const
returns a collection of merged Pi0s
static const unsigned char maxNumberOfPiZeroCandidatesAllowed
virtual int charge() const
electric charge
Abs< T >::type abs(const T &t)
virtual int charge() const =0
electric charge
PFCandidateRefVector filteredPFCandidates() const
returns the PFCandidates that were filtered
void addDaughter(const Candidate &, const std::string &s="")
add a clone of the passed candidate as daughter
PFCandidateRefVector associatedNeutralPFCandidates() const
returns the PFCandidates associated to the PiZero signal objects (i.e., the unmerged photons) ...
std::vector< const Candidate * > chargedPionCandidates() const
returns pointers to charged pions
std::vector< const Candidate * > decayProductCandidates() const
returns pointers to non-filtered objects
CompositeCandidate filteredObjects_
unsigned int nCharged(const GenJet &jet)
virtual const Candidate * daughter(size_type) const
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode) ...
virtual void setPdgId(int pdgId)
void push_back(value_type const &ref)
Add a Ref<C, T> to the RefVector.
VertexCompositeCandidate chargedPions_
void setDecayMode(hadronicTauDecayModes theDecayMode)
virtual const LorentzVector & p4() const
four-momentum Lorentz vector
std::vector< const Candidate * > neutralFilteredObjectCandidates() const
returns only netural filtered objects
virtual const CandidateBaseRef & masterClone() const =0