CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch9/src/DQM/SiStripCommissioningAnalysis/interface/SamplingAlgorithm.h

Go to the documentation of this file.
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