File indexing completed on 2024-04-06 12:08:28
0001 #ifndef DQM_SiStripCommissioningAnalysis_SamplingAlgorithm_H
0002 #define DQM_SiStripCommissioningAnalysis_SamplingAlgorithm_H
0003
0004 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0005 #include "DQM/SiStripCommissioningAnalysis/interface/CommissioningAlgorithm.h"
0006 #include <vector>
0007
0008 class SamplingAnalysis;
0009 class TProfile;
0010 class TF1;
0011
0012
0013
0014
0015
0016
0017
0018 class SamplingAlgorithm : public CommissioningAlgorithm {
0019 public:
0020 SamplingAlgorithm(const edm::ParameterSet& pset, SamplingAnalysis* const, uint32_t latencyCode = 0);
0021
0022 ~SamplingAlgorithm() override { ; }
0023
0024 inline const Histo& histo() const;
0025
0026 private:
0027 SamplingAlgorithm() { ; }
0028
0029 void extract(const std::vector<TH1*>&) override;
0030
0031 void analyse() override;
0032
0033 void pruneProfile(TProfile* profile) const;
0034
0035 void correctBinning(TProfile* prof) const;
0036
0037 void correctProfile(TProfile* profile, float SoNcut = 3.) const;
0038
0039 private:
0040
0041 Histo histo_;
0042
0043
0044 TF1* deconv_fitter_;
0045 TF1* peak_fitterA_;
0046 TF1* peak_fitterB_;
0047
0048
0049 uint32_t latencyCode_;
0050
0051
0052 SamplingAnalysis* samp_;
0053 };
0054
0055 #endif