CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/src/EventFilter/L1GlobalTriggerRawToDigi/interface/L1GtTriggerMenuLiteProducer.h

Go to the documentation of this file.
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