1 #ifndef RecoTauTag_RecoTau_RecoTauConstructor_h
2 #define RecoTauTag_RecoTau_RecoTauConstructor_h
34 #include "boost/shared_ptr.hpp"
37 namespace reco {
namespace tau {
56 bool copyGammasFromPiZeros=
false);
87 template<
typename InputIterator>
124 std::auto_ptr<reco::PFTau>
get(
bool setupLeadingCandidates=
true);
131 typedef std::map<CollectionKey, std::vector<PFCandidatePtr>*>
CollectionMap;
149 std::auto_ptr<reco::PFTau>
tau_;
void addPFCand(Region region, ParticleType type, const PFCandidateRef &ref, bool skipAddToP4=false)
Append a PFCandidateRef/Ptr to a given collection.
void addTauChargedHadron(Region region, const PFRecoTauChargedHadron &chargedHadron)
Add a ChargedHadron to the given collection.
reco::Candidate::LorentzVector p4_
CollectionMap collections_
void reserve(Region region, ParticleType type, size_t size)
Reserve a set amount of space for a given RefVector.
void addTauChargedHadrons(Region region, const InputIterator &begin, const InputIterator &end)
Add a list of charged hadrons to the input collection.
boost::shared_ptr< std::vector< PFCandidatePtr > > SortedListPtr
std::vector< PFCandidatePtr > * getCollection(Region region, ParticleType type)
std::map< CollectionKey, SortedListPtr > SortedCollectionMap
void addPiZeros(Region region, const InputIterator &begin, const InputIterator &end)
Add a list of pizeros to the input collection.
SortedCollectionMap sortedCollections_
const edm::Handle< PFCandidateCollection > & pfCands_
SortedListPtr getSortedCollection(Region region, ParticleType type)
const reco::Candidate::LorentzVector & p4() const
std::pair< Region, ParticleType > CollectionKey
void setleadPFCand(const T &cand)
Set leading PF candidate.
void addPFCands(Region region, ParticleType type, const InputIterator &begin, const InputIterator &end)
PFCandidatePtr convertToPtr(const PFCandidatePtr &pfPtr) const
std::auto_ptr< reco::PFTau > tau_
void reserveTauChargedHadron(Region region, size_t size)
Reserve a set amount of space for the ChargedHadrons.
void reservePiZero(Region region, size_t size)
Reserve a set amount of space for the PiZeros.
math::XYZTLorentzVector LorentzVector
Lorentz vector.
void setleadPFChargedHadrCand(const T &cand)
Set leading PFChargedHadron candidate.
RecoTauConstructor(const PFJetRef &jetRef, const edm::Handle< PFCandidateCollection > &pfCands, bool copyGammasFromPiZeros=false)
Constructor with PFCandidate Handle.
std::map< CollectionKey, std::vector< PFCandidatePtr > * > CollectionMap
void setleadPFNeutralCand(const T &cand)
Set leading PFGamma candidate.
void sortAndCopyIntoTau()
void addPiZero(Region region, const RecoTauPiZero &piZero)
Add a PiZero to the given collection.
tuple size
Write out results.