00001 #ifndef DQM_SiStripCommissioningAnalysis_SamplingAlgorithm_H 00002 #define DQM_SiStripCommissioningAnalysis_SamplingAlgorithm_H 00003 00004 #include "DQM/SiStripCommissioningAnalysis/interface/CommissioningAlgorithm.h" 00005 #include <vector> 00006 00007 class SamplingAnalysis; 00008 class TProfile; 00009 class TF1; 00010 00017 class SamplingAlgorithm : public CommissioningAlgorithm { 00018 00019 public: 00020 00021 SamplingAlgorithm( SamplingAnalysis* const ); 00022 00023 virtual ~SamplingAlgorithm() {;} 00024 00025 inline const Histo& histo() const; 00026 00027 private: 00028 00029 SamplingAlgorithm() {;} 00030 00031 virtual void extract( const std::vector<TH1*>& ); 00032 00033 void analyse(); 00034 00035 void pruneProfile( TProfile* profile ) const; 00036 00037 void correctBinning( TProfile* prof ) const; 00038 00039 void correctProfile( TProfile* profile, float SoNcut=3. ) const; 00040 00041 private: 00042 00044 Histo histo_; 00045 00047 TF1* deconv_fitter_; 00048 00049 TF1* peak_fitter_; 00050 00051 SamplingAnalysis* samp_; 00052 00053 }; 00054 00055 #endif // DQM_SiStripCommissioningAnalysis_SamplingAlgorithm_H 00056