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 <sstream>
7 #include <vector>
8 #include <cstdint>
9 
16 public:
17  // ---------- con(de)structors ----------
18 
19  NoiseAnalysis(const uint32_t& key);
20 
21  NoiseAnalysis();
22 
23  ~NoiseAnalysis() override { ; }
24 
25  friend class NoiseAlgorithm;
26 
27  // ---------- public interface ----------
28 
30  bool isValid() const override;
31 
32  // Pedestal, noise and raw noise (128-strip vector per APV)
33  inline const VVFloat& peds() const;
34  inline const VVFloat& noise() const;
35  inline const VVFloat& raw() const;
36 
37  // Dead and noisy strips (vector per APV)
38  inline const VVInt& dead() const;
39  inline const VVInt& noisy() const;
40 
41  // Mean and rms spread (value per APV)
42  inline const VFloat& pedsMean() const;
43  inline const VFloat& pedsSpread() const;
44  inline const VFloat& noiseMean() const;
45  inline const VFloat& noiseSpread() const;
46  inline const VFloat& rawMean() const;
47  inline const VFloat& rawSpread() const;
48 
49  // Max and min values (value per APV)
50  inline const VFloat& pedsMax() const;
51  inline const VFloat& pedsMin() const;
52  inline const VFloat& noiseMax() const;
53  inline const VFloat& noiseMin() const;
54  inline const VFloat& rawMax() const;
55  inline const VFloat& rawMin() const;
56 
57  // ---------- misc ----------
58 
60  void print(std::stringstream&, uint32_t apv_number = 0) override;
61 
63  void summary(std::stringstream&) const override;
64 
66  void reset() override;
67 
68  // ---------- private member data ----------
69 
70 private:
71  // VVFloats means: 1 vector per APV, 1 value per strip.
72 
75 
78 
81 
82  // VVInts means: 1 vector per APV, values are strip numbers.
83 
86 
89 
90  // VFloat: 1 value per APV
91 
94 
97 
100 
103 
106 
109 
112 
115 
118 
121 
124 
127 
128  // true if legacy histogram naming is used
129  bool legacy_;
130 };
131 
132 // ---------- Inline methods ----------
133 
137 
140 
147 
154 
155 #endif // CondFormats_SiStripObjects_NoiseAnalysis_H
const VFloat & pedsMax() const
Histogram-based analysis for pedestal run.
void reset() override
const VFloat & rawMax() const
const VFloat & rawMean() const
const VVFloat & raw() const
~NoiseAnalysis() override
Definition: NoiseAnalysis.h:23
const VVFloat & peds() const
VFloat pedsMean_
Definition: NoiseAnalysis.h:93
const VFloat & noiseSpread() const
const VFloat & pedsMin() const
void print(std::stringstream &, uint32_t apv_number=0) override
VFloat noiseMean_
Definition: NoiseAnalysis.h:99
const VVInt & noisy() const
std::vector< float > VFloat
key
prepare the HTCondor submission files and eventually submit them
const VFloat & pedsSpread() const
VVFloat noise_
Definition: NoiseAnalysis.h:77
const VVInt & dead() const
const VFloat & rawMin() const
VFloat noiseSpread_
const VFloat & rawSpread() const
std::vector< VInt > VVInt
const VVFloat & noise() const
const VFloat & noiseMax() const
VFloat pedsSpread_
Definition: NoiseAnalysis.h:96
Histogram-based analysis for pedestal run.
Definition: NoiseAnalysis.h:15
const VFloat & noiseMin() const
std::vector< VFloat > VVFloat
Abstract base for derived classes that provide analysis of commissioning histograms.
const VFloat & noiseMean() const
bool isValid() const override
const VFloat & pedsMean() const
void summary(std::stringstream &) const override