CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_10_patch1/src/L1Trigger/GlobalTriggerAnalyzer/interface/L1GtPatternGenerator.h

Go to the documentation of this file.
00001 #ifndef GlobalTriggerAnalyzer_L1GtPatternGenerator_h
00002 #define GlobalTriggerAnalyzer_L1GtPatternGenerator_h
00003 
00020 // system include files
00021 #include <memory>
00022 #include <string>
00023 #include <fstream>
00024 
00025 // user include files
00026 #include "FWCore/Framework/interface/Frameworkfwd.h"
00027 #include "FWCore/Framework/interface/EDAnalyzer.h"
00028 
00029 #include "FWCore/Framework/interface/Event.h"
00030 #include "FWCore/Framework/interface/EventSetup.h"
00031 
00032 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00033 #include "FWCore/Utilities/interface/InputTag.h"
00034 
00035 // class declaration
00036 class L1GtPatternWriter;
00037 class L1GtPatternMap;
00038 
00039 class L1GtPatternGenerator : public edm::EDAnalyzer
00040 {
00041 
00042 public:
00043     explicit L1GtPatternGenerator(const edm::ParameterSet&);
00044     ~L1GtPatternGenerator();
00045 
00046 protected:
00047     void extractGlobalTriggerData(const edm::Event& iEvent, L1GtPatternMap& patterns);
00048 
00049 private:
00051     virtual void beginJob();
00052 
00054     virtual void analyze(const edm::Event&, const edm::EventSetup&);
00055 
00057     virtual void endJob();
00058 
00060     void packHfRecords(const std::string& resultName, L1GtPatternMap& allPatterns);
00061 
00063     static uint32_t packRegionalMuons(uint32_t rawValue);
00064 
00066     static uint32_t packEtMiss(uint32_t rawValue);
00067 
00068 private:
00070     edm::InputTag m_gctTag;
00071 
00073     edm::InputTag m_gmtTag;
00074 
00076     edm::InputTag m_gtTag;
00077 
00079     edm::InputTag m_dtTag;
00080     edm::InputTag m_cscTag;
00081     edm::InputTag m_rpcbTag;
00082     edm::InputTag m_rpcfTag;
00083 
00085     std::string m_destPath;
00086 
00088     std::string m_fileName;
00089     std::ofstream m_fileStream;
00090 
00092 
00093     std::string m_header;
00094     std::string m_footer;
00095     std::vector<std::string> m_columnNames;
00096     std::vector<uint32_t> m_columnLengths;
00097     std::vector<int> m_bx;
00098     std::vector<uint32_t> m_columnDefaults;
00099     bool m_debug;
00100 
00101     std::auto_ptr<L1GtPatternWriter> m_writer;
00102 };
00103 
00104 #endif /*GlobalTriggerAnalyzer_L1GtPatternGenerator_h*/