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, hcaldqm::constants::HO, and INIT_ENTRY.
PFBlockAlgo::~PFBlockAlgo | ( | ) |
void PFBlockAlgo::buildElements | ( | const edm::Event & | ) |
Referenced by PFBlockProducer::produce().
reco::PFBlockCollection PFBlockAlgo::findBlocks | ( | ) |
build blocks
Referenced by PFBlockProducer::produce().
|
inlineprivate |
check whether 2 elements are linked. Returns distance
|
private |
compute missing links in the blocks (the recursive procedure does not build all links)
|
inline |
sets debug printout flag
Definition at line 59 of file PFBlockAlgo.h.
Referenced by PFBlockProducer::PFBlockProducer().
void PFBlockAlgo::setImporters | ( | const std::vector< edm::ParameterSet > & | , |
edm::ConsumesCollector & | |||
) |
Referenced by PFBlockProducer::PFBlockProducer().
void PFBlockAlgo::setLinkers | ( | const std::vector< edm::ParameterSet > & | ) |
Referenced by PFBlockProducer::PFBlockProducer().
void PFBlockAlgo::updateEventSetup | ( | const edm::EventSetup & | ) |
Referenced by PFBlockProducer::beginLuminosityBlock().
|
friend |
|
private |
if true, debug printouts activated
Definition at line 75 of file PFBlockAlgo.h.
Referenced by setDebug().
|
private |
Definition at line 71 of file PFBlockAlgo.h.
|
private |
Definition at line 82 of file PFBlockAlgo.h.
|
private |
Definition at line 80 of file PFBlockAlgo.h.
|
private |
Definition at line 86 of file PFBlockAlgo.h.
|
private |
Definition at line 83 of file PFBlockAlgo.h.
|
private |
Definition at line 84 of file PFBlockAlgo.h.
|
private |
Definition at line 72 of file PFBlockAlgo.h.
|
private |
Definition at line 78 of file PFBlockAlgo.h.