26 namespace reco {
namespace tau {
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)
RecoTauPiZeroCombinatoricPlugin(const edm::ParameterSet &pset, edm::ConsumesCollector &&iC)
Coll filterCandRefs(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.
ParameterSet const & getParameterSet(ParameterSetID const &id)
std::vector< reco::PFCandidatePtr > PFCandPtrs
Jets made from PFObjects.
unsigned int maxInputGammas_
RecoTauQualityCuts qcuts_
return_type operator()(const reco::PFJet &jet) const override
Build a collection of piZeros from objects in the input jet.
math::XYZTLorentzVector LorentzVector
Lorentz vector.
std::auto_ptr< PiZeroVector > return_type
AddFourMomenta p4Builder_
boost::ptr_vector< RecoTauPiZero > PiZeroVector
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