File indexing completed on 2024-04-06 12:20:01
0001 #ifndef GlobalTriggerAnalyzer_L1GtAnalyzer_h
0002 #define GlobalTriggerAnalyzer_L1GtAnalyzer_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019 #include <memory>
0020 #include <string>
0021
0022
0023
0024 #include "DataFormats/Common/interface/ConditionsInEdm.h"
0025
0026 #include "DataFormats/L1GlobalTrigger/interface/L1GlobalTriggerReadoutRecord.h"
0027 #include "DataFormats/L1GlobalTrigger/interface/L1GlobalTriggerObjectMapRecord.h"
0028 #include "DataFormats/L1GlobalTrigger/interface/L1GlobalTriggerObjectMaps.h"
0029 #include "DataFormats/L1GlobalTrigger/interface/L1GtTriggerMenuLite.h"
0030
0031 #include "FWCore/Framework/interface/Frameworkfwd.h"
0032 #include "FWCore/Framework/interface/one/EDAnalyzer.h"
0033
0034 #include "FWCore/Framework/interface/Event.h"
0035 #include "FWCore/Framework/interface/EventSetup.h"
0036 #include "FWCore/Framework/interface/MakerMacros.h"
0037
0038 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0039 #include "FWCore/Utilities/interface/EDGetToken.h"
0040 #include "FWCore/Utilities/interface/InputTag.h"
0041
0042 #include "L1Trigger/GlobalTriggerAnalyzer/interface/L1GtUtils.h"
0043 #include "L1Trigger/GlobalTriggerAnalyzer/interface/L1RetrieveL1Extra.h"
0044
0045
0046
0047 class L1GtAnalyzer : public edm::one::EDAnalyzer<edm::one::WatchRuns, edm::one::WatchLuminosityBlocks> {
0048 public:
0049 explicit L1GtAnalyzer(const edm::ParameterSet&);
0050 ~L1GtAnalyzer() override;
0051
0052 private:
0053 void beginJob() override;
0054 void beginRun(const edm::Run&, const edm::EventSetup&) override;
0055 void beginLuminosityBlock(const edm::LuminosityBlock&, const edm::EventSetup&) override;
0056
0057
0058
0059 virtual void analyzeDecisionReadoutRecord(const edm::Event&, const edm::EventSetup&);
0060
0061
0062 void analyzeL1GtUtilsCore(const edm::Event&, const edm::EventSetup&);
0063
0064 void analyzeL1GtUtilsMenuLite(const edm::Event&, const edm::EventSetup&);
0065 void analyzeL1GtUtilsEventSetup(const edm::Event&, const edm::EventSetup&);
0066 void analyzeL1GtUtils(const edm::Event&, const edm::EventSetup&);
0067
0068
0069 void analyzeTrigger(const edm::Event&, const edm::EventSetup&);
0070
0071
0072 virtual void analyzeObjectMap(const edm::Event&, const edm::EventSetup&);
0073
0074
0075 void analyzeL1GtTriggerMenuLite(const edm::Event&, const edm::EventSetup&);
0076
0077
0078
0079
0080 void analyzeConditionsInRunBlock(const edm::Run&, const edm::EventSetup&);
0081
0082 void analyzeConditionsInLumiBlock(const edm::LuminosityBlock&, const edm::EventSetup&);
0083
0084 void analyzeConditionsInEventBlock(const edm::Event&, const edm::EventSetup&);
0085
0086
0087 void printOutput(std::ostringstream&);
0088
0089
0090 void analyze(const edm::Event&, const edm::EventSetup&) override;
0091
0092
0093 void endLuminosityBlock(const edm::LuminosityBlock&, const edm::EventSetup&) override;
0094 void endRun(const edm::Run&, const edm::EventSetup&) override;
0095
0096
0097 void endJob() override;
0098
0099 private:
0100
0101 L1RetrieveL1Extra m_retrieveL1Extra;
0102
0103
0104 int m_printOutput;
0105
0106
0107 bool m_analyzeDecisionReadoutRecordEnable;
0108
0109 bool m_analyzeL1GtUtilsMenuLiteEnable;
0110 bool m_analyzeL1GtUtilsEventSetupEnable;
0111 bool m_analyzeL1GtUtilsEnable;
0112 bool m_analyzeTriggerEnable;
0113
0114 bool m_analyzeObjectMapEnable;
0115
0116 bool m_analyzeL1GtTriggerMenuLiteEnable;
0117
0118 bool m_analyzeConditionsInRunBlockEnable;
0119 bool m_analyzeConditionsInLumiBlockEnable;
0120 bool m_analyzeConditionsInEventBlockEnable;
0121
0122 private:
0123
0124 edm::InputTag m_l1GtDaqReadoutRecordInputTag;
0125 edm::EDGetTokenT<L1GlobalTriggerReadoutRecord> m_l1GtDaqReadoutRecordToken;
0126
0127
0128 edm::InputTag m_l1GtRecordInputTag;
0129
0130
0131 edm::InputTag m_l1GtObjectMapTag;
0132 edm::EDGetTokenT<L1GlobalTriggerObjectMapRecord> m_l1GtObjectMapToken;
0133
0134
0135 edm::InputTag m_l1GtObjectMapsInputTag;
0136 edm::EDGetTokenT<L1GlobalTriggerObjectMaps> m_l1GtObjectMapsToken;
0137
0138
0139 edm::InputTag m_l1GmtInputTag;
0140
0141
0142 edm::InputTag m_l1GtTmLInputTag;
0143 edm::EDGetTokenT<L1GtTriggerMenuLite> m_l1GtTmLToken;
0144
0145
0146 edm::InputTag m_condInEdmInputTag;
0147 edm::EDGetTokenT<edm::ConditionsInRunBlock> m_condInRunToken;
0148 edm::EDGetTokenT<edm::ConditionsInLumiBlock> m_condInLumiToken;
0149 edm::EDGetTokenT<edm::ConditionsInEventBlock> m_condInEventToken;
0150
0151
0152 std::string m_nameAlgTechTrig;
0153
0154
0155 std::string m_condName;
0156
0157
0158 unsigned int m_bitNumber;
0159
0160
0161 unsigned int m_l1GtUtilsConfiguration;
0162
0163
0164
0165 bool m_l1GtTmLInputTagProv;
0166
0167
0168
0169 bool m_l1GtRecordsInputTagProv;
0170
0171
0172 bool m_l1GtUtilsConfigureBeginRun;
0173
0174
0175
0176 std::string m_l1GtUtilsLogicalExpression;
0177
0178 private:
0179 L1GtUtils m_l1GtUtilsProv;
0180 L1GtUtils m_l1GtUtils;
0181 L1GtUtils::LogicalExpressionL1Results m_logicalExpressionL1ResultsProv;
0182 L1GtUtils::LogicalExpressionL1Results m_logicalExpressionL1Results;
0183 };
0184
0185 #endif