41 _nll(
"input",
"-log(L) function", this, nllIn),
42 _obs(
"paramOfInterest",
"Parameters of interest", this),
43 _par(
"nuisanceParam",
"Nuisance parameters", this, false, false)
57 _nll(
"input", this, other._nll),
58 _obs(this, other._obs),
59 _par(this, other._par),
60 _startFromMin(other._startFromMin),
61 _paramFixed(other._paramFixed)
106 coutI(Minimization) <<
"RooProfileLL::evaluate(" <<
GetName() <<
") Creating instance of MINUIT" << std::endl;
151 for(
auto const& arg : obsSetOrig) {
155 target->setVal(var->getVal()) ;
156 target->setConstant(var->isConstant()) ;
173 for(
auto const& par :
_par) {
174 if (
_paramFixed[par->GetName()] != par->isConstant()) {
175 cxcoutI(Minimization) <<
"RooProfileLL::evaluate(" <<
GetName() <<
") constant status of parameter " << par->GetName() <<
" has changed from "
176 << (
_paramFixed[par->GetName()]?
"fixed":
"floating") <<
" to " << (par->isConstant()?
"fixed":
"floating")
177 <<
", recalculating absolute minimum" << std::endl;
188 cxcoutI(Minimization) <<
"RooProfileLL::evaluate(" <<
GetName() <<
") determining minimum likelihood for current configurations w.r.t all observable" << std::endl;
225 for(
auto const& par :
_par) {
229 if (
dologI(Minimization)) {
230 cxcoutI(Minimization) <<
"RooProfileLL::evaluate(" <<
GetName() <<
") minimum found at (" ;
233 for(
auto const& arg :
_obs) {
234 ccxcoutI(Minimization) << (first?
"":
", ") << arg->GetName() <<
"="
238 ccxcoutI(Minimization) <<
")" << std::endl;
252 bool nameChange,
bool isRecursive)
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 target
RooFit::OwningPtr< RooArgSet > getParameters(const RooAbsData *data, bool stripDisconnected=true) const
Create a list of leaf nodes in the arg tree starting with ourself as top node that don't match any of...
RooFit::OwningPtr< RooArgSet > getObservables(const RooArgSet &set, bool valueOnly=true) const
Given a set of possible observables, return the observables that this PDF depends on.
Abstract container object that can hold multiple RooAbsArg objects.
virtual void removeAll()
Remove all arguments from our set, deleting them if we own them.
void assign(const RooAbsCollection &other) const
Sets the value, cache and constant attribute of any argument in our set that also appears in the othe...
virtual RooAbsArg * addClone(const RooAbsArg &var, bool silent=false)
Add a clone of the specified argument to list.
RooAbsArg * find(const char *name) const
Find object with given name in list.
Abstract base class for objects that represent a real value and implements functionality common to al...
double getVal(const RooArgSet *normalisationSet=nullptr) const
Evaluate object.
bool redirectServersHook(const RooAbsCollection &newServerList, bool mustReplaceAll, bool nameChange, bool isRecursiveStep) override
Function that is called at the end of redirectServers().
virtual RooFit::OwningPtr< RooAbsReal > createProfile(const RooArgSet ¶msOfInterest)
Create a RooProfileLL object that eliminates all nuisance parameters in the present function.
RooArgSet is a container object that can hold multiple RooAbsArg objects.
RooArgSet * snapshot(bool deepCopy=true) const
Use RooAbsCollection::snapshot(), but return as RooArgSet.
RooArgSet * selectByAttrib(const char *name, bool value) const
Use RooAbsCollection::selectByAttrib(), but return as RooArgSet.
static RooMsgService & instance()
Return reference to singleton instance.
void setSilentMode(bool flag)
Implements the profile likelihood estimator for a given likelihood and set of parameters of interest.
const RooArgSet & bestFitObs() const
RooArgSet _paramAbsMin
Parameter values at absolute minimum.
RooSetProxy _obs
Parameters of profile likelihood.
Int_t _neval
Number evaluations used in last minimization.
void initializeMinimizer() const
bool _absMinValid
flag if absmin is up-to-date
std::map< std::string, bool > _paramFixed
Parameter constant status at last time of use.
bool _startFromMin
Always start minimization for global minimum?
std::unique_ptr< RooMinimizer > _minimizer
! Internal minimizer instance
RooArgSet _obsAbsMin
Observable values at absolute minimum.
void validateAbsMin() const
Check that parameters and likelihood value for 'best fit' are still valid.
RooSetProxy _par
Marginalised parameters of likelihood.
double _absMin
absolute minimum of -log(L)
RooProfileLL(const char *name, const char *title, RooAbsReal &nll, const RooArgSet &observables)
Constructor of profile likelihood given input likelihood nll w.r.t the given set of variables.
double evaluate() const override
Evaluate profile likelihood by minimizing likelihood w.r.t.
RooFit::OwningPtr< RooAbsReal > createProfile(const RooArgSet ¶msOfInterest) override
Optimized implementation of createProfile for profile likelihoods.
RooRealProxy _nll
Input -log(L) function.
bool redirectServersHook(const RooAbsCollection &, bool, bool, bool) override
Function that is called at the end of redirectServers().
const RooArgSet & bestFitParams() const
Variable that can be changed from the outside.
const T & arg() const
Return reference to object held in proxy.
const char * GetName() const override
Returns name of object.
T * OwningPtr
An alias for raw pointers for indicating that the return type of a RooFit function is an owning point...