![]() |
![]() |
Public Member Functions | |
return_type | operator() (const reco::PFJet &jet) const |
Build a collection of piZeros from objects in the input jet. | |
RecoTauPiZeroCombinatoricPlugin (const edm::ParameterSet &pset) | |
~RecoTauPiZeroCombinatoricPlugin () | |
Private Attributes | |
unsigned int | choose_ |
unsigned int | maxInputGammas_ |
double | maxMass_ |
double | minMass_ |
AddFourMomenta | p4Builder_ |
RecoTauQualityCuts | qcuts_ |
Definition at line 29 of file RecoTauPiZeroCombinatoricPlugin.cc.
reco::tau::RecoTauPiZeroCombinatoricPlugin::RecoTauPiZeroCombinatoricPlugin | ( | const edm::ParameterSet & | pset | ) | [explicit] |
Definition at line 45 of file RecoTauPiZeroCombinatoricPlugin.cc.
References choose_, edm::ParameterSet::getParameter(), maxInputGammas_, maxMass_, and minMass_.
:RecoTauPiZeroBuilderPlugin(pset), qcuts_(pset.getParameter<edm::ParameterSet>("qualityCuts")) { minMass_ = pset.getParameter<double>("minMass"); maxMass_ = pset.getParameter<double>("maxMass"); maxInputGammas_ = pset.getParameter<unsigned int>("maxInputGammas"); choose_ = pset.getParameter<unsigned int>("choose"); }
reco::tau::RecoTauPiZeroCombinatoricPlugin::~RecoTauPiZeroCombinatoricPlugin | ( | ) | [inline] |
Definition at line 32 of file RecoTauPiZeroCombinatoricPlugin.cc.
{}
RecoTauPiZeroCombinatoricPlugin::return_type reco::tau::RecoTauPiZeroCombinatoricPlugin::operator() | ( | const reco::PFJet & | ) | const [virtual] |
Build a collection of piZeros from objects in the input jet.
Implements reco::tau::RecoTauPiZeroBuilderPlugin.
Definition at line 55 of file RecoTauPiZeroCombinatoricPlugin.cc.
References choose_, reco::tau::RecoTauQualityCuts::filterRefs(), python::IdGenerator::generator, reco::RecoTauPiZero::kCombinatoric, maxInputGammas_, maxMass_, minMass_, convertSQLitetoXML_cfg::output, p4Builder_, reco::tau::pfGammas(), qcuts_, AddFourMomenta::set(), and reco::tau::takeNElements().
{ // Get list of gamma candidates typedef std::vector<reco::PFCandidatePtr> PFCandPtrs; typedef PFCandPtrs::const_iterator PFCandIter; PiZeroVector output; PFCandPtrs pfGammaCands = qcuts_.filterRefs(pfGammas(jet)); // Check if we have anything to do... if (pfGammaCands.size() < choose_) return output.release(); // Define the valid range of gammas to use PFCandIter start_iter = pfGammaCands.begin(); PFCandIter end_iter = pfGammaCands.end(); // Only take the desired number of piZeros end_iter = takeNElements(start_iter, end_iter, maxInputGammas_); // Build the combinatoric generator typedef CombinatoricGenerator<PFCandPtrs> ComboGenerator; ComboGenerator generator(start_iter, end_iter, choose_); // Find all possible combinations for (ComboGenerator::iterator combo = generator.begin(); combo != generator.end(); ++combo) { const Candidate::LorentzVector totalP4; std::auto_ptr<RecoTauPiZero> piZero( new RecoTauPiZero(0, totalP4, Candidate::Point(0, 0, 0), 111, 10001, true, RecoTauPiZero::kCombinatoric)); // Add our daughters from this combination for (ComboGenerator::combo_iterator candidate = combo->combo_begin(); candidate != combo->combo_end(); ++candidate) { piZero->addDaughter(*candidate); } p4Builder_.set(*piZero); if (piZero->daughterPtr(0).isNonnull()) piZero->setVertex(piZero->daughterPtr(0)->vertex()); if ((maxMass_ < 0 || piZero->mass() < maxMass_) && piZero->mass() > minMass_) output.push_back(piZero); } return output.release(); }
unsigned int reco::tau::RecoTauPiZeroCombinatoricPlugin::choose_ [private] |
Definition at line 41 of file RecoTauPiZeroCombinatoricPlugin.cc.
Referenced by operator()(), and RecoTauPiZeroCombinatoricPlugin().
unsigned int reco::tau::RecoTauPiZeroCombinatoricPlugin::maxInputGammas_ [private] |
Definition at line 40 of file RecoTauPiZeroCombinatoricPlugin.cc.
Referenced by operator()(), and RecoTauPiZeroCombinatoricPlugin().
double reco::tau::RecoTauPiZeroCombinatoricPlugin::maxMass_ [private] |
Definition at line 39 of file RecoTauPiZeroCombinatoricPlugin.cc.
Referenced by operator()(), and RecoTauPiZeroCombinatoricPlugin().
double reco::tau::RecoTauPiZeroCombinatoricPlugin::minMass_ [private] |
Definition at line 38 of file RecoTauPiZeroCombinatoricPlugin.cc.
Referenced by operator()(), and RecoTauPiZeroCombinatoricPlugin().
Definition at line 42 of file RecoTauPiZeroCombinatoricPlugin.cc.
Referenced by operator()().
Definition at line 37 of file RecoTauPiZeroCombinatoricPlugin.cc.
Referenced by operator()().