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 37 of file PFBlockAlgo.h.
typedef std::array<std::pair<unsigned int, unsigned int>, reco::PFBlockElement::kNBETypes> PFBlockAlgo::ElementRanges |
Definition at line 39 of file PFBlockAlgo.h.
PFBlockAlgo::PFBlockAlgo | ( | ) |
Definition at line 69 of file PFBlockAlgo.cc.
References ECAL, HCAL, DigiToRawDM_cff::HO, and INIT_ENTRY.
PFBlockAlgo::~PFBlockAlgo | ( | ) |
void PFBlockAlgo::buildElements | ( | const edm::Event & | evt | ) |
Definition at line 284 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 139 of file PFBlockAlgo.cc.
References TkClusParameters_cff::block_size, gather_cfg::blocks, elements_, mps_fire::i, dqmiolumiharvest::j, kdtrees_, crabWrapper::key, relativeConstraints::keys, electronStore::links, linkTests_, linkTestSquare_, pfDeepBoostedJetPreprocessParams_cfi::lower_bound, SiStripPI::min, LaserDQM_cfg::p1, SiStripOfflineCRack_cfg::p2, packLinks(), FastTimerService_cff::range, and ranges_.
Referenced by PFBlockProducer::produce().
|
inlineprivate |
check whether 2 elements are linked. Returns distance
Definition at line 261 of file PFBlockAlgo.cc.
References gather_cfg::cout, debug_, reco::PFBlockElement::kNBETypes, linkTests_, SiStripPI::max, SiStripPI::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 217 of file PFBlockAlgo.cc.
References groupFilesInBlocks::block, funct::false, testProducerWithPsetDescEmpty_cfi::i1, testProducerWithPsetDescEmpty_cfi::i2, reco::PFBlockElement::kNBETypes, link(), electronStore::links, linkTests_, and edm::OwnVector< T, P >::size().
Referenced by findBlocks().
|
inline |
void PFBlockAlgo::setImporters | ( | const std::vector< edm::ParameterSet > & | confs, |
edm::ConsumesCollector & | cc | ||
) |
Definition at line 124 of file PFBlockAlgo.cc.
References gpuPixelDoublets::cc, beamerCreator::create(), get, HLT_2023v12_cff::importerName, importers_, and AlCaHLTBitMon_QueryRunRegistry::string.
void PFBlockAlgo::setLinkers | ( | const std::vector< edm::ParameterSet > & | confs | ) |
Definition at line 84 of file PFBlockAlgo.cc.
References beamerCreator::create(), elementTypes_, Exception, get, mps_fire::i, dqmiolumiharvest::j, kdtrees_, reco::PFBlockElement::kNBETypes, HLT_2023v12_cff::linkerName, linkTests_, linkTestSquare_, SiStripPI::max, SiStripPI::min, hcallasereventfilter2012_cfi::prefix, submitPVValidationJobs::split(), AlCaHLTBitMon_QueryRunRegistry::string, and HLT_2023v12_cff::useKDTree.
void PFBlockAlgo::updateEventSetup | ( | const edm::EventSetup & | es | ) |
Definition at line 275 of file PFBlockAlgo.cc.
References importers_.
Referenced by PFBlockProducer::beginLuminosityBlock().
|
friend |
Definition at line 325 of file PFBlockAlgo.cc.
|
private |
if true, debug printouts activated
Definition at line 75 of file PFBlockAlgo.h.
Referenced by link(), setDebug(), and ~PFBlockAlgo().
|
private |
Definition at line 71 of file PFBlockAlgo.h.
Referenced by buildElements(), findBlocks(), and ~PFBlockAlgo().
|
private |
Definition at line 82 of file PFBlockAlgo.h.
Referenced by setLinkers().
|
private |
Definition at line 80 of file PFBlockAlgo.h.
Referenced by buildElements(), setImporters(), and updateEventSetup().
|
private |
Definition at line 86 of file PFBlockAlgo.h.
Referenced by buildElements(), findBlocks(), and setLinkers().
|
private |
Definition at line 83 of file PFBlockAlgo.h.
Referenced by findBlocks(), link(), packLinks(), and setLinkers().
|
private |
Definition at line 84 of file PFBlockAlgo.h.
Referenced by findBlocks(), and setLinkers().
|
private |
Definition at line 72 of file PFBlockAlgo.h.
Referenced by buildElements(), and findBlocks().
|
private |
Definition at line 78 of file PFBlockAlgo.h.