30 #ifndef _PMSRHANDLER_H_ 31 #define _PMSRHANDLER_H_ 55 virtual Int_t
WriteMsrFile(
const Char_t *filename, std::map<UInt_t, TString> *commentsPAR = 0, std::map<UInt_t, TString> *commentsTHE = 0, \
56 std::map<UInt_t, TString> *commentsFUN = 0, std::map<UInt_t, TString> *commentsRUN = 0);
83 virtual void SetMsrT0Entry(UInt_t runNo, UInt_t idx, Double_t bin);
84 virtual void SetMsrAddT0Entry(UInt_t runNo, UInt_t addRunIdx, UInt_t histoIdx, Double_t bin);
97 {
return fFuncHandler->CheckMapAndParamRange(mapSize, paramSize); }
98 virtual Double_t
EvalFunc(UInt_t i, std::vector<Int_t> map, std::vector<Double_t> param,
PMetaData metaData)
111 virtual void GetGroupingString(Int_t runNo, TString detector, TString &groupingStr);
152 virtual void RemoveComment(
const TString &str, TString &truncStr);
157 virtual Bool_t
FilterNumber(TString str,
const Char_t *filter, Int_t offset, Int_t &no);
168 #endif // _PMSRHANDLER_H_
PMsrRunList fRuns
holds a list of run information
std::unique_ptr< PFunctionHandler > fFuncHandler
needed to parse functions
virtual void SetMsrStatisticConverged(Bool_t converged)
PMsrParamList fParam
holds a list of the fit parameters
Bool_t fCopyStatisticsBlock
flag, if true: just copy to old statistics block (musrt0), otherwise write a new one (musrfit) ...
PMsrPlotList fPlots
holds a list of the plot input parameters
PStartupOptions * fStartupOptions
contains information about startup options from the musrfit_startup.xml
virtual Int_t GetNoOfFuncs()
std::vector< PMsrRunBlock > PMsrRunList
virtual Bool_t HandleTheoryEntry(PMsrLines &line)
virtual void FillParameterInUse(PMsrLines &theory, PMsrLines &funcs, PMsrLines &run)
TString fMsrFileDirectoryPath
msr-file directory path
PMsrFourierStructure fFourier
holds the parameters used for the Fourier transform
virtual Bool_t HandleRunEntry(PMsrLines &line)
virtual Bool_t FilterNumber(TString str, const Char_t *filter, Int_t offset, Int_t &no)
virtual void SetMsrDataRangeEntry(UInt_t runNo, UInt_t idx, Int_t bin)
virtual Bool_t CheckAddRunParameters()
virtual UInt_t NeededPrecision(Double_t dval, UInt_t precLimit=13)
virtual void SetMsrT0Entry(UInt_t runNo, UInt_t idx, Double_t bin)
Double_t fMin
chisq or max. likelihood
Bool_t fValid
flag showing if the statistics block is valid, i.e. a fit took place which converged ...
std::vector< PMsrPlotStructure > PMsrPlotList
std::vector< Int_t > PIntVector
virtual UInt_t GetFuncIndex(Int_t funNo)
virtual Bool_t ParseFourierPhaseParIterVector(PMsrFourierStructure &fourier, const TString &str, Bool_t &error)
PMsrHandler(const Char_t *fileName, PStartupOptions *startupOptions=0, const Bool_t fourierOnly=false)
virtual void SetMsrStatisticMin(Double_t min)
PIntVector fParamInUse
array holding the information if a particular parameter is used at all, i.e. if the theory is using i...
virtual void MakeDetectorGroupingString(TString str, PIntVector &group, TString &result, Bool_t includeDetector=true)
std::vector< PMsrParamStructure > PMsrParamList
virtual Bool_t ParseFourierPhaseParVector(PMsrFourierStructure &fourier, const TString &str, Bool_t &error)
virtual void SetMsrStatisticNdf(UInt_t ndf)
virtual Bool_t HandlePlotEntry(PMsrLines &line)
virtual Bool_t CheckHistoGrouping()
virtual PMsrRunList * GetMsrRunList()
virtual Bool_t HandleFunctionsEntry(PMsrLines &line)
virtual Int_t WriteMsrLogFile(const Bool_t messages=true)
virtual Bool_t HandleCommandsEntry(PMsrLines &line)
virtual TString * GetMsrTitle()
virtual Int_t WriteMsrFile(const Char_t *filename, std::map< UInt_t, TString > *commentsPAR=0, std::map< UInt_t, TString > *commentsTHE=0, std::map< UInt_t, TString > *commentsFUN=0, std::map< UInt_t, TString > *commentsRUN=0)
virtual PMsrStatisticStructure * GetMsrStatistic()
virtual void SetMsrTitle(const TString &title)
PMsrStatisticStructure fStatistic
holds the statistic info
virtual Bool_t CheckUniquenessOfParamNames(UInt_t &parX, UInt_t &parY)
virtual UInt_t GetNoOfRuns()
virtual Bool_t HandleFourierEntry(PMsrLines &line)
virtual Bool_t CheckRunBlockIntegrity()
virtual UInt_t GetNoOfParams()
virtual TString * GetMsrFileDirectoryPath()
virtual Int_t ParameterInUse(UInt_t paramNo)
virtual PMsrGlobalBlock * GetMsrGlobal()
virtual Bool_t CheckMaps()
std::vector< PMsrLineStructure > PMsrLines
PMsrLines fFunctions
holds the user defined functions
PMsrLines fCommands
holds a list of the minuit commands
virtual Bool_t CheckRRFSettings()
virtual void RemoveComment(const TString &str, TString &truncStr)
TString fFileName
file name of the msr-file
virtual Bool_t SetMsrParamStep(UInt_t i, Double_t value)
virtual void SetMsrAddT0Entry(UInt_t runNo, UInt_t addRunIdx, UInt_t histoIdx, Double_t bin)
virtual PMsrFourierStructure * GetMsrFourierList()
Int_t fMsrBlockCounter
used to select the proper msr-block
virtual void CopyMsrStatisticBlock()
virtual UInt_t GetFuncNo(Int_t idx)
virtual UInt_t LastSignificant(Double_t dval, UInt_t precLimit=6)
virtual Int_t ReadMsrFile()
virtual void InitFourierParameterStructure(PMsrFourierStructure &fourier)
virtual PMsrPlotList * GetMsrPlotList()
Bool_t fFourierOnly
flag indicating if Fourier transform only is wished. If yes, some part of the msr-file blocks are not...
virtual void CheckMaxLikelihood()
virtual Bool_t SetMsrParamValue(UInt_t i, Double_t value)
virtual PMsrLines * GetMsrTheory()
virtual UInt_t GetNoOfFitParameters(UInt_t idx)
virtual Bool_t HandleStatisticEntry(PMsrLines &line)
virtual PMsrParamList * GetMsrParamList()
virtual void GetGroupingString(Int_t runNo, TString detector, TString &groupingStr)
virtual Bool_t HandleFitParameterEntry(PMsrLines &line)
virtual Double_t EvalFunc(UInt_t i, std::vector< Int_t > map, std::vector< Double_t > param, PMetaData metaData)
UInt_t fNdf
number of degrees of freedom
virtual PMsrLines * GetMsrFunctions()
virtual void SetMsrBkgRangeEntry(UInt_t runNo, UInt_t idx, Int_t bin)
virtual void CheckLegacyLifetimecorrection()
virtual TString BeautifyFourierPhaseParameterString()
virtual PMsrLines * GetMsrCommands()
PMsrLines fTheory
holds the theory definition
virtual Bool_t SetMsrParamPosErrorPresent(UInt_t i, Bool_t value)
TString fTitle
holds the title string of the msr-file
virtual Bool_t EstimateN0()
PMsrGlobalBlock fGlobal
holds the information of the global section
virtual Bool_t SetMsrParamPosError(UInt_t i, Double_t value)
virtual Bool_t HandleGlobalEntry(PMsrLines &line)
virtual Bool_t CheckMapAndParamRange(UInt_t mapSize, UInt_t paramSize)
virtual Bool_t CheckFuncs()
virtual const TString & GetFileName() const
virtual Bool_t ParseFourierPhaseValueVector(PMsrFourierStructure &fourier, const TString &str, Bool_t &error)