CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/L1Trigger/GlobalTriggerAnalyzer/interface/L1GtDataEmulAnalyzer.h

Go to the documentation of this file.
00001 #ifndef GlobalTriggerAnalyzer_L1GtDataEmulAnalyzer_h
00002 #define GlobalTriggerAnalyzer_L1GtDataEmulAnalyzer_h
00003 
00021 // system include files
00022 #include <memory>
00023 #include <string>
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/MakerMacros.h"
00031 
00032 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00033 #include "FWCore/Utilities/interface/InputTag.h"
00034 
00035 // forward declarations
00036 class L1GtfeWord;
00037 class L1GtFdlWord;
00038 class L1GtPsbWord;
00039 class L1TcsWord;
00040 class L1GtTriggerMenu;
00041 class L1GtTriggerMask;
00042 
00043 class TH1F;
00044 class TH1D;
00045 class TH2D;
00046 class TTree;
00047 
00048 // class declaration
00049 
00050 class L1GtDataEmulAnalyzer : public edm::EDAnalyzer
00051 {
00052 
00053 public:
00054     explicit L1GtDataEmulAnalyzer(const edm::ParameterSet&);
00055     ~L1GtDataEmulAnalyzer();
00056 
00057 private:
00058 
00059     virtual void beginJob();
00060 
00062     virtual void compareGTFE(const edm::Event&, const edm::EventSetup&,
00063             const L1GtfeWord&, const L1GtfeWord&);
00064 
00066     virtual void compareFDL(const edm::Event&, const edm::EventSetup&,
00067             const L1GtFdlWord&, const L1GtFdlWord&, const int);
00068 
00070     virtual void comparePSB(const edm::Event&, const edm::EventSetup&,
00071             const L1GtPsbWord&, const L1GtPsbWord&);
00072 
00074     virtual void compareTCS(const edm::Event&, const edm::EventSetup&,
00075             const L1TcsWord&, const L1TcsWord&);
00076 
00078     virtual void compareDaqRecord(const edm::Event&, const edm::EventSetup&);
00079 
00081     virtual void compareEvmRecord(const edm::Event&, const edm::EventSetup&);
00082 
00085     virtual void compareGt_Gct(const edm::Event&, const edm::EventSetup&);
00086 
00088     virtual void analyze(const edm::Event&, const edm::EventSetup&);
00089 
00091     void bookHistograms();
00092 
00094     virtual void endJob();
00095 
00096 private:
00097 
00099     edm::InputTag m_l1GtDataInputTag;
00100 
00102     edm::InputTag m_l1GtEmulInputTag;
00103 
00105     edm::InputTag m_l1GctDataInputTag;
00106  
00107 private:
00108 
00111     std::ostringstream m_myCoutStream;
00112 
00114     int m_nrDataEventError;
00115     int m_nrEmulEventError;
00116 
00117     // cached stuff
00118     
00120     const L1GtTriggerMenu* m_l1GtMenu;
00121     unsigned long long m_l1GtMenuCacheID;
00122  
00124     const L1GtTriggerMask* m_l1GtTmAlgo;
00125     unsigned long long m_l1GtTmAlgoCacheID;
00126  
00127     const L1GtTriggerMask* m_l1GtTmTech;
00128     unsigned long long m_l1GtTmTechCacheID;
00129     
00130     std::vector<unsigned int> m_triggerMaskAlgoTrig;
00131     std::vector<unsigned int> m_triggerMaskTechTrig;
00132    
00133 private:
00134 
00136 
00138     TH1F* m_gtfeDataEmul;
00139 
00140     static const int TotalBxInEvent = 5;
00141 
00143     TH1F* m_fdlDataEmul[TotalBxInEvent][2];
00144 
00145     TH1F* m_fdlDataAlgoDecision[TotalBxInEvent][2];
00146     TH1F* m_fdlEmulAlgoDecision[TotalBxInEvent][2];
00147 
00148     TH1F* m_fdlDataAlgoDecisionMask[TotalBxInEvent][2];
00149     TH1F* m_fdlEmulAlgoDecisionMask[TotalBxInEvent][2];
00150 
00151     TH1F* m_fdlDataEmulAlgoDecision[TotalBxInEvent][2];
00152     TH1F* m_fdlDataEmulAlgoDecisionMask[TotalBxInEvent][2];
00153 
00154     TH1F* m_fdlDataTechDecision[TotalBxInEvent][2];
00155     TH1F* m_fdlEmulTechDecision[TotalBxInEvent][2];
00156     
00157     TH1F* m_fdlDataTechDecisionMask[TotalBxInEvent][2];
00158     TH1F* m_fdlEmulTechDecisionMask[TotalBxInEvent][2];
00159 
00160     TH1F* m_fdlDataEmulTechDecision[TotalBxInEvent][2];
00161     TH1F* m_fdlDataEmulTechDecisionMask[TotalBxInEvent][2];
00162 
00163     TH1F* m_fdlDataEmul_Err[2];
00164     
00165     TH1F* m_fdlDataAlgoDecision_Err[2];
00166     TH1F* m_fdlEmulAlgoDecision_Err[2];
00167     TH1F* m_fdlDataEmulAlgoDecision_Err[2];
00168 
00169     TH1F* m_fdlDataTechDecision_Err[2];
00170     TH1F* m_fdlEmulTechDecision_Err[2];
00171     TH1F* m_fdlDataEmulTechDecision_Err[2];
00172 
00174 
00175 
00176 };
00177 
00178 #endif /*GlobalTriggerAnalyzer_L1GtDataEmulAnalyzer_h*/