CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
L1CaloInputScalesProducer Class Reference

#include <L1TriggerConfig/RCTConfigProducers/src/L1CaloInputScalesProducer.cc>

Inheritance diagram for L1CaloInputScalesProducer:
edm::ESProducer edm::ESProductResolverFactoryProducer edm::eventsetup::ESProductResolverProvider

Public Member Functions

 L1CaloInputScalesProducer (const edm::ParameterSet &)
 
std::unique_ptr< L1CaloEcalScaleproduceEcalScale (const L1CaloEcalScaleRcd &)
 
std::unique_ptr< L1CaloHcalScaleproduceHcalScale (const L1CaloHcalScaleRcd &)
 
 ~L1CaloInputScalesProducer () override
 
- Public Member Functions inherited from edm::ESProducer
 ESProducer ()
 
 ESProducer (const ESProducer &)=delete
 
 ESProducer (ESProducer &&)=delete
 
ESResolverIndex const * getTokenIndices (unsigned int iIndex) const
 
ESRecordIndex const * getTokenRecordIndices (unsigned int iIndex) const
 
bool hasMayConsumes () const noexcept
 
size_t numberOfTokenIndices (unsigned int iIndex) const
 
ESProduceroperator= (const ESProducer &)=delete
 
ESProduceroperator= (ESProducer &&)=delete
 
SerialTaskQueueChainqueue ()
 
template<typename Record >
std::optional< std::vector< ESResolverIndex > > updateFromMayConsumes (unsigned int iIndex, const Record &iRecord) const
 
void updateLookup (eventsetup::ESRecordsToProductResolverIndices const &) final
 
 ~ESProducer () noexcept(false) override
 
- Public Member Functions inherited from edm::ESProductResolverFactoryProducer
 ESProductResolverFactoryProducer ()
 
 ESProductResolverFactoryProducer (const ESProductResolverFactoryProducer &)=delete
 
const ESProductResolverFactoryProduceroperator= (const ESProductResolverFactoryProducer &)=delete
 
 ~ESProductResolverFactoryProducer () noexcept(false) override
 
- Public Member Functions inherited from edm::eventsetup::ESProductResolverProvider
void createKeyedResolvers (EventSetupRecordKey const &key, unsigned int nConcurrentIOVs)
 
const ComponentDescriptiondescription () const
 
 ESProductResolverProvider ()
 
 ESProductResolverProvider (const ESProductResolverProvider &)=delete
 
void fillRecordsNotAllowingConcurrentIOVs (std::set< EventSetupRecordKey > &recordsNotAllowingConcurrentIOVs) const
 
virtual void initConcurrentIOVs (EventSetupRecordKey const &key, unsigned int nConcurrentIOVs)
 
bool isUsingRecord (const EventSetupRecordKey &key) const
 
KeyedResolverskeyedResolvers (const EventSetupRecordKey &iRecordKey, unsigned int iovIndex=0)
 
const ESProductResolverProvideroperator= (const ESProductResolverProvider &)=delete
 
void setAppendToDataLabel (const edm::ParameterSet &)
 
void setDescription (const ComponentDescription &iDescription)
 
std::set< EventSetupRecordKeyusingRecords () const
 
virtual ~ESProductResolverProvider () noexcept(false)
 

Private Attributes

std::vector< double > m_ecalEtThresholdsNegEta
 
std::vector< double > m_ecalEtThresholdsPosEta
 
std::vector< double > m_hcalEtThresholdsNegEta
 
std::vector< double > m_hcalEtThresholdsPosEta
 

Additional Inherited Members

- Static Public Member Functions inherited from edm::eventsetup::ESProductResolverProvider
static void prevalidate (ConfigurationDescriptions &)
 
- Protected Types inherited from edm::ESProductResolverFactoryProducer
using EventSetupRecordKey = eventsetup::EventSetupRecordKey
 
- Protected Types inherited from edm::eventsetup::ESProductResolverProvider
using KeyedResolversVector = std::vector< std::pair< DataKey, std::shared_ptr< ESProductResolver > >>
 
- Protected Member Functions inherited from edm::ESProducer
ESConsumesInfoconsumesInfoPushBackNew ()
 
unsigned int consumesInfoSize () const
 
template<typename CallbackT , typename TList , typename TRecord >
void registerProducts (std::shared_ptr< std::pair< unsigned int, std::shared_ptr< CallbackT >>> iCallback, const TList *, const TRecord *iRecord, const es::Label &iLabel)
 
