This file is indexed.

/usr/include/root/RooMinuit.h is in libroot-roofit-dev 5.34.00-2.

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
/*****************************************************************************
 * 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 ; }

  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 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 ;  
  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