00001 00002 00012 00013 00014 #ifndef APWeightEntry_h 00015 #define APWeightEntry_h 00016 00017 #include "Rtypes.h" 00018 00019 class TH1F; 00020 00021 class APWeightEntry { 00022 00023 public: 00024 APWeightEntry(); 00025 APWeightEntry(unsigned int val_denominator, unsigned int val_numerator, double scale, bool isTrig = false); 00026 virtual ~APWeightEntry(); 00028 void ReadEfficiency(double efficiency, double err_low, double err_high); 00029 void SetCoordinates(std::vector<int> coords, std::vector<int> n_dim_origin); 00030 00031 unsigned int GetValDenominator() const; 00032 unsigned int GetValNumerator() const; 00033 double GetExpectancy() const; 00034 double GetVariance() const; 00035 double GetStatUncertLow() const; 00036 double GetStatUncertHigh() const; 00037 double GetSysUncert() const; 00038 double GetSysUncert2() const; 00039 double GetRandom(); 00040 TH1F* GetPDF(); 00041 unsigned int GetID() const; 00043 std::vector< int > GetCoords() const; 00044 std::vector< int > GetOriginalDimensions() const; 00046 bool IsNaN() const; 00047 bool IsTrig() const; 00049 void SetSystUncert(double rel_uncert); 00050 void SetID(unsigned int id); 00052 private: 00053 APWeightEntry (const APWeightEntry&); 00054 APWeightEntry& operator= (const APWeightEntry&); 00055 00056 void _CreateHist(); 00057 void _ComputeCum(); 00059 unsigned int _val_denominator; 00060 unsigned int _val_numerator; 00061 double _expectancy_val; 00062 double _variance; 00063 double _stat_uncert_low; 00064 double _stat_uncert_high; 00065 double _sys_uncert; 00066 double _sys_uncert2; 00068 bool _is_trig; 00069 bool _is_nan; 00070 unsigned int _ID; 00071 double _integral; 00072 double *_pdf, *_bins, *_cumul; 00073 TH1F *_hist; 00074 std::vector<int> _coords; 00075 std::vector< int > _n_dim_origin; 00076 }; 00077 00078 #endif