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::ESProxyFactoryProducer edm::eventsetup::DataProxyProvider

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
 
ESProxyIndex const * getTokenIndices (unsigned int iIndex) const
 
ESRecordIndex const * getTokenRecordIndices (unsigned int iIndex) const
 
bool hasMayConsumes () const noexcept
 
size_t numberOfTokenIndices (unsigned int iIndex) const
 
ESProducer const & operator= (const ESProducer &)=delete
 
SerialTaskQueueChainqueue ()
 
template<typename Record >
std::optional< std::vector< ESProxyIndex > > updateFromMayConsumes (unsigned int iIndex, const Record &iRecord) const
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &) final
 
 ~ESProducer () noexcept(false) override
 
- Public Member Functions inherited from edm::ESProxyFactoryProducer
 ESProxyFactoryProducer ()
 
 ESProxyFactoryProducer (const ESProxyFactoryProducer &)=delete
 
const ESProxyFactoryProduceroperator= (const ESProxyFactoryProducer &)=delete
 
 ~ESProxyFactoryProducer () noexcept(false) override
 
- Public Member Functions inherited from edm::eventsetup::DataProxyProvider
void createKeyedProxies (EventSetupRecordKey const &key, unsigned int nConcurrentIOVs)
 
 DataProxyProvider ()
 
 DataProxyProvider (const DataProxyProvider &)=delete
 
const ComponentDescriptiondescription () const
 
void fillRecordsNotAllowingConcurrentIOVs (std::set< EventSetupRecordKey > &recordsNotAllowingConcurrentIOVs) const
 
virtual void initConcurrentIOVs (EventSetupRecordKey const &key, unsigned int nConcurrentIOVs)
 
bool isUsingRecord (const EventSetupRecordKey &key) const
 
KeyedProxieskeyedProxies (const EventSetupRecordKey &iRecordKey, unsigned int iovIndex=0)
 
const DataProxyProvideroperator= (const DataProxyProvider &)=delete
 
void setAppendToDataLabel (const edm::ParameterSet &)
 
void setDescription (const ComponentDescription &iDescription)
 
std::set< EventSetupRecordKeyusingRecords () const
 
virtual ~DataProxyProvider () 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::DataProxyProvider
static void prevalidate (ConfigurationDescriptions &)
 
- Protected Types inherited from edm::ESProxyFactoryProducer
using EventSetupRecordKey = eventsetup::EventSetupRecordKey
 
- Protected Types inherited from edm::eventsetup::DataProxyProvider
using KeyedProxiesVector = std::vector< std::pair< DataKey, std::shared_ptr< DataProxy > >>
 
- Protected Member Functions inherited from edm::ESProducer
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 TArg >
ESConsumesCollectorT< TRecord > setWhatProduced (T *iThis, TReturn(T ::*iMethod)(const TRecord &), const TArg &iDec, const es::Label &iLabel={})
 
void usesResources (std::vector< std::string > const &)
 
- Protected Member Functions inherited from edm::ESProxyFactoryProducer
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::ProxyFactoryBase > iFactory, const std::string &iLabel=std::string())
 
KeyedProxiesVector registerProxies (const EventSetupRecordKey &, unsigned int iovIndex) override
 
- Protected Member Functions inherited from edm::eventsetup::DataProxyProvider
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:163
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
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 LEDCalibrationChannels::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 LEDCalibrationChannels::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().