CMS 3D CMS Logo

CMSSW_4_4_3_patch1/src/CalibCalorimetry/EcalLaserAnalyzer/interface/TMom.h

Go to the documentation of this file.
00001 #ifndef TMom_H
00002 #define TMom_H
00003 
00004 #include "TObject.h"
00005 #include<vector>
00006 
00007 class TMom: public TObject 
00008 {
00009 
00010  private:
00011 
00012   int nevt;
00013   double mean;
00014   double mean2;
00015   double mean3;
00016   double sum;
00017   double sum2;
00018   double sum3;
00019   double rms;
00020   double M3;
00021   double peak;
00022   double min;
00023   double max;
00024   int bing[101];
00025   std::vector<double> _cutLow;
00026   std::vector<double> _cutHigh;
00027   std::vector<double> _ampl;
00028 
00029   void init(double,double);
00030   void init(std::vector<double>,std::vector<double>);
00031 
00032  public:
00033 
00034 
00035   int _dimCut;
00036 
00037 
00038   // Default Constructor, mainly for Root
00039   TMom();
00040 
00041   // Default Constructor
00042   TMom(double, double);
00043 
00044   // Default Constructor
00045   TMom(std::vector<double>,std::vector<double>);
00046 
00047   // Destructor: Does nothing
00048   virtual ~TMom();
00049 
00050   void setCut(double, double);
00051   void setCut(std::vector<double>,std::vector<double>);
00052   void addEntry(double val);
00053   void addEntry(double val, std::vector<double> valcut);
00054   double getMean();
00055   double getMean2();
00056   double getMean3();
00057   int    getNevt();
00058   double getRMS();
00059   double getM3();
00060   double getMin();
00061   double getMax();
00062   std::vector<double> getPeak();
00063 
00064   //  ClassDef(TMom,1)
00065 };
00066 
00067 #endif