CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Private Attributes
SiStripClusterizerConditionsESProducer Class Reference
Inheritance diagram for SiStripClusterizerConditionsESProducer:
edm::ESProducer edm::ESProxyFactoryProducer edm::eventsetup::DataProxyProvider

Public Types

using ReturnType = std::unique_ptr< SiStripClusterizerConditions >
 

Public Member Functions

ReturnType produce (const SiStripClusterizerConditionsRcd &)
 
 SiStripClusterizerConditionsESProducer (const edm::ParameterSet &)
 
 ~SiStripClusterizerConditionsESProducer () 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)
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from edm::eventsetup::DataProxyProvider
static void prevalidate (ConfigurationDescriptions &)
 

Private Attributes

edm::ESGetToken< SiStripGain,
SiStripGainRcd
m_gainToken
 
edm::ESGetToken< SiStripNoises,
SiStripNoisesRcd
m_noisesToken
 
edm::ESGetToken
< SiStripQuality,
SiStripQualityRcd
m_qualityToken
 

Additional Inherited Members

- 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

Create a cache object for fast access to conditions needed by the SiStrip clusterizer

See Also
SiStripClusterizerConditions

Definition at line 21 of file SiStripClusterizerConditionsESProducer.cc.

Member Typedef Documentation

Definition at line 28 of file SiStripClusterizerConditionsESProducer.cc.

Constructor & Destructor Documentation

SiStripClusterizerConditionsESProducer::SiStripClusterizerConditionsESProducer ( const edm::ParameterSet iConfig)

Definition at line 37 of file SiStripClusterizerConditionsESProducer.cc.

References edm::ParameterSet::getParameter(), m_gainToken, m_noisesToken, m_qualityToken, edm::ESProducer::setWhatProduced(), AlCaHarvesting_cff::SiStripQuality, and AlCaHLTBitMon_QueryRunRegistry::string.

37  {
38  auto cc = setWhatProduced(this, iConfig.getParameter<std::string>("Label"));
39 
40  m_gainToken = cc.consumesFrom<SiStripGain, SiStripGainRcd>();
41  m_noisesToken = cc.consumesFrom<SiStripNoises, SiStripNoisesRcd>();
43  edm::ESInputTag{"", iConfig.getParameter<std::string>("QualityLabel")});
44 }
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
Definition: ESProducer.h:163
edm::ESGetToken< SiStripNoises, SiStripNoisesRcd > m_noisesToken
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
edm::ESGetToken< SiStripGain, SiStripGainRcd > m_gainToken
edm::ESGetToken< SiStripQuality, SiStripQualityRcd > m_qualityToken
SiStripClusterizerConditionsESProducer::~SiStripClusterizerConditionsESProducer ( )
inlineoverride

Definition at line 24 of file SiStripClusterizerConditionsESProducer.cc.

24 {}

Member Function Documentation

void SiStripClusterizerConditionsESProducer::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 46 of file SiStripClusterizerConditionsESProducer.cc.

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), submitPVResolutionJobs::desc, and AlCaHLTBitMon_QueryRunRegistry::string.

46  {
48  desc.add<std::string>("QualityLabel", "");
49  desc.add<std::string>("Label", "");
50  descriptions.add("SiStripClusterizerConditionsESProducer", desc);
51 }
ParameterDescriptionBase * add(U const &iLabel, T const &value)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
SiStripClusterizerConditionsESProducer::ReturnType SiStripClusterizerConditionsESProducer::produce ( const SiStripClusterizerConditionsRcd iRecord)

Definition at line 53 of file SiStripClusterizerConditionsESProducer.cc.

References getInfo::conn, edm::eventsetup::DependentRecordImplementation< RecordT, ListT >::get(), edm::eventsetup::DependentRecordImplementation< RecordT, ListT >::getTransientHandle(), m_gainToken, quality, and HcalDetIdTransform::transform().

54  {
55  auto gainsH = iRecord.getTransientHandle(m_gainToken);
56  const auto& noises = iRecord.get(m_noisesToken);
57  const auto& quality = iRecord.get(m_qualityToken);
58 
59  auto product = std::make_unique<SiStripClusterizerConditions>(&quality);
60 
61  const auto& connected = quality.cabling()->connected();
62  const auto& detCabling = quality.cabling()->getDetCabling();
63  product->reserve(connected.size());
64  for (const auto& conn : connected) {
65  const auto det = conn.first;
66  if (!quality.IsModuleBad(det)) {
67  const auto gainRange = gainsH->getRange(det);
68  std::vector<float> invGains;
69  invGains.reserve(6);
71  gainRange.first, gainRange.second, std::back_inserter(invGains), [](auto gain) { return 1.f / gain; });
72 
73  static const std::vector<const FedChannelConnection*> noConn{};
74  const auto detConn_it = detCabling.find(det);
75 
76  product->emplace_back(det,
77  quality.getRange(det),
78  noises.getRange(det),
79  invGains,
80  (detCabling.end() != detConn_it) ? (*detConn_it).second : noConn);
81  }
82  }
83  LogDebug("SiStripClusterizerConditionsESProducer")
84  << "Produced a SiStripClusterizerConditions object for " << product->allDets().size() << " modules";
85  return product;
86 }
ESTransientHandle< ProductT > getTransientHandle(ESGetToken< ProductT, DepRecordT > const &iToken) const
string quality
ProductT const & get(ESGetToken< ProductT, DepRecordT > const &iToken) const
edm::ESGetToken< SiStripNoises, SiStripNoisesRcd > m_noisesToken
edm::ESGetToken< SiStripGain, SiStripGainRcd > m_gainToken
tuple conn
Definition: getInfo.py:9
edm::ESGetToken< SiStripQuality, SiStripQualityRcd > m_qualityToken
#define LogDebug(id)
unsigned transform(const HcalDetId &id, unsigned transformCode)

Member Data Documentation

edm::ESGetToken<SiStripGain, SiStripGainRcd> SiStripClusterizerConditionsESProducer::m_gainToken
private
edm::ESGetToken<SiStripNoises, SiStripNoisesRcd> SiStripClusterizerConditionsESProducer::m_noisesToken
private
edm::ESGetToken<SiStripQuality, SiStripQualityRcd> SiStripClusterizerConditionsESProducer::m_qualityToken
private