00001 #ifndef EventFilter_L1GlobalTriggerRawToDigi_L1GtTriggerMenuLiteProducer_h 00002 #define EventFilter_L1GlobalTriggerRawToDigi_L1GtTriggerMenuLiteProducer_h 00003 00022 // system include files 00023 #include <memory> 00024 00025 // user include files 00026 #include "FWCore/Framework/interface/Frameworkfwd.h" 00027 #include "FWCore/Framework/interface/EDProducer.h" 00028 00029 #include "FWCore/Framework/interface/Event.h" 00030 #include "FWCore/Framework/interface/MakerMacros.h" 00031 00032 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00033 #include "FWCore/Utilities/interface/InputTag.h" 00034 00035 #include "CondFormats/L1TObjects/interface/L1GtTriggerMenuFwd.h" 00036 00037 // forward declarations 00038 class L1GtStableParameters; 00039 class L1GtTriggerMenu; 00040 class L1GtTriggerMask; 00041 class L1GtPrescaleFactors; 00042 00043 // class declaration 00044 class L1GtTriggerMenuLiteProducer : public edm::EDProducer 00045 { 00046 00047 public: 00048 00050 explicit L1GtTriggerMenuLiteProducer(const edm::ParameterSet&); 00051 00053 virtual ~L1GtTriggerMenuLiteProducer(); 00054 00055 private: 00056 00059 void retrieveL1EventSetup(const edm::EventSetup&); 00060 00061 virtual void beginJob(); 00062 void beginRun(edm::Run&, const edm::EventSetup&); 00063 00064 virtual void produce(edm::Event&, const edm::EventSetup&); 00065 00066 void endRun(edm::Run&, const edm::EventSetup&); 00067 virtual void endJob(); 00068 00069 private: 00070 00072 00074 const L1GtStableParameters* m_l1GtStablePar; 00075 unsigned long long m_l1GtStableParCacheID; 00076 00078 unsigned int m_numberPhysTriggers; 00079 00081 unsigned int m_numberTechnicalTriggers; 00082 00083 // trigger menu 00084 const L1GtTriggerMenu* m_l1GtMenu; 00085 unsigned long long m_l1GtMenuCacheID; 00086 00087 const AlgorithmMap* m_algorithmMap; 00088 const AlgorithmMap* m_algorithmAliasMap; 00089 const AlgorithmMap* m_technicalTriggerMap; 00090 00092 const L1GtTriggerMask* m_l1GtTmAlgo; 00093 unsigned long long m_l1GtTmAlgoCacheID; 00094 00095 const L1GtTriggerMask* m_l1GtTmTech; 00096 unsigned long long m_l1GtTmTechCacheID; 00097 00098 const std::vector<unsigned int>* m_triggerMaskAlgoTrig; 00099 const std::vector<unsigned int>* m_triggerMaskTechTrig; 00100 00102 const L1GtPrescaleFactors* m_l1GtPfAlgo; 00103 unsigned long long m_l1GtPfAlgoCacheID; 00104 00105 const L1GtPrescaleFactors* m_l1GtPfTech; 00106 unsigned long long m_l1GtPfTechCacheID; 00107 00108 const std::vector<std::vector<int> >* m_prescaleFactorsAlgoTrig; 00109 const std::vector<std::vector<int> >* m_prescaleFactorsTechTrig; 00110 00111 private: 00112 00114 unsigned int m_physicsDaqPartition; 00115 00116 }; 00117 00118 #endif // EventFilter_L1GlobalTriggerRawToDigi_L1GtTriggerMenuLiteProducer_h