Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:08:30

0001 #ifndef DQM_SiStripCommissioningAnalysis_Utility_H
0002 #define DQM_SiStripCommissioningAnalysis_Utility_H
0003 
0004 #include "DataFormats/SiStripCommon/interface/SiStripConstants.h"
0005 #include <vector>
0006 #include <cmath>
0007 #include <cstdint>
0008 
0009 namespace sistrip {
0010 
0011   class LinearFit {
0012   public:
0013     LinearFit();
0014 
0015     ~LinearFit() { ; }
0016 
0017     class Params {
0018     public:
0019       uint16_t n_;
0020       float a_;
0021       float b_;
0022       float erra_;
0023       float errb_;
0024       Params()
0025           : n_(sistrip::invalid_),
0026             a_(sistrip::invalid_),
0027             b_(sistrip::invalid_),
0028             erra_(sistrip::invalid_),
0029             errb_(sistrip::invalid_) {
0030         ;
0031       }
0032       ~Params() { ; }
0033     };
0034 
0035     void add(const float& value_x, const float& value_y);
0036 
0037     void add(const float& value_x, const float& value_y, const float& error_y);
0038 
0039     void fit(Params& fit_params);
0040 
0041   private:
0042     std::vector<float> x_;
0043     std::vector<float> y_;
0044     std::vector<float> e_;
0045     float ss_;
0046     float sx_;
0047     float sy_;
0048   };
0049 
0050   class MeanAndStdDev {
0051   public:
0052     MeanAndStdDev();
0053 
0054     ~MeanAndStdDev() { ; }
0055 
0056     class Params {
0057     public:
0058       float mean_;
0059       float rms_;
0060       float median_;
0061       Params() : mean_(sistrip::invalid_), rms_(sistrip::invalid_), median_(sistrip::invalid_) { ; }
0062       ~Params() { ; }
0063     };
0064 
0065     void add(const float& value, const float& error);
0066 
0067     void fit(Params& fit_params);
0068 
0069   private:
0070     float s_;
0071     float x_;
0072     float xx_;
0073     std::vector<float> vec_;
0074   };
0075 
0076 }  // namespace sistrip
0077 
0078 #endif  // DQM_SiStripCommissioningAnalysis_Utility_H