35 #include "Minuit2/MnUserParameters.h" 36 #include "Minuit2/FunctionMinimum.h" 43 #define PMN_INTERACTIVE 0 44 #define PMN_CONTOURS 1 46 #define PMN_FIT_RANGE 3 49 #define PMN_MACHINE_PRECISION 6 51 #define PMN_MINIMIZE 8 54 #define PMN_RELEASE 11 55 #define PMN_RESTORE 12 58 #define PMN_SIMPLEX 15 59 #define PMN_STRATEGY 16 60 #define PMN_USER_COVARIANCE 17 61 #define PMN_USER_PARAM_STATE 18 79 void SetChisq(Double_t chisq, UInt_t idx);
83 void SetNDF(UInt_t ndf, UInt_t idx);
143 std::unique_ptr<ROOT::Minuit2::FunctionMinimum>
fFcnMin;
191 #endif // _PFITTER_H_ Bool_t fIsValid
flag. true: the fit is valid.
PFitter(PMsrHandler *runInfo, PRunListCollection *runListCollection, Bool_t chisq_only=false)
Double_t GetTimeRangeFirst(UInt_t idx)
Bool_t ExecuteSave(Bool_t first)
PDoubleVector fFirst
time stamp for fgb for a given run
std::unique_ptr< PFitterFcn > fFitterFcn
pointer to the fitter function object
PIntPairVector fCmdList
command list, first=cmd, second=cmd line index
std::vector< bool > fPhase
flag array in which an entry is true if the related parameter value is a phase
Bool_t fIsScanOnly
flag. true: scan along some parameters (no fitting).
Bool_t fChisqOnly
flag. true: calculate chi^2 only (no fitting).
void PrepareSector(PDoubleVector ¶m, PDoubleVector &error)
PMsrLines fCmdLines
all the Minuit commands from the msr-file
PIntVector GetParFromMap(const TString mapStr)
PStringVector fElapsedTime
PDoubleVector fChisqRun
chisq or maxLH for the sector and run
void SetChisq(Double_t chisq)
Bool_t ExecuteRelease(UInt_t lineNo)
PMsrHandler * fRunInfo
pointer to the msr-file handler
PDoublePairVector fScanData
keeps the scan/contour data
Bool_t ExecuteFix(UInt_t lineNo)
std::vector< Int_t > PIntVector
void SetExpectedChisq(Double_t expChisq)
UInt_t fStrategy
fitting strategy (see minuit2 manual).
std::vector< UInt_t > PUIntVector
PDoubleVector fExpectedChisqRun
expected chisq or maxLH for the sector and run
std::vector< PMsrParamStructure > PMsrParamList
std::vector< Double_t > PDoubleVector
Bool_t ExecuteSector(std::ofstream &fout)
void SetSectorTime(Double_t last)
UInt_t fNDF
NDF for the sector.
Double_t fExpectedChisq
keep the expected chisq or maxLH for the sector
Bool_t fUseChi2
flag. true: chi^2 fit. false: log-max-likelihood
ROOT::Minuit2::MnUserParameters fMnUserParams
minuit2 input parameter list
PMsrParamList fParams
msr-file parameters
std::vector< PMsrLineStructure > PMsrLines
Double_t fScanHigh
scan range high. default=0.0 which means 2 std dev. (see MnScan/MnContours in the minuit2 user manual...
Double_t GetTimeRangeLast()
UInt_t fScanNoPoints
number of points in a scan/contour (see MnScan/MnContours in the minuit2 user manual) ...
Double_t GetExpectedChisq()
Bool_t fSectorFlag
sector command present flag
std::vector< PDoublePair > PDoublePairVector
UInt_t fNoOfRuns
number of runs presesent
PSectorChisq(UInt_t noOfRuns)
PRunListCollection * fRunListCollection
pointer to the run list collection
Bool_t ExecuteFitRange(UInt_t lineNo)
PUIntVector fNDFRun
NDF for the sector and run.
void SetRunFirstTime(Double_t first, UInt_t idx)
UInt_t fScanParameter[2]
scan parameter. idx=0: used for scan and contour, idx=1: used for contour (see MnScan/MnContours in t...
Double_t fScanLow
scan range low. default=0.0 which means 2 std dev. (see MnScan/MnContours in the minuit2 user manual)...
Double_t fChisq
chisq or maxLH for the sector
Bool_t fScanAll
flag. false: single parameter scan, true: not implemented yet (see MnScan/MnContours in the minuit2 u...
PIntVector GetParFromFun(const TString funStr)
std::vector< TString > PStringVector
UInt_t fPrintLevel
tag, showing the level of messages whished. 0=minimum, 1=standard, 2=maximum
Bool_t fConverged
flag. true: the fit has converged.
std::vector< PIntPair > PIntPairVector
Double_t fLast
requested time stamp
Bool_t ExecutePrintLevel(UInt_t lineNo)
PDoublePairVector fOriginalFitRange
keeps the original fit range in case there is a range command in the COMMAND block ...
std::vector< PSectorChisq > fSector
stores all chisq/maxLH sector information
std::unique_ptr< ROOT::Minuit2::FunctionMinimum > fFcnMin
function minimum object