template<typename CallbackT , typename TRecord >
void registerProducts (std::shared_ptr< std::pair< unsigned int, std::shared_ptr< CallbackT >>>, const eventsetup::produce::Null *, const TRecord *, const es::Label &)
 
template<typename T >
auto setWhatProduced (T *iThis, const es::Label &iLabel={})
 
template<typename T >
auto setWhatProduced (T *iThis, const char *iLabel)
 
template<typename T >
auto setWhatProduced (T *iThis, const std::string &iLabel)
 
template<typename T , typename TDecorator >
auto setWhatProduced (T *iThis, const TDecorator &iDec, const es::Label &iLabel={})
 
template<typename T , typename TReturn , typename TRecord >
auto setWhatProduced (T *iThis, TReturn(T::*iMethod)(const TRecord &), const es::Label &iLabel={})
 
template<typename T , typename TReturn , typename TRecord , typename TDecorator >
auto setWhatProduced (T *iThis, TReturn(T ::*iMethod)(const TRecord &), const TDecorator &iDec, const es::Label &iLabel={})
 
template<typename TFunc >
auto setWhatProduced (TFunc &&func, const es::Label &iLabel={})
 
template<typename TReturn , typename TRecord , typename TFunc , typename TDecorator >
ESConsumesCollectorT< TRecord > setWhatProduced (TFunc &&func, TDecorator &&iDec, const es::Label &iLabel={})
 
void usesResources (std::vector< std::string > const &)
 
- Protected Member Functions inherited from edm::ESProductResolverFactoryProducer
template<class TFactory >
void registerFactory (std::unique_ptr< TFactory > iFactory, const std::string &iLabel=std::string())
 
virtual void registerFactoryWithKey (const EventSetupRecordKey &iRecord, std::unique_ptr< eventsetup::ESProductResolverFactoryBase > iFactory, const std::string &iLabel=std::string())
 
KeyedResolversVector registerResolvers (const EventSetupRecordKey &, unsigned int iovIndex) override
 
- Protected Member Functions inherited from edm::eventsetup::ESProductResolverProvider
template<class T >
void usingRecord ()
 
void usingRecordWithKey (const EventSetupRecordKey &key)
 

Detailed Description

Description: <one line="" class="" summary>="">

Usage: <usage>

Description: <one line="" class="" summary>="">

Implementation: <Notes on="" implementation>="">

Definition at line 35 of file L1CaloInputScalesProducer.h.

Constructor & Destructor Documentation

◆ L1CaloInputScalesProducer()

L1CaloInputScalesProducer::L1CaloInputScalesProducer ( const edm::ParameterSet iConfig)

Definition at line 40 of file L1CaloInputScalesProducer.cc.

References edm::ParameterSet::getParameter(), m_ecalEtThresholdsNegEta, m_ecalEtThresholdsPosEta, m_hcalEtThresholdsNegEta, m_hcalEtThresholdsPosEta, produceEcalScale(), produceHcalScale(), and edm::ESProducer::setWhatProduced().

40  {
41  //the following line is needed to tell the framework what
42  // data is being produced
45 
46  //now do what ever other initialization is needed
47 
48  // { Et for each rank, eta bin 0 }, { Et for each rank, eta bin 1 }, ...
49  m_ecalEtThresholdsPosEta = iConfig.getParameter<std::vector<double> >("L1EcalEtThresholdsPositiveEta");
50  m_ecalEtThresholdsNegEta = iConfig.getParameter<std::vector<double> >("L1EcalEtThresholdsNegativeEta");
51  m_hcalEtThresholdsPosEta = iConfig.getParameter<std::vector<double> >("L1HcalEtThresholdsPositiveEta");
52  m_hcalEtThresholdsNegEta = iConfig.getParameter<std::vector<double> >("L1HcalEtThresholdsNegativeEta");
53 }
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
Definition: ESProducer.h:166
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
std::unique_ptr< L1CaloEcalScale > produceEcalScale(const L1CaloEcalScaleRcd &)
std::vector< double > m_ecalEtThresholdsPosEta
std::vector< double > m_hcalEtThresholdsNegEta
std::unique_ptr< L1CaloHcalScale > produceHcalScale(const L1CaloHcalScaleRcd &)
std::vector< double > m_hcalEtThresholdsPosEta
std::vector< double > m_ecalEtThresholdsNegEta

◆ ~L1CaloInputScalesProducer()

L1CaloInputScalesProducer::~L1CaloInputScalesProducer ( )
override

Definition at line 55 of file L1CaloInputScalesProducer.cc.

55  {
56  // do anything here that needs to be done at desctruction time
57  // (e.g. close files, deallocate resources etc.)
58 }

Member Function Documentation

◆ produceEcalScale()

std::unique_ptr< L1CaloEcalScale > L1CaloInputScalesProducer::produceEcalScale ( const L1CaloEcalScaleRcd iRecord)

Definition at line 65 of file L1CaloInputScalesProducer.cc.

References hcalRecHitTable_cff::ieta, m_ecalEtThresholdsNegEta, m_ecalEtThresholdsPosEta, L1CaloEcalScale::nBinEta, and L1CaloEcalScale::nBinRank.

Referenced by L1CaloInputScalesProducer().

65  {
66  auto pL1CaloEcalScale = std::make_unique<L1CaloEcalScale>();
67 
68  std::vector<double>::const_iterator posItr = m_ecalEtThresholdsPosEta.begin();
69  std::vector<double>::const_iterator negItr = m_ecalEtThresholdsNegEta.begin();
70 
71  for (unsigned short ieta = 1; ieta <= L1CaloEcalScale::nBinEta; ++ieta) {
72  for (unsigned short irank = 0; irank < L1CaloEcalScale::nBinRank; ++irank) {
73  pL1CaloEcalScale->setBin(irank, ieta, 1, *posItr);
74  pL1CaloEcalScale->setBin(irank, ieta, -1, *negItr);
75 
76  ++posItr;
77  ++negItr;
78  }
79  }
80 
81  return pL1CaloEcalScale;
82 }
std::vector< double > m_ecalEtThresholdsPosEta
std::vector< double > m_ecalEtThresholdsNegEta
static const unsigned short nBinRank
static const unsigned short nBinEta

◆ produceHcalScale()

std::unique_ptr< L1CaloHcalScale > L1CaloInputScalesProducer::produceHcalScale ( const L1CaloHcalScaleRcd iRecord)

Definition at line 85 of file L1CaloInputScalesProducer.cc.

References hcalRecHitTable_cff::ieta, m_hcalEtThresholdsNegEta, m_hcalEtThresholdsPosEta, L1CaloHcalScale::nBinEta, and L1CaloHcalScale::nBinRank.

Referenced by L1CaloInputScalesProducer().

85  {
86  auto pL1CaloHcalScale = std::make_unique<L1CaloHcalScale>();
87 
88  std::vector<double>::const_iterator posItr = m_hcalEtThresholdsPosEta.begin();
89 
90  std::vector<double>::const_iterator negItr = m_hcalEtThresholdsNegEta.begin();
91 
92  for (unsigned short ieta = 1; ieta <= L1CaloHcalScale::nBinEta; ++ieta) {
93  for (unsigned short irank = 0; irank < L1CaloHcalScale::nBinRank; ++irank) {
94  pL1CaloHcalScale->setBin(irank, ieta, 1, *posItr);
95  pL1CaloHcalScale->setBin(irank, ieta, -1, *negItr);
96 
97  ++posItr;
98  ++negItr;
99  }
100  }
101 
102  return pL1CaloHcalScale;
103 }
std::vector< double > m_hcalEtThresholdsNegEta
std::vector< double > m_hcalEtThresholdsPosEta
static const unsigned short nBinRank
static const unsigned short nBinEta

Member Data Documentation

◆ m_ecalEtThresholdsNegEta

std::vector<double> L1CaloInputScalesProducer::m_ecalEtThresholdsNegEta
private

Definition at line 48 of file L1CaloInputScalesProducer.h.

Referenced by L1CaloInputScalesProducer(), and produceEcalScale().

◆ m_ecalEtThresholdsPosEta

std::vector<double> L1CaloInputScalesProducer::m_ecalEtThresholdsPosEta
private

Definition at line 47 of file L1CaloInputScalesProducer.h.

Referenced by L1CaloInputScalesProducer(), and produceEcalScale().

◆ m_hcalEtThresholdsNegEta

std::vector<double> L1CaloInputScalesProducer::m_hcalEtThresholdsNegEta
private

Definition at line 50 of file L1CaloInputScalesProducer.h.

Referenced by L1CaloInputScalesProducer(), and produceHcalScale().

◆ m_hcalEtThresholdsPosEta

std::vector<double> L1CaloInputScalesProducer::m_hcalEtThresholdsPosEta
private

Definition at line 49 of file L1CaloInputScalesProducer.h.

Referenced by L1CaloInputScalesProducer(), and produceHcalScale().