Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:29:30

0001 #ifndef ECALZEROSUPPRESSIONPRODUCER_H
0002 #define ECALZEROSUPPRESSIONPRODUCER_H
0003 
0004 #include "CalibCalorimetry/EcalTrivialCondModules/interface/EcalTrivialConditionRetriever.h"
0005 #include "CondFormats/DataRecord/interface/EcalPedestalsRcd.h"
0006 #include "CondFormats/EcalObjects/interface/EcalGainRatios.h"
0007 #include "CondFormats/EcalObjects/interface/EcalPedestals.h"
0008 #include "DataFormats/Common/interface/Handle.h"
0009 #include "DataFormats/EcalDigi/interface/EcalDigiCollections.h"
0010 #include "DataFormats/Provenance/interface/Provenance.h"
0011 #include "FWCore/Framework/interface/ConsumesCollector.h"
0012 #include "FWCore/Framework/interface/Event.h"
0013 #include "FWCore/Framework/interface/EventSetup.h"
0014 #include "FWCore/Framework/interface/MakerMacros.h"
0015 #include "FWCore/Framework/interface/stream/EDProducer.h"
0016 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0017 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0018 
0019 #include "SimCalorimetry/CaloSimAlgos/interface/CaloDigiCollectionSorter.h"
0020 #include "SimCalorimetry/EcalZeroSuppressionAlgos/interface/EcalZeroSuppressor.h"
0021 
0022 class EcalZeroSuppressionProducer : public edm::stream::EDProducer<> {
0023 public:
0024   explicit EcalZeroSuppressionProducer(const edm::ParameterSet &params);
0025   ~EcalZeroSuppressionProducer() override;
0026 
0027   /**Produces the EDM products,*/
0028   void produce(edm::Event &event, const edm::EventSetup &eventSetup) override;
0029 
0030   void initCalibrations(const edm::EventSetup &eventSetup);
0031 
0032 private:
0033   const double glbBarrelThreshold_;
0034   const double glbEndcapThreshold_;
0035 
0036   const std::string digiProducer_;        // name of module/plugin/producer making digis
0037   const std::string ebDigiCollection_;    // secondary name given to collection of digis
0038   const std::string eeDigiCollection_;    // secondary name given to collection of digis
0039   const std::string ebZSdigiCollection_;  // secondary name given to collection of digis
0040   const std::string eeZSdigiCollection_;  // secondary name given to collection of digis
0041 
0042   EcalZeroSuppressor<EBDataFrame> theBarrelZeroSuppressor_;
0043   EcalZeroSuppressor<EEDataFrame> theEndcapZeroSuppressor_;
0044 
0045   const edm::EDGetTokenT<EBDigiCollection> ebToken_;
0046   const edm::EDGetTokenT<EEDigiCollection> eeToken_;
0047   const edm::ESGetToken<EcalPedestals, EcalPedestalsRcd> pedestalToken_;
0048 };
0049 
0050 #endif