/usr/include/root/RooMinuit.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 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 | /*****************************************************************************
* Project: RooFit *
* Package: RooFitCore *
* File: $Id: RooMinuit.h,v 1.15 2007/07/12 20:30:28 wouter Exp $
* Authors: *
* WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu *
* DK, David Kirkby, UC Irvine, dkirkby@uci.edu *
* *
* Copyright (c) 2000-2005, Regents of the University of California *
* and Stanford University. All rights reserved. *
* *
* Redistribution and use in source and binary forms, *
* with or without modification, are permitted according to the terms *
* listed in LICENSE (http://roofit.sourceforge.net/license.txt) *
*****************************************************************************/
#ifndef ROO_MINUIT
#define ROO_MINUIT
#include "TObject.h"
#include "TStopwatch.h"
#include <fstream>
#include "TMatrixDSymfwd.h"
#include <vector>
#include <string>
#include <map>
class RooAbsReal ;
class RooFitResult ;
class RooArgList ;
class RooRealVar ;
class RooArgSet ;
class RooAbsArg ;
class TVirtualFitter ;
class TH2F ;
class RooPlot ;
void RooMinuitGlue(Int_t& /*np*/, Double_t* /*gin*/, Double_t &f, Double_t *par, Int_t /*flag*/) ;
class RooMinuit : public TObject {
public:
RooMinuit(RooAbsReal& function) ;
virtual ~RooMinuit() ;
enum Strategy { Speed=0, Balance=1, Robustness=2 } ;
enum PrintLevel { None=-1, Reduced=0, Normal=1, ExtraForProblem=2, Maximum=3 } ;
void setStrategy(Int_t strat) ;
void setErrorLevel(Double_t level) ;
void setEps(Double_t eps) ;
void optimizeConst(Int_t flag) ;
void setEvalErrorWall(Bool_t flag) { _doEvalErrorWall = flag ; }
void setOffsetting(Bool_t flag) ;
RooFitResult* fit(const char* options) ;
Int_t migrad() ;
Int_t hesse() ;
Int_t minos() ;
Int_t minos(const RooArgSet& minosParamList) ; // added FMV, 08/18/03
Int_t seek() ;
Int_t simplex() ;
Int_t improve() ;
RooFitResult* save(const char* name=0, const char* title=0) ;
RooPlot* contour(RooRealVar& var1, RooRealVar& var2,
Double_t n1=1, Double_t n2=2, Double_t n3=0,
Double_t n4=0, Double_t n5=0, Double_t n6=0) ;
Int_t setPrintLevel(Int_t newLevel) ;
void setNoWarn() ;
Int_t setWarnLevel(Int_t newLevel) ;
void setPrintEvalErrors(Int_t numEvalErrors) { _printEvalErrors = numEvalErrors ; }
void setVerbose(Bool_t flag=kTRUE) { _verbose = flag ; }
void setProfile(Bool_t flag=kTRUE) { _profile = flag ; }
void setMaxEvalMultiplier(Int_t n) { _maxEvalMult = n ; }
Bool_t setLogFile(const char* logfile=0) ;
static void cleanup() ;
Int_t evalCounter() const { return _evalCounter ; }
void zeroEvalCount() { _evalCounter = 0 ; }
protected:
friend class RooAbsPdf ;
void applyCovarianceMatrix(TMatrixDSym& V) ;
friend void RooMinuitGlue(Int_t &np, Double_t *gin, Double_t &f, Double_t *par, Int_t flag) ;
void profileStart() ;
void profileStop() ;
Bool_t synchronize(Bool_t verbose) ;
void backProp() ;
inline Int_t getNPar() const { return _nPar ; }
inline std::ofstream* logfile() const { return _logfile ; }
inline Double_t& maxFCN() { return _maxFCN ; }
Double_t getPdfParamVal(Int_t index) ;
Double_t getPdfParamErr(Int_t index) ;
virtual Bool_t setPdfParamVal(Int_t index, Double_t value, Bool_t verbose=kFALSE) ;
void setPdfParamErr(Int_t index, Double_t value) ;
void setPdfParamErr(Int_t index, Double_t loVal, Double_t hiVal) ;
void clearPdfParamAsymErr(Int_t index) ;
void saveStatus(const char* label, Int_t status) { _statusHistory.push_back(std::pair<std::string,int>(label,status)) ; }
void updateFloatVec() ;
private:
Int_t _evalCounter ;
Int_t _printLevel ;
Int_t _warnLevel ;
Int_t _status ;
Int_t _optConst ;
Bool_t _profile ;
Bool_t _handleLocalErrors ;
Int_t _numBadNLL ;
Int_t _nPar ;
Int_t _printEvalErrors ;
Bool_t _doEvalErrorWall ;
Int_t _maxEvalMult ;
RooArgList* _floatParamList ;
std::vector<RooAbsArg*> _floatParamVec ;
RooArgList* _initFloatParamList ;
RooArgList* _constParamList ;
RooArgList* _initConstParamList ;
RooAbsReal* _func ;
Double_t _maxFCN ;
std::ofstream* _logfile ;
Bool_t _verbose ;
TStopwatch _timer ;
TStopwatch _cumulTimer ;
TMatrixDSym* _extV ;
static TVirtualFitter *_theFitter ;
std::vector<std::pair<std::string,int> > _statusHistory ;
RooMinuit(const RooMinuit&) ;
ClassDef(RooMinuit,0) // RooFit minimizer based on MINUIT
} ;
#endif
|