73using namespace RooFit;
74using namespace RooStats;
76class BinCountTestStat : public TestStatistic {
78 BinCountTestStat(void) : fColumnName("tmp") {}
79 BinCountTestStat(string columnName) : fColumnName(columnName) {}
81 virtual Double_t Evaluate(RooAbsData &data, RooArgSet & /*nullPOI*/)
83 // This is the main method in the interface
85 for (int i = 0; i < data.numEntries(); i++) {
86 value += data.get(i)->getRealValue(fColumnName.c_str());
90 virtual const TString GetVarName() const { return fColumnName; }
96 ClassDef(BinCountTestStat, 1)
132w.factory(
"Poisson::px(x[150,0,500],sum::splusb(s[0,0,100],b[100,0.1,300]))")
133w.factory(
"Poisson::py(y[100,0.1,500],prod::taub(tau[1.],b))")
153w.factory(
"PROJ::averagedModel(PROD::foo(px|b,py,prior_b),b)")
158frame =
w.var(
"x").frame(Range=(50, 230))
159w.pdf(
"averagedModel").plotOn(frame, LineColor=
"r")
160w.pdf(
"px").plotOn(frame, LineColor=
"g")
161w.var(
"s").setVal(50.0)
162w.pdf(
"averagedModel").plotOn(frame, LineColor=
"b")
165w.var(
"s").setVal(0.0)
172w.var(
"y").setVal(100)
173w.var(
"x").setVal(150)
174cdf =
w.pdf(
"averagedModel").createCdf(
w.var(
"x"))
177print(
"-----------------------------------------")
179print(f
"Hybrid p-value from direct integration = {1 - cdf.getVal()}")
180print(f
"Z_Gamma Significance = {ROOT.RooStats.PValueToSignificance(1 - cdf.getVal())}")
193print(
"-----------------------------------------")
195print(f
"Z_Bi p-value (analytic): {p_Bi}")
196print(f
"Z_Bi significance (analytic): {Z_Bi}")
234w.var(
"s").setVal(0.0)
243w.var(
"s").setVal(50.0)
277w.factory(
"Gaussian::gauss_prior(b,y, expr::sqrty('sqrt(y)',y))")
281w.factory(
"Lognormal::lognorm_prior(b,y, expr::kappa('1+1./sqrt(y)',y))")
326print(
"-----------------------------------------")
375print(
"-----------------------------------------")
405w.var(
"x").setVal(150.0)
406w.var(
"y").setVal(100.0)
416w.var(
"s").setVal(0.0)
426w.var(
"s").setVal(50.0)
461w.factory(
"Gamma::gamma_y0(b,sum::temp0(y0,1),1,0)")
462w.factory(
"Gaussian::gauss_prior_y0(b,y0, expr::sqrty0('sqrt(y0)',y0))")
488print(
"-----------------------------------------")
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.