Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef CondTools_L1Trigger_L1CondDBIOVWriter_h
0002 #define CondTools_L1Trigger_L1CondDBIOVWriter_h
0003 // -*- C++ -*-
0004 //
0005 // Package:     L1Trigger
0006 // Class  :     L1CondDBIOVWriter
0007 //
0008 /**\class L1CondDBIOVWriter L1CondDBIOVWriter.h CondTools/L1Trigger/interface/L1CondDBIOVWriter.h
0009 
0010  Description: <one line class summary>
0011 
0012  Usage:
0013     <usage>
0014 
0015 */
0016 //
0017 // Original Author:  Werner Sun
0018 //         Created:  Sun Mar  2 20:10:36 CET 2008
0019 // $Id: L1CondDBIOVWriter.h,v 1.6 2009/12/17 23:43:58 wmtan Exp $
0020 //
0021 
0022 // system include files
0023 #include <memory>
0024 
0025 // user include files
0026 #include "FWCore/Framework/interface/Frameworkfwd.h"
0027 #include "FWCore/Framework/interface/one/EDAnalyzer.h"
0028 
0029 #include "FWCore/Framework/interface/Event.h"
0030 #include "FWCore/Framework/interface/MakerMacros.h"
0031 
0032 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0033 
0034 #include "CondTools/L1Trigger/interface/DataWriter.h"
0035 
0036 // forward declarations
0037 class L1TriggerKey;
0038 class L1TriggerKeyRcd;
0039 class L1CondDBIOVWriter : public edm::one::EDAnalyzer<> {
0040 public:
0041   explicit L1CondDBIOVWriter(const edm::ParameterSet&);
0042   ~L1CondDBIOVWriter() override;
0043 
0044 private:
0045   void beginJob() override;
0046   void analyze(const edm::Event&, const edm::EventSetup&) override;
0047   void endJob() override;
0048 
0049   // ----------member data ---------------------------
0050   l1t::DataWriter m_writer;
0051   std::string m_tscKey;
0052 
0053   // List of record@type, used only for objects not tied to TSC key.
0054   // Otherwise, list of records comes from L1TriggerKey.
0055   std::vector<std::string> m_recordTypes;
0056 
0057   // When true, set IOVs for objects not tied to the TSC key.  The records
0058   // and objects to be updated are given in the toPut parameter, and
0059   // m_tscKey is taken to be a common key for all the toPut objects, not
0060   // the TSC key.  The IOV for L1TriggerKey is not updated when
0061   // m_ignoreTriggerKey = true.
0062   bool m_ignoreTriggerKey;
0063 
0064   bool m_logKeys;
0065 
0066   bool m_logTransactions;
0067 
0068   bool m_forceUpdate;
0069 
0070   edm::ESGetToken<L1TriggerKey, L1TriggerKeyRcd> l1TriggerKeyToken_;
0071 };
0072 
0073 #endif