27 namespace reco {
namespace tau {
35 const std::vector<RecoTauPiZero>& piZeros)
const;
55 qcuts_(pset.getParameter<edm::
ParameterSet>(
"qualityCuts")),
56 usePFLeptonsAsChargedHadrons_(pset.getParameter<bool>(
"usePFLeptons")),
57 leadObjecPtThreshold_(pset.getParameter<double>(
"leadObjectPt")),
58 matchingCone_(pset.getParameter<std::string>(
"matchingCone")),
59 signalConeChargedHadrons_(pset.getParameter<std::string>(
60 "signalConeChargedHadrons")),
61 isoConeChargedHadrons_(
62 pset.getParameter<std::string>(
"isoConeChargedHadrons")),
64 pset.getParameter<std::string>(
"signalConePiZeros")),
66 pset.getParameter<std::string>(
"isoConePiZeros")),
67 signalConeNeutralHadrons_(
68 pset.getParameter<std::string>(
"signalConeNeutralHadrons")),
69 isoConeNeutralHadrons_(
70 pset.getParameter<std::string>(
"isoConeNeutralHadrons"))
75 const std::vector<RecoTauPiZero>& piZeros)
const {
87 typedef std::vector<PFCandidatePtr>
PFCandPtrs;
119 PFCandPtrs::iterator leadPFCH_iter =
120 std::find_if(pfchs.begin(), pfchs.end(), matchingConeFilter);
122 if (leadPFCH_iter != pfchs.end()) {
123 leadPFCH = *leadPFCH_iter;
134 PFCandPtrs::iterator leadPFGamma_iter =
137 if (leadPFGamma_iter !=
pfGammas.end()) {
138 leadPFGamma = *leadPFGamma_iter;
147 }
else if (leadPFGamma.isNonnull() &&
201 piZeros.begin(), piZeros.end()),
203 piZeros.end(), piZeros.end()));
239 "RecoTauBuilderConePlugin");
const edm::Handle< PFCandidateCollection > & getPFCands() const
Hack to be able to convert Ptrs to Refs.
std::auto_ptr< reco::PFTau > get(bool setupLeadingCandidates=true)
bool usePFLeptonsAsChargedHadrons_
JetFunc isoConeChargedHadrons_
void addPiZeros(Region region, InputIterator begin, InputIterator end)
Add a list of pi zeros to the input collection.
std::vector< PFCandidatePtr > pfGammas(const PFJet &jet, bool sort=true)
Extract all pfGammas from a PFJet.
return_type operator()(const reco::PFJetRef &jet, const std::vector< RecoTauPiZero > &piZeros) const
std::vector< reco::PFCandidatePtr > PFCandPtrs
boost::filter_iterator< PiZeroDRFilter, std::vector< RecoTauPiZero >::const_iterator > PiZeroDRFilterIter
boost::ptr_vector< reco::PFTau > output_type
std::auto_ptr< output_type > return_type
JetFunc isoConeNeutralHadrons_
std::vector< PFCandidatePtr > pfCandidates(const PFJet &jet, int particleId, bool sort=true)
void setPV(const reco::VertexRef &vtx) const
Update the primary vertex.
Coll filterRefs(const Coll &refcoll) const
Filter a ref vector of PFCandidates.
RecoTauQualityCuts qcuts_
void setleadPFCand(const T &cand)
Set leading PF candidate.
double leadObjecPtThreshold_
InputIterator leadPFCand(InputIterator begin, InputIterator end)
StringObjectFunction< reco::PFJet > JetFunc
RecoTauBuilderConePlugin(const edm::ParameterSet &pset)
JetFunc signalConePiZeros_
~RecoTauBuilderConePlugin()
DeltaRFilter< RecoTauPiZero > PiZeroDRFilter
math::XYZTLorentzVector LorentzVector
Lorentz vector.
void setleadPFChargedHadrCand(const T &cand)
Set leading PFChargedHadron candidate.
std::vector< PFCandidatePtr > pfChargedCands(const PFJet &jet, bool sort=true)
Extract all non-neutral candidates from a PFJet.
void setleadPFNeutralCand(const T &cand)
Set leading PFGamma candidate.
void addPFCands(Region region, ParticleType type, InputIterator begin, InputIterator end)
boost::filter_iterator< PFCandPtrDRFilter, std::vector< PFCandidatePtr >::const_iterator > PFCandPtrDRFilterIter
#define DEFINE_EDM_PLUGIN(factory, type, name)
const reco::VertexRef & primaryVertex() const
Get primary vertex associated to this event.
JetFunc signalConeChargedHadrons_
JetFunc signalConeNeutralHadrons_
DeltaRPtrFilter< PFCandidatePtr > PFCandPtrDRFilter