00001 #ifndef ECALZEROSUPPRESSIONPRODUCER_H 00002 #define ECALZEROSUPPRESSIONPRODUCER_H 00003 00004 #include "FWCore/Framework/interface/EDProducer.h" 00005 #include "DataFormats/Common/interface/EDProduct.h" 00006 #include "FWCore/Framework/interface/Event.h" 00007 #include "DataFormats/Common/interface/Handle.h" 00008 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00009 #include "FWCore/Framework/interface/ESHandle.h" 00010 #include "FWCore/Framework/interface/EventSetup.h" 00011 #include "DataFormats/EcalDigi/interface/EcalDigiCollections.h" 00012 #include "FWCore/Framework/interface/MakerMacros.h" 00013 #include "FWCore/MessageLogger/interface/MessageLogger.h" 00014 #include "DataFormats/Provenance/interface/Provenance.h" 00015 #include "CondFormats/DataRecord/interface/EcalPedestalsRcd.h" 00016 #include "CondFormats/EcalObjects/interface/EcalPedestals.h" 00017 #include "CondFormats/EcalObjects/interface/EcalGainRatios.h" 00018 #include "CalibCalorimetry/EcalTrivialCondModules/interface/EcalTrivialConditionRetriever.h" 00019 00020 00021 #include "SimCalorimetry/EcalZeroSuppressionAlgos/interface/EcalZeroSuppressor.h" 00022 #include "SimCalorimetry/CaloSimAlgos/interface/CaloDigiCollectionSorter.h" 00023 00024 class EcalZeroSuppressionProducer : public edm::EDProducer 00025 { 00026 public: 00027 00028 // The following is not yet used, but will be the primary 00029 // constructor when the parameter set system is available. 00030 // 00031 explicit EcalZeroSuppressionProducer(const edm::ParameterSet& params); 00032 virtual ~EcalZeroSuppressionProducer(); 00033 00035 virtual void produce(edm::Event& event, const edm::EventSetup& eventSetup); 00036 00037 void initCalibrations(const edm::EventSetup & eventSetup); 00038 00039 private: 00040 00041 double glbBarrelThreshold_; 00042 double glbEndcapThreshold_; 00043 00044 std::string digiProducer_; // name of module/plugin/producer making digis 00045 std::string EBdigiCollection_; // secondary name given to collection of digis 00046 std::string EEdigiCollection_; // secondary name given to collection of digis 00047 std::string EBZSdigiCollection_; // secondary name given to collection of digis 00048 std::string EEZSdigiCollection_; // secondary name given to collection of digis 00049 00050 EcalZeroSuppressor<EBDataFrame> theBarrelZeroSuppressor_; 00051 EcalZeroSuppressor<EEDataFrame> theEndcapZeroSuppressor_; 00052 00053 }; 00054 00055 #endif