CMS 3D CMS Logo

NoiseAnalysis.h
Go to the documentation of this file.
1 #ifndef CondFormats_SiStripObjects_NoiseAnalysis_H
2 #define CondFormats_SiStripObjects_NoiseAnalysis_H
3 
6 #include <boost/cstdint.hpp>
7 #include <sstream>
8 #include <vector>
9 
16 
17  public:
18 
19  // ---------- con(de)structors ----------
20 
21  NoiseAnalysis( const uint32_t& key );
22 
23  NoiseAnalysis();
24 
25  ~NoiseAnalysis() override {;}
26 
27  friend class NoiseAlgorithm;
28 
29  // ---------- public interface ----------
30 
32  bool isValid() const override;
33 
34  // Pedestal, noise and raw noise (128-strip vector per APV)
35  inline const VVFloat& peds() const;
36  inline const VVFloat& noise() const;
37  inline const VVFloat& raw() const;
38 
39  // Dead and noisy strips (vector per APV)
40  inline const VVInt& dead() const;
41  inline const VVInt& noisy() const;
42 
43  // Mean and rms spread (value per APV)
44  inline const VFloat& pedsMean() const;
45  inline const VFloat& pedsSpread() const;
46  inline const VFloat& noiseMean() const;
47  inline const VFloat& noiseSpread() const;
48  inline const VFloat& rawMean() const;
49  inline const VFloat& rawSpread() const;
50 
51  // Max and min values (value per APV)
52  inline const VFloat& pedsMax() const;
53  inline const VFloat& pedsMin() const;
54  inline const VFloat& noiseMax() const;
55  inline const VFloat& noiseMin() const;
56  inline const VFloat& rawMax() const;
57  inline const VFloat& rawMin() const;
58 
59  // ---------- misc ----------
60 
62  void print( std::stringstream&, uint32_t apv_number = 0 ) override;
63 
65  void summary( std::stringstream& ) const override;
66 
68  void reset() override;
69 
70  // ---------- private member data ----------
71 
72  private:
73 
74  // VVFloats means: 1 vector per APV, 1 value per strip.
75 
78 
81 
84 
85  // VVInts means: 1 vector per APV, values are strip numbers.
86 
89 
92 
93  // VFloat: 1 value per APV
94 
97 
100 
103 
106 
109 
112 
115 
118 
121 
124 
127 
130 
131  // true if legacy histogram naming is used
132  bool legacy_;
133 
134 };
135 
136 // ---------- Inline methods ----------
137 
141 
142 const NoiseAnalysis::VVInt& NoiseAnalysis::dead() const { return dead_; }
144 
151 
158 
159 #endif // CondFormats_SiStripObjects_NoiseAnalysis_H
const VVInt & dead() const
const VFloat & noiseMean() const
const VFloat & noiseSpread() const
Histogram-based analysis for pedestal run.
void reset() override
const VFloat & pedsMax() const
void summary(std::stringstream &) const override
bool isValid() const override
~NoiseAnalysis() override
Definition: NoiseAnalysis.h:25
VFloat pedsMean_
Definition: NoiseAnalysis.h:96
const VFloat & rawMin() const
const VFloat & rawMax() const
const VFloat & pedsMean() const
void print(std::stringstream &, uint32_t apv_number=0) override
std::vector< float > VFloat
const VVFloat & noise() const
const VVInt & noisy() const
VVFloat noise_
Definition: NoiseAnalysis.h:80
const VVFloat & raw() const
const VFloat & pedsSpread() const
const VFloat & noiseMin() const
const VFloat & noiseMax() const
const VFloat & rawSpread() const
const VFloat & rawMean() const
VFloat noiseSpread_
std::vector< VInt > VVInt
const VVFloat & peds() const
VFloat pedsSpread_
Definition: NoiseAnalysis.h:99
Histogram-based analysis for pedestal run.
Definition: NoiseAnalysis.h:15
std::vector< VFloat > VVFloat
Abstract base for derived classes that provide analysis of commissioning histograms.
const VFloat & pedsMin() const