10 #define LOGVERB(x) edm::LogVerbatim(x) 11 #define LOGWARN(x) edm::LogWarning(x) 12 #define LOGERR(x) edm::LogError(x) 13 #define LOGDRESSED(x) edm::LogInfo(x) 15 #define LOGVERB(x) LogTrace(x) 16 #define LOGWARN(x) edm::LogWarning(x) 17 #define LOGERR(x) edm::LogError(x) 18 #define LOGDRESSED(x) LogDebug(x) 28 const std::vector<bool>& rechitMask,
29 const std::vector<bool>& seedable,
35 std::unordered_map<uint32_t, size_t> detIdToIndex(
hits.size());
36 for( uint32_t
i = 0;
i <
hits.size(); ++
i ) {
37 detIdToIndex[
hits[
i].detId()] =
i;
41 for(
const auto&
sc : simClusters ) {
42 output.emplace_back();
45 double energy = 0.0, highest_energy = 0.0;
47 for(
const auto& hAndF : hitsAndFractions ) {
48 auto itr = detIdToIndex.find(hAndF.first);
49 if( itr == detIdToIndex.end() )
continue;
51 const double hit_energy = hAndF.second * ref->energy();
54 if( hit_energy > highest_energy || highest_energy == 0.0) {
55 highest_energy = hit_energy;
Particle flow cluster, see clustering algorithm in PFClusterAlgo.
std::vector< std::pair< uint32_t, float > > hits_and_fractions() const
Returns list of rechit IDs and fractions for this SimCluster.
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Fraction of a PFRecHit (rechits can be shared between several PFCluster's)
void setEnergy(double energy)
const std::vector< std::pair< DetId, float > > & hitsAndFractions() const
virtual void updateEvent(const edm::Event &) override final
static std::string const input
void setSeed(const DetId &id)
reco::PFRecHitRef makeRefhit(const edm::Handle< reco::PFRecHitCollection > &h, const unsigned i) const
edm::Handle< SimClusterCollection > _simClusterH
void buildClusters(const edm::Handle< reco::PFRecHitCollection > &, const std::vector< bool > &, const std::vector< bool > &, reco::PFClusterCollection &) override
void setCorrectedEnergy(double cenergy)
edm::EDGetTokenT< SimClusterCollection > _simClusterToken
void addRecHitFraction(const reco::PFRecHitFraction &frac)
add a given fraction of the rechit
std::vector< PFCluster > PFClusterCollection
collection of PFCluster objects
std::vector< SimCluster > SimClusterCollection