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/one/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::one::EDProducer<edm::BeginRunProducer> 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() override final; 00062 void beginRunProduce(edm::Run&, const edm::EventSetup&) override final; 00063 00064 virtual void produce(edm::Event&, const edm::EventSetup&) override final; 00065 00066 virtual void endJob(); 00067 00068 private: 00069 00071 00073 const L1GtStableParameters* m_l1GtStablePar; 00074 unsigned long long m_l1GtStableParCacheID; 00075 00077 unsigned int m_numberPhysTriggers; 00078 00080 unsigned int m_numberTechnicalTriggers; 00081 00082 // trigger menu 00083 const L1GtTriggerMenu* m_l1GtMenu; 00084 unsigned long long m_l1GtMenuCacheID; 00085 00086 const AlgorithmMap* m_algorithmMap; 00087 const AlgorithmMap* m_algorithmAliasMap; 00088 const AlgorithmMap* m_technicalTriggerMap; 00089 00091 const L1GtTriggerMask* m_l1GtTmAlgo; 00092 unsigned long long m_l1GtTmAlgoCacheID; 00093 00094 const L1GtTriggerMask* m_l1GtTmTech; 00095 unsigned long long m_l1GtTmTechCacheID; 00096 00097 const std::vector<unsigned int>* m_triggerMaskAlgoTrig; 00098 const std::vector<unsigned int>* m_triggerMaskTechTrig; 00099 00101 const L1GtPrescaleFactors* m_l1GtPfAlgo; 00102 unsigned long long m_l1GtPfAlgoCacheID; 00103 00104 const L1GtPrescaleFactors* m_l1GtPfTech; 00105 unsigned long long m_l1GtPfTechCacheID; 00106 00107 const std::vector<std::vector<int> >* m_prescaleFactorsAlgoTrig; 00108 const std::vector<std::vector<int> >* m_prescaleFactorsTechTrig; 00109 00110 private: 00111 00113 unsigned int m_physicsDaqPartition; 00114 00115 }; 00116 00117 #endif // EventFilter_L1GlobalTriggerRawToDigi_L1GtTriggerMenuLiteProducer_h