File indexing completed on 2023-10-25 09:59:57
0001 #ifndef RecoLocalCalo_EcalRecAlgos_ESRecHitFitAlgo_HH
0002 #define RecoLocalCalo_EcalRecAlgos_ESRecHitFitAlgo_HH
0003
0004 #include "DataFormats/EcalDigi/interface/ESDataFrame.h"
0005 #include "DataFormats/EcalRecHit/interface/EcalRecHit.h"
0006 #include "CondFormats/ESObjects/interface/ESPedestals.h"
0007 #include "CondFormats/ESObjects/interface/ESIntercalibConstants.h"
0008 #include "CondFormats/ESObjects/interface/ESChannelStatus.h"
0009 #include "CondFormats/ESObjects/interface/ESRecHitRatioCuts.h"
0010 #include "CondFormats/ESObjects/interface/ESAngleCorrectionFactors.h"
0011
0012 #include "TF1.h"
0013
0014 class ESRecHitFitAlgo {
0015 public:
0016 ESRecHitFitAlgo();
0017 ~ESRecHitFitAlgo();
0018
0019 void setESGain(const double& value) { gain_ = value; }
0020 void setMIPGeV(const double& value) { MIPGeV_ = value; }
0021 void setPedestals(const ESPedestals* peds) { peds_ = peds; }
0022 void setIntercalibConstants(const ESIntercalibConstants* mips) { mips_ = mips; }
0023 void setChannelStatus(const ESChannelStatus* status) { channelStatus_ = status; }
0024 void setRatioCuts(const ESRecHitRatioCuts* ratioCuts) { ratioCuts_ = ratioCuts; }
0025 void setAngleCorrectionFactors(const ESAngleCorrectionFactors* ang) { ang_ = ang; }
0026 double* EvalAmplitude(const ESDataFrame& digi, double ped) const;
0027 EcalRecHit reconstruct(const ESDataFrame& digi) const;
0028
0029 private:
0030 TF1* fit_;
0031 double gain_;
0032 const ESPedestals* peds_;
0033 const ESIntercalibConstants* mips_;
0034 const ESChannelStatus* channelStatus_;
0035 const ESRecHitRatioCuts* ratioCuts_;
0036 const ESAngleCorrectionFactors* ang_;
0037 double MIPGeV_;
0038 };
0039
0040 #endif