Back to home page

Project CMSSW displayed by LXR

 
 

    


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