00001 #ifndef CondTools_L1Trigger_L1TriggerKeyOnlineProd_h 00002 #define CondTools_L1Trigger_L1TriggerKeyOnlineProd_h 00003 // -*- C++ -*- 00004 // 00005 // Package: L1Trigger 00006 // Class : L1TriggerKeyOnlineProd 00007 // 00016 // 00017 // Original Author: 00018 // Created: Sun Mar 2 03:04:19 CET 2008 00019 // $Id: L1TriggerKeyOnlineProd.h,v 1.2 2008/09/12 04:50:59 wsun Exp $ 00020 // 00021 00022 // system include files 00023 #include <memory> 00024 #include "boost/shared_ptr.hpp" 00025 00026 // user include files 00027 #include "FWCore/Framework/interface/ModuleFactory.h" 00028 #include "FWCore/Framework/interface/ESProducer.h" 00029 #include "FWCore/Framework/interface/ESHandle.h" 00030 00031 #include "CondFormats/L1TObjects/interface/L1TriggerKey.h" 00032 #include "CondFormats/DataRecord/interface/L1TriggerKeyRcd.h" 00033 00034 #include "CondTools/L1Trigger/interface/OMDSReader.h" 00035 00036 // forward declarations 00037 00038 class L1TriggerKeyOnlineProd : public edm::ESProducer { 00039 public: 00040 L1TriggerKeyOnlineProd(const edm::ParameterSet&); 00041 ~L1TriggerKeyOnlineProd(); 00042 00043 typedef boost::shared_ptr<L1TriggerKey> ReturnType; 00044 00045 ReturnType produce(const L1TriggerKeyRcd&); 00046 private: 00047 // ----------member data --------------------------- 00048 std::string m_tscKey ; 00049 l1t::OMDSReader m_omdsReader ; 00050 std::map< std::string, bool > m_recordsToInclude ; // rec name, was included? 00051 00052 bool listContains( const std::string& ) ; 00053 }; 00054 00055 #endif