Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef CondTools_L1Trigger_L1TriggerKeyOnlineProd_h
0002 #define CondTools_L1Trigger_L1TriggerKeyOnlineProd_h
0003 // -*- C++ -*-
0004 //
0005 // Package:     L1Trigger
0006 // Class  :     L1TriggerKeyOnlineProd
0007 //
0008 /**\class L1TriggerKeyOnlineProd L1TriggerKeyOnlineProd.h CondTools/L1Trigger/interface/L1TriggerKeyOnlineProd.h
0009 
0010  Description: Get L1TriggerKey objects from all subsystems and collate.
0011 
0012  Usage:
0013     <usage>
0014 
0015 */
0016 //
0017 // Original Author:
0018 //         Created:  Sun Mar  2 03:04:19 CET 2008
0019 // $Id: L1TriggerKeyOnlineProd.h,v 1.2 2008/09/12 04:50:59 wsun Exp $
0020 //
0021 
0022 // system include files
0023 #include <memory>
0024 #include <vector>
0025 #include <string>
0026 
0027 // user include files
0028 #include "FWCore/Framework/interface/ModuleFactory.h"
0029 #include "FWCore/Framework/interface/ESProducer.h"
0030 #include "FWCore/Framework/interface/ESHandle.h"
0031 
0032 #include "CondFormats/L1TObjects/interface/L1TriggerKey.h"
0033 #include "CondFormats/DataRecord/interface/L1TriggerKeyRcd.h"
0034 
0035 // forward declarations
0036 class L1TriggerKey;
0037 class L1TriggerKeyRcd;
0038 
0039 class L1TriggerKeyOnlineProd : public edm::ESProducer {
0040 public:
0041   L1TriggerKeyOnlineProd(const edm::ParameterSet&);
0042   ~L1TriggerKeyOnlineProd() override;
0043 
0044   typedef std::unique_ptr<L1TriggerKey> ReturnType;
0045 
0046   ReturnType produce(const L1TriggerKeyRcd&);
0047 
0048 private:
0049   // ----------member data ---------------------------
0050   std::vector<std::string> m_subsystemLabels;
0051   edm::ESGetToken<L1TriggerKey, L1TriggerKeyRcd> l1TriggerKeyToken_;
0052   std::vector<edm::ESGetToken<L1TriggerKey, L1TriggerKeyRcd>> l1TriggerKeyTokenVec_;
0053 };
0054 
0055 #endif