File indexing completed on 2024-04-06 12:20:01
0001 #ifndef GlobalTriggerAnalyzer_L1GtTrigReport_h
0002 #define GlobalTriggerAnalyzer_L1GtTrigReport_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019 #include <memory>
0020 #include <string>
0021 #include <vector>
0022 #include <list>
0023
0024
0025 #include "FWCore/Framework/interface/Frameworkfwd.h"
0026 #include "FWCore/Framework/interface/one/EDAnalyzer.h"
0027
0028 #include "FWCore/Framework/interface/Event.h"
0029
0030 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0031
0032 #include "L1Trigger/GlobalTriggerAnalyzer/interface/L1GtTrigReportEntry.h"
0033 #include "DataFormats/L1GlobalTrigger/interface/L1GlobalTriggerReadoutRecord.h"
0034 #include "DataFormats/L1GlobalTrigger/interface/L1GlobalTriggerRecord.h"
0035
0036
0037 class L1GtStableParameters;
0038 class L1GtStableParametersRcd;
0039 class L1GtPrescaleFactors;
0040 class L1GtPrescaleFactorsAlgoTrigRcd;
0041 class L1GtPrescaleFactorsTechTrigRcd;
0042 class L1GtTriggerMask;
0043 class L1GtTriggerMaskAlgoTrigRcd;
0044 class L1GtTriggerMaskTechTrigRcd;
0045 class L1GtTriggerMaskVetoAlgoTrigRcd;
0046 class L1GtTriggerMaskVetoTechTrigRcd;
0047 class L1GtTriggerMenu;
0048 class L1GtTriggerMenuRcd;
0049
0050
0051
0052 class L1GtTrigReport : public edm::one::EDAnalyzer<> {
0053 public:
0054
0055 explicit L1GtTrigReport(const edm::ParameterSet&);
0056
0057
0058 ~L1GtTrigReport() override;
0059
0060 private:
0061 void beginJob() override;
0062
0063
0064 void analyze(const edm::Event&, const edm::EventSetup&) override;
0065
0066
0067 void endJob() override;
0068
0069 private:
0070
0071
0072
0073 const L1GtStableParameters* m_l1GtStablePar;
0074 unsigned long long m_l1GtStableParCacheID;
0075
0076
0077 unsigned int m_numberPhysTriggers;
0078
0079
0080 unsigned int m_numberTechnicalTriggers;
0081
0082
0083 unsigned int m_numberDaqPartitions;
0084 unsigned int m_numberDaqPartitionsMax;
0085
0086
0087 const L1GtPrescaleFactors* m_l1GtPfAlgo;
0088 unsigned long long m_l1GtPfAlgoCacheID;
0089
0090 const L1GtPrescaleFactors* m_l1GtPfTech;
0091 unsigned long long m_l1GtPfTechCacheID;
0092
0093 const std::vector<std::vector<int> >* m_prescaleFactorsAlgoTrig;
0094 const std::vector<std::vector<int> >* m_prescaleFactorsTechTrig;
0095
0096
0097 const L1GtTriggerMask* m_l1GtTmAlgo;
0098 unsigned long long m_l1GtTmAlgoCacheID;
0099
0100 const L1GtTriggerMask* m_l1GtTmTech;
0101 unsigned long long m_l1GtTmTechCacheID;
0102
0103 const L1GtTriggerMask* m_l1GtTmVetoAlgo;
0104 unsigned long long m_l1GtTmVetoAlgoCacheID;
0105
0106 const L1GtTriggerMask* m_l1GtTmVetoTech;
0107 unsigned long long m_l1GtTmVetoTechCacheID;
0108
0109 std::vector<unsigned int> m_triggerMaskAlgoTrig;
0110 std::vector<unsigned int> m_triggerMaskTechTrig;
0111
0112 std::vector<unsigned int> m_triggerMaskVetoAlgoTrig;
0113 std::vector<unsigned int> m_triggerMaskVetoTechTrig;
0114
0115
0116 const L1GtTriggerMenu* m_l1GtMenu;
0117 unsigned long long m_l1GtMenuCacheID;
0118
0119 private:
0120
0121 const bool m_useL1GlobalTriggerRecord;
0122
0123
0124 const edm::InputTag m_l1GtRecordInputTag;
0125
0126 const edm::EDGetTokenT<L1GlobalTriggerRecord> m_l1GtRecordInputToken1;
0127 const edm::EDGetTokenT<L1GlobalTriggerReadoutRecord> m_l1GtRecordInputToken2;
0128
0129 const edm::ESGetToken<L1GtStableParameters, L1GtStableParametersRcd> m_stableParToken;
0130 const edm::ESGetToken<L1GtPrescaleFactors, L1GtPrescaleFactorsAlgoTrigRcd> m_pfAlgoToken;
0131 const edm::ESGetToken<L1GtPrescaleFactors, L1GtPrescaleFactorsTechTrigRcd> m_pfTechToken;
0132 const edm::ESGetToken<L1GtTriggerMask, L1GtTriggerMaskAlgoTrigRcd> m_tmAlgoToken;
0133 const edm::ESGetToken<L1GtTriggerMask, L1GtTriggerMaskTechTrigRcd> m_tmTechToken;
0134 const edm::ESGetToken<L1GtTriggerMask, L1GtTriggerMaskVetoAlgoTrigRcd> m_tmVetoAlgoToken;
0135 const edm::ESGetToken<L1GtTriggerMask, L1GtTriggerMaskVetoTechTrigRcd> m_tmVetoTechToken;
0136 const edm::ESGetToken<L1GtTriggerMenu, L1GtTriggerMenuRcd> m_menuToken;
0137
0138
0139 const int m_printVerbosity;
0140
0141
0142 const int m_printOutput;
0143
0144
0145
0146
0147 int m_totalEvents;
0148
0149
0150 std::vector<int> m_globalNrErrors;
0151
0152
0153 std::vector<int> m_globalNrAccepts;
0154
0155
0156 std::list<L1GtTrigReportEntry*> m_entryList;
0157
0158
0159 std::list<L1GtTrigReportEntry*> m_entryListTechTrig;
0160
0161 typedef std::list<L1GtTrigReportEntry*>::const_iterator CItEntry;
0162 typedef std::list<L1GtTrigReportEntry*>::iterator ItEntry;
0163
0164
0165 const unsigned int m_physicsDaqPartition;
0166 };
0167
0168 #endif