Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:03:14

0001 #ifndef CondTools_L1TriggerExt_L1CondDBIOVWriterExt_h
0002 #define CondTools_L1TriggerExt_L1CondDBIOVWriterExt_h
0003 #include <memory>
0004 
0005 // user include files
0006 #include "FWCore/Framework/interface/Frameworkfwd.h"
0007 #include "FWCore/Framework/interface/one/EDAnalyzer.h"
0008 
0009 #include "FWCore/Framework/interface/Event.h"
0010 #include "FWCore/Framework/interface/MakerMacros.h"
0011 
0012 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0013 
0014 #include "CondTools/L1TriggerExt/interface/DataWriterExt.h"
0015 
0016 class L1TriggerKeyExt;
0017 class L1TriggerKeyExtRcd;
0018 
0019 class L1CondDBIOVWriterExt : public edm::one::EDAnalyzer<> {
0020 public:
0021   explicit L1CondDBIOVWriterExt(const edm::ParameterSet&);
0022   ~L1CondDBIOVWriterExt() override;
0023 
0024 private:
0025   void beginJob() override;
0026   void analyze(const edm::Event&, const edm::EventSetup&) override;
0027   void endJob() override;
0028 
0029   // ----------member data ---------------------------
0030   l1t::DataWriterExt m_writer;
0031   ///      l1t::DataWriter m_writer ;
0032 
0033   std::string m_tscKey, m_rsKey;
0034 
0035   // List of record@type, used only for objects not tied to TSC key.
0036   // Otherwise, list of records comes from L1TriggerKeyExt.
0037   std::vector<std::string> m_recordTypes;
0038 
0039   // When true, set IOVs for objects not tied to the TSC key.  The records
0040   // and objects to be updated are given in the toPut parameter, and
0041   // m_tscKey is taken to be a common key for all the toPut objects, not
0042   // the TSC key.  The IOV for L1TriggerKeyExt is not updated when
0043   // m_ignoreTriggerKey = true.
0044   bool m_ignoreTriggerKey;
0045 
0046   bool m_logKeys;
0047 
0048   bool m_logTransactions;
0049 
0050   bool m_forceUpdate;
0051 
0052   edm::ESGetToken<L1TriggerKeyExt, L1TriggerKeyExtRcd> l1TriggerKeyExtToken_;
0053 };
0054 
0055 #endif