CMS 3D CMS Logo

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

#include <L1TMuonOverlapParamsESProducer.h>

Inheritance diagram for L1TMuonOverlapParamsESProducer:
edm::ESProducer edm::ESProxyFactoryProducer edm::eventsetup::DataProxyProvider

Public Types

using ReturnType = std::unique_ptr< L1TMuonOverlapParams >
 

Public Member Functions

 L1TMuonOverlapParamsESProducer (const edm::ParameterSet &)
 
ReturnType produceParams (const L1TMuonOverlapParamsRcd &)
 
ReturnType producePatterns (const L1TMuonOverlapParamsRcd &)
 
 ~L1TMuonOverlapParamsESProducer () 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 Member Functions

bool readConnectionsXML (const XMLConfigReader &aReader)
 Read Connections from single XML file. More...
 
bool readPatternsXML (XMLConfigReader &aReader)
 

Private Attributes

L1TMuonOverlapParams params
 
L1TMuonOverlapParams patterns
 

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 char *iLabel)
 
template<typename T >
auto setWhatProduced (T *iThis, const es::Label &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

Definition at line 16 of file L1TMuonOverlapParamsESProducer.h.

Member Typedef Documentation

◆ ReturnType

Definition at line 21 of file L1TMuonOverlapParamsESProducer.h.

Constructor & Destructor Documentation

◆ L1TMuonOverlapParamsESProducer()

L1TMuonOverlapParamsESProducer::L1TMuonOverlapParamsESProducer ( const edm::ParameterSet theConfig)

WARNING: filling the CondFormats objects works only for a single XML patterns file.

Definition at line 17 of file L1TMuonOverlapParamsESProducer.cc.

17  {
18  //the following line is needed to tell the framework what
19  // data is being produced
21 
22  if (!theConfig.exists("configXMLFile"))
23  return;
24  std::string fName = theConfig.getParameter<edm::FileInPath>("configXMLFile").fullPath();
25 
27  if (!theConfig.exists("patternsXMLFiles"))
28  return;
29  std::vector<std::string> fileNames;
30  for (const auto& it : theConfig.getParameter<std::vector<edm::ParameterSet> >("patternsXMLFiles")) {
31  fileNames.push_back(it.getParameter<edm::FileInPath>("patternsXMLFile").fullPath());
32  }
33 
34  XMLConfigReader myReader;
35  myReader.setConfigFile(fName);
36  readConnectionsXML(myReader);
37 
38  for (const auto& it : fileNames) {
39  myReader.setPatternsFile(it);
40  readPatternsXML(myReader);
41  }
42 
43  unsigned int patternsVersion = myReader.getPatternsVersion();
44  unsigned int fwVersion = params.fwVersion();
45 
46  params.setFwVersion((fwVersion << 16) + patternsVersion);
47 }

References edm::ParameterSet::exists(), LaserTracksInput_cfi::fileNames, MainPageGenerator::fName, contentValuesFiles::fullPath, edm::FileInPath::fullPath(), amcDumpToRaw_cfi::fwVersion, L1TMuonOverlapParams::fwVersion(), edm::ParameterSet::getParameter(), XMLConfigReader::getPatternsVersion(), params, produceParams(), readConnectionsXML(), readPatternsXML(), XMLConfigReader::setConfigFile(), L1TMuonOverlapParams::setFwVersion(), XMLConfigReader::setPatternsFile(), edm::ESProducer::setWhatProduced(), and AlCaHLTBitMon_QueryRunRegistry::string.

◆ ~L1TMuonOverlapParamsESProducer()

L1TMuonOverlapParamsESProducer::~L1TMuonOverlapParamsESProducer ( )
override

Definition at line 50 of file L1TMuonOverlapParamsESProducer.cc.

50 {}

Member Function Documentation

◆ produceParams()

L1TMuonOverlapParamsESProducer::ReturnType L1TMuonOverlapParamsESProducer::produceParams ( const L1TMuonOverlapParamsRcd iRecord)

Definition at line 81 of file L1TMuonOverlapParamsESProducer.cc.

82  {
83  return std::make_unique<L1TMuonOverlapParams>(params);
84 }

References params.

Referenced by L1TMuonOverlapParamsESProducer().

◆ producePatterns()

ReturnType L1TMuonOverlapParamsESProducer::producePatterns ( const L1TMuonOverlapParamsRcd )

◆ readConnectionsXML()

bool L1TMuonOverlapParamsESProducer::readConnectionsXML ( const XMLConfigReader aReader)
private

Read Connections from single XML file.

Definition at line 53 of file L1TMuonOverlapParamsESProducer.cc.

53  {
54  aReader.readConfig(&params);
55 
56  return true;
57 }

References params, and XMLConfigReader::readConfig().

Referenced by L1TMuonOverlapParamsESProducer().

◆ readPatternsXML()

bool L1TMuonOverlapParamsESProducer::readPatternsXML ( XMLConfigReader aReader)
private

Read Golden Patters from single XML file. XMLConfigReader state is modified, as it hold cache of the Golden Patters read from XML file.

Definition at line 60 of file L1TMuonOverlapParamsESProducer.cc.

60  {
61  l1t::LUT chargeLUT;
62  l1t::LUT etaLUT;
63  l1t::LUT ptLUT;
64  l1t::LUT meanDistPhiLUT;
65  l1t::LUT pdfLUT;
66 
67  std::vector<l1t::LUT*> luts = {&chargeLUT, &etaLUT, &ptLUT, &meanDistPhiLUT, &pdfLUT};
68  std::vector<std::string> types = {"iCharge", "iEta", "iPt", "meanDistPhi", "pdf"};
69  aReader.readLUTs(luts, params, types);
70 
71  params.setChargeLUT(chargeLUT);
72  params.setEtaLUT(etaLUT);
73  params.setPtLUT(ptLUT);
74  params.setMeanDistPhiLUT(meanDistPhiLUT);
75  params.setPdfLUT(pdfLUT);
76 
77  return true;
78 }

References params, XMLConfigReader::readLUTs(), L1TMuonOverlapParams::setChargeLUT(), L1TMuonOverlapParams::setEtaLUT(), L1TMuonOverlapParams::setMeanDistPhiLUT(), L1TMuonOverlapParams::setPdfLUT(), and L1TMuonOverlapParams::setPtLUT().

Referenced by L1TMuonOverlapParamsESProducer().

Member Data Documentation

◆ params

L1TMuonOverlapParams L1TMuonOverlapParamsESProducer::params
private

◆ patterns

L1TMuonOverlapParams L1TMuonOverlapParamsESProducer::patterns
private

Definition at line 37 of file L1TMuonOverlapParamsESProducer.h.

amcDumpToRaw_cfi.fwVersion
fwVersion
Definition: amcDumpToRaw_cfi.py:11
L1TMuonOverlapParamsESProducer::params
L1TMuonOverlapParams params
Definition: L1TMuonOverlapParamsESProducer.h:36
contentValuesFiles.fullPath
fullPath
Definition: contentValuesFiles.py:64
edm::ESProducer::setWhatProduced
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
Definition: ESProducer.h:163
L1TMuonOverlapParams::fwVersion
unsigned fwVersion() const
Definition: L1TMuonOverlapParams.h:129
L1TMuonOverlapParams::setChargeLUT
void setChargeLUT(const l1t::LUT &lut)
Definition: L1TMuonOverlapParams.h:208
MainPageGenerator.fName
fName
Definition: MainPageGenerator.py:301
edm::FileInPath
Definition: FileInPath.h:64
XMLConfigReader::setPatternsFile
void setPatternsFile(const std::string &fName)
Definition: XMLConfigReader.h:35
L1TMuonOverlapParams::setPdfLUT
void setPdfLUT(const l1t::LUT &lut)
Definition: L1TMuonOverlapParams.h:220
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
L1TMuonOverlapParams::setFwVersion
void setFwVersion(unsigned fwVersion)
Definition: L1TMuonOverlapParams.h:130
edm::ParameterSet::exists
bool exists(std::string const &parameterName) const
checks if a parameter exists
Definition: ParameterSet.cc:681
L1TMuonOverlapParams::setEtaLUT
void setEtaLUT(const l1t::LUT &lut)
Definition: L1TMuonOverlapParams.h:212
XMLConfigReader
Definition: XMLConfigReader.h:26
L1TMuonOverlapParams::setPtLUT
void setPtLUT(const l1t::LUT &lut)
Definition: L1TMuonOverlapParams.h:216
XMLConfigReader::readLUTs
void readLUTs(std::vector< l1t::LUT * > luts, const L1TMuonOverlapParams &aConfig, const std::vector< std::string > &types)
Definition: XMLConfigReader.cc:59
L1TMuonOverlapParamsESProducer::readConnectionsXML
bool readConnectionsXML(const XMLConfigReader &aReader)
Read Connections from single XML file.
Definition: L1TMuonOverlapParamsESProducer.cc:53
XMLConfigReader::readConfig
void readConfig(const std::string fName)
XMLConfigReader::setConfigFile
void setConfigFile(const std::string &fName)
Definition: XMLConfigReader.h:33
types
types
Definition: AlignPCLThresholds_PayloadInspector.cc:30
XMLConfigReader::getPatternsVersion
unsigned int getPatternsVersion() const
Definition: XMLConfigReader.cc:132
l1t::LUT
Definition: LUT.h:29
L1TMuonOverlapParams::setMeanDistPhiLUT
void setMeanDistPhiLUT(const l1t::LUT &lut)
Definition: L1TMuonOverlapParams.h:224
L1TMuonOverlapParamsESProducer::produceParams
ReturnType produceParams(const L1TMuonOverlapParamsRcd &)
Definition: L1TMuonOverlapParamsESProducer.cc:81
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
L1TMuonOverlapParamsESProducer::readPatternsXML
bool readPatternsXML(XMLConfigReader &aReader)
Definition: L1TMuonOverlapParamsESProducer.cc:60
LaserTracksInput_cfi.fileNames
fileNames
Definition: LaserTracksInput_cfi.py:8
edm::FileInPath::fullPath
std::string fullPath() const
Definition: FileInPath.cc:163