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