CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/RecoLocalCalo/EcalRecProducers/plugins/EcalUncalibRecHitWorkerRatio.h

Go to the documentation of this file.
00001 #ifndef RecoLocalCalo_EcalRecProducers_EcalUncalibRecHitRecWorkerRatio_hh
00002 #define RecoLocalCalo_EcalRecProducers_EcalUncalibRecHitRecWorkerRatio_hh
00003 
00014 #include "RecoLocalCalo/EcalRecProducers/interface/EcalUncalibRecHitWorkerBaseClass.h"
00015 #include "RecoLocalCalo/EcalRecAlgos/interface//EcalUncalibRecHitRatioMethodAlgo.h"
00016 #include "FWCore/Framework/interface/ESHandle.h"
00017 #include "CondFormats/EcalObjects/interface/EcalSampleMask.h"
00018 #include "CondFormats/EcalObjects/interface/EcalPedestals.h"
00019 #include "CondFormats/EcalObjects/interface/EcalGainRatios.h"
00020 
00021 namespace edm {
00022         class Event;
00023         class EventSetup;
00024         class ParameterSet;
00025 }
00026 
00027 class EcalUncalibRecHitWorkerRatio : public EcalUncalibRecHitWorkerBaseClass {
00028 
00029         public:
00030                 EcalUncalibRecHitWorkerRatio(const edm::ParameterSet&);
00031                 virtual ~EcalUncalibRecHitWorkerRatio() {};
00032 
00033                 void set(const edm::EventSetup& es);
00034                 bool run(const edm::Event& evt, const EcalDigiCollection::const_iterator & digi, EcalUncalibratedRecHitCollection & result);
00035 
00036         protected:
00037 
00038                 // determie which of the samples must actually be used by ECAL local reco
00039                 edm::ESHandle<EcalSampleMask> sampleMaskHand_;
00040 
00041                 edm::ESHandle<EcalPedestals> peds;
00042                 edm::ESHandle<EcalGainRatios>  gains;
00043 
00044                 double pedVec[3];
00045                 double pedRMSVec[3];
00046                 double gainRatios[3];
00047 
00048                 std::vector<double> EBtimeFitParameters_; 
00049                 std::vector<double> EEtimeFitParameters_; 
00050  
00051                 std::vector<double> EBamplitudeFitParameters_; 
00052                 std::vector<double> EEamplitudeFitParameters_; 
00053  
00054                 std::pair<double,double> EBtimeFitLimits_;  
00055                 std::pair<double,double> EEtimeFitLimits_;  
00056 
00057                 double EBtimeConstantTerm_;
00058                 double EEtimeConstantTerm_;
00059                 
00060                 EcalUncalibRecHitRatioMethodAlgo<EBDataFrame> uncalibMaker_barrel_;
00061                 EcalUncalibRecHitRatioMethodAlgo<EEDataFrame> uncalibMaker_endcap_;
00062 };
00063 
00064 #endif