Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:22:17

0001 //-------------------------------------------------
0002 //
0003 //   \class L1MuGMTParametersOnlineProducer
0004 //
0005 //   Description:  A class to produce the L1 GMT emulator parameters in the event setup
0006 //                 by reading them from the online database.
0007 //
0008 //
0009 //   Author :
0010 //   Thomas Themel
0011 //
0012 //--------------------------------------------------
0013 #ifndef GMTConfigProducers_L1MuGMTParametersOnlineProducer_h
0014 #define GMTConfigProducers_L1MuGMTParametersOnlineProducer_h
0015 
0016 // system include files
0017 #include <memory>
0018 
0019 // user include files
0020 
0021 #include "CondFormats/L1TObjects/interface/L1MuGMTParameters.h"
0022 #include "CondFormats/DataRecord/interface/L1MuGMTParametersRcd.h"
0023 #include "CondTools/L1Trigger/interface/L1ConfigOnlineProdBase.h"
0024 
0025 //
0026 // class declaration
0027 //
0028 
0029 class L1MuGMTParametersOnlineProducer : public L1ConfigOnlineProdBase<L1MuGMTParametersRcd, L1MuGMTParameters> {
0030 public:
0031   L1MuGMTParametersOnlineProducer(const edm::ParameterSet&);
0032   ~L1MuGMTParametersOnlineProducer() override;
0033 
0034   /// The method that actually implements the production of the parameter objects
0035   std::unique_ptr<L1MuGMTParameters> newObject(const std::string& objectKey) override;
0036 
0037 protected:
0038   void checkCMSSWVersion(const coral::AttributeList& configRecord);
0039 
0040 private:
0041   std::string lookupSoftwareConfigKey(const std::string& globalKey);
0042   bool ignoreVersionMismatch_;
0043 };
0044 
0045 #endif