Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 14:24:24

0001 #ifndef RecoLocalCalo_EcalRecProducers_EcalUncalibRecHitWorkerMaxSample_hh
0002 #define RecoLocalCalo_EcalRecProducers_EcalUncalibRecHitWorkerMaxSample_hh
0003 
0004 #include "FWCore/Framework/interface/ESHandle.h"
0005 #include "FWCore/Utilities/interface/ESGetToken.h"
0006 #include "FWCore/Framework/interface/ConsumesCollector.h"
0007 #include "RecoLocalCalo/EcalRecProducers/interface/ESRecHitWorkerBaseClass.h"
0008 #include "RecoLocalCalo/EcalRecAlgos/interface/ESRecHitSimAlgo.h"
0009 #include "RecoLocalCalo/EcalRecAlgos/interface/ESRecHitFitAlgo.h"
0010 #include "RecoLocalCalo/EcalRecAlgos/interface/ESRecHitAnalyticAlgo.h"
0011 #include "DataFormats/EcalDigi/interface/EcalDigiCollections.h"
0012 #include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h"
0013 #include "CondFormats/ESObjects/interface/ESChannelStatus.h"
0014 #include "CondFormats/ESObjects/interface/ESGain.h"
0015 #include "CondFormats/ESObjects/interface/ESMIPToGeVConstant.h"
0016 #include "CondFormats/ESObjects/interface/ESTimeSampleWeights.h"
0017 #include "CondFormats/ESObjects/interface/ESPedestals.h"
0018 #include "CondFormats/ESObjects/interface/ESIntercalibConstants.h"
0019 #include "CondFormats/ESObjects/interface/ESRecHitRatioCuts.h"
0020 #include "CondFormats/ESObjects/interface/ESAngleCorrectionFactors.h"
0021 #include "CondFormats/DataRecord/interface/ESGainRcd.h"
0022 #include "CondFormats/DataRecord/interface/ESChannelStatusRcd.h"
0023 #include "CondFormats/DataRecord/interface/ESMIPToGeVConstantRcd.h"
0024 #include "CondFormats/DataRecord/interface/ESTimeSampleWeightsRcd.h"
0025 #include "CondFormats/DataRecord/interface/ESPedestalsRcd.h"
0026 #include "CondFormats/DataRecord/interface/ESIntercalibConstantsRcd.h"
0027 #include "CondFormats/DataRecord/interface/ESRecHitRatioCutsRcd.h"
0028 #include "CondFormats/DataRecord/interface/ESAngleCorrectionFactorsRcd.h"
0029 
0030 #include <vector>
0031 
0032 namespace edm {
0033   class ParameterSet;
0034   class EventSetup;
0035 }  // namespace edm
0036 
0037 class ESRecHitWorker : public ESRecHitWorkerBaseClass {
0038 public:
0039   ESRecHitWorker(const edm::ParameterSet &ps, edm::ConsumesCollector cc);
0040   ~ESRecHitWorker() override;
0041 
0042   void set(const edm::EventSetup &es) override;
0043   bool run(const ESDigiCollection::const_iterator &digi, ESRecHitCollection &result) override;
0044 
0045 private:
0046   int recoAlgo_;
0047   ESRecHitSimAlgo *algoW_;
0048   ESRecHitFitAlgo *algoF_;
0049   ESRecHitAnalyticAlgo *algoA_;
0050 
0051   edm::ESHandle<ESGain> esgain_;
0052   edm::ESHandle<ESMIPToGeVConstant> esMIPToGeV_;
0053   edm::ESHandle<ESTimeSampleWeights> esWeights_;
0054   edm::ESHandle<ESPedestals> esPedestals_;
0055   edm::ESHandle<ESIntercalibConstants> esMIPs_;
0056   edm::ESHandle<ESChannelStatus> esChannelStatus_;
0057   edm::ESHandle<ESRecHitRatioCuts> esRatioCuts_;
0058   edm::ESHandle<ESAngleCorrectionFactors> esAngleCorrFactors_;
0059   edm::ESGetToken<ESGain, ESGainRcd> esgainToken_;
0060   edm::ESGetToken<ESMIPToGeVConstant, ESMIPToGeVConstantRcd> esMIPToGeVToken_;
0061   edm::ESGetToken<ESTimeSampleWeights, ESTimeSampleWeightsRcd> esWeightsToken_;
0062   edm::ESGetToken<ESPedestals, ESPedestalsRcd> esPedestalsToken_;
0063   edm::ESGetToken<ESIntercalibConstants, ESIntercalibConstantsRcd> esMIPsToken_;
0064   edm::ESGetToken<ESChannelStatus, ESChannelStatusRcd> esChannelStatusToken_;
0065   edm::ESGetToken<ESRecHitRatioCuts, ESRecHitRatioCutsRcd> esRatioCutsToken_;
0066   edm::ESGetToken<ESAngleCorrectionFactors, ESAngleCorrectionFactorsRcd> esAngleCorrFactorsToken_;
0067 };
0068 #endif