27 namespace reco {
namespace tau {
47 qcuts_(pset.getParameter<edm::
ParameterSet>(
"qualityCuts")) {
58 typedef std::vector<reco::PFCandidatePtr>
PFCandPtrs;
64 if (pfGammaCands.size() <
choose_)
65 return output.release();
68 PFCandIter start_iter = pfGammaCands.begin();
69 PFCandIter end_iter = pfGammaCands.end();
79 for (ComboGenerator::iterator combo = generator.begin();
80 combo != generator.end(); ++combo) {
82 std::auto_ptr<RecoTauPiZero> piZero(
86 for (ComboGenerator::combo_iterator candidate = combo->combo_begin();
87 candidate != combo->combo_end(); ++candidate) {
88 piZero->addDaughter(*candidate);
92 if (piZero->daughterPtr(0).isNonnull())
93 piZero->setVertex(piZero->daughterPtr(0)->vertex());
95 if ((maxMass_ < 0 || piZero->mass() <
maxMass_) &&
97 output.push_back(piZero);
99 return output.release();
107 "RecoTauPiZeroCombinatoricPlugin");
~RecoTauPiZeroCombinatoricPlugin()
T getParameter(std::string const &) const
InputIterator takeNElements(const InputIterator &begin, const InputIterator &end, size_t N)
Coll filterRefs(const Coll &refcoll, bool invert=false) const
Filter a ref vector of PFCandidates.
std::vector< PFCandidatePtr > pfGammas(const PFJet &jet, bool sort=true)
Extract all pfGammas from a PFJet.
std::vector< reco::PFCandidatePtr > PFCandPtrs
Jets made from PFObjects.
RecoTauPiZeroCombinatoricPlugin(const edm::ParameterSet &pset)
unsigned int maxInputGammas_
RecoTauQualityCuts qcuts_
math::XYZTLorentzVector LorentzVector
Lorentz vector.
std::auto_ptr< PiZeroVector > return_type
AddFourMomenta p4Builder_
boost::ptr_vector< RecoTauPiZero > PiZeroVector
return_type operator()(const reco::PFJet &jet) const
Build a collection of piZeros from objects in the input jet.
PFCandPtrs::iterator PFCandIter
math::XYZPoint Point
point in the space
#define DEFINE_EDM_PLUGIN(factory, type, name)
void set(reco::Candidate &c) const
set up a candidate