17#ifdef XROOFIT_USE_PRAGMA_ONCE 
   20#if (!defined(XROOFIT_USE_PRAGMA_ONCE) && !defined(XROOFIT_XROOFIT_H)) || \ 
   21   (defined(XROOFIT_USE_PRAGMA_ONCE) && !defined(XROOFIT_XROOFIT_H_XROOFIT)) 
   22#ifndef XROOFIT_USE_PRAGMA_ONCE 
   23#define XROOFIT_XROOFIT_H 
   25#define XROOFIT_XROOFIT_H_XROOFIT 
   62   static const char *GetVersion();
 
   63   static const char *GetVersionDate();
 
   71   static constexpr double OBS = std::numeric_limits<double>::quiet_NaN();
 
   74   static std::pair<double, double> matchPrecision(
const std::pair<double, double> &in);
 
   83   static std::pair<std::shared_ptr<RooAbsData>, std::shared_ptr<const RooAbsCollection>>
 
   85   static std::shared_ptr<const RooFitResult>
 
   86   fitTo(
RooAbsPdf &pdf, 
const std::pair<std::shared_ptr<RooAbsData>, std::shared_ptr<const RooAbsCollection>> &
data,
 
   88   static std::shared_ptr<const RooFitResult> fitTo(
RooAbsPdf &pdf,
 
   89                                                    const std::pair<RooAbsData *, const RooAbsCollection *> &
data,
 
   92   static xRooNLLVar createNLL(
const std::shared_ptr<RooAbsPdf> pdf, 
const std::shared_ptr<RooAbsData> 
data,
 
  101   static std::shared_ptr<ROOT::Fit::FitConfig> createFitConfig(); 
 
  102   static std::shared_ptr<RooLinkedList> createNLLOptions();       
 
  103   static std::shared_ptr<RooLinkedList> defaultNLLOptions();      
 
  104   static std::shared_ptr<ROOT::Fit::FitConfig> defaultFitConfig();
 
  107   static std::shared_ptr<const RooFitResult> minimize(
RooAbsReal &nll,
 
  108                                                       const std::shared_ptr<ROOT::Fit::FitConfig> &fitConfig = 
nullptr,
 
  109                                                       const std::shared_ptr<RooLinkedList> &
nllOpts = 
nullptr);
 
  111                    const std::shared_ptr<ROOT::Fit::FitConfig> &
_fitConfig = 
nullptr);
 
  121      std::shared_ptr<RooFitResult> 
fr; 
 
 
  161         std::vector<std::pair<double, int>> out;
 
  162         if (
type == TwoSided) {
 
  164         } 
else if (
type == OneSidedPositive) {
 
  165            out.emplace_back(std::make_pair(mu, 0)); 
 
  166         } 
else if (
type == OneSidedNegative) {
 
  167            out.emplace_back(std::make_pair(-std::numeric_limits<double>::infinity(), 0)); 
 
  168            out.emplace_back(std::make_pair(mu, 1)); 
 
  169         } 
else if (
type == OneSidedAbsolute) {
 
  170            out.emplace_back(std::make_pair(-std::numeric_limits<double>::infinity(), 0)); 
 
  171            out.emplace_back(std::make_pair(-mu, 1)); 
 
  172            out.emplace_back(std::make_pair(mu, 0));  
 
  173         } 
else if (
type == Uncapped) {
 
  174            out.emplace_back(std::make_pair(-std::numeric_limits<double>::infinity(), -1)); 
 
  175            out.emplace_back(std::make_pair(mu, 1)); 
 
  177            throw std::runtime_error(
"Unknown PLL Type");
 
 
  184                      double sigma_mu = 0, 
double mu_low = -std::numeric_limits<double>::infinity(),
 
  185                      double mu_high = std::numeric_limits<double>::infinity());
 
  188                      double mu_low = -std::numeric_limits<double>::infinity(),
 
  189                      double mu_high = std::numeric_limits<double>::infinity())
 
 
  196                           double mu_low = -std::numeric_limits<double>::infinity(),
 
  197                           double mu_high = std::numeric_limits<double>::infinity());
 
  200                           double mu_low = -std::numeric_limits<double>::infinity(),
 
  201                           double mu_high = std::numeric_limits<double>::infinity())
 
 
  208      static int CompatFactor(
const IncompatFunc &func, 
double mu_hat);
 
  212         return CompatFactor(IncompatibilityFunction((
PLLType)
type, mu), mu_hat);
 
 
 
 
#define ClassDefOverride(name, id)
 
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 value
 
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 Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type
 
static double k(const IncompatFunc &compatRegions, double pValue, double poiVal, double poiPrimeVal, double sigma_mu=0, double mu_low=-std::numeric_limits< double >::infinity(), double mu_high=std::numeric_limits< double >::infinity())
 
static double PValue(const PLLType &pllType, double k, double mu, double mu_prime, double sigma_mu=0, double mu_low=-std::numeric_limits< double >::infinity(), double mu_high=std::numeric_limits< double >::infinity())
 
static int CompatFactor(int type, double mu, double mu_hat)
 
static IncompatFunc IncompatibilityFunction(const PLLType &type, double mu)
 
std::vector< std::pair< double, int > > IncompatFunc
 
static double k(const PLLType &pllType, double pValue, double mu, double mu_prime, double sigma_mu=0, double mu_low=-std::numeric_limits< double >::infinity(), double mu_high=std::numeric_limits< double >::infinity())
 
static double PValue(const IncompatFunc &compatRegions, double k, double mu, double mu_prime, double sigma_mu=0, double mu_low=-std::numeric_limits< double >::infinity(), double mu_high=std::numeric_limits< double >::infinity())
 
std::shared_ptr< RooFitResult > fr
 
static TCanvas * hypoTest(RooWorkspace &w, const xRooFit::Asymptotics::PLLType &pllType=xRooFit::Asymptotics::Unknown)
 
static std::shared_ptr< RooLinkedList > sDefaultNLLOptions
 
static std::shared_ptr< ROOT::Fit::FitConfig > sDefaultFitConfig
 
static TCanvas * hypoTest(RooWorkspace &w, int nToysNull, int nToysAlt, const xRooFit::Asymptotics::PLLType &pllType=xRooFit::Asymptotics::Unknown)
 
This xRooNLLVar object has several special methods, e.g.
 
Class describing the configuration of the fit, options and parameter settings using the ROOT::Fit::Pa...
 
Generic interface for defining configuration options of a numerical algorithm.
 
Abstract container object that can hold multiple RooAbsArg objects.
 
Abstract base class for binned and unbinned datasets.
 
Abstract interface for all probability density functions.
 
Abstract base class for objects that represent a real value and implements functionality common to al...
 
Named container for two doubles, two integers two object points and three string pointers that can be...
 
static const RooCmdArg & none()
Return reference to null argument.
 
RooFitResult is a container class to hold the input and output of a PDF fit to a dataset.
 
Collection class for internal use, storing a collection of RooAbsArg pointers in a doubly linked list...
 
Persistable container for RooFit projects.
 
The TNamed class is the base class for all named ROOT classes.
 
#define BEGIN_XROOFIT_NAMESPACE
 
#define END_XROOFIT_NAMESPACE