File indexing completed on 2024-04-06 12:29:21
0001 #ifndef CaloSimAlgos_CaloValidationStatistics_h
0002 #define CaloSimAlgos_CaloValidationStatistics_h
0003
0004
0005
0006
0007
0008
0009 #include <iosfwd>
0010 #include <string>
0011
0012 class CaloValidationStatistics {
0013 public:
0014 CaloValidationStatistics(std::string name, float expectedMean, float expectedRMS);
0015
0016 ~CaloValidationStatistics();
0017
0018 void addEntry(float value, float weight = 1.);
0019
0020 std::string name() const { return name_; }
0021
0022 float mean() const;
0023
0024 float RMS() const;
0025
0026 float weightedMean() const;
0027
0028 float expectedMean() const { return expectedMean_; }
0029
0030 float expectedRMS() const { return expectedRMS_; }
0031
0032 int nEntries() const { return n_; }
0033
0034 private:
0035 std::string name_;
0036 float expectedMean_;
0037 float expectedRMS_;
0038 float sum_;
0039 float sumOfSquares_;
0040 float weightedSum_;
0041 float sumOfWeights_;
0042 int n_;
0043 };
0044
0045 std::ostream &operator<<(std::ostream &os, const CaloValidationStatistics &stat);
0046
0047 #endif