00001 #ifndef __BCGOFTEST__H 00002 #define __BCGOFTEST__H 00003 00021 // --------------------------------------------------------- 00022 00023 #include "BCModel.h" 00024 00025 // ROOT classes 00026 class TH1D; 00027 00028 // BAT classes 00029 class BCDataSet; 00030 00031 // --------------------------------------------------------- 00032 00033 class BCGoFTest : public BCModel 00034 { 00035 public: 00036 00043 BCGoFTest(const char * name); 00044 00047 ~BCGoFTest(); 00048 00057 double GetCalculatedPValue(bool flag_histogram = false); 00058 00061 TH1D * GetHistogramLogProb() 00062 { return fHistogramLogProb; }; 00063 00066 BCModel * GetTestModel() 00067 { return fTestModel; }; 00068 00076 void SetTestModel(BCModel * testmodel) 00077 { fTestModel = testmodel; }; 00078 00083 int SetTestPoint(std::vector<double> parameters); 00084 00089 double LogLikelihood(const std::vector<double> ¶meters); 00090 00091 double LogAPrioriProbability(const std::vector<double> & /*parameters*/) 00092 { return 0; }; 00093 00094 void MCMCUserIterationInterface(); 00095 00098 private: 00099 00102 std::vector<int> fMapDataPoint; 00103 std::vector<int> fMapDataValue; 00104 00107 int fPValueBelow; 00108 int fPValueAbove; 00109 00112 BCModel * fTestModel; 00113 00116 BCDataSet * fTemporaryDataSet; 00117 00120 double fLogLikelihood; 00121 double fLogLikelihoodMin; 00122 double fLogLikelihoodMax; 00123 00126 TH1D * fHistogramLogProb; 00127 }; 00128 00129 // --------------------------------------------------------- 00130 00131 #endif