CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/L1Trigger/GlobalTriggerAnalyzer/interface/L1GtTrigReport.h

Go to the documentation of this file.
00001 #ifndef GlobalTriggerAnalyzer_L1GtTrigReport_h
00002 #define GlobalTriggerAnalyzer_L1GtTrigReport_h
00003 
00020 // system include files
00021 #include <memory>
00022 #include <string>
00023 #include <vector>
00024 #include <list>
00025 
00026 // user include files
00027 #include "FWCore/Framework/interface/Frameworkfwd.h"
00028 #include "FWCore/Framework/interface/EDAnalyzer.h"
00029 
00030 #include "FWCore/Framework/interface/Event.h"
00031 #include "FWCore/Framework/interface/MakerMacros.h"
00032 
00033 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00034 
00035 #include "L1Trigger/GlobalTriggerAnalyzer/interface/L1GtTrigReportEntry.h"
00036 
00037 // forward declarations
00038 class L1GtStableParameters;
00039 class L1GtPrescaleFactors;
00040 class L1GtTriggerMask;
00041 class L1GtTriggerMenu;
00042 
00043 // class declaration
00044 
00045 class L1GtTrigReport : public edm::EDAnalyzer
00046 {
00047 
00048 public:
00049 
00051     explicit L1GtTrigReport(const edm::ParameterSet&);
00052 
00054     virtual ~L1GtTrigReport();
00055 
00056 private:
00057 
00058     virtual void beginJob();
00059 
00061     virtual void analyze(const edm::Event&, const edm::EventSetup&);
00062 
00064     virtual void endJob();
00065 
00066 private:
00067 
00069 
00071     const L1GtStableParameters* m_l1GtStablePar;
00072     unsigned long long m_l1GtStableParCacheID;
00073 
00075     unsigned int m_numberPhysTriggers;
00076 
00078     unsigned int m_numberTechnicalTriggers;
00079 
00081     unsigned int m_numberDaqPartitions;
00082     unsigned int m_numberDaqPartitionsMax;
00083 
00085     const L1GtPrescaleFactors* m_l1GtPfAlgo;
00086     unsigned long long m_l1GtPfAlgoCacheID;
00087 
00088     const L1GtPrescaleFactors* m_l1GtPfTech;
00089     unsigned long long m_l1GtPfTechCacheID;
00090 
00091     const std::vector<std::vector<int> >* m_prescaleFactorsAlgoTrig;
00092     const std::vector<std::vector<int> >* m_prescaleFactorsTechTrig;
00093 
00095     const L1GtTriggerMask* m_l1GtTmAlgo;
00096     unsigned long long m_l1GtTmAlgoCacheID;
00097 
00098     const L1GtTriggerMask* m_l1GtTmTech;
00099     unsigned long long m_l1GtTmTechCacheID;
00100 
00101     const L1GtTriggerMask* m_l1GtTmVetoAlgo;
00102     unsigned long long m_l1GtTmVetoAlgoCacheID;
00103 
00104     const L1GtTriggerMask* m_l1GtTmVetoTech;
00105     unsigned long long m_l1GtTmVetoTechCacheID;
00106 
00107     std::vector<unsigned int> m_triggerMaskAlgoTrig;
00108     std::vector<unsigned int> m_triggerMaskTechTrig;
00109 
00110     std::vector<unsigned int> m_triggerMaskVetoAlgoTrig;
00111     std::vector<unsigned int> m_triggerMaskVetoTechTrig;
00112 
00113     // trigger menu
00114     const L1GtTriggerMenu* m_l1GtMenu;
00115     unsigned long long m_l1GtMenuCacheID;
00116 
00117 
00118 private:
00119 
00121     bool m_useL1GlobalTriggerRecord;
00122 
00124     edm::InputTag m_l1GtRecordInputTag;
00125 
00127     int m_printVerbosity;
00128 
00130     int m_printOutput;
00131 
00133 
00135     int m_totalEvents;
00136 
00138     std::vector<int> m_globalNrErrors;
00139 
00141     std::vector<int> m_globalNrAccepts;
00142 
00144     std::list<L1GtTrigReportEntry*> m_entryList;
00145 
00147     std::list<L1GtTrigReportEntry*> m_entryListTechTrig;
00148 
00149     typedef std::list<L1GtTrigReportEntry*>::const_iterator CItEntry;
00150     typedef std::list<L1GtTrigReportEntry*>::iterator ItEntry;
00151 
00153     unsigned int m_physicsDaqPartition;
00154 
00155 };
00156 
00157 #endif /*GlobalTriggerAnalyzer_L1GtTrigReport_h*/