File indexing completed on 2024-04-06 12:21:35
0001 #ifndef L1RCTInputProducer_h
0002 #define L1RCTInputProducer_h
0003
0004 #include "FWCore/Framework/interface/stream/EDProducer.h"
0005
0006 #include "DataFormats/Common/interface/Handle.h"
0007 #include "FWCore/Framework/interface/ESHandle.h"
0008 #include "FWCore/Framework/interface/Event.h"
0009 #include "FWCore/Framework/interface/EventSetup.h"
0010 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0011 #include "FWCore/Utilities/interface/ESGetToken.h"
0012
0013 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0014 #include "CondFormats/DataRecord/interface/L1CaloEcalScaleRcd.h"
0015 #include "CondFormats/DataRecord/interface/L1CaloHcalScaleRcd.h"
0016 #include "CondFormats/L1TObjects/interface/L1CaloEcalScale.h"
0017 #include "CondFormats/L1TObjects/interface/L1CaloHcalScale.h"
0018 #include "CondFormats/DataRecord/interface/L1EmEtScaleRcd.h"
0019 #include "CondFormats/L1TObjects/interface/L1CaloEtScale.h"
0020 #include "CondFormats/DataRecord/interface/L1RCTParametersRcd.h"
0021 #include "CondFormats/L1TObjects/interface/L1RCTParameters.h"
0022 #include "CondFormats/DataRecord/interface/L1RCTChannelMaskRcd.h"
0023 #include "CondFormats/L1TObjects/interface/L1RCTChannelMask.h"
0024
0025 #include <string>
0026
0027 class L1RCT;
0028 class L1RCTLookupTables;
0029
0030 class L1RCTInputProducer : public edm::stream::EDProducer<> {
0031 public:
0032 explicit L1RCTInputProducer(const edm::ParameterSet &ps);
0033 ~L1RCTInputProducer() override;
0034 void produce(edm::Event &e, const edm::EventSetup &c) override;
0035
0036 private:
0037 L1RCTLookupTables *rctLookupTables;
0038 L1RCT *rct;
0039 bool useEcal;
0040 bool useHcal;
0041 edm::InputTag ecalDigisLabel;
0042 edm::InputTag hcalDigisLabel;
0043 edm::ESGetToken<L1RCTParameters, L1RCTParametersRcd> rctParametersToken;
0044 edm::ESGetToken<L1RCTChannelMask, L1RCTChannelMaskRcd> channelMaskToken;
0045 edm::ESGetToken<L1CaloEcalScale, L1CaloEcalScaleRcd> ecalScaleToken;
0046 edm::ESGetToken<L1CaloHcalScale, L1CaloHcalScaleRcd> hcalScaleToken;
0047 edm::ESGetToken<L1CaloEtScale, L1EmEtScaleRcd> emScaleToken;
0048 };
0049 #endif