CMS 3D CMS Logo

ClusterizingHistogram.h
Go to the documentation of this file.
1 #ifndef _CLUSTERIZINGHISTOGRAM_TT_H_
2 #define _CLUSTERIZINGHISTOGRAM_TT_H_
3 
4 #include <vector>
5 #include <cmath>
6 
14 public:
15  ClusterizingHistogram(int nb, float xmi, float xma);
17 
18  void fill(float x);
19  int nbins() const { return my_nbins; }
20  float min_x() const { return xmin; }
21  float max_x() const { return xmax; }
22  int entries() const { return my_entries; }
23  int underflows() const { return my_underflows; }
24  int overflows() const { return my_overflows; }
25  float bin_pos(int i) const { return (bin_entries[i] != 0) ? bin_means[i] / bin_entries[i] : 0; }
26  void dump() const;
27  void dump(int i1, int i2) const;
28  void dump(float x1, float x2) const;
29  void dump(double x1, double x2) const;
30  void dump(float x1, double x2) const;
31  void dump(double x1, float x2) const;
32  void reset();
33  int bin(float x) const;
34  int bin(double x) const;
35 
36  std::vector<float> clusterize(float resolution);
37 
38 private:
39  ClusterizingHistogram() {} // Prohibit
40  int my_nbins;
41  float xmin;
42  float xmax;
47  float *bin_means;
48  float binsiz;
49 };
50 
51 #endif
float bin_pos(int i) const
std::vector< float > clusterize(float resolution)