CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/src/RecoLocalCalo/EcalRecAlgos/interface/ESRecHitFitAlgo.h

Go to the documentation of this file.
00001 #ifndef RecoLocalCalo_EcalRecAlgos_ESRecHitFitAlgo_HH
00002 #define RecoLocalCalo_EcalRecAlgos_ESRecHitFitAlgo_HH
00003 
00004 #include "DataFormats/EcalDigi/interface/ESDataFrame.h"
00005 #include "DataFormats/EcalRecHit/interface/EcalRecHit.h"
00006 #include "CondFormats/ESObjects/interface/ESPedestals.h"
00007 #include "CondFormats/ESObjects/interface/ESIntercalibConstants.h"
00008 #include "CondFormats/ESObjects/interface/ESChannelStatus.h"
00009 #include "CondFormats/ESObjects/interface/ESRecHitRatioCuts.h"
00010 #include "CondFormats/ESObjects/interface/ESAngleCorrectionFactors.h"
00011 
00012 #include "TF1.h"
00013 
00014 class ESRecHitFitAlgo {
00015 
00016  public:
00017 
00018   ESRecHitFitAlgo();
00019   ~ESRecHitFitAlgo();
00020 
00021   void setESGain(const double& value) { gain_ = value; }
00022   void setMIPGeV(const double& value) { MIPGeV_ = value; } 
00023   void setPedestals(const ESPedestals* peds) { peds_ = peds; }
00024   void setIntercalibConstants(const ESIntercalibConstants* mips) { mips_ = mips; }
00025   void setChannelStatus(const ESChannelStatus* status) { channelStatus_ = status; }
00026   void setRatioCuts(const ESRecHitRatioCuts* ratioCuts) { ratioCuts_ = ratioCuts; }
00027   void setAngleCorrectionFactors(const ESAngleCorrectionFactors* ang) { ang_ = ang; }
00028   double* EvalAmplitude(const ESDataFrame& digi, double ped) const;
00029   EcalRecHit reconstruct(const ESDataFrame& digi) const;
00030 
00031  private:
00032 
00033   TF1 *fit_;
00034   double gain_;
00035   const ESPedestals *peds_;
00036   const ESIntercalibConstants *mips_;
00037   const ESChannelStatus *channelStatus_;
00038   const ESRecHitRatioCuts *ratioCuts_;
00039   const ESAngleCorrectionFactors *ang_;
00040   double MIPGeV_;
00041 
00042 };
00043 
00044 #endif