CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Attributes
l1tpf_calo::FlatCaloLinker Class Reference

#include <CaloClusterer.h>

Inheritance diagram for l1tpf_calo::FlatCaloLinker:
l1tpf_calo::SimpleCaloLinkerBase

Public Member Functions

void clear () override
 
 FlatCaloLinker (const edm::ParameterSet &pset, const SingleCaloClusterer &ecal, const SingleCaloClusterer &hcal)
 
void run () override
 
 ~FlatCaloLinker () override
 
- Public Member Functions inherited from l1tpf_calo::SimpleCaloLinkerBase
void clearBase ()
 
template<typename Corrector >
void correct (const Corrector &corrector)
 
std::unique_ptr< l1t::PFClusterCollectionfetch () const
 
std::unique_ptr< l1t::PFClusterCollectionfetch (const edm::OrphanHandle< l1t::PFClusterCollection > &ecal, const edm::OrphanHandle< l1t::PFClusterCollection > &hcal) const
 
 SimpleCaloLinkerBase (const edm::ParameterSet &pset, const SingleCaloClusterer &ecal, const SingleCaloClusterer &hcal)
 
virtual ~SimpleCaloLinkerBase ()
 

Protected Attributes

SingleCaloClusterer combClusterer_
 
- Protected Attributes inherited from l1tpf_calo::SimpleCaloLinkerBase
IndexGrid clusterIndex_
 
std::vector< CombinedClusterclusters_
 
const SingleCaloClustererecal_
 
std::vector< double > etaBounds_
 
const Gridgrid_
 
const SingleCaloClustererhcal_
 
float hoeCut_
 
std::vector< unsigned int > maxClustersEtaPhi_
 
float minHadronEt_
 
float minHadronRawEt_
 
float minPhotonEt_
 
bool noEmInHGC_
 
std::vector< double > phiBounds_
 

Detailed Description

Definition at line 308 of file CaloClusterer.h.

Constructor & Destructor Documentation

◆ FlatCaloLinker()

l1tpf_calo::FlatCaloLinker::FlatCaloLinker ( const edm::ParameterSet pset,
const SingleCaloClusterer ecal,
const SingleCaloClusterer hcal 
)

Definition at line 652 of file CaloClusterer.cc.

SimpleCaloLinkerBase(const edm::ParameterSet &pset, const SingleCaloClusterer &ecal, const SingleCaloClusterer &hcal)
SingleCaloClusterer combClusterer_

◆ ~FlatCaloLinker()

l1tpf_calo::FlatCaloLinker::~FlatCaloLinker ( )
override

Definition at line 657 of file CaloClusterer.cc.

657 {}

Member Function Documentation

◆ clear()

void l1tpf_calo::FlatCaloLinker::clear ( void  )
overridevirtual

Reimplemented from l1tpf_calo::SimpleCaloLinkerBase.

Definition at line 659 of file CaloClusterer.cc.

◆ run()

void l1tpf_calo::FlatCaloLinker::run ( )
overridevirtual

Implements l1tpf_calo::SimpleCaloLinkerBase.

Definition at line 664 of file CaloClusterer.cc.

References math::cholesky::dst, DeadROCCounter::nclust, and TrackRefitter_38T_cff::src.

664  {
666 
667  const EtGrid &hraw = hcal_.raw();
668  const EtGrid &eraw = ecal_.raw();
669  combClusterer_.raw() = eraw;
670  combClusterer_.raw() += hraw;
671 
674  const std::vector<Cluster> &clustersSrc = combClusterer_.clusters();
675  unsigned int nclust = clustersSrc.size();
676  clusters_.resize(nclust);
677  for (unsigned int ic = 0; ic < nclust; ++ic) {
678  const Cluster &src = clustersSrc[ic];
679  CombinedCluster &dst = clusters_[ic];
680  dst.et = src.et;
681  dst.eta = src.eta;
682  dst.phi = src.phi;
683  dst.ecal_eta = src.eta;
684  dst.ecal_phi = src.phi;
685  dst.ecal_et = 0;
686  dst.hcal_et = 0;
687  for (const auto &pair : src.constituents) {
688  if (eraw[pair.first]) {
689  dst.ecal_et += pair.second * eraw[pair.first];
690  dst.constituents.emplace_back(-pair.first - 1, pair.second);
691  }
692  if (hraw[pair.first]) {
693  dst.hcal_et += pair.second * hraw[pair.first];
694  dst.constituents.emplace_back(+pair.first + 1, pair.second);
695  }
696  }
697  }
698 }
std::vector< CombinedCluster > clusters_
GridData< float > EtGrid
const SingleCaloClusterer & hcal_
const IndexGrid & indexGrid() const
const SingleCaloClusterer & ecal_
constexpr void M2 & dst
const EtGrid & raw() const
SingleCaloClusterer combClusterer_
const std::vector< Cluster > & clusters() const

Member Data Documentation

◆ combClusterer_

SingleCaloClusterer l1tpf_calo::FlatCaloLinker::combClusterer_
protected

Definition at line 316 of file CaloClusterer.h.