Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-06-13 03:24:06

0001 #ifndef RecoLocalCalo_HGCalRecProducers_HGCalUncalibRecHitProducer_hh
0002 #define RecoLocalCalo_HGCalRecProducers_HGCalUncalibRecHitProducer_hh
0003 
0004 #include "FWCore/Framework/interface/stream/EDProducer.h"
0005 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0006 #include "FWCore/Framework/interface/Event.h"
0007 #include "FWCore/Framework/interface/EventSetup.h"
0008 #include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h"
0009 #include "FWCore/ParameterSet/interface/ParameterSetDescription.h"
0010 
0011 #include "DataFormats/HGCDigi/interface/HGCDataFrame.h"
0012 
0013 #include "RecoLocalCalo/HGCalRecProducers/interface/HGCalUncalibRecHitWorkerBaseClass.h"
0014 
0015 class HGCalUncalibRecHitProducer : public edm::stream::EDProducer<> {
0016 public:
0017   explicit HGCalUncalibRecHitProducer(const edm::ParameterSet& ps);
0018   ~HGCalUncalibRecHitProducer() override;
0019   void produce(edm::Event& evt, const edm::EventSetup& es) override;
0020   static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0021 
0022 private:
0023   const edm::EDGetTokenT<HGCalDigiCollection> eeDigiCollection_;      // collection of HGCEE digis
0024   const edm::EDGetTokenT<HGCalDigiCollection> hefDigiCollection_;     // collection of HGCHEF digis
0025   const edm::EDGetTokenT<HGCalDigiCollection> hebDigiCollection_;     // collection of HGCHEB digis
0026   const edm::EDGetTokenT<HGCalDigiCollection> hfnoseDigiCollection_;  // collection of HGCHFNose digis
0027 
0028   const edm::ESGetToken<HGCalGeometry, IdealGeometryRecord> ee_geometry_token_;
0029   const edm::ESGetToken<HGCalGeometry, IdealGeometryRecord> hef_geometry_token_;
0030   const edm::ESGetToken<HGCalGeometry, IdealGeometryRecord> heb_geometry_token_;
0031   const edm::ESGetToken<HGCalGeometry, IdealGeometryRecord> hfnose_geometry_token_;
0032 
0033   const std::string eeHitCollection_;      // instance name of HGCEE collection of hits
0034   const std::string hefHitCollection_;     // instance name of HGCHEF collection of hits
0035   const std::string hebHitCollection_;     // instance name of HGCHEB collection of hits
0036   const std::string hfnoseHitCollection_;  // instance name of HGCHFnose collection of hits
0037 
0038   std::unique_ptr<HGCalUncalibRecHitWorkerBaseClass> worker_;
0039 };
0040 #endif