File indexing completed on 2023-03-17 11:18:46
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 }
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