/usr/include/root/RooStats/ProfileLikelihoodCalculator.h is in libroot-roofit-dev 5.34.30-0ubuntu8.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | // @(#)root/roostats:$Id$
// Author: Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke
/*************************************************************************
* Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/
#ifndef ROOSTATS_ProfileLikelihoodCalculator
#define ROOSTATS_ProfileLikelihoodCalculator
#ifndef ROOSTATS_CombinedCalculator
#include "RooStats/CombinedCalculator.h"
#endif
#include "RooStats/LikelihoodInterval.h"
namespace RooStats {
class LikelihoodInterval;
class ProfileLikelihoodCalculator : public CombinedCalculator {
public:
// default constructor (needed for I/O)
ProfileLikelihoodCalculator();
/// constructor from data, from a full model pdf describing both parameter of interest and nuisance parameters
/// and from the set specifying the parameter of interest (POI).
/// There is no need to specify the nuisance parameters since they are all other parameters of the model.
/// When using the calculator for performing an hypothesis test one needs to provide also a snapshot (a copy)
/// defining the null parameters and their value. There is no need to pass the alternate parameters. These
/// will be obtained by the value maximazing the likelihood function
ProfileLikelihoodCalculator(RooAbsData& data, RooAbsPdf& pdf, const RooArgSet& paramsOfInterest,
Double_t size = 0.05, const RooArgSet* nullParams = 0 );
/// constructor from data and a model configuration
/// If the ModelConfig defines a prior pdf for any of the parameters those will be included as constrained terms in the
/// likelihood function
ProfileLikelihoodCalculator(RooAbsData& data, ModelConfig & model, Double_t size = 0.05);
virtual ~ProfileLikelihoodCalculator();
/// Return a likelihood interval. A global fit to the likelihood is performed and
/// the interval is constructed using the the profile likelihood ratio function of the POI
virtual LikelihoodInterval* GetInterval() const ;
/// Return the hypothesis test result obtained from the likelihood ratio of the
/// maximum likelihood value with the null parameters fixed to their values, with respect keeping all parameters
/// floating (global maximum likelihood value).
virtual HypoTestResult* GetHypoTest() const;
protected:
// clear internal fit result
void DoReset() const;
// perform a global fit
RooAbsReal * DoGlobalFit() const;
// minimize likelihood
static RooFitResult * DoMinimizeNLL(RooAbsReal * nll);
mutable RooFitResult * fFitResult; // internal result of gloabl fit
mutable bool fGlobalFitDone; // flag to control if a global fit has been done
ClassDef(ProfileLikelihoodCalculator,2) // A concrete implementation of CombinedCalculator that uses the ProfileLikelihood ratio.
};
}
#endif
|