File indexing completed on 2024-04-06 12:10:45
0001 #ifndef EventFilter_L1GlobalTriggerRawToDigi_L1GlobalTriggerRecordProducer_h
0002 #define EventFilter_L1GlobalTriggerRawToDigi_L1GlobalTriggerRecordProducer_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019 #include <memory>
0020
0021
0022 #include "FWCore/Framework/interface/Frameworkfwd.h"
0023 #include "FWCore/Framework/interface/stream/EDProducer.h"
0024
0025 #include "FWCore/Framework/interface/Event.h"
0026 #include "FWCore/Framework/interface/MakerMacros.h"
0027
0028 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0029 #include "FWCore/Utilities/interface/InputTag.h"
0030 #include "FWCore/Utilities/interface/ESGetToken.h"
0031
0032 #include "DataFormats/L1GlobalTrigger/interface/L1GlobalTriggerReadoutRecord.h"
0033 #include "CondFormats/L1TObjects/interface/L1GtTriggerMask.h"
0034 #include "CondFormats/DataRecord/interface/L1GtTriggerMaskAlgoTrigRcd.h"
0035 #include "CondFormats/DataRecord/interface/L1GtTriggerMaskTechTrigRcd.h"
0036
0037
0038 class L1GtTriggerMask;
0039
0040
0041 class L1GlobalTriggerRecordProducer : public edm::stream::EDProducer<> {
0042 public:
0043
0044 explicit L1GlobalTriggerRecordProducer(const edm::ParameterSet&);
0045
0046
0047 ~L1GlobalTriggerRecordProducer() override;
0048
0049 private:
0050 void produce(edm::Event&, const edm::EventSetup&) override;
0051
0052 private:
0053
0054
0055
0056 const L1GtTriggerMask* m_l1GtTmAlgo;
0057 unsigned long long m_l1GtTmAlgoCacheID;
0058
0059 const L1GtTriggerMask* m_l1GtTmTech;
0060 unsigned long long m_l1GtTmTechCacheID;
0061
0062 std::vector<unsigned int> m_triggerMaskAlgoTrig;
0063 std::vector<unsigned int> m_triggerMaskTechTrig;
0064
0065 private:
0066
0067 edm::EDGetTokenT<L1GlobalTriggerReadoutRecord> m_l1GtReadoutRecordTag;
0068
0069 edm::ESGetToken<L1GtTriggerMask, L1GtTriggerMaskAlgoTrigRcd> m_l1GtTmAlgoToken;
0070
0071 edm::ESGetToken<L1GtTriggerMask, L1GtTriggerMaskTechTrigRcd> m_l1GtTmTechToken;
0072 };
0073
0074 #endif