00001 #ifndef L1GCTEMULATOR_H 00002 #define L1GCTEMULATOR_H 00003 00011 // 00012 // Original Author: Jim Brooke 00013 // Created: Thu May 18 15:04:56 CEST 2006 00014 // $Id: L1GctEmulator.h,v 1.9 2009/12/24 17:42:16 jbrooke Exp $ 00015 // 00016 // 00017 00018 // system includes 00019 00020 00021 // EDM includes 00022 #include "FWCore/Framework/interface/EDProducer.h" 00023 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00024 #include "FWCore/Framework/interface/EventSetup.h" 00025 #include "FWCore/Framework/interface/Event.h" 00026 00027 #include "L1Trigger/GlobalCaloTrigger/interface/L1GlobalCaloTrigger.h" 00028 00029 00030 class L1GctEmulator : public edm::EDProducer { 00031 public: 00032 00034 typedef L1GlobalCaloTrigger::lutPtr lutPtr; 00035 typedef L1GlobalCaloTrigger::lutPtrVector lutPtrVector; 00036 00038 explicit L1GctEmulator(const edm::ParameterSet& ps); 00039 00041 ~L1GctEmulator(); 00042 00043 private: 00044 void beginJob() ; 00045 void produce(edm::Event& e, const edm::EventSetup& c); 00046 void endJob() ; 00047 00048 int configureGct(const edm::EventSetup& c) ; 00049 00050 // input label 00051 std::string m_inputLabel; 00052 00053 // pointer to the actual emulator 00054 L1GlobalCaloTrigger* m_gct; 00055 00056 // pointers to the jet Et LUTs 00057 lutPtrVector m_jetEtCalibLuts; 00058 00059 // data output switch 00060 bool m_writeInternalData; 00061 00062 // untracked parameters 00063 bool m_verbose; 00064 00065 // tracked parameters 00066 00067 }; 00068 00069 #endif