Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:02:39

0001 #ifndef CondFormats_SiStripObjects_SamplingAnalysis_H
0002 #define CondFormats_SiStripObjects_SamplingAnalysis_H
0003 
0004 #include "CondFormats/SiStripObjects/interface/CommissioningAnalysis.h"
0005 #include "DataFormats/SiStripCommon/interface/SiStripConstants.h"
0006 #include "DataFormats/SiStripCommon/interface/SiStripEnumsAndStrings.h"
0007 #include <sstream>
0008 #include <vector>
0009 #include <cstdint>
0010 
0011 /**
0012    @class SamplingAnalysis
0013    @author C. Delaere
0014    @brief Analysis for latency run
0015 */
0016 
0017 class SamplingAnalysis : public CommissioningAnalysis {
0018 public:
0019   SamplingAnalysis(const uint32_t& key);
0020 
0021   SamplingAnalysis();
0022 
0023   ~SamplingAnalysis() override { ; }
0024 
0025   friend class SamplingAlgorithm;
0026 
0027   inline const float& maximum() const { return max_; }
0028 
0029   inline const float& error() const { return error_; }
0030 
0031   inline void setSoNcut(const float sOnCut) { sOnCut_ = sOnCut; }
0032 
0033   float getSoNcut() const { return sOnCut_; }
0034 
0035   void print(std::stringstream&, uint32_t not_used = 0) override;
0036 
0037   void reset() override;
0038 
0039   float limit(float SoNcut) const;
0040 
0041   float correctMeasurement(float mean, float SoNcut = 3.) const;
0042 
0043   sistrip::Granularity granularity() const { return granularity_; }
0044 
0045 private:
0046   /** s/n cut to be used */
0047   float sOnCut_;
0048 
0049   /** Delay corresponding to the maximum of the pulse shape */
0050   float max_;
0051 
0052   /** Error on the position ( from the fit) */
0053   float error_;
0054 
0055   /** reconstruction mode */
0056   sistrip::RunType runType_;
0057 
0058   /** granularity */
0059   sistrip::Granularity granularity_;
0060 };
0061 
0062 #endif  // CondFormats_SiStripObjects_SamplingAnalysis_H