11#include "KVTGIDGrid.h"
17#include "KVTGIDFunctions.h"
52 gROOT->GetListOfFunctions()->Remove(
this);
131 ((
KVTGID&)obj).Copy(*
this);
213 ID = ID_quality = -1.;
216 if (
Eval(ID_min) *
Eval(ID_max) < 0.) {
220 ID =
GetX(0., ID_min, ID_max);
269 for (
Int_t i = 0; i < npoints; i++) {
305 " object for identification using Tassan-Got functional" << endl;
306 cout <<
"Limits for fit : fID_min = " <<
GetIDmin() <<
" fID_max = " <<
347 "point to identify outside of identification range of function"
351 return messages[status];
352 return Form(
"no call to GetIdentification() performed yet");
463 _tgid_->
fBeta = npar++;
464 _tgid_->
fMu = npar++;
465 _tgid_->
fNu = npar++;
466 _tgid_->
fXi = npar++;
469 _tgid_->
fMu = npar++;
472 _tgid_->
fPdx = npar++;
473 _tgid_->
fPdy = npar++;
474 if (light) _tgid_->
fEta = npar++;
575 for (
Int_t ipar = 0; ipar < npar; ipar++) {
678 for (
Int_t ipar = 0; ipar < npar; ipar++) {
714 return type ? (light ? 10 : 9) : (light ? 6 : 5);
762 gridfile <<
"++KVTGID::" <<
GetName() << endl;
765 gridfile <<
"ZorA=" <<
GetZorA() << endl;
772 gridfile <<
"<VARX> " <<
GetVarX() << endl;
773 gridfile <<
"<VARY> " <<
GetVarY() << endl;
780 gridfile <<
Form(
"Beta=%20.13e",
GetBeta()) << endl;
782 gridfile <<
Form(
"Mu=%20.13e",
GetMu()) << endl;
784 gridfile <<
Form(
"Nu=%20.13e",
GetNu()) << endl;
785 gridfile <<
Form(
"Xi=%20.13e",
GetXi()) << endl;
787 gridfile <<
Form(
"G=%20.13e",
GetG()) << endl;
788 gridfile <<
Form(
"Pdx=%20.13e",
GetPdx()) << endl;
789 gridfile <<
Form(
"Pdy=%20.13e",
GetPdy()) << endl;
791 gridfile <<
Form(
"Eta=%20.13e",
GetEta()) << endl;
793 gridfile <<
"!" << endl << endl;
804 return l.Next(kTRUE);
819 Int_t Ftyp, Flite, FZorA, Fmass;
820 FZorA = Fmass = Ftyp = Flite = 0;
823 line.ReadLine(gridfile);
826 line.ReadLine(gridfile);
827 buff = GetValue(
line,
'=');
829 line.ReadLine(gridfile);
830 buff = GetValue(
line,
'=');
833 line.ReadLine(gridfile);
834 buff = GetValue(
line,
'=');
840 line.ReadLine(gridfile);
841 line.ReadLine(gridfile);
843 line.ReadLine(gridfile);
845 line.ReadLine(gridfile);
849 line.ReadLine(gridfile);
853 line.ReadLine(gridfile);
855 sscanf(
line.Data(),
"ZMIN=%d ZMAX=%d", &zmin, &zmax);
858 Bool_t type1 = (Ftyp == 1);
859 line.ReadLine(gridfile);
860 buff = GetValue(
line,
'=');
863 line.ReadLine(gridfile);
864 buff = GetValue(
line,
'=');
866 line.ReadLine(gridfile);
867 buff = GetValue(
line,
'=');
870 line.ReadLine(gridfile);
871 buff = GetValue(
line,
'=');
874 line.ReadLine(gridfile);
875 buff = GetValue(
line,
'=');
877 line.ReadLine(gridfile);
878 buff = GetValue(
line,
'=');
881 line.ReadLine(gridfile);
882 buff = GetValue(
line,
'=');
884 line.ReadLine(gridfile);
885 buff = GetValue(
line,
'=');
887 line.ReadLine(gridfile);
888 buff = GetValue(
line,
'=');
891 line.ReadLine(gridfile);
892 buff = GetValue(
line,
'=');
895 line.ReadLine(gridfile);
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t g
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type
char * Form(const char *fmt,...)
Base class for KaliVeda framework.
Abstract base class for 2D identification grids in e.g. (dE,E) maps.
Base class for lines/cuts used for particle identification in 2D data maps.
virtual void SetMassFormula(Int_t mf)
Strings used to represent a set of ranges of values.
Extension of ROOT TString class which allows backwards compatibility with ROOT v3....
Base class for charged particle Z & A identfication using functionals developed by L....
Abstract base class for charged particle Z identfication using functionals developed by L....
Abstract base class for particle identfication using functionals developed by L. Tassan-Got (IPN Orsa...
virtual void AddLineToGrid(KVIDGrid *g, Int_t ID, Int_t npoints, Double_t xmin, Double_t xmax, Bool_t log_scale=kFALSE)
@ kStatus_NotBetween_IDMin_IDMax
void SetIDTelescopes(const TCollection *)
Int_t fLight
with (1) or without (0) CsI light-energy dependence
Double_t fID_min
minimum ID fitted with functional
void SetIDmax(Double_t x)
Double_t GetIDmin() const
TString fVarX
quantity used for X coordinates
virtual KVIDLine * AddLine(KVIDGrid *)=0
Int_t fZorA
used for Z (1) or A (0) identification
void SetVarX(const Char_t *x)
static KVTGID * MakeTGID(const Char_t *name, Int_t type, Int_t light, Int_t ZorA, Int_t mass)
void SetLTGParameterNames()
KVNumberList fRuns
list of runs for which fit is valid
const KVNumberList & GetValidRuns() const
Double_t GetLambda() const
Double_t fID_max
maximum ID fitted with functional
void SetEta(Double_t val)
void SetBeta(Double_t val)
Int_t GetLightEnergyDependence() const
Double_t GetIDmax() const
void SetValidRuns(const KVNumberList &r)
void SetIDmin(Double_t x)
void SetPdx(Double_t val)
const Char_t * GetVarX() const
TString fVarY
quantity used for Y coordinates
virtual Int_t GetStatus() const
Int_t Compare(const TObject *obj) const
void WriteToAsciiFile(std::ofstream &) const
Write parameters of LTG fit in file.
Int_t fLambda
indices of parameters
virtual void Copy(TObject &tgid) const
Copy this KVTGID function into the KVTGID object referenced by tgid.
virtual void SetIdent(KVIDLine *, Double_t ID)=0
void SetAlpha(Double_t val)
const Char_t * GetVarY() const
const Char_t * GetFunctionName() const
Int_t fMassFormula
mass formula used to calculate A from Z (if Z identification used)
Int_t fStatus
transient member, holds status code of last call to GetIdentification
Double_t GetDistanceToLine(Double_t x, Double_t y, Int_t id, Double_t *params=0)
void AddIDTelescope(KVBase *tel)
static KVTGID * ReadFromAsciiFile(const Char_t *name, std::ifstream &)
Int_t GetMassFormula() const
TString fTGIDFunctionName
name of KVTGIDFunctions:: namespace function used for identification
void SetVarY(const Char_t *x)
virtual Double_t GetIdentification(Double_t ID_min, Double_t ID_max, Double_t &ID_quality, Double_t *par=0)
KVString fTelescopes
list of telescopes for which fit is valid
virtual const Char_t * GetStatusString() const
Returns explanatory message for value of GetStatus()
void SetLambda(Double_t val)
Int_t fType
type of functional (=0 standard, =1 extended)
void SetLTGParameters(Double_t *par)
static Int_t GetNumberOfLTGParameters(Int_t type, Int_t light)
Double_t GetAlpha() const
Int_t GetFunctionalType() const
virtual void Print(Option_t *option="") const
Print info on functional and grid.
void SetStringTelescopes(const Char_t *s)
void SetPdy(Double_t val)
virtual void Streamer(TBuffer &)
Int_t ReadBuffer(TBuffer &b, void *pointer)
Int_t WriteBuffer(TBuffer &b, void *pointer, const char *info="")
void Print(Option_t *option="") const override
void Copy(TObject &f1) const override
virtual Double_t GetX(Double_t y, Double_t xmin=0, Double_t xmax=0, Double_t epsilon=1.E-10, Int_t maxiter=100, Bool_t logx=false) const
virtual void SetParName(Int_t ipar, const char *name)
virtual void SetParameters(const Double_t *params)
virtual Double_t Eval(Double_t x, Double_t y=0, Double_t z=0, Double_t t=0) const
virtual void SetParameter(const TString &name, Double_t value)
virtual void SetPoint(Int_t i, Double_t x, Double_t y)
const char * GetName() const override
const char * Data() const
void Form(const char *fmt,...)
void function(const Char_t *name_, T fun, const Char_t *docstring=0)
Double_t Max(Double_t a, Double_t b)