1 #ifndef RecoTauTag_RecoTau_RecoTauConstructor_h
2 #define RecoTauTag_RecoTau_RecoTauConstructor_h
49 bool copyGammasFromPiZeros =
false,
51 double minAbsPhotonSumPt_insideSignalCone = 2.5,
52 double minRelPhotonSumPt_insideSignalCone = 0.,
53 double minAbsPhotonSumPt_outsideSignalCone = 1.
e+9,
54 double minRelPhotonSumPt_outsideSignalCone = 1.
e+9);
87 template <
typename InputIterator>
89 for (InputIterator iter = begin; iter !=
end; ++iter) {
101 template <
typename InputIterator>
103 for (InputIterator iter = begin; iter !=
end; ++iter) {
115 template <
typename InputIterator>
117 for (InputIterator iter = begin; iter !=
end; ++iter) {
123 std::unique_ptr<reco::PFTau>
get(
bool setupLeadingCandidates =
true);
154 std::unique_ptr<reco::PFTau>
tau_;
void addPFCand(Region region, ParticleType type, const CandidatePtr &ptr, 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.
double minRelPhotonSumPt_outsideSignalCone_
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.
void setleadChargedHadrCand(const T &cand)
Set leading PFChargedHadron candidate.
std::map< CollectionKey, SortedListPtr > SortedCollectionMap
std::vector< CandidatePtr > * getCollection(Region region, ParticleType type)
void setleadNeutralCand(const T &cand)
Set leading PFGamma candidate.
std::unique_ptr< reco::PFTau > tau_
void addPiZeros(Region region, const InputIterator &begin, const InputIterator &end)
Add a list of pizeros to the input collection.
const edm::Handle< edm::View< reco::Candidate > > & pfCands_
SortedCollectionMap sortedCollections_
SortedListPtr getSortedCollection(Region region, ParticleType type)
const reco::Candidate::LorentzVector & p4() const
std::pair< Region, ParticleType > CollectionKey
void addPFCands(Region region, ParticleType type, const InputIterator &begin, const InputIterator &end)
double minAbsPhotonSumPt_outsideSignalCone_
RecoTauConstructor(const JetBaseRef &jetRef, const edm::Handle< edm::View< reco::Candidate > > &pfCands, bool copyGammasFromPiZeros=false, const StringObjectFunction< reco::PFTau > *signalConeSize=nullptr, double minAbsPhotonSumPt_insideSignalCone=2.5, double minRelPhotonSumPt_insideSignalCone=0., double minAbsPhotonSumPt_outsideSignalCone=1.e+9, double minRelPhotonSumPt_outsideSignalCone=1.e+9)
Constructor with PFCandidate Handle.
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.
double minRelPhotonSumPt_insideSignalCone_
math::XYZTLorentzVector LorentzVector
Lorentz vector.
std::shared_ptr< std::vector< CandidatePtr > > SortedListPtr
void sortAndCopyIntoTau()
void setleadCand(const T &cand)
Set leading PF candidate.
void addPiZero(Region region, const RecoTauPiZero &piZero)
Add a PiZero to the given collection.
const StringObjectFunction< reco::PFTau > * signalConeSize_
std::map< CollectionKey, std::vector< CandidatePtr > * > CollectionMap
double minAbsPhotonSumPt_insideSignalCone_
CandidatePtr convertToPtr(const PFCandidatePtr &pfPtr) const
tuple size
Write out results.