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
CompositeCandidate piZeroes_
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 const Candidate * daughter(size_type i) const =0
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode) ...
PFTauDecayMode * clone() const override
returns a clone of the candidate
int charge() const final
electric charge
const VertexCompositeCandidate & chargedPions() const
returns collection of charged pions w/ vertex information (tracks are refit)
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
void setCharge(Charge q) final
set electric charge
const CompositeCandidate & neutralPions() const
returns a collection of merged Pi0s
static const unsigned char maxNumberOfPiZeroCandidatesAllowed
Abs< T >::type abs(const T &t)
const LorentzVector & p4() const final
four-momentum Lorentz vector
const Candidate * daughter(size_type) const override
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode) ...
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
virtual const CandidateBaseRef & masterClone() const =0
std::vector< const Candidate * > decayProductCandidates() const
returns pointers to non-filtered objects
CompositeCandidate filteredObjects_
virtual int charge() const =0
electric charge
void push_back(value_type const &ref)
Add a Ref<C, T> to the RefVector.
VertexCompositeCandidate chargedPions_
size_type numberOfDaughters() const override
number of daughters
void setStatus(int status) final
set status word
virtual size_type numberOfDaughters() const =0
number of daughters
void setDecayMode(hadronicTauDecayModes theDecayMode)
void setPdgId(int pdgId) final
void setP4(const LorentzVector &p4) final
set 4-momentum
std::vector< const Candidate * > neutralFilteredObjectCandidates() const
returns only netural filtered objects
virtual bool hasMasterClone() const =0