GSI Object Oriented Online Offline (Go4) GO4-6.4.0
|
Basic abstract class for representing model components of fitted data. More...
#include <TGo4FitModel.h>
Public Member Functions | |
TGo4FitModel () | |
Default constructor. | |
TGo4FitModel (const char *iName, const char *iTitle, Bool_t MakeAmplitude=kFALSE) | |
Creates TGo4FitModel object with given name. | |
virtual | ~TGo4FitModel () |
Delete TGo4FitModel object. | |
Bool_t | AddModelToDataResult (TGo4FitData *data) |
Evaluate model values for all data point and add them to result buffer. | |
virtual void | AfterEval () |
Clear buffers, which were created by BeforeEval() method. | |
const char * | AssignmentName (Int_t n) |
Returns name of data, to which model object is assigned. | |
void | AssignToData (const char *DataName, Double_t RatioValue=1., Bool_t FixRatio=kFALSE) |
Assign model to specified data object. | |
virtual Bool_t | BeforeEval (Int_t ndim) |
Prepares (if necessary) some intermediate variables to be able calculate values of model via EvalN() function. | |
void | ChangeDataNameInAssignments (const char *oldname, const char *newname) |
Change name of data in assignments. | |
void | ClearAssigmentTo (const char *DataName) |
void | ClearAssignments () |
Remove all assignments. | |
void | ClearAssignmentTo (const char *DataName) |
Remove assignment to given data (if exists). | |
void | ConnectToDataIfAssigned (TGo4FitData *data) |
Check, if model assigned to such a data (via name) and store pointer on this data object. | |
virtual Double_t | EvalN (const Double_t *v) |
Calculates value of model according current parameters values and provided axes values. | |
virtual Double_t | Evaluate (Double_t *v, Int_t ndim) |
Calculates value of model for given axis values. | |
virtual Double_t | Evaluate (Double_t x) |
Calculates value of model for given x value. | |
virtual Double_t | Evaluate (Double_t x, Double_t y) |
Calculates value of model for given x,y values. | |
virtual Double_t | Evaluate (Double_t x, Double_t y, Double_t z) |
Calculates value of model for given x,y,z values. | |
virtual Double_t | EvaluateAtPoint (std::unique_ptr< TGo4FitDataIter > &iter, Bool_t UseRanges=kTRUE) |
Evaluate model value for point, specified by current values of iterator. | |
virtual Double_t | EvaluateAtPoint (TGo4FitData *data, Int_t nbin, Bool_t UseRanges=kTRUE) |
Evaluate model value for specified data point. | |
Int_t | GetGroupIndex () const |
Returns group index of model. | |
virtual Bool_t | GetPosition (Int_t naxis, Double_t &pos) |
Return position of model, if exists. | |
Double_t | GetRatioValueFor (const char *DataName) |
Returns ratio value for specified data object. | |
virtual Bool_t | GetWidth (Int_t naxis, Double_t &width) |
Returns with of model component, if exists. | |
virtual Double_t | Integral () |
Calculates integral of model component. | |
Bool_t | IsAssignTo (const char *DataName) const |
Checks, if model assigned to given data. | |
Bool_t | NeedIntegration () const |
Returns kTRUE, if integration properties were specified. | |
Int_t | NumAssigments () const |
Returns number of assignment for this model. | |
Int_t | NumPars () override |
Return number of parameters in list. | |
void | Print (Option_t *option="") const override |
Print information about model object on standard output. | |
void | SetBackgroundGroupIndex () |
Set group index to background (index = 0). | |
void | SetGroupIndex (Int_t index=-1) |
Set group index of model. | |
void | SetIntegrationsProperty (Int_t iMinIntegrDepth, Int_t iMaxIntegrDepth=0, Double_t iIntegrEps=0., Bool_t iAbsoluteEps=kFALSE, Bool_t iIntegrScaling=kFALSE) |
Set integration properties. | |
virtual Bool_t | SetPosition (Int_t naxis, Double_t pos) |
Sets position of model component, if possible. | |
virtual Bool_t | SetWidth (Int_t naxis, Double_t width) |
Sets width of model component, if possible. | |
![]() | |
TGo4FitComponent () | |
Default constructor. | |
TGo4FitComponent (const char *iName, const char *iTitle) | |
Creates TGo4FitComponent object. | |
virtual | ~TGo4FitComponent () |
Destroys TGo4FitComponent object. | |
void | AddRangeCondition (Int_t typ, Int_t naxis, Double_t left, Double_t right) |
Add new range condition. | |
void | AddRangeCut (TCutG *cut, Bool_t exclude=kFALSE) |
Add TCutG object as range condition for two-dimensional case. | |
virtual Bool_t | CanAmplTouch () |
Signals, if amplitude parameter can be removed from or introduced to object. | |
Bool_t | CheckRangeConditions (const Double_t *values, Int_t numaxis) |
Check all range conditions for specified point. | |
void | ClearRanges (Int_t naxis=-1) |
Clear all range conditions for given axis. | |
void | CollectParsTo (TGo4FitParsList &list) override |
Collect all parameters to provided parameters list object. | |
void | ExcludeRange (Int_t naxis, Double_t min, Double_t max) |
Exclude axis range from consideration. | |
Double_t | GetAmplError () |
Return error of amplitude parameter. | |
const char * | GetAmplFullName () |
Returns full name of amplitude parameter. | |
const char * | GetAmplName () |
Returns name of amplitude parameter. | |
TGo4FitParameter * | GetAmplPar () |
Return amplitude parameter object. | |
Double_t | GetAmplValue () |
Return value of amplitude parameter. | |
Int_t | GetNumRangeCondition () const |
Returns number of range condition (exclude range cuts). | |
Int_t | GetNumRangeCut () const |
Returns number of range cuts, assigned to object. | |
void | GetRangeCondition (Int_t n, Int_t &typ, Int_t &naxis, Double_t &left, Double_t &right) const |
Return value for specified range condition. | |
TCutG * | GetRangeCut (Int_t n) const |
Returns specified range cut. | |
Bool_t | GetRangeMax (Int_t naxis, Double_t &value) const |
Defines maximum allowed value for given range. | |
Bool_t | GetRangeMin (Int_t naxis, Double_t &value) const |
Defines minimum allowed value for given range. | |
Bool_t | GetUseBuffers () const |
Returns flag of usage of additional buffers. | |
Bool_t | IsAnyRangeLimits () const |
Return kTRUE, if any range conditions were introduced. | |
Bool_t | IsRangeCutExcluding (Int_t n) const |
Return kTRUE if cut exclude range. | |
Bool_t | MakeAmpl (Bool_t isFixed=kFALSE) |
Create amplitude parameter and adds it to parameters list. | |
void | Print (Option_t *option="") const override |
Print info about object on standard output. | |
Bool_t | RemoveAmpl () |
Remove amplitude parameter from parameters list. | |
void | RemoveRangeCondition (Int_t n) |
Removes specified range condition. | |
void | RemoveRangeCut (Int_t n) |
Delete range cut with specified index. | |
void | SetAmplError (Double_t iError) |
Set error of amplitude parameter. | |
void | SetAmplValue (Double_t iAmpl) |
Set value of amplitude parameter. | |
void | SetRange (Int_t naxis, Double_t min, Double_t max) |
Includes axis range in consideration. | |
void | SetRangeCondition (Int_t n, Int_t typ, Int_t naxis, Double_t left, Double_t right) |
Change specified range condition. | |
void | SetRangeCutExcluding (Int_t n, Bool_t exclude=kTRUE) |
Set type of range cut (excluding or including) | |
void | SetRangeMax (Int_t naxis, Double_t value) |
Set maximum axis value, taken into consideration. | |
void | SetRangeMin (Int_t naxis, Double_t value) |
Set minimum axis value, taken into consideration. | |
void | SetUseBuffers (Bool_t iUse) |
Sets usage of additional buffers. | |
![]() | |
TGo4FitParsList () | |
Default constructor. | |
TGo4FitParsList (Bool_t IsParsOwned) | |
Create TGo4FitParsList object and set flag of ownership of parameters object. | |
TGo4FitParsList (const char *Name, const char *Title, Bool_t IsParsOwned) | |
Create TGo4FitParsList object, set it's name and title, and ownership flag of parameters pbjects. | |
virtual | ~TGo4FitParsList () |
Destroy TGo4FitParsList object. | |
virtual bool | CanRollbackPars () |
Return true if parameters can be safely restored from memorized values;. | |
void | ClearPars () |
Remove all parameters from list. | |
TGo4FitParameter * | CreatePar (const char *ParName, const char *Title, Double_t iValue=0) |
Create new TGo4FitParameter object with given name, title and parameter value, and put this object to the list. | |
TGo4FitParameter * | FindPar (const char *OwnerFullName, const char *ParName) |
Find parameter with given owner full name and parameter name. | |
TGo4FitParameter * | FindPar (const char *ParName) |
Find parameter object with given name. | |
TGo4FitParameter * | FindPar (TGo4FitParameter *par) |
Find parameter in list. | |
TGo4FitParameter * | GetPar (Int_t n) |
Return parameter according given index. | |
virtual Bool_t | GetParEpsilon (const char *ParName, Double_t &Epsilon) |
Get epsilon value for parameter with given name. | |
Double_t | GetParError (const char *ParName) |
Get error value for parameter with given name. | |
virtual Bool_t | GetParFixed (const char *ParName) |
Return status for parameter with given name, is it fixed or not. | |
const char * | GetParFullName (Int_t n) |
Return full name of parameter with given index. | |
Int_t | GetParIndex (const TGo4FitParameter *par) |
Return index of given parameter in list. | |
const char * | GetParName (Int_t n) |
Return name of parameter with given index. | |
virtual Bool_t | GetParRange (const char *ParName, Double_t &RangeMin, Double_t &RangeMax) |
Get range limits for parameter with given name. | |
void | GetParsValues (Double_t *pars) |
Copy values of all parameters in list to provided array. | |
Double_t | GetParValue (const char *ParName) |
Return value of parameter with given name. | |
Bool_t | IsAllParsFixed () |
Returns true, if all parameters in list fixed;. | |
virtual void | MemorizePars () |
Memorize values of all parameters. | |
Int_t | NumFixedPars () |
Return number of fixed pars. | |
Int_t | NumFreePars () |
Return number of free pars. | |
void | Print (Option_t *option="") const override |
Default print method. | |
void | PrintPars () const |
Print only value and error of all parameters in list. | |
virtual void | RememberPars () |
Restore parameters values, which were stored by MemorizePars() routine;. | |
Bool_t | RemovePar (const char *name) |
Remove parameter from list with given name. | |
Bool_t | RemovePar (TGo4FitParameter *par) |
Remove parameter from list. | |
virtual Bool_t | SetParEpsilon (const char *ParName, Double_t Epsilon) |
Set epsilon value for parameter with given name. | |
Bool_t | SetParError (const char *ParName, Double_t iError) |
Set error value for parameter with given name. | |
virtual Bool_t | SetParFixed (const char *ParName, Bool_t iFixed=kTRUE) |
Set for parameter with given name, is it fixed or not. | |
void | SetParName (Int_t n, const char *name) |
Set new name for parameter object with provided index. | |
virtual Bool_t | SetParRange (const char *ParName, Double_t RangeMin, Double_t RangeMax) |
Set range limits for parameter with given name. | |
void | SetParsNames (const char *name0="Par0", const char *name1="Par1", const char *name2="Par2", const char *name3="Par3", const char *name4="Par4", const char *name5="Par5", const char *name6="Par6", const char *name7="Par7", const char *name8="Par8", const char *name9="Par9") |
Set names of first 10 parameters. | |
void | SetParsValues (Double_t *pars) |
Set value for all parameters from array. | |
void | SetParsValues (Double_t par0=0., Double_t par1=0., Double_t par2=0., Double_t par3=0., Double_t par4=0., Double_t par5=0., Double_t par6=0., Double_t par7=0., Double_t par8=0., Double_t par9=0.) |
Set values for first 10 parameters. | |
Bool_t | SetParValue (const char *ParName, Double_t iValue) |
Set value of parameter with given name. | |
![]() | |
TGo4FitNamed () | |
Default constructor. | |
TGo4FitNamed (const char *Name, const char *Title, TNamed *Owner=nullptr) | |
Creates TGo4FitNamed object and set name and title. | |
virtual | ~TGo4FitNamed () |
Destroy TGo4FitNamed object. | |
const char * | GetFullName () |
Returns full name of object. | |
TNamed * | GetOwner () |
Return owner of object. | |
const char * | GetOwnerFullName () |
Return full name of owner. | |
void | Print (Option_t *option="") const override |
void | SetOwner (TNamed *iOwner) |
Sets owner of object. | |
![]() | |
TGo4FitSlotList () | |
virtual | ~TGo4FitSlotList () |
Bool_t | CheckObjects (Bool_t MakeOut=kTRUE) |
Check, if all necessary objects are provided. | |
void | ClearObjects (const char *PlaceName=nullptr, Bool_t NonOwned=kTRUE) |
Clear object from slot(s), which are defined by PlaceName condition. | |
void | ClearSlot (TGo4FitSlot *slot, Bool_t NonOwned) |
Clear object in specified slot. | |
Bool_t | ConnectSlots (const char *Slot1FullName, const char *Slot2FullName) |
Connects first slot to second. | |
Bool_t | ConnectSlots (TGo4FitSlot *slot1, TGo4FitSlot *slot2) |
Connects first slot to second. | |
virtual void | FillSlotList (TSeqCollection *lst) |
Fill list of TGo4FitSlot objects to provided collection. | |
TGo4FitSlot * | FindSlot (const char *FullSlotName) |
Find slot in list with given full name;. | |
TGo4FitSlot * | GetSlot (Int_t nslot) |
Returns slots from list with specified index. | |
const TObjArray * | GetSlotList (Bool_t ForceUpdate=kFALSE) |
Return pointer in TObjArray with list of all slots in list. | |
Bool_t | IsEmptySlots () |
Return kTRUE, if there are empty slots in list. | |
TGo4FitSlot * | IsObjectInSlots (TObject *obj) |
Checks, if object assign to one of slots. | |
Int_t | NumSlots () |
Returns number of slots in list. | |
TGo4FitSlot * | SetObject (const char *PlaceName, TObject *obj, Bool_t iOwned=kFALSE) |
Set object to first suitable slot, which have PlaceName name or owner of which has PlaceName full name with defined ownership flag. | |
TGo4FitSlot * | SetObject (TObject *obj, Bool_t iOwned=kFALSE) |
Set object to first suitable slot with defined ownership flag. | |
void | SetSaveFlagForObjects (Int_t iSaveFlag, const char *PlaceName=nullptr) |
Set save flag for object(s), assigned to fitter. | |
void | SetUpdateSlotList () |
Update internal list of slots (if exists). | |
Protected Member Functions | |
Bool_t | BuffersAllocated () const |
Checks if model allocate buffers for calculations. | |
Double_t | EvaluateAndIntegrate (Int_t NumScales, const Double_t *Scales, const Double_t *Widths) |
Make integration of model inside given point, if integration specified. | |
virtual void | Finalize () |
Deletes all buffers, created during initialization. | |
TGo4FitParameter * | Get (Int_t n) override |
TGo4FitData * | GetAssignedConnection (Int_t n) |
Return pointer on assigned data. | |
const Int_t * | GetDataFullIndex (TGo4FitData *data, Int_t nbin) |
Int_t | GetDataIndexesSize (TGo4FitData *data) |
Double_t * | GetModelBins (const char *DataName) const |
Get model bins for specified data (if exists) | |
virtual TGo4FitParameter * | GetPosPar (Int_t naxis=0) |
Return parameter (if exist), which represent position of model for given axis. | |
virtual Int_t | GetPosParIndex (Int_t) |
Return index of parameter (if exist), which represent position of model for given axis. | |
virtual TGo4FitParameter * | GetWidthPar (Int_t naxis=0) |
Return parameter (if exist), which represent width of model component for given axis. | |
virtual Int_t | GetWidthParIndex (Int_t) |
Return index of parameter (if exist), which represent width of model component for given axis. | |
virtual Bool_t | Initialize (Int_t UseBuffers=-1) |
Initialize model object. | |
void | RebuildShape (Bool_t ForceBuild=kFALSE) |
Recalculates shape of object. | |
void | SetNeedToRebuild () |
Sets flag, that shape bins should be refilled next time, when RebuildShape() routine will be called. | |
virtual Double_t | UserFunction (Double_t *, Double_t *) |
Another place, where user specific code can be placed for model values calculation. | |
![]() | |
Int_t | GetAmplIndex () const |
Returns index of amplitude parameter. | |
TGo4FitParameter * | NewAmplitude (const char *Name=nullptr, Double_t iValue=0., Bool_t IsFixed=kFALSE, Int_t AtIndx=0) |
Create amplitude parameter with specified properties. | |
TGo4FitParameter * | NewParameter (const char *Name, const char *Title, Double_t iValue=0., Bool_t Fixed=kFALSE, Int_t AtIndx=-1) |
Create new parameter with provided properties and add to parameters list. | |
void | SetAmplIndex (Int_t iAmplIndex=-1) |
Set index of amplitude parameter. | |
![]() | |
TGo4FitParameter * | AddPar (TGo4FitParameter *par) |
void | ClearParsBlocking () |
TGo4FitParameter * | Find (const char *OwnerFullName, const char *ParName) |
TGo4FitParameter * | Find (const char *ParName) |
TGo4FitParameter * | Find (TGo4FitParameter *par) |
TGo4FitParameter * | InsertPar (TGo4FitParameter *par, Int_t indx) |
Bool_t | RemoveParByIndex (Int_t indx) |
void | SetParsOwner (TGo4FitNamed *iOwner) |
![]() | |
void | CheckDuplicatesOnSlot () |
Resolve situation, when same object assigned to several slots with ownership flag. | |
ClassDef (TGo4FitSlotList, 1) | |
void | PrepareSlotsForWriting () |
Protected Attributes | |
Bool_t | fbAbsoluteEps {kFALSE} |
States, if integration precision absolute or relative. | |
Bool_t | fbIntegrScaling {kFALSE} |
Scale integral to integration volume. | |
Double_t | fdIntegrEps {0} |
Integration precision. | |
Int_t | fiMaxIntegrDepth {0} |
Maximum integration depth. | |
Int_t | fiMinIntegrDepth {0} |
Minimum depth of integration. | |
![]() | |
Bool_t | fbUpdateSlotList {kFALSE} |
TObjArray * | fxSlotList {nullptr} |
Private Member Functions | |
TGo4FitAssignment * | FindAssigment (const char *DataName) const |
Find assignment to given data. | |
TGo4FitAssignment * | GetAssigment (Int_t n) |
Return TGo4FitAssignment object with given index. | |
TGo4FitAssignment * | GetAssigment (Int_t n) const |
TString | GetRatioName (Int_t n) |
Set name of ratio parameter. | |
void | RemoveAllPars () |
Clear all buffers, allocated during initialization. | |
Private Attributes | |
Bool_t | fbNeedToRebuild {kFALSE} |
Internal flag. | |
Int_t | fiGroupIndex {0} |
Store group index of specified model. | |
TGo4FitParsList * | fxAllPars {nullptr} |
List of all parameters, associated not only with component directly but also with encapsulated objects. | |
TArrayD * | fxAllParsValues {nullptr} |
TObjArray | fxAssigments |
List of TGo4FitAssignment objects. | |
TArrayD | fxCurrentPars |
Array of values of parameters. | |
Double_t * | fxCurrentParsArray {nullptr} |
Pointer on array of parameters values. | |
Friends | |
class | TGo4Fitter |
Basic abstract class for representing model components of fitted data.
Definition at line 83 of file TGo4FitModel.h.
TGo4FitModel::TGo4FitModel | ( | ) |
Default constructor.
Definition at line 54 of file TGo4FitModel.cxx.
References TGo4FitComponent::TGo4FitComponent(), fbAbsoluteEps, fbIntegrScaling, fbNeedToRebuild, fdIntegrEps, fiGroupIndex, fiMaxIntegrDepth, fiMinIntegrDepth, fxAllPars, fxAllParsValues, fxAssigments, fxCurrentPars, and fxCurrentParsArray.
Referenced by TGo4FitModelFormula::TGo4FitModelFormula(), TGo4FitModelFormula::TGo4FitModelFormula(), TGo4FitModelFromData::TGo4FitModelFromData(), TGo4FitModelFromData::TGo4FitModelFromData(), TGo4FitModelFromData::TGo4FitModelFromData(), TGo4FitModelFunction::TGo4FitModelFunction(), TGo4FitModelFunction::TGo4FitModelFunction(), TGo4FitModelFunction::TGo4FitModelFunction(), TGo4FitModelGauss1::TGo4FitModelGauss1(), TGo4FitModelGauss1::TGo4FitModelGauss1(), TGo4FitModelGauss2::TGo4FitModelGauss2(), TGo4FitModelGauss2::TGo4FitModelGauss2(), TGo4FitModelGaussN::TGo4FitModelGaussN(), TGo4FitModelPolynom::TGo4FitModelPolynom(), TGo4FitModelPolynom::TGo4FitModelPolynom(), TGo4FitModelPolynom::TGo4FitModelPolynom(), TGo4FitModelPolynom::TGo4FitModelPolynom(), TGo4FitModelPolynom::TGo4FitModelPolynom(), and TModelTemplate::TModelTemplate().
TGo4FitModel::TGo4FitModel | ( | const char * | iName, |
const char * | iTitle, | ||
Bool_t | MakeAmplitude = kFALSE ) |
Creates TGo4FitModel object with given name.
Standard constructor. Add amplitude parameter, if specified. TGo4FitModel object should not be used directly. It is only basic class for concrete implementations like gaussians, polynoms and so on.
Definition at line 61 of file TGo4FitModel.cxx.
References TGo4FitComponent::TGo4FitComponent(), fbAbsoluteEps, fbIntegrScaling, fbNeedToRebuild, fdIntegrEps, fiGroupIndex, fiMaxIntegrDepth, fiMinIntegrDepth, fxAllPars, fxAllParsValues, fxAssigments, fxCurrentPars, fxCurrentParsArray, and TGo4FitComponent::NewAmplitude().
|
virtual |
Delete TGo4FitModel object.
Definition at line 71 of file TGo4FitModel.cxx.
References RemoveAllPars().
Bool_t TGo4FitModel::AddModelToDataResult | ( | TGo4FitData * | data | ) |
Evaluate model values for all data point and add them to result buffer.
Data should be initialized.
Definition at line 447 of file TGo4FitModel.cxx.
References AfterEval(), BeforeEval(), TGo4FitData::BuffersAllocated(), EvaluateAtPoint(), TGo4FitComponent::GetAmplValue(), TGo4FitData::GetBinsResult(), TGo4FitData::GetBinsSize(), GetModelBins(), GetRatioValueFor(), and TGo4FitData::GetScalesSize().
Referenced by TGo4Fitter::RebuildAll().
|
inlinevirtual |
Clear buffers, which were created by BeforeEval() method.
Reimplemented in TGo4FitModelFormula, TGo4FitModelFromData, TGo4FitModelFunction, TGo4FitModelGaussN, and TGo4FitModelPolynom.
Definition at line 255 of file TGo4FitModel.h.
Referenced by AddModelToDataResult(), TGo4FitModelFunction::AfterEval(), TGo4Fitter::CalculatesIntegral(), TGo4Fitter::CalculatesMomentums(), TGo4FitAmplEstimation::CalculateWithIterators(), TGo4Fitter::CreateDrawObject(), Evaluate(), Evaluate(), Evaluate(), Evaluate(), and RebuildShape().
|
inline |
Returns name of data, to which model object is assigned.
Definition at line 131 of file TGo4FitModel.h.
References GetAssigment().
Referenced by TGo4Fitter::CalculatesModelIntegral(), TGo4FitAmplEstimation::CalculateWithBuffers(), TGo4FitAmplEstimation::CalculateWithIterators(), TGo4FitPanel::Cmd_AddRangeCondition(), TGo4Fitter::CollectAllPars(), TGo4FitPanel::FindPadWhereModel(), TGo4FitPanel::LocateModel(), TGo4FitPanel::SetItemText(), TGo4FitPanel::ShowItemAsGraph(), and TGo4FitPanel::UpdateWizPaint().
void TGo4FitModel::AssignToData | ( | const char * | DataName, |
Double_t | RatioValue = 1., | ||
Bool_t | FixRatio = kFALSE ) |
Assign model to specified data object.
When model assigns to more then one data, additional "Ratio1", "Ratio2" and so on parameters will be created. They means ratio in amplitude of model component in this data to amplitude of this component in data, to which model was assigned first. By default, this ratio is 1. and not fixed.
Definition at line 93 of file TGo4FitModel.cxx.
References FindAssigment(), fxAssigments, TGo4FitAssignment::fxRatio, GetRatioName(), NumAssigments(), TGo4FitParameter::SetFixed(), and TGo4FitNamed::SetOwner().
Referenced by TGo4Fitter::AddModel(), TGo4Fitter::AssignModelTo(), BuildFitter(), and TGo4FitPanel::CreateModel().
|
virtual |
Prepares (if necessary) some intermediate variables to be able calculate values of model via EvalN() function.
Number of axis, which will be used in evaluations, should be specified.
Reimplemented in TGo4FitModelFormula, TGo4FitModelFromData, TGo4FitModelFunction, TGo4FitModelGauss1, TGo4FitModelGauss2, TGo4FitModelGaussN, and TGo4FitModelPolynom.
Definition at line 478 of file TGo4FitModel.cxx.
References fxCurrentPars, fxCurrentParsArray, TGo4FitComponent::GetAmplPar(), TGo4FitParsList::GetParsValues(), and NumPars().
Referenced by AddModelToDataResult(), TGo4FitModelFunction::BeforeEval(), TGo4Fitter::CalculateFCN(), TGo4Fitter::CalculatesIntegral(), TGo4Fitter::CalculatesMomentums(), TGo4FitAmplEstimation::CalculateWithIterators(), TGo4Fitter::CreateDrawObject(), Evaluate(), Evaluate(), Evaluate(), Evaluate(), and RebuildShape().
|
protected |
Checks if model allocate buffers for calculations.
Definition at line 270 of file TGo4FitModel.cxx.
References GetAssigment(), and NumAssigments().
Referenced by TGo4Fitter::ModelBuffersAllocated().
void TGo4FitModel::ChangeDataNameInAssignments | ( | const char * | oldname, |
const char * | newname ) |
Change name of data in assignments.
Definition at line 108 of file TGo4FitModel.cxx.
References FindAssigment().
Referenced by TGo4Fitter::ChangeDataNameInAssignments().
|
inline |
Definition at line 154 of file TGo4FitModel.h.
References ClearAssignmentTo().
void TGo4FitModel::ClearAssignments | ( | ) |
Remove all assignments.
Definition at line 137 of file TGo4FitModel.cxx.
References fxAssigments.
Referenced by TGo4Fitter::AssignModelTo(), TGo4Fitter::ClearModelAssignmentTo(), and TGo4FitPanel::Cmd_ClearAssigments().
void TGo4FitModel::ClearAssignmentTo | ( | const char * | DataName | ) |
Remove assignment to given data (if exists).
Definition at line 115 of file TGo4FitModel.cxx.
References FindAssigment(), fxAssigments, TGo4FitAssignment::fxRatio, GetAssigment(), GetRatioName(), and NumAssigments().
Referenced by TXXXCalibPar::TXXXCalibPar(), ClearAssigmentTo(), TGo4Fitter::ClearModelAssignmentTo(), TGo4FitPanel::Cmd_ClearAssigment(), and TGo4Fitter::DeleteModelsAssosiatedTo().
void TGo4FitModel::ConnectToDataIfAssigned | ( | TGo4FitData * | data | ) |
Check, if model assigned to such a data (via name) and store pointer on this data object.
Definition at line 143 of file TGo4FitModel.cxx.
References FindAssigment(), and TGo4FitAssignment::fxData.
Referenced by TGo4Fitter::InitFitterData().
|
virtual |
Calculates value of model according current parameters values and provided axes values.
BeforeEval(), EvalN() & AfterEval() virtual methods provides general interface, where user-specific code should be situated.
Reimplemented in TGo4FitModelFormula, TGo4FitModelFromData, TGo4FitModelGauss1, TGo4FitModelGauss2, TGo4FitModelGaussN, and TGo4FitModelPolynom.
Definition at line 488 of file TGo4FitModel.cxx.
References fxCurrentParsArray, and UserFunction().
Referenced by Evaluate(), Evaluate(), Evaluate(), Evaluate(), and EvaluateAndIntegrate().
|
virtual |
Calculates value of model for given axis values.
Definition at line 525 of file TGo4FitModel.cxx.
References AfterEval(), BeforeEval(), EvalN(), and TGo4FitComponent::GetAmplValue().
|
virtual |
Calculates value of model for given x value.
Definition at line 493 of file TGo4FitModel.cxx.
References AfterEval(), BeforeEval(), EvalN(), and TGo4FitComponent::GetAmplValue().
|
virtual |
Calculates value of model for given x,y values.
Definition at line 503 of file TGo4FitModel.cxx.
References AfterEval(), BeforeEval(), EvalN(), and TGo4FitComponent::GetAmplValue().
|
virtual |
Calculates value of model for given x,y,z values.
Definition at line 514 of file TGo4FitModel.cxx.
References AfterEval(), BeforeEval(), EvalN(), and TGo4FitComponent::GetAmplValue().
|
protected |
Make integration of model inside given point, if integration specified.
Definition at line 284 of file TGo4FitModel.cxx.
References EvalN(), fbAbsoluteEps, fbIntegrScaling, fdIntegrEps, fiMaxIntegrDepth, and fiMinIntegrDepth.
Referenced by EvaluateAtPoint(), and EvaluateAtPoint().
|
virtual |
Evaluate model value for point, specified by current values of iterator.
Reimplemented in TGo4FitModelFromData.
Definition at line 388 of file TGo4FitModel.cxx.
References TGo4FitComponent::CheckRangeConditions(), and EvaluateAndIntegrate().
|
virtual |
Evaluate model value for specified data point.
All scales values will be take from data buffers, therefore data should be initialized.
Reimplemented in TGo4FitModelFromData.
Definition at line 377 of file TGo4FitModel.cxx.
References TGo4FitComponent::CheckRangeConditions(), EvaluateAndIntegrate(), TGo4FitData::GetScalesSize(), TGo4FitData::GetScaleValues(), and TGo4FitData::GetWidthValues().
Referenced by AddModelToDataResult(), TGo4Fitter::CalculateFCN(), TGo4Fitter::CalculatesIntegral(), TGo4Fitter::CalculatesMomentums(), TGo4FitAmplEstimation::CalculateWithIterators(), TGo4Fitter::CreateDrawObject(), and RebuildShape().
|
protectedvirtual |
Deletes all buffers, created during initialization.
Reimplemented in TGo4FitModelFormula, and TGo4FitModelFunction.
Definition at line 253 of file TGo4FitModel.cxx.
References fxCurrentPars, TGo4FitAssignment::fxModelBins, TGo4FitAssignment::fxModelMask, GetAssigment(), NumAssigments(), and RemoveAllPars().
Referenced by TGo4FitModelFormula::Finalize(), TGo4FitModelFunction::Finalize(), and TGo4Fitter::FinalizeFitterData().
|
private |
Find assignment to given data.
Definition at line 550 of file TGo4FitModel.cxx.
References GetAssigment(), and NumAssigments().
Referenced by AssignToData(), ChangeDataNameInAssignments(), ClearAssignmentTo(), ConnectToDataIfAssigned(), GetModelBins(), GetRatioValueFor(), and IsAssignTo().
|
overrideprotectedvirtual |
Reimplemented from TGo4FitParsList.
Definition at line 84 of file TGo4FitModel.cxx.
References TGo4FitAssignment::fxRatio, TGo4FitParsList::Get(), GetAssigment(), NumAssigments(), and TGo4FitParsList::NumPars().
Referenced by GetPosPar(), and GetWidthPar().
|
inlineprivate |
Return TGo4FitAssignment object with given index.
Definition at line 392 of file TGo4FitModel.h.
References fxAssigments.
Referenced by AssignmentName(), BuffersAllocated(), ClearAssignmentTo(), Finalize(), FindAssigment(), Get(), GetAssignedConnection(), Initialize(), and RebuildShape().
|
inlineprivate |
Definition at line 393 of file TGo4FitModel.h.
References fxAssigments.
|
protected |
Return pointer on assigned data.
Definition at line 152 of file TGo4FitModel.cxx.
References TGo4FitAssignment::fxData, and GetAssigment().
Referenced by TGo4FitModelFromData::Initialize().
|
protected |
Definition at line 540 of file TGo4FitModel.cxx.
References TGo4FitData::GetFullIndex().
Referenced by TGo4FitModelFromData::EvaluateAtPoint().
|
protected |
Definition at line 545 of file TGo4FitModel.cxx.
References TGo4FitData::GetIndexesSize().
Referenced by TGo4FitModelFromData::EvaluateAtPoint().
|
inline |
Returns group index of model.
Definition at line 121 of file TGo4FitModel.h.
References fiGroupIndex.
Referenced by TGo4FitPanel::Button_FitterDraw(), TGo4Fitter::CreateDrawObject(), TGo4FitPanel::FillNamedWidget(), and TGo4FitPanel::UpdateWizStackWidget().
|
protected |
Get model bins for specified data (if exists)
Definition at line 278 of file TGo4FitModel.cxx.
References FindAssigment(), and TGo4FitAssignment::fxModelBins.
Referenced by AddModelToDataResult(), and TGo4Fitter::GetModelBinsValues().
|
virtual |
Return position of model, if exists.
Definition at line 158 of file TGo4FitModel.cxx.
References GetPosPar(), and TGo4FitParameter::GetValue().
Referenced by TGo4FitPanel::Button_FitterDraw(), TGo4FitPanel::FillParsTable(), TGo4FitPanel::PaintModel(), and TGo4Fitter::PrintLines().
|
inlineprotectedvirtual |
Return parameter (if exist), which represent position of model for given axis.
Definition at line 345 of file TGo4FitModel.h.
References Get(), and GetPosParIndex().
Referenced by GetPosition(), and SetPosition().
|
inlineprotectedvirtual |
Return index of parameter (if exist), which represent position of model for given axis.
Reimplemented in TGo4FitModelFormula, TGo4FitModelFunction, TGo4FitModelGauss1, TGo4FitModelGauss2, and TGo4FitModelGaussN.
Definition at line 335 of file TGo4FitModel.h.
Referenced by GetPosPar().
|
private |
Set name of ratio parameter.
Definition at line 558 of file TGo4FitModel.cxx.
Referenced by AssignToData(), and ClearAssignmentTo().
Double_t TGo4FitModel::GetRatioValueFor | ( | const char * | DataName | ) |
Returns ratio value for specified data object.
Return 1., if model not assign to data.
Definition at line 565 of file TGo4FitModel.cxx.
References FindAssigment(), and TGo4FitAssignment::RatioValue().
Referenced by AddModelToDataResult(), TGo4Fitter::CalculateFCN(), TGo4Fitter::CalculatesIntegral(), TGo4Fitter::CalculatesMomentums(), TGo4FitAmplEstimation::CalculateWithIterators(), and TGo4Fitter::CreateDrawObject().
|
virtual |
Returns with of model component, if exists.
Definition at line 176 of file TGo4FitModel.cxx.
References TGo4FitParameter::GetValue(), and GetWidthPar().
Referenced by TGo4FitPanel::Button_FitterDraw(), TGo4FitPanel::FillParsTable(), TGo4FitPanel::PaintModel(), and TGo4Fitter::PrintLines().
|
inlineprotectedvirtual |
Return parameter (if exist), which represent width of model component for given axis.
Definition at line 351 of file TGo4FitModel.h.
References Get(), and GetWidthParIndex().
Referenced by GetWidth(), and SetWidth().
|
inlineprotectedvirtual |
Return index of parameter (if exist), which represent width of model component for given axis.
Reimplemented in TGo4FitModelFormula, TGo4FitModelFunction, TGo4FitModelGauss1, TGo4FitModelGauss2, and TGo4FitModelGaussN.
Definition at line 340 of file TGo4FitModel.h.
Referenced by GetWidthPar().
|
protectedvirtual |
Initialize model object.
If usage of buffers is specified (UseBuffers>0), method creates a number of buffers for representing model bins for each data, to which model was assign to.
Reimplemented in TGo4FitModelFormula, TGo4FitModelFromData, and TGo4FitModelFunction.
Definition at line 218 of file TGo4FitModel.cxx.
References TGo4FitParsList::TGo4FitParsList(), TGo4FitData::ApplyRangesForModelMask(), TGo4FitData::BuffersAllocated(), TGo4FitComponent::CollectParsTo(), fxAllPars, fxAllParsValues, TGo4FitAssignment::fxData, TGo4FitAssignment::fxModelBins, TGo4FitAssignment::fxModelMask, GetAssigment(), TGo4FitData::GetBinsSize(), TGo4FitComponent::GetUseBuffers(), TGo4FitComponent::IsAnyRangeLimits(), NumAssigments(), RemoveAllPars(), and SetNeedToRebuild().
Referenced by TGo4Fitter::InitFitterData(), TGo4FitModelFormula::Initialize(), TGo4FitModelFromData::Initialize(), and TGo4FitModelFunction::Initialize().
|
virtual |
Calculates integral of model component.
Reimplemented in TGo4FitModelGauss1.
Definition at line 535 of file TGo4FitModel.cxx.
Referenced by TGo4FitPanel::FillParsTable(), and TGo4FitPanel::Wiz_GetModelInfo().
|
inline |
Checks, if model assigned to given data.
Definition at line 143 of file TGo4FitModel.h.
References FindAssigment().
Referenced by TGo4FitPanel::Button_FitterDraw(), TGo4Fitter::CalculateNDF(), TGo4FitAmplEstimation::CalculateWithIterators(), TGo4Fitter::CreateDrawObject(), TGo4Fitter::DeleteModelsAssosiatedTo(), TGo4Fitter::Draw(), TGo4FitPanel::FillPopupForItem(), QFitDataWidget::FillSpecificData(), QFitterWidget::FillSpecificData(), TGo4FitPanel::PaintModelsFor(), TGo4Fitter::RebuildAll(), TXXXCalibPar::UpdateFrom(), TGo4FitPanel::UpdateWizModelsList(), TGo4FitPanel::UpdateWizStackWidget(), TGo4FitPanel::Wiz_GetModelInfo(), TGo4FitPanel::Wiz_ModelList_itemChanged(), and TGo4FitPanel::Wiz_ModelListSelect().
|
inline |
Returns kTRUE, if integration properties were specified.
Definition at line 238 of file TGo4FitModel.h.
References fiMaxIntegrDepth, and fiMinIntegrDepth.
|
inline |
Returns number of assignment for this model.
Definition at line 126 of file TGo4FitModel.h.
References fxAssigments.
Referenced by AssignToData(), BuffersAllocated(), TGo4FitAmplEstimation::CalculateWithBuffers(), TGo4FitAmplEstimation::CalculateWithIterators(), ClearAssignmentTo(), TGo4FitPanel::Cmd_AddRangeCondition(), TGo4Fitter::CollectAllPars(), TGo4Fitter::DeleteModelsAssosiatedTo(), Finalize(), FindAssigment(), TGo4FitPanel::FindPadWhereModel(), Get(), Initialize(), TGo4FitModelFromData::Initialize(), TGo4FitPanel::LocateModel(), NumPars(), RebuildShape(), TGo4FitPanel::ShowItemAsGraph(), TGo4FitPanel::UpdateItem(), and TGo4FitPanel::UpdateWizPaint().
|
overridevirtual |
Return number of parameters in list.
Reimplemented from TGo4FitParsList.
Definition at line 76 of file TGo4FitModel.cxx.
References NumAssigments(), and TGo4FitParsList::NumPars().
Referenced by BeforeEval(), TGo4FitModelFormula::BeforeEval(), TGo4FitPanel::Button_FitterDraw(), and TGo4FitModelFormula::CompileFormula().
|
override |
Print information about model object on standard output.
Definition at line 571 of file TGo4FitModel.cxx.
References fbAbsoluteEps, fdIntegrEps, fiMaxIntegrDepth, fiMinIntegrDepth, fxAssigments, and TGo4FitComponent::Print().
Referenced by TGo4FitModelFormula::Print(), TGo4FitModelFromData::Print(), TGo4FitModelFunction::Print(), TGo4FitModelGauss1::Print(), TGo4FitModelGauss2::Print(), TGo4FitModelGaussN::Print(), and TGo4FitModelPolynom::Print().
|
protected |
Recalculates shape of object.
Definition at line 399 of file TGo4FitModel.cxx.
References AfterEval(), BeforeEval(), EvaluateAtPoint(), fbNeedToRebuild, fxAllPars, fxAllParsValues, TGo4FitAssignment::fxData, TGo4FitAssignment::fxModelBins, TGo4FitAssignment::fxModelMask, TGo4FitComponent::GetAmplIndex(), GetAssigment(), TGo4FitData::GetBinsSize(), TGo4FitData::GetScalesSize(), NumAssigments(), and TGo4FitAssignment::RatioValue().
Referenced by TGo4Fitter::RebuildAll().
|
private |
Clear all buffers, allocated during initialization.
Definition at line 206 of file TGo4FitModel.cxx.
References fxAllPars, and fxAllParsValues.
Referenced by ~TGo4FitModel(), Finalize(), and Initialize().
|
inline |
Set group index to background (index = 0).
Definition at line 116 of file TGo4FitModel.h.
References fiGroupIndex.
Referenced by TGo4FitModelPolynom::TGo4FitModelPolynom(), TGo4FitModelPolynom::TGo4FitModelPolynom(), TGo4FitModelPolynom::TGo4FitModelPolynom(), TGo4FitModelPolynom::TGo4FitModelPolynom(), and TGo4FitPanel::Wiz_BackgroundChk_toggled().
|
inline |
Set group index of model.
Models, having same group index, can be displayed together If index = -1, models are not belongs to any group index = 0 reserved for "Background" group. All polynoms gets background group index. By default index = -1
Definition at line 111 of file TGo4FitModel.h.
References fiGroupIndex.
Referenced by TGo4Fitter::AddPolynoms(), TGo4Fitter::AddPolynomX(), TGo4Fitter::AddPolynomX(), TGo4FitPanel::ChangeModelPar(), and TGo4FitPanel::Wiz_BackgroundChk_toggled().
void TGo4FitModel::SetIntegrationsProperty | ( | Int_t | iMinIntegrDepth, |
Int_t | iMaxIntegrDepth = 0, | ||
Double_t | iIntegrEps = 0., | ||
Bool_t | iAbsoluteEps = kFALSE, | ||
Bool_t | iIntegrScaling = kFALSE ) |
Set integration properties.
This function make sense, if model assign to histogramic data. In this case each bins defined on some finite range. By default there is no integration and model uses central positions in each range, where data bins is defined. If model changes much in these ranges, it may cause big error in modeling. In this case integration inside each data bin ranges can highly reduce these errors. To make integration, bin range on each axis divides on (2^depth) segments and value of model calculates in each segments. Thus, if data bins defined on two-dimensional space and depth=3, each bins range were diveded on 8x8=64 squares and model will be calculated 64 times. MinIntegrDepth and MaxIntegrDepth means minimum and maximum allowed integration depth correspondingly. If MaxIntegrDepth not specified, it will be equal to MinIntegrDepth. If MinIntegrDepth less then MaxIntegrDepth, model will try to use minimum value first. Then it checks, if result value changes not very much. If so, it finish calculation, otherwise it increases depth of integration up to MaxIntegrDepth. IntegrEps sets maximum allowed error in result value. It can be absolute (when AbsoluteEps = kTRUE) or relative to previous calculated value (with depth-1). Value of each bin also can be scaled on volume (IntegrScalink = kTRUE, default = kFALSE).
Definition at line 194 of file TGo4FitModel.cxx.
References fbAbsoluteEps, fbIntegrScaling, fdIntegrEps, fiMaxIntegrDepth, and fiMinIntegrDepth.
Referenced by Example9().
|
inlineprotected |
Sets flag, that shape bins should be refilled next time, when RebuildShape() routine will be called.
Definition at line 323 of file TGo4FitModel.h.
References fbNeedToRebuild.
Referenced by Initialize().
|
virtual |
Sets position of model component, if possible.
Definition at line 167 of file TGo4FitModel.cxx.
References GetPosPar(), and TGo4FitParameter::SetValue().
Referenced by Example8(), TGo4FitPanel::LocateModel(), and TGo4FitPanel::ParsTableChanged().
|
virtual |
Sets width of model component, if possible.
Definition at line 185 of file TGo4FitModel.cxx.
References GetWidthPar(), and TGo4FitParameter::SetValue().
Referenced by Example8(), TGo4FitPanel::LocateModel(), and TGo4FitPanel::ParsTableChanged().
|
inlineprotectedvirtual |
Another place, where user specific code can be placed for model values calculation.
Function gets as parameter array of Coordinates and array of Parameters values. Only user-specific calculation should be done and result value should be return.
Reimplemented in TGo4FitModelFunction, and TModelTemplate.
Definition at line 330 of file TGo4FitModel.h.
Referenced by EvalN().
|
friend |
|
protected |
States, if integration precision absolute or relative.
Definition at line 375 of file TGo4FitModel.h.
Referenced by TGo4FitModel(), TGo4FitModel(), EvaluateAndIntegrate(), Print(), and SetIntegrationsProperty().
|
protected |
Scale integral to integration volume.
Definition at line 380 of file TGo4FitModel.h.
Referenced by TGo4FitModel(), TGo4FitModel(), EvaluateAndIntegrate(), and SetIntegrationsProperty().
|
private |
Internal flag.
Signals, when object should be rebuild.
Definition at line 428 of file TGo4FitModel.h.
Referenced by TGo4FitModel(), TGo4FitModel(), RebuildShape(), and SetNeedToRebuild().
|
protected |
Integration precision.
Definition at line 370 of file TGo4FitModel.h.
Referenced by TGo4FitModel(), TGo4FitModel(), EvaluateAndIntegrate(), Print(), and SetIntegrationsProperty().
|
private |
Store group index of specified model.
Definition at line 413 of file TGo4FitModel.h.
Referenced by TGo4FitModel(), TGo4FitModel(), GetGroupIndex(), SetBackgroundGroupIndex(), and SetGroupIndex().
|
protected |
Maximum integration depth.
Definition at line 365 of file TGo4FitModel.h.
Referenced by TGo4FitModel(), TGo4FitModel(), EvaluateAndIntegrate(), NeedIntegration(), Print(), and SetIntegrationsProperty().
|
protected |
Minimum depth of integration.
Definition at line 360 of file TGo4FitModel.h.
Referenced by TGo4FitModel(), TGo4FitModel(), EvaluateAndIntegrate(), NeedIntegration(), Print(), and SetIntegrationsProperty().
|
private |
List of all parameters, associated not only with component directly but also with encapsulated objects.
Definition at line 433 of file TGo4FitModel.h.
Referenced by TGo4FitModel(), TGo4FitModel(), Initialize(), RebuildShape(), and RemoveAllPars().
|
private |
Definition at line 435 of file TGo4FitModel.h.
Referenced by TGo4FitModel(), TGo4FitModel(), Initialize(), RebuildShape(), and RemoveAllPars().
|
private |
List of TGo4FitAssignment objects.
Definition at line 408 of file TGo4FitModel.h.
Referenced by TGo4FitModel(), TGo4FitModel(), AssignToData(), ClearAssignments(), ClearAssignmentTo(), GetAssigment(), GetAssigment(), NumAssigments(), and Print().
|
private |
Array of values of parameters.
Definition at line 418 of file TGo4FitModel.h.
Referenced by TGo4FitModel(), TGo4FitModel(), BeforeEval(), and Finalize().
|
private |
Pointer on array of parameters values.
Definition at line 423 of file TGo4FitModel.h.
Referenced by TGo4FitModel(), TGo4FitModel(), BeforeEval(), and EvalN().