GSI Object Oriented Online Offline (Go4) GO4-6.4.0
|
Special object to approximate ridges on multi-dimensional histograms. More...
#include <TGo4FitDataRidge.h>
Public Member Functions | |
TGo4FitDataRidge () | |
Default constructor. | |
TGo4FitDataRidge (const char *iName, TGo4FitData *Data=nullptr, Int_t SelectedAxis=1) | |
Creates TGo4FitDataRidge object with given name. | |
virtual | ~TGo4FitDataRidge () |
Destroys TGo4FitDataRidge object. | |
void | FillSlotList (TSeqCollection *list) override |
Add pointer on slot, which should contain TGo4FitData object, to list of slots. | |
TGo4FitData * | GetData () const |
Returns pointer on TGo4FitData object. | |
Int_t | GetSelectedAxis () const |
Returns number of selected axis. | |
std::unique_ptr< TGo4FitDataIter > | MakeIter () override |
Create TGo4FitDataRidgeIter iterator, associated with given data object. | |
virtual void | Print (Option_t *option="") const override |
Print information to standard output. | |
void | SetData (TGo4FitData *iData, Bool_t Owned) |
Sets pointer on TGo4FitData object and ownership flag. | |
void | SetSelectedAxis (Int_t naxis) |
Sets number of axis, which selected as "ridge altitude". | |
![]() | |
TGo4FitData () | |
Default constructor. | |
TGo4FitData (const char *iName, const char *iTitle, Int_t iDataType=dtHistogram, Bool_t AddAmpl=kFALSE) | |
Creates TGo4FitData object with given name and title. | |
virtual | ~TGo4FitData () |
Destroys TGo4FitData object. | |
void | AddAxisTrans (TGo4FitAxisTrans *Trans, Bool_t TransOwned=kFALSE) |
Add transformation object to data. | |
void | ApplyRangesForModelMask (TGo4FitComponent *model, Char_t *ModelMask) |
Exclude points from model according model range conditions. | |
Bool_t | CanAmplTouch () override |
Always return kTRUE. | |
TObject * | CreateDrawObject (const char *ObjName) |
Creates object, which can be drawn on canvas by ROOT. | |
Int_t | DefineBinsSize () |
Defines number of selected bins in data Creates iterator and sequentially checks all points. | |
Int_t | DefineDimensions () |
Define dimension number of data Create iterator and checks number of dimension. | |
Bool_t | DefineScaleMinMax (Int_t naxis, Double_t &min, Double_t &max) |
Return scales minimum and maximum for specified axis. | |
TGo4FitAxisTrans * | GetAxisTrans (Int_t nslot) const |
Return transformation object for given slot. | |
TGo4FitSlot * | GetAxisTransSlot (Int_t nslot) const |
Return slot for transformation object. | |
Int_t | GetDataType () const |
Returns type of data source. | |
Double_t | GetExcludeLessThen () const |
Returns limit, which uses to exclude bins, less then this limit. | |
Int_t | GetNumberOfTransSlots () const |
Return number of slots for scale transformation objects. | |
Int_t | GetSigmaSource () const |
Return source of sigma values. | |
Double_t | GetSigmaValue () const |
Return constant sigma value. | |
Bool_t | GetUseBinScale () const |
Returns kTRUE, if binary numbers used as scale values. | |
virtual Bool_t | IsAnyDataTransform () const |
Return kTRUE, if either initial data axis or data bins are transformed by TGo4FitData object. | |
Bool_t | IsCompatibleData (TGo4FitData *data) |
Checks, if data has same dimensions number and size of each dimensions. | |
void | Print (Option_t *option="") const override |
Display information about data object on standard output. | |
void | SetAxisTrans (Int_t nslot, TGo4FitAxisTrans *Trans, Bool_t TransOwned=kFALSE) |
Sets transformation object for given slot. | |
void | SetAxisTransNeeded (Int_t nslot, Bool_t iNeeded=kFALSE) |
Specified, when iNeeded = kTRUE, that transformation object should always be provided to data. | |
void | SetExcludeLessThen (Double_t limit=0.) |
Sets limit to exclude bins, which not less then this limit. | |
Bool_t | SetNumberOfTransSlots (Int_t nslots) |
Sets number of slots for scale transformation objects. | |
void | SetSigmaSource (Int_t TakeFrom, Double_t SigmaValue=1.) |
Sets source of sigma for data. | |
void | SetSigmaValue (Double_t SigmaValue) |
Set constant sigma value. | |
void | SetUseBinScale (Bool_t iUseBinScale) |
If kTRUE, binary numbers will be used as scale values. | |
![]() | |
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. | |
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. | |
virtual Int_t | NumPars () |
Return number of parameters in list. | |
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. | |
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 Attributes | |
Int_t | fiSelectedAxis {0} |
Number of selected as ridge axis. | |
TGo4FitSlot | fxData |
Slot for TGo4FitData object. | |
![]() | |
Bool_t | fbUseBinScale {kFALSE} |
Use binary numbers as scale values. | |
Double_t | fdExcludeLessThen {0} |
Sets limit for exclude bins, which less then this limit. | |
Double_t | fdSigmaValue {0} |
Value of sigma when fiTakeSigmasFrom = 2. | |
Int_t | fiDataType {0} |
Specified type of data: 0 - Histogram, 1 - graphics, 2 and so on - user defined. | |
Int_t | fiTakeSigmasFrom {0} |
Specify sigma source. | |
TObjArray | fxAxisTrans |
Array of slots for scale transformation objects. | |
![]() | |
Bool_t | fbUpdateSlotList {kFALSE} |
TObjArray * | fxSlotList {nullptr} |
Additional Inherited Members | |
![]() | |
enum | { dtHistogram = 1 , dtGraph = 2 } |
![]() | |
Bool_t | BuffersAllocated () const |
Checks, if buffers allocated for data. | |
virtual void | Finalize () |
Removes all buffers, created in initialize() routine. | |
Double_t * | GetBinsDevs () const |
Returns pointer on buffer with standard deviations for each data bins. | |
Double_t * | GetBinsResult () const |
Returns pointer on buffer with complete model of data bins. | |
Int_t | GetBinsSize () const |
Return number of data bins in buffers. | |
Double_t * | GetBinsValues () const |
Returns pointer on buffer with data bins values. | |
const Int_t * | GetFullIndex (Int_t nbin) const |
Return indexes values for specified data bin from buffer. | |
Int_t | GetIndexesSize () const |
Returns dimension of indexes arrays. | |
Int_t | GetScalesSize () const |
Returns number of axis values for each point. | |
const Double_t * | GetScaleValues (Int_t nbin) const |
Return scale values for specified index from buffer. | |
const Double_t * | GetWidthValues (Int_t nbin) const |
Return scales width values for specified index from buffer. | |
virtual Bool_t | Initialize (Int_t UseBuffers=-1) |
Initialize data object. | |
![]() | |
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) |
virtual TGo4FitParameter * | Get (Int_t n) |
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 () |
Special object to approximate ridges on multi-dimensional histograms.
Ridge means that some coordinate in multidimensional histograms can be represented as function of another coordinate(s) like y = f(x). If one has histogram, build in (x,y) space, one can try to approximate function f by several way.
First simplest way, which works for two-dimensional way is to build TProfile from TH2 object, averaging data along y axis. Then TGo4FitDataProfile can be used to approximate TProfile by any kind of functional dependency.
Another way is usage of TGo4FitDataRidge object. It selects one of histogram coordinate and use histogram as a set of measured points y(x) with different statistical weights, reverse proportinal to bin content of histogram at (x,y). Then this set of points can be again approximate of any kind of functional dependency from one coordinate. This simplest case can be extend to N-dimensions. In this case one of coordinate is a functions of the rest. This means, that this corrdinate can be approximate by function with N-1 coordinates.
To obtain data, TGo4FitDataRidge object internally uses another TGo4FitData, which should provide histogram. Currently only TGo4FitDataHistogram object can be used for this purposes.
Definition at line 33 of file TGo4FitDataRidge.h.
TGo4FitDataRidge::TGo4FitDataRidge | ( | ) |
Default constructor.
Definition at line 18 of file TGo4FitDataRidge.cxx.
References TGo4FitData::TGo4FitData(), fiSelectedAxis, and fxData.
TGo4FitDataRidge::TGo4FitDataRidge | ( | const char * | iName, |
TGo4FitData * | Data = nullptr, | ||
Int_t | SelectedAxis = 1 ) |
Creates TGo4FitDataRidge object with given name.
Pointer on TGo4FitData object, which should provide histogramic data, can be specified. Also axis number, which uses as ridge coordinate, can be specified. By default y-axis is used as ridge.
Definition at line 20 of file TGo4FitDataRidge.cxx.
References TGo4FitData::TGo4FitData(), TGo4FitData::dtGraph, fiSelectedAxis, fxData, and TGo4FitData::SetExcludeLessThen().
|
virtual |
Destroys TGo4FitDataRidge object.
Definition at line 28 of file TGo4FitDataRidge.cxx.
|
overridevirtual |
Add pointer on slot, which should contain TGo4FitData object, to list of slots.
Reimplemented from TGo4FitData.
Definition at line 35 of file TGo4FitDataRidge.cxx.
References TGo4FitData::FillSlotList(), fxData, and GetData().
|
inline |
Returns pointer on TGo4FitData object.
Definition at line 61 of file TGo4FitDataRidge.h.
References TGo4FitData::TGo4FitData(), and fxData.
Referenced by FillSlotList(), and Print().
|
inline |
Returns number of selected axis.
Definition at line 71 of file TGo4FitDataRidge.h.
References fiSelectedAxis.
|
overridevirtual |
Create TGo4FitDataRidgeIter iterator, associated with given data object.
Reimplemented from TGo4FitData.
Definition at line 30 of file TGo4FitDataRidge.cxx.
|
overridevirtual |
Print information to standard output.
Definition at line 43 of file TGo4FitDataRidge.cxx.
References fiSelectedAxis, GetData(), and TGo4FitData::Print().
|
inline |
Sets pointer on TGo4FitData object and ownership flag.
Definition at line 56 of file TGo4FitDataRidge.h.
References TGo4FitData::TGo4FitData(), and fxData.
|
inline |
Sets number of axis, which selected as "ridge altitude".
Definition at line 66 of file TGo4FitDataRidge.h.
References fiSelectedAxis.
|
protected |
Number of selected as ridge axis.
Definition at line 98 of file TGo4FitDataRidge.h.
Referenced by TGo4FitDataRidge(), TGo4FitDataRidge(), GetSelectedAxis(), Print(), and SetSelectedAxis().
|
protected |
Slot for TGo4FitData object.
Definition at line 93 of file TGo4FitDataRidge.h.
Referenced by TGo4FitDataRidge(), TGo4FitDataRidge(), FillSlotList(), GetData(), and SetData().