54 fTestStat_data(-999.),
55 fComputationsNulDoneFlag(false),
56 fComputationsAltDoneFlag(false),
57 fSumLargerValues(false)
66 const std::vector<double>& testStat_sb_vals,
67 const std::vector<double>& testStat_b_vals,
68 bool sumLargerValues ) :
70 fTestStat_data(-999.),
71 fComputationsNulDoneFlag(false),
72 fComputationsAltDoneFlag(false),
73 fSumLargerValues(sumLargerValues)
77 int vector_size_sb = testStat_sb_vals.size();
78 assert(vector_size_sb>0);
80 int vector_size_b = testStat_b_vals.size();
81 assert(vector_size_b>0);
84 for (
int i=0;i<vector_size_sb;++i)
88 for (
int i=0;i<vector_size_b;++i)
122 std::cout <<
"Error: no toy data present. Returning -1.\n";
126 double larger_than_measured=0;
128 for (
int iToy=0;iToy<nToys;++iToy)
131 for (
int iToy=0;iToy<nToys;++iToy)
135 if (larger_than_measured==0) std::cout <<
"Warning: CLb = 0 ... maybe more toys are needed!\n";
152 std::cout <<
"Error: no toy data present. Returning -1.\n";
156 double larger_than_measured=0;
158 for (
int iToy=0;iToy<nToys;++iToy)
161 for (
int iToy=0;iToy<nToys;++iToy)
165 if (larger_than_measured==0) std::cout <<
"Warning: CLsb = 0 ... maybe more toys are needed!\n";
184 return std::sqrt(
CLb() * (1. -
CLb()) /
n);
215 double cl_b_err = (1. -
CLb()) / (n_b *
CLb());
218 return CLs() * std::sqrt(cl_b_err + cl_sb_err);
230 for (
int i=0;i<other_size_sb;++i)
234 for (
int i=0;i<other_size_b;++i)
257 plot_name +=
"_plot";
258 }
else plot_name =
name;
264 plot_title +=
"_plot (";
266 plot_title +=
" toys)";
267 }
else plot_title = title;
284 std::cout <<
"\nResults " <<
GetName() <<
":\n"
285 <<
" - Number of S+B toys: " <<
fTestStat_b.size() << std::endl
286 <<
" - Number of B toys: " <<
fTestStat_sb.size() << std::endl
287 <<
" - test statistics evaluated on data: " <<
fTestStat_data << std::endl
288 <<
" - CL_b " <<
CLb() << std::endl
289 <<
" - CL_s+b " <<
CLsplusb() << std::endl
290 <<
" - CL_s " <<
CLs() << std::endl;
winID h TVirtualViewer3D TVirtualGLPainter char TVirtualGLPainter plot
This class provides the plots for the result of a study performed with the HybridCalculatorOriginal c...
Class encapsulating the result of the HybridCalculatorOriginal.
std::vector< double > GetTestStat_sb()
Get test statistics values for the sb model.
std::vector< double > fTestStat_b
~HybridResult() override
Destructor of HybridResult.
double AlternatePValue() const override
Returns : the S+B p-value.
double GetTestStat_data()
Get test statistics value for data.
std::vector< double > GetTestStat_b()
Get test statistics values for the b model.
void PrintMore(const char *options)
Print out some information about the results.
HybridPlot * GetPlot(const char *name, const char *title, int n_bins)
prepare a plot showing a result and return a pointer to a HybridPlot object the needed arguments are:...
void Add(HybridResult *other)
add additional toy-MC experiments to the current results use the data test statistics of the added ob...
std::vector< double > fTestStat_sb
bool fComputationsAltDoneFlag
double CLsplusbError() const
The error on the "confidence level" of the alternative hypothesis.
double CLbError() const
The error on the "confidence level" of the null hypothesis.
void SetDataTestStatistics(double testStat_data_val)
set the value of the test statistics on data
HybridResult(const char *name=nullptr)
Default constructor.
double CLsError() const
The error on the ratio .
bool fComputationsNulDoneFlag
double NullPValue() const override
Returns : the B p-value.
HypoTestResult is a base class for results from hypothesis tests.
double fNullPValue
p-value for the null hypothesis (small number means disfavoured)
virtual double CLsplusb() const
Convert AlternatePValue into a "confidence level".
virtual double CLs() const
is simply (not a method, but a quantity)
double fAlternatePValue
p-value for the alternate hypothesis (small number means disfavoured)
virtual double CLb() const
Convert NullPValue into a "confidence level".
const char * GetName() const override
Returns name of object.
const char * GetTitle() const override
Returns title of object.
const char * Data() const
Namespace for the RooStats classes.