Particle Flow Algorithm. More...
#include <PFBlockAlgo.h>
Public Types | |
typedef std::vector< std::unique_ptr< reco::PFBlockElement > > | ElementList |
typedef std::array< std::pair< unsigned int, unsigned int >, reco::PFBlockElement::kNBETypes > | ElementRanges |
Public Member Functions | |
void | buildElements (const edm::Event &) |
reco::PFBlockCollection | findBlocks () |
build blocks More... | |
PFBlockAlgo () | |
void | setDebug (bool debug) |
sets debug printout flag More... | |
void | setImporters (const std::vector< edm::ParameterSet > &, edm::ConsumesCollector &) |
void | setLinkers (const std::vector< edm::ParameterSet > &) |
void | updateEventSetup (const edm::EventSetup &) |
~PFBlockAlgo () | |
Private Member Functions | |
void | link (const reco::PFBlockElement *el1, const reco::PFBlockElement *el2, double &dist) const |
check whether 2 elements are linked. Returns distance More... | |
void | packLinks (reco::PFBlock &block, const std::unordered_map< std::pair< unsigned int, unsigned int >, double > &links) const |
Private Attributes | |
bool | debug_ |
if true, debug printouts activated More... | |
ElementList | elements_ |
const std::unordered_map< std::string, reco::PFBlockElement::Type > | elementTypes_ |
std::vector< std::unique_ptr< BlockElementImporterBase > > | importers_ |
std::vector< std::unique_ptr< KDTreeLinkerBase > > | kdtrees_ |
std::vector< std::unique_ptr< BlockElementLinkerBase > > | linkTests_ |
unsigned int | linkTestSquare_ [reco::PFBlockElement::kNBETypes][reco::PFBlockElement::kNBETypes] |
ElementRanges | ranges_ |
bool | useHO_ |
Friends | |
std::ostream & | operator<< (std::ostream &, const PFBlockAlgo &) |
typedef std::vector<std::unique_ptr<reco::PFBlockElement> > PFBlockAlgo::ElementList |
Definition at line 40 of file PFBlockAlgo.h.
typedef std::array<std::pair<unsigned int,unsigned int>,reco::PFBlockElement::kNBETypes> PFBlockAlgo::ElementRanges |
Definition at line 42 of file PFBlockAlgo.h.
PFBlockAlgo::PFBlockAlgo | ( | ) |
Definition at line 69 of file PFBlockAlgo.cc.
References ECAL, HCAL, hcaldqm::constants::HO, and INIT_ENTRY.
PFBlockAlgo::~PFBlockAlgo | ( | ) |
void PFBlockAlgo::buildElements | ( | const edm::Event & | evt | ) |
Definition at line 299 of file PFBlockAlgo.cc.
References a, b, elements_, mps_fire::i, importers_, kdtrees_, ranges_, and jetUpdater_cfi::sort.
Referenced by PFBlockProducer::produce().
reco::PFBlockCollection PFBlockAlgo::findBlocks | ( | ) |
build blocks
Definition at line 151 of file PFBlockAlgo.cc.
References gather_cfg::blocks, elements_, mps_fire::i, kdtrees_, crabWrapper::key, relativeConstraints::keys, linkTests_, linkTestSquare_, pfDeepBoostedJetPreprocessParams_cfi::lower_bound, min(), p1, p2, packLinks(), and ranges_.
Referenced by PFBlockProducer::produce().
|
inlineprivate |
check whether 2 elements are linked. Returns distance
Definition at line 273 of file PFBlockAlgo.cc.
References constexpr, gather_cfg::cout, debug_, reco::PFBlockElement::kNBETypes, linkTests_, SiStripPI::max, min(), and reco::PFBlockElement::type().
Referenced by packLinks().
|
private |
compute missing links in the blocks (the recursive procedure does not build all links)
Definition at line 228 of file PFBlockAlgo.cc.
References reco::PFBlock::bookLinkData(), constexpr, reco::PFBlock::elements(), reco::PFBlockElement::kNBETypes, link(), reco::PFBlock::linkData(), linkTests_, reco::PFBlock::setLink(), and edm::OwnVector< T, P >::size().
Referenced by findBlocks().
|
inline |
sets debug printout flag
Definition at line 63 of file PFBlockAlgo.h.
References groupFilesInBlocks::block, and debug.
Referenced by PFBlockProducer::PFBlockProducer().
void PFBlockAlgo::setImporters | ( | const std::vector< edm::ParameterSet > & | confs, |
edm::ConsumesCollector & | sumes | ||
) |
Definition at line 132 of file PFBlockAlgo.cc.
References beamerCreator::create(), reco::get(), Reconstruction_hiPF_cff::importerName, importers_, and AlCaHLTBitMon_QueryRunRegistry::string.
Referenced by PFBlockProducer::PFBlockProducer().
void PFBlockAlgo::setLinkers | ( | const std::vector< edm::ParameterSet > & | confs | ) |
Definition at line 86 of file PFBlockAlgo.cc.
References constexpr, beamerCreator::create(), elementTypes_, Exception, reco::get(), mps_fire::i, kdtrees_, reco::PFBlockElement::kNBETypes, hltParticleFlowForJets_cfi::linkerName, linkTests_, linkTestSquare_, SiStripPI::max, min(), tablePrinter::prefix, split, AlCaHLTBitMon_QueryRunRegistry::string, and hltParticleFlowForJets_cfi::useKDTree.
Referenced by PFBlockProducer::PFBlockProducer().
void PFBlockAlgo::updateEventSetup | ( | const edm::EventSetup & | es | ) |
Definition at line 290 of file PFBlockAlgo.cc.
References importers_.
Referenced by PFBlockProducer::beginLuminosityBlock().
|
friend |
Definition at line 342 of file PFBlockAlgo.cc.
|
private |
if true, debug printouts activated
Definition at line 82 of file PFBlockAlgo.h.
Referenced by link(), and ~PFBlockAlgo().
|
private |
Definition at line 78 of file PFBlockAlgo.h.
Referenced by buildElements(), findBlocks(), operator<<(), and ~PFBlockAlgo().
|
private |
Definition at line 90 of file PFBlockAlgo.h.
Referenced by setLinkers().
|
private |
Definition at line 87 of file PFBlockAlgo.h.
Referenced by buildElements(), setImporters(), and updateEventSetup().
|
private |
Definition at line 94 of file PFBlockAlgo.h.
Referenced by buildElements(), findBlocks(), and setLinkers().
|
private |
Definition at line 91 of file PFBlockAlgo.h.
Referenced by findBlocks(), link(), packLinks(), and setLinkers().
|
private |
Definition at line 92 of file PFBlockAlgo.h.
Referenced by findBlocks(), and setLinkers().
|
private |
Definition at line 79 of file PFBlockAlgo.h.
Referenced by buildElements(), and findBlocks().
|
private |
Definition at line 85 of file PFBlockAlgo.h.