File indexing completed on 2025-12-16 10:29:44
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #ifndef ROOSTATS_HybridResult
0017 #define ROOSTATS_HybridResult
0018
0019 #include "RooStats/HypoTestResult.h"
0020
0021 #include <vector>
0022
0023 namespace RooStats {
0024
0025 class HybridPlot;
0026
0027 class HybridResult : public HypoTestResult {
0028
0029 public:
0030
0031
0032 explicit HybridResult(const char *name = nullptr);
0033
0034
0035 HybridResult(const char *name,
0036 const std::vector<double>& testStat_sb_vals,
0037 const std::vector<double>& testStat_b_vals,
0038 bool sumLargerValues=true);
0039
0040
0041
0042 ~HybridResult() override;
0043
0044 void SetDataTestStatistics(double testStat_data_val);
0045
0046 void Add(HybridResult* other);
0047
0048 HybridPlot* GetPlot(const char* name,const char* title, int n_bins);
0049
0050 void PrintMore(const char* options);
0051
0052
0053 std::vector<double> GetTestStat_sb(){return fTestStat_sb;}
0054
0055
0056 std::vector<double> GetTestStat_b(){return fTestStat_b;}
0057
0058
0059 double GetTestStat_data(){ return fTestStat_data;}
0060
0061
0062 double NullPValue() const override;
0063
0064
0065 double AlternatePValue() const override;
0066
0067
0068 double CLbError() const;
0069
0070
0071 double CLsplusbError() const;
0072
0073
0074 double CLsError() const;
0075
0076 private:
0077
0078 std::vector<double> fTestStat_b;
0079 std::vector<double> fTestStat_sb;
0080 double fTestStat_data;
0081
0082 mutable bool fComputationsNulDoneFlag;
0083 mutable bool fComputationsAltDoneFlag;
0084 bool fSumLargerValues;
0085
0086 protected:
0087
0088 ClassDefOverride(HybridResult,1)
0089 };
0090 }
0091
0092 #endif