CMS 3D CMS Logo

PedsFullNoiseAnalysis.h
Go to the documentation of this file.
1 #ifndef CondFormats_SiStripObjects_PedsFullNoiseAnalysis_H
2 #define CondFormats_SiStripObjects_PedsFullNoiseAnalysis_H
3 
6 #include <boost/cstdint.hpp>
7 #include <sstream>
8 #include <vector>
9 
16 
17  public:
18 
19  // ---------- con(de)structors ----------
20 
21  PedsFullNoiseAnalysis( const uint32_t& key );
22 
24 
25  virtual ~PedsFullNoiseAnalysis() {;}
26 
27  friend class PedestalsAlgorithm;
28  friend class PedsFullNoiseAlgorithm;
29 
30  // ---------- public interface ----------
31 
33  bool isValid() const;
34 
35  // Pedestal, noise and raw noise (128-strip vector per APV)
36  inline const VVFloat& peds() const;
37  inline const VVFloat& noise() const;
38  inline const VVFloat& raw() const;
39  // KS Probability for each strip
40  inline const VVFloat& ksProb() const;
41  // KS Probability for each strip
42  inline const VVFloat& chi2Prob() const;
43  // Noise value calculated by a gaussian fit instead of RMS.
44  inline const VVFloat& noiseGaus() const;
45  // Noise value calculated by a gaussian fit instead of RMS.
46  inline const VVFloat& noiseBin84() const;
47  // Noise value calculated by RMS of ADC values.
48  inline const VVFloat& noiseRMS() const;
49  // The significance of noise of each strip compared to the apv
50  inline const VVFloat& noiseSignif() const;
51 
52  // Dead and noisy strips (vector per APV)
53  inline const VVInt& dead() const;
54  inline const VVInt& noisy() const;
55 
56  // Mean and rms spread (value per APV)
57  inline const VFloat& pedsMean() const;
58  inline const VFloat& pedsSpread() const;
59  inline const VFloat& noiseMean() const;
60  inline const VFloat& noiseSpread() const;
61  inline const VFloat& rawMean() const;
62  inline const VFloat& rawSpread() const;
63 
64  // Max and min values (value per APV)
65  inline const VFloat& pedsMax() const;
66  inline const VFloat& pedsMin() const;
67  inline const VFloat& noiseMax() const;
68  inline const VFloat& noiseMin() const;
69  inline const VFloat& rawMax() const;
70  inline const VFloat& rawMin() const;
71 
72  // ---------- misc ----------
73 
75  void print( std::stringstream&, uint32_t apv_number = 0 );
76 
78  void summary( std::stringstream& ) const;
79 
81  void reset();
82 
83  // ---------- private member data ----------
84 
85  private:
86 
87  // VVFloats means: 1 vector per APV, 1 value per strip.
88 
91 
94 
97 
98 
105  // VVInts means: 1 vector per APV, values are strip numbers.
106 
109 
112 
113  // VFloat: 1 value per APV
114 
117 
120 
123 
126 
129 
132 
135 
138 
141 
144 
147 
150 
151  // true if legacy histogram naming is used
152  bool legacy_;
153 };
154 
155 // ---------- Inline methods ----------
156 
166 
169 
176 
183 #endif // CondFormats_SiStripObjects_PedsFullNoiseAnalysis_H
const VFloat & rawMean() const
const VVFloat & noiseRMS() const
const VVFloat & noiseSignif() const
const VVFloat & peds() const
const VFloat & noiseMax() const
const VVFloat & noiseGaus() const
Histogram-based analysis for pedestal run.
const VVFloat & chi2Prob() const
Histogram-based analysis for pedestal run.
const VVInt & noisy() const
const VFloat & noiseMin() const
std::vector< float > VFloat
const VFloat & pedsSpread() const
const VFloat & pedsMax() const
const VFloat & pedsMean() const
const VFloat & pedsMin() const
const VVFloat & noiseBin84() const
const VFloat & rawMin() const
const VFloat & rawSpread() const
const VFloat & rawMax() const
const VVFloat & raw() const
const VVFloat & noise() const
void summary(std::stringstream &) const
std::vector< VInt > VVInt
void print(std::stringstream &, uint32_t apv_number=0)
std::vector< VFloat > VVFloat
Abstract base for derived classes that provide analysis of commissioning histograms.
Histogram-based analysis for pedestal run.
const VFloat & noiseSpread() const
const VVInt & dead() const
const VFloat & noiseMean() const
const VVFloat & ksProb() const