Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 11:57:47

0001 #ifndef TMom_H
0002 #define TMom_H
0003 
0004 #include "TObject.h"
0005 #include <vector>
0006 
0007 class TMom : public TObject {
0008 private:
0009   int nevt;
0010   double mean;
0011   double mean2;
0012   double mean3;
0013   double sum;
0014   double sum2;
0015   double sum3;
0016   double rms;
0017   double M3;
0018   double peak;
0019   double min;
0020   double max;
0021   int bing[101];
0022   std::vector<double> _cutLow;
0023   std::vector<double> _cutHigh;
0024   std::vector<double> _ampl;
0025 
0026   void init(double, double);
0027   void init(const std::vector<double>&, const std::vector<double>&);
0028 
0029 public:
0030   int _dimCut;
0031 
0032   // Default Constructor, mainly for Root
0033   TMom();
0034 
0035   // Default Constructor
0036   TMom(double, double);
0037 
0038   // Default Constructor
0039   TMom(const std::vector<double>&, const std::vector<double>&);
0040 
0041   // Destructor: Does nothing
0042   ~TMom() override;
0043 
0044   void setCut(double, double);
0045   void setCut(const std::vector<double>&, const std::vector<double>&);
0046   void addEntry(double val);
0047   void addEntry(double val, const std::vector<double>& valcut);
0048   double getMean();
0049   double getMean2();
0050   double getMean3();
0051   int getNevt();
0052   double getRMS();
0053   double getM3();
0054   double getMin();
0055   double getMax();
0056   std::vector<double> getPeak();
0057 
0058   ClassDefOverride(TMom, 0)
0059 };
0060 
0061 #endif