CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
GenericClusterImporter Class Reference
Inheritance diagram for GenericClusterImporter:
BlockElementImporterBase

Public Member Functions

 GenericClusterImporter (const edm::ParameterSet &conf, edm::ConsumesCollector &sumes)
 
void importToBlock (const edm::Event &, ElementList &) const override
 
- Public Member Functions inherited from BlockElementImporterBase
 BlockElementImporterBase (const edm::ParameterSet &conf, edm::ConsumesCollector &sumes)
 
 BlockElementImporterBase (const BlockElementImporterBase &)=delete
 
const std::string & name () const
 
BlockElementImporterBaseoperator= (const BlockElementImporterBase &)=delete
 
virtual void updateEventSetup (const edm::EventSetup &)
 
virtual ~BlockElementImporterBase ()=default
 

Private Attributes

edm::EDGetTokenT< reco::PFClusterCollection_src
 

Additional Inherited Members

- Public Types inherited from BlockElementImporterBase
typedef std::vector< std::unique_ptr< reco::PFBlockElement > > ElementList
 

Detailed Description

Definition at line 6 of file GenericClusterImporter.cc.

Constructor & Destructor Documentation

GenericClusterImporter::GenericClusterImporter ( const edm::ParameterSet conf,
edm::ConsumesCollector sumes 
)
inline

Definition at line 8 of file GenericClusterImporter.cc.

References importToBlock().

9  : BlockElementImporterBase(conf, sumes),
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
T getParameter(std::string const &) const
std::vector< PFCluster > PFClusterCollection
collection of PFCluster objects
Definition: PFClusterFwd.h:9
edm::EDGetTokenT< reco::PFClusterCollection > _src
BlockElementImporterBase(const edm::ParameterSet &conf, edm::ConsumesCollector &sumes)

Member Function Documentation

void GenericClusterImporter::importToBlock ( const edm::Event e,
BlockElementImporterBase::ElementList elems 
) const
overridevirtual

Implements BlockElementImporterBase.

Definition at line 20 of file GenericClusterImporter.cc.

References _src, bsc_activity_cfg::clusters, HLT_2018_cff::distance, reco::PFBlockElement::ECAL, PFLayer::ECAL_BARREL, PFLayer::ECAL_ENDCAP, Exception, edm::Event::getHandle(), reco::PFBlockElement::HCAL, PFLayer::HCAL_BARREL1, PFLayer::HCAL_BARREL2, PFLayer::HCAL_ENDCAP, PFLayer::HF_EM, PFLayer::HF_HAD, reco::PFBlockElement::HFEM, reco::PFBlockElement::HFHAD, PFLayer::HGCAL, reco::PFBlockElement::HGCAL, reco::PFBlockElement::HO, reco::PFBlockElement::NONE, PFLayer::PS1, reco::PFBlockElement::PS1, PFLayer::PS2, and reco::PFBlockElement::PS2.

Referenced by GenericClusterImporter().

20  {
21  auto clusters = e.getHandle(_src);
22  auto cbegin = clusters->cbegin();
23  auto cend = clusters->cend();
24  for (auto clus = cbegin; clus != cend; ++clus) {
26  reco::PFClusterRef cref(clusters, std::distance(cbegin, clus));
27  switch (clus->layer()) {
28  case PFLayer::PS1:
30  break;
31  case PFLayer::PS2:
33  break;
37  break;
41  break;
44  break;
45  case PFLayer::HF_EM:
47  break;
48  case PFLayer::HF_HAD:
50  break;
51  case PFLayer::HGCAL:
53  break;
54  default:
55  throw cms::Exception("InvalidPFLayer") << "Layer given, " << clus->layer() << " is not a valid PFLayer!";
56  }
57  reco::PFBlockElement* cptr = new reco::PFBlockElementCluster(cref, type);
58  elems.emplace_back(cptr);
59  }
60 }
type
Definition: HCALResponse.h:21
Abstract base class for a PFBlock element (track, cluster...)
Handle< PROD > getHandle(EDGetTokenT< PROD > token) const
Definition: Event.h:547
edm::EDGetTokenT< reco::PFClusterCollection > _src

Member Data Documentation

edm::EDGetTokenT<reco::PFClusterCollection> GenericClusterImporter::_src
private

Definition at line 15 of file GenericClusterImporter.cc.

Referenced by importToBlock().