117using std::cout, std::endl;
138 filename =
"results/example_combined_GaussExample_model.root";
143 cout <<
"will run standard hist2workspace example" << endl;
144 gROOT->ProcessLine(
".! prepareHistFactory .");
145 gROOT->ProcessLine(
".! hist2workspace config/example.xml");
146 cout <<
"\n\n---------------------" << endl;
147 cout <<
"Done creating example input" << endl;
148 cout <<
"---------------------\n\n" << endl;
169 cout <<
"Found data and ModelConfig:" << endl;
191 fc.CreateConfBelt(
true);
211 if (!
mc->GetPdf()->canBeExtended()) {
212 if (
data->numEntries() == 1)
213 fc.FluctuateNumDataEntries(
false);
215 cout <<
"Not sure what to do about this model" << endl;
218 if (
mc->GetGlobalObservables()) {
219 cout <<
"will use global observables for unconditional ensemble" << endl;
220 mc->GetGlobalObservables()->Print();
269 std::unique_ptr<RooAbsReal>
nll{
mc->GetPdf()->createNLL(*
data)};
270 std::unique_ptr<RooAbsReal> profile{
nll->createProfile(*
mc->GetParametersOfInterest())};
274 if (
mc->GetNuisanceParameters())
279 cout <<
"\nWill use these parameter points to generate pseudo data for bkg only" << endl;
291 histOfUL->GetXaxis()->SetTitle(
"Upper Limit (background only)");
292 histOfUL->GetYaxis()->SetTitle(
"Entries");
297 w->loadSnapshot(
"paramsToGenerateData");
300 std::unique_ptr<RooDataSet>
toyData;
302 if (!
mc->GetPdf()->canBeExtended()) {
303 if (
data->numEntries() == 1)
304 toyData = std::unique_ptr<RooDataSet>{
mc->GetPdf()->generate(*
mc->GetObservables(), 1)};
306 cout <<
"Not sure what to do about this model" << endl;
309 toyData = std::unique_ptr<RooDataSet>{
mc->GetPdf()->generate(*
mc->GetObservables(), Extended())};
313 std::unique_ptr<RooDataSet>
one{
mc->GetPdf()->generateSimGlobal(*
mc->GetGlobalObservables(), 1)};
315 std::unique_ptr<RooArgSet> allVars{
mc->GetPdf()->getVariables()};
316 allVars->assign(*values);
353 c1->SaveAs(
"two-sided_upper_limit_output.pdf");
372 for (
int i = 1; i <=
cumulative->GetNbinsX(); ++i) {
385 cout <<
"-1 sigma band " <<
band1sigDown <<
" [Power Constraint)]" << endl;
386 cout <<
"median of band " <<
bandMedian << endl;
387 cout <<
"+1 sigma band " <<
band1sigUp << endl;
388 cout <<
"+2 sigma band " <<
band2sigUp << endl;
391 cout <<
"\nobserved 95% upper-limit " <<
interval->UpperLimit(*
firstPOI) << endl;
392 cout <<
"CLb strict [P(toy>obs|0)] for observed 95% upper-limit " << CLb << endl;
393 cout <<
"CLb inclusive [P(toy>=obs|0)] for observed 95% upper-limit " <<
CLbinclusive << endl;
int Int_t
Signed integer 4 bytes (int)
double Double_t
Double 8 bytes.
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void data
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char filename
R__EXTERN TSystem * gSystem
Abstract base class for binned and unbinned datasets.
RooArgSet is a container object that can hold multiple RooAbsArg objects.
Container class to hold unbinned data.
Variable that can be changed from the outside.
ConfidenceBelt is a concrete implementation of the ConfInterval interface.
The FeldmanCousins class (like the Feldman-Cousins technique) is essentially a specific configuration...
< A class that holds configuration information for a model using a workspace as a store
PointSetInterval is a concrete implementation of the ConfInterval interface.
ProfileLikelihoodTestStat is an implementation of the TestStatistic interface that calculates the pro...
ToyMCSampler is an implementation of the TestStatSampler interface.
Persistable container for RooFit projects.
A ROOT file is an on-disk file, usually with extension .root, that stores objects in a file-system-li...
static TFile * Open(const char *name, Option_t *option="", const char *ftitle="", Int_t compress=ROOT::RCompressionSetting::EDefaults::kUseCompiledDefault, Int_t netopt=0)
Create / open a file.
1-D histogram with a float per channel (see TH1 documentation)
virtual Bool_t AccessPathName(const char *path, EAccessMode mode=kFileExists)
Returns FALSE if one can access a file using the specified access mode.
double nll(double pdf, double weight, int binnedL, int doBinOffset)
The namespace RooFit contains mostly switches that change the behaviour of functions of PDFs (or othe...
Namespace for the RooStats classes.
double SignificanceToPValue(double Z)
returns p-value corresponding to a 1-sided significance