CMS 3D CMS Logo

L1GtDataEmulAnalyzer.h
Go to the documentation of this file.
1 #ifndef GlobalTriggerAnalyzer_L1GtDataEmulAnalyzer_h
2 #define GlobalTriggerAnalyzer_L1GtDataEmulAnalyzer_h
3 
19 // system include files
20 #include <memory>
21 #include <string>
22 
23 // user include files
26 
29 
32 
33 // forward declarations
34 class L1GtfeWord;
35 class L1GtFdlWord;
36 class L1GtPsbWord;
37 class L1TcsWord;
38 class L1GtTriggerMenu;
39 class L1GtTriggerMask;
40 class L1GtTriggerMenuRcd;
43 
44 class TH1F;
45 class TH1D;
46 class TH2D;
47 class TTree;
48 
49 // class declaration
50 
51 class L1GtDataEmulAnalyzer : public edm::one::EDAnalyzer<edm::one::SharedResources> {
52 public:
53  explicit L1GtDataEmulAnalyzer(const edm::ParameterSet&);
54  ~L1GtDataEmulAnalyzer() override;
55 
56 private:
57  void beginJob() override;
58 
60  virtual void compareGTFE(const edm::Event&, const edm::EventSetup&, const L1GtfeWord&, const L1GtfeWord&);
61 
63  virtual void compareFDL(const edm::Event&, const edm::EventSetup&, const L1GtFdlWord&, const L1GtFdlWord&, const int);
64 
66  virtual void comparePSB(const edm::Event&, const edm::EventSetup&, const L1GtPsbWord&, const L1GtPsbWord&);
67 
69  virtual void compareTCS(const edm::Event&, const edm::EventSetup&, const L1TcsWord&, const L1TcsWord&);
70 
72  virtual void compareDaqRecord(const edm::Event&, const edm::EventSetup&);
73 
75  virtual void compareEvmRecord(const edm::Event&, const edm::EventSetup&);
76 
79  virtual void compareGt_Gct(const edm::Event&, const edm::EventSetup&);
80 
82  void analyze(const edm::Event&, const edm::EventSetup&) override;
83 
85  void bookHistograms();
86 
88  void endJob() override;
89 
90 private:
93 
96 
99 
100 private:
103  std::ostringstream m_myCoutStream;
104 
108 
109  // cached stuff
110 
113  unsigned long long m_l1GtMenuCacheID;
114 
117  unsigned long long m_l1GtTmAlgoCacheID;
118 
120  unsigned long long m_l1GtTmTechCacheID;
121 
122  std::vector<unsigned int> m_triggerMaskAlgoTrig;
123  std::vector<unsigned int> m_triggerMaskTechTrig;
124 
125 private:
127 
130 
131  static constexpr int TotalBxInEvent = 5;
132 
135 
138 
141 
144 
147 
150 
153 
155 
159 
163 
165 
169 };
170 
171 #endif /*GlobalTriggerAnalyzer_L1GtDataEmulAnalyzer_h*/
edm::ESGetToken< L1GtTriggerMask, L1GtTriggerMaskTechTrigRcd > m_l1GtTmTechToken
TH1F * m_gtfeDataEmul
histograms
TH1F * m_fdlEmulTechDecision[TotalBxInEvent][2]
virtual void compareTCS(const edm::Event &, const edm::EventSetup &, const L1TcsWord &, const L1TcsWord &)
compare the TCS board
TH1F * m_fdlDataEmul[TotalBxInEvent][2]
FDL (0 for DAQ, 1 for EVM record)
TH1F * m_fdlEmulAlgoDecision[TotalBxInEvent][2]
std::vector< unsigned int > m_triggerMaskTechTrig
virtual void compareDaqRecord(const edm::Event &, const edm::EventSetup &)
L1 GT DAQ record comparison.
TH1F * m_fdlDataEmulAlgoDecisionMask[TotalBxInEvent][2]
unsigned long long m_l1GtTmTechCacheID
virtual void compareGTFE(const edm::Event &, const edm::EventSetup &, const L1GtfeWord &, const L1GtfeWord &)
compare the GTFE board
void analyze(const edm::Event &, const edm::EventSetup &) override
analyze each event
L1GtDataEmulAnalyzer(const edm::ParameterSet &)
TH1F * m_fdlEmulAlgoDecisionMask[TotalBxInEvent][2]
TH1F * m_fdlDataEmulTechDecisionMask[TotalBxInEvent][2]
edm::InputTag m_l1GtEmulInputTag
input tag for the L1 GT emulator DAQ/EVM record
void bookHistograms()
book all histograms for the module
std::ostringstream m_myCoutStream
TH1F * m_fdlDataAlgoDecisionMask[TotalBxInEvent][2]
TH1F * m_fdlEmulTechDecisionMask[TotalBxInEvent][2]
const L1GtTriggerMenu * m_l1GtMenu
trigger menu
std::vector< unsigned int > m_triggerMaskAlgoTrig
TH1F * m_fdlDataEmulTechDecision[TotalBxInEvent][2]
const L1GtTriggerMask * m_l1GtTmAlgo
trigger masks
static constexpr int TotalBxInEvent
edm::ESGetToken< L1GtTriggerMask, L1GtTriggerMaskAlgoTrigRcd > m_l1GtTmAlgoToken
TH1F * m_fdlDataAlgoDecision[TotalBxInEvent][2]
void endJob() override
end of job
TH1F * m_fdlDataEmulAlgoDecision[TotalBxInEvent][2]
virtual void compareGt_Gct(const edm::Event &, const edm::EventSetup &)
edm::InputTag m_l1GtDataInputTag
input tag for the L1 GT hardware DAQ/EVM record
unsigned long long m_l1GtMenuCacheID
TH1F * m_fdlDataTechDecisionMask[TotalBxInEvent][2]
virtual void compareFDL(const edm::Event &, const edm::EventSetup &, const L1GtFdlWord &, const L1GtFdlWord &, const int)
compare the FDL board
virtual void compareEvmRecord(const edm::Event &, const edm::EventSetup &)
L1 GT EVM record comparison.
const L1GtTriggerMask * m_l1GtTmTech
TH1F * m_fdlDataTechDecision[TotalBxInEvent][2]
unsigned long long m_l1GtTmAlgoCacheID
edm::InputTag m_l1GctDataInputTag
input tag for the L1 GCT hardware record
virtual void comparePSB(const edm::Event &, const edm::EventSetup &, const L1GtPsbWord &, const L1GtPsbWord &)
compare the PSB board
edm::ESGetToken< L1GtTriggerMenu, L1GtTriggerMenuRcd > m_l1GtMenuToken
PSB.