KaliVeda
Toolkit for HIC analysis
Loading...
Searching...
No Matches
KVIDZAGrid Class Reference

Detailed Description

Identification grid with lines corresponding to different nuclear isotopes (KVIDZALine)

Such a grid can be used either to identify simultaneously both the mass and charge of detected particles (if lines for several isotopes of each atomic number are drawn), or solely the charge (if only one isotope per Z is drawn, and if SetOnlyZId(kTRUE) is called).

Identification quality codes

After each identification attempt, the value returned by GetQualityCode() indicates whether the identification was successful or not. The meaning of the different codes depends on the type of identification.

Z & A (mass & charge) isotopic identification grid

Z-only charge identification grid

In both cases, an acceptable identification is achieved if the quality code is kICODE0, kICODE1, kICODE2, or kICODE3.
Points with codes kICODE4 or kICODE5 are normally considered as "noise" (pile-up ?) and should be rejected.
Points which are (vertically) out of range for this grid have code kICODE6 (point too far below) or kICODE7 (point too far above).
Points with code kICODE8 are totally out of range.

Definition at line 66 of file KVIDZAGrid.h.

#include <KVIDZAGrid.h>

Inheritance diagram for KVIDZAGrid:

Public Types

enum  {
  kICODE0 , kICODE1 , kICODE2 , kICODE3 ,
  kICODE4 , kICODE5 , kICODE6 , kICODE7 ,
  kICODE8 , kICODE9 , kICODE10
}
 
- Public Types inherited from TGraph
enum  EStatusBits
 
- Public Types inherited from TObject
enum  EDeprecatedStatusBits
 
enum  EStatusBits
 

Public Member Functions

 KVIDZAGrid ()
 default ctor.
 
 KVIDZAGrid (const KVIDZAGrid &)
 Copy constructor.
 
virtual ~KVIDZAGrid ()
 default dtor.
 
virtual void CalculateLineWidths ()
 
virtual void Copy (TObject &) const
 Copy this to 'obj'.
 
virtual TClassDefaultIDLineClass ()
 
void DrawLinesWithWidth ()
 
KVIDLineGetClosestLine () const
 
Double_t GetDistanceClosestLine () const
 
UChar_t GetIndexClosest () const
 
Int_t GetQualityCode () const
 
virtual KVIDZALineGetZALine (Int_t z, Int_t a, Int_t &) const
 
virtual KVIDZALineGetZLine (Int_t z, Int_t &) const
 
Int_t GetZmax () const
 
KVIDZALineGetZmaxLine () const
 
virtual void Identify (Double_t x, Double_t y, KVIdentificationResult *) const
 
virtual void IdentZ (Double_t x, Double_t y, Double_t &Z)
 
virtual void IdentZA (Double_t x, Double_t y, Int_t &Z, Double_t &A)
 
virtual void Initialize ()
 
KVIDGraphMakeSubsetGraph (Int_t Zmin, Int_t Zmax, const Char_t *="")
 virtual void MakeEDeltaEZGrid(Int_t Zmin, Int_t Zmax, Int_t npoints=20, Double_t gamma = 2);//*MENU*
 
KVIDGraphMakeSubsetGraph (TList *, TClass *=0)
 
void ReCheckQuality (Int_t &Z, Double_t &A)
 
void RemoveLine (Int_t Z, Int_t A=-1)
 Remove and destroy identifier.
 
void RemoveZLines (const Char_t *ZList)
 Remove and destroy identifiers.
 
void SetManualWidth (Double_t manual_width=.3, Double_t manual_width_scaling=0.05)
 
void SetVarXVarY (const char *VarX, const char *VarY)
 
- Public Member Functions inherited from KVIDGrid
 KVIDGrid ()
 Default constructor.
 
virtual ~KVIDGrid ()
 
virtual TClassDefaultOKLineClass ()
 
KVIDLineFindNearestEmbracingIDLine (Double_t x, Double_t y, const Char_t *position, const Char_t *axis, Int_t &idx, Int_t &idx_min, Int_t &idx_max, Double_t &dist, Double_t &dist_min, Double_t &dist_max) const
 
KVIDLineFindNearestIDLineFast (Double_t x, Double_t y, const Char_t *position, Int_t &idx, Int_t &idx_min, Int_t &idx_max, Double_t &dist, Double_t &dist_min, Double_t &dist_max) const
 
KVIDLineFindNextEmbracingLine (Int_t &index, Int_t inc_index, Double_t x, Double_t y, const Char_t *axis) const
 
Int_t GetIDLinesEmbracingPoint (const Char_t *direction, Double_t x, Double_t y) const
 
KVIDLineNewLine (const Char_t *idline_class="")
 
- Public Member Functions inherited from KVIDGraph
 KVIDGraph ()
 
 KVIDGraph (const KVIDGraph &)
 Copy constructor.
 
virtual ~KVIDGraph ()
 
virtual Bool_t AcceptIDForTest (const KVIdentificationResult &idr)
 
void Add (TString, KVIDentifier *)
 
KVIDentifierAdd (TString, TString)
 
virtual void AddCut (KVIDentifier *cut)
 
virtual void AddIdentifier (KVIDentifier *id)
 
void AddIDTelescope (KVBase *t)
 
void AddIDTelescopes (const TList *)
 Associate this graph with all ID telescopes in list.
 
virtual void AddInfo (KVIDentifier *info)
 
void AddParameter (char *Name, char *Value)
 
virtual Int_t CheckVersion (Int_t version)
 
virtual void Clear (Option_t *opt="")
 
void ClearListOfTelescopes ()
 
void ClearPad (TVirtualPad *)
 
virtual void Delete (Option_t *option="")
 
void Draw (Option_t *opt="")
 
virtual void DrawAndAdd (const Char_t *type="ID", const Char_t *classname="KVIDentifier")
 
virtual void DrawClass () const
 
virtual TObjectDrawClone (Option_t *option="") const
 
virtual void DrawPanel ()
 
virtual void Dump () const
 
virtual Bool_t ExistVersion (Int_t version)
 
void ExtendBeginningAllIdentLines (Double_t, Option_t *="")
 
void ExtendEndAllIdentLines (Double_t, Option_t *="")
 
void FindAxisLimits ()
 Calculate X/Y min/max of all objects in graph.
 
virtual TFitResultPtr Fit (const char *formula, Option_t *option="", Option_t *goption="", Axis_t xmin=0, Axis_t xmax=0)
 
virtual TFitResultPtr Fit (TF1 *f1, Option_t *option="", Option_t *goption="", Axis_t xmin=0, Axis_t xmax=0)
 
virtual void FitPanel ()
 virtual void SetTitle(const char *title="") {TGraph::SetTitle(title);};
 
KVIDentifierGetCut (const Char_t *name) const
 
KVListGetCuts ()
 
const KVListGetCuts () const
 
KVIDentifierGetIdentifier (const Char_t *name) const
 
KVIDentifierGetIdentifier (Int_t Z, Int_t A) const
 
KVIDentifierGetIdentifierAt (Int_t index) const
 
KVListGetIdentifiers ()
 
const KVListGetIdentifiers () const
 
const Char_tGetIDTelescopeLabel () const
 
const TListGetIDTelescopes () const
 
KVIDentifierGetInfo (const Char_t *name) const
 
KVListGetInfos ()
 
const KVListGetInfos () const
 
KVIDGraphGetLastSavedVersion () const
 
Int_t GetMassFormula () const
 
const Char_tGetName () const
 
const Char_tGetNamesOfIDTelescopes () const
 
Int_t GetNumberOfCuts () const
 
Int_t GetNumberOfIdentifiers () const
 
Int_t GetNumberOfInfos () const
 
TVirtualPadGetPad () const
 
KVNameValueListGetParameters ()
 
const KVNameValueListGetParameters () const
 
TString GetPattern (void)
 
const Char_tGetRunList () const
 
const KVNumberListGetRuns () const
 
Axis_t GetXmax () const
 
Axis_t GetXmin () const
 
Double_t GetXScaleFactor ()
 
Axis_t GetYmax () const
 
Axis_t GetYmin () const
 
Double_t GetYScaleFactor ()
 
Bool_t HandlesIDTelescope (KVBase *t) const
 
virtual Bool_t HasMassIDCapability () const
 
void Increment (Float_t x)
 
virtual Int_t InsertPoint ()
 
virtual void Inspect () const
 
TVirtualPadIsDrawn () const
 
virtual Bool_t IsIdentifiable (Double_t, Double_t, TString *rejected_by=nullptr) const
 
Bool_t IsSorted () const
 
void Modified ()
 
void Print (Option_t *opt="") const
 Print out all objects in graph.
 
void ReadAsciiFile (const Char_t *filename)
 
virtual void ReadAsciiFile_WP (Int_t version=-1)
 lecture des grilles avec version suivant un modele de fichier
 
virtual void ReadFromAsciiFile (std::ifstream &gridfile)
 
void RemoveCut (KVIDentifier *)
 Remove and destroy cut.
 
void RemoveIdentifier (KVIDentifier *)
 Remove and destroy identifier.
 
void RemoveIDTelescope (KVBase *t)
 
void RemoveInfo (KVIDentifier *)
 Remove and destroy cut.
 
virtual Int_t RemovePoint ()
 
virtual Int_t RemovePoint (Int_t i)
 
void ResetDraw ()
 
void ResetPad ()
 
void RevertToLastSavedVersion ()
 
virtual void SaveAs (const char *filename="", Option_t *option="") const
 
void Scale (TF1 *sx, TF1 *sy)
 
virtual void SetDrawOption (Option_t *option="")
 
virtual void SetEditable (Bool_t editable=kTRUE)
 
virtual void SetFillAttributes ()
 
virtual void SetInfos (Double_t, Double_t, KVIdentificationResult *) const
 loop over KVIDGraph::fInfoZones to set flags in KVIdentificationResult
 
virtual void SetLineAttributes ()
 
void SetLineColor (Color_t lcolor)
 
void SetLineStyle (Style_t lstyle)
 
void SetLineWidth (Width_t lwidth)
 
virtual void SetMarkerAttributes ()
 
void SetMassFormula (Int_t)
 
virtual void SetMassIDCapability (Bool_t yes=kTRUE)
 
virtual void SetMaximum (Double_t maximum=-1111)
 
virtual void SetMinimum (Double_t minimum=-1111)
 
virtual void SetName (const char *name)
 
virtual void SetOnlyZId (Bool_t yes=kTRUE)
 
void SetPattern (TString pattern)
 
void SetRunList (const char *runlist)
 
void SetRuns (const KVNumberList &nl)
 Set list of runs for which grid is valid.
 
virtual void SetVarX (const char *v)
 
virtual void SetVarY (const char *v)
 
void SetXScaleFactor (Double_t=0)
 
void SetXVariable (const char *v)
 void SetIDTelescopes();// MENU={Hierarchy="Set.../ID Telescopes"}
 
void SetYScaleFactor (Double_t=0)
 
void SetYVariable (const char *v)
 
void SortIdentifiers ()
 
virtual void TestIdentification (TH2F *data, KVHashList &histos, KVNameValueList &histo_names)
 
void UnDraw ()
 
void UpdateLastSavedVersion ()
 update last saved version. mkae copy of current state of graph.
 
void WriteAsciiFile (const Char_t *filename)
 Open, write and close ascii file containing this grid.
 
virtual void WriteAsciiFile_WP (Int_t version=-1)
 
virtual void WriteToAsciiFile (std::ofstream &gridfile)
 
- Public Member Functions inherited from TCutG
 TCutG ()
 
 TCutG (const char *name, Int_t n, const Double_t *x, const Double_t *y)
 
 TCutG (const char *name, Int_t n, const Float_t *x, const Float_t *y)
 
 TCutG (const char *name, Int_t n=0)
 
 TCutG (const TCutG &cutg)
 
 ~TCutG () override
 
virtual Double_t Area () const
 
virtual void Center (Double_t &cx, Double_t &cy) const
 
TObjectGetObjectX () const
 
TObjectGetObjectY () const
 
const char * GetVarX () const
 
const char * GetVarY () const
 
virtual Double_t IntegralHist (TH2 *h, Option_t *option="") const
 
TClassIsA () const override
 
TCutGoperator= (const TCutG &)
 
void SavePrimitive (std::ostream &out, Option_t *option="") override
 
virtual void SetObjectX (TObject *obj)
 
virtual void SetObjectY (TObject *obj)
 
void Streamer (TBuffer &) override
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
- Public Member Functions inherited from TGraph
 TGraph ()
 
 TGraph (const char *filename, const char *format="%lg %lg", Option_t *option="")
 
 TGraph (const TF1 *f, Option_t *option="")
 
 TGraph (const TGraph &gr)
 
 TGraph (const TH1 *h)
 
 TGraph (const TVectorD &vx, const TVectorD &vy)
 
 TGraph (const TVectorF &vx, const TVectorF &vy)
 
 TGraph (Int_t n)
 
 TGraph (Int_t n, const Double_t *x, const Double_t *y)
 
 TGraph (Int_t n, const Double_t *y, Double_t start=0., Double_t step=1.)
 
 TGraph (Int_t n, const Float_t *x, const Float_t *y)
 
 TGraph (Int_t n, const Int_t *x, const Int_t *y)
 
 ~TGraph () override
 
virtual void AddPoint (Double_t x, Double_t y)
 
virtual void Apply (TF1 *f)
 
void Browse (TBrowser *b) override
 
virtual Double_t Chisquare (TF1 *f1, Option_t *option="") const
 
virtual void ComputeRange (Double_t &xmin, Double_t &ymin, Double_t &xmax, Double_t &ymax) const
 
Int_t DistancetoPrimitive (Int_t px, Int_t py) override
 
void Draw (Option_t *chopt="") override
 
virtual void DrawGraph (Int_t n, const Double_t *x=nullptr, const Double_t *y=nullptr, Option_t *option="")
 
virtual void DrawGraph (Int_t n, const Float_t *x, const Float_t *y, Option_t *option="")
 
virtual void DrawGraph (Int_t n, const Int_t *x, const Int_t *y, Option_t *option="")
 
virtual Double_t Eval (Double_t x, TSpline *spline=nullptr, Option_t *option="") const
 
void ExecuteEvent (Int_t event, Int_t px, Int_t py) override
 
virtual void Expand (Int_t newsize)
 
virtual void Expand (Int_t newsize, Int_t step)
 
TObjectFindObject (const char *name) const override
 
TObjectFindObject (const TObject *obj) const override
 
virtual Double_t GetCorrelationFactor () const
 
virtual Double_t GetCovariance () const
 
Bool_t GetEditable () const
 
virtual Double_t GetErrorX (Int_t bin) const
 
virtual Double_t GetErrorXhigh (Int_t bin) const
 
virtual Double_t GetErrorXlow (Int_t bin) const
 
virtual Double_t GetErrorY (Int_t bin) const
 
virtual Double_t GetErrorYhigh (Int_t bin) const
 
virtual Double_t GetErrorYlow (Int_t bin) const
 
virtual Double_tGetEX () const
 
virtual Double_tGetEXhigh () const
 
virtual Double_tGetEXhighd () const
 
virtual Double_tGetEXlow () const
 
virtual Double_tGetEXlowd () const
 
virtual Double_tGetEY () const
 
virtual Double_tGetEYhigh () const
 
virtual Double_tGetEYhighd () const
 
virtual Double_tGetEYlow () const
 
virtual Double_tGetEYlowd () const
 
TF1GetFunction (const char *name) const
 
virtual TH1FGetHistogram () const
 
TListGetListOfFunctions () const
 
Double_t GetMaximum () const
 
Int_t GetMaxSize () const
 
virtual Double_t GetMean (Int_t axis=1) const
 
Double_t GetMinimum () const
 
Int_t GetN () const
 
char * GetObjectInfo (Int_t px, Int_t py) const override
 
virtual Int_t GetPoint (Int_t i, Double_t &x, Double_t &y) const
 
virtual Double_t GetPointX (Int_t i) const
 
virtual Double_t GetPointY (Int_t i) const
 
virtual Double_t GetRMS (Int_t axis=1) const
 
Double_tGetX () const
 
TAxisGetXaxis () const
 
Double_tGetY () const
 
TAxisGetYaxis () const
 
virtual void InitExpo (Double_t xmin=0, Double_t xmax=0)
 
virtual void InitGaus (Double_t xmin=0, Double_t xmax=0)
 
virtual void InitPolynom (Double_t xmin=0, Double_t xmax=0)
 
virtual void InsertPointBefore (Int_t ipoint, Double_t x, Double_t y)
 
virtual Double_t Integral (Int_t first=0, Int_t last=-1) const
 
TClassIsA () const override
 
virtual Bool_t IsEditable () const
 
virtual Bool_t IsHighlight () const
 
virtual Int_t IsInside (Double_t x, Double_t y) const
 
virtual void LeastSquareFit (Int_t m, Double_t *a, Double_t xmin=0, Double_t xmax=0)
 
virtual void LeastSquareLinearFit (Int_t n, Double_t &a0, Double_t &a1, Int_t &ifail, Double_t xmin=0, Double_t xmax=0)
 
virtual Int_t Merge (TCollection *list)
 
virtual void MovePoints (Double_t dx, Double_t dy, Bool_t logx=kFALSE, Bool_t logy=kFALSE)
 
TGraphoperator= (const TGraph &)
 
void Paint (Option_t *chopt="") override
 
void PaintGraph (Int_t npoints, const Double_t *x, const Double_t *y, Option_t *chopt)
 
void PaintGrapHist (Int_t npoints, const Double_t *x, const Double_t *y, Option_t *chopt)
 
virtual void PaintStats (TF1 *fit)
 
void Print (Option_t *chopt="") const override
 
void RecursiveRemove (TObject *obj) override
 
void SaveAs (const char *filename, Option_t *option="") const override
 
void SavePrimitive (std::ostream &out, Option_t *option="") override
 
virtual void Scale (Double_t c1=1., Option_t *option="y")
 
virtual void Set (Int_t n)
 
virtual void SetHighlight (Bool_t set=kTRUE)
 
virtual void SetHistogram (TH1F *h)
 
void SetName (const char *name="") override
 
void SetNameTitle (const char *name="", const char *title="") override
 
virtual void SetPoint (Int_t i, Double_t x, Double_t y)
 
virtual void SetPointX (Int_t i, Double_t x)
 
virtual void SetPointY (Int_t i, Double_t y)
 
virtual void SetStats (Bool_t stats=kTRUE)
 
void SetTitle (const char *title="") override
 
virtual void Sort (Bool_t(*greater)(const TGraph *, Int_t, Int_t)=&TGraph::CompareX, Bool_t ascending=kTRUE, Int_t low=0, Int_t high=-1111)
 
void Streamer (TBuffer &) override
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
void UseCurrentStyle () override
 
void Zero (Int_t &k, Double_t AZ, Double_t BZ, Double_t E2, Double_t &X, Double_t &Y, Int_t maxiterations)
 
- Public Member Functions inherited from TNamed
 TNamed ()
 
 TNamed (const char *name, const char *title)
 
 TNamed (const TNamed &named)
 
 TNamed (const TString &name, const TString &title)
 
virtual ~TNamed ()
 
void Clear (Option_t *option="") override
 
TObjectClone (const char *newname="") const override
 
Int_t Compare (const TObject *obj) const override
 
void Copy (TObject &named) const override
 
virtual void FillBuffer (char *&buffer)
 
const char * GetName () const override
 
const char * GetTitle () const override
 
ULong_t Hash () const override
 
TClassIsA () const override
 
Bool_t IsSortable () const override
 
void ls (Option_t *option="") const override
 
TNamedoperator= (const TNamed &rhs)
 
void Print (Option_t *option="") const override
 
virtual Int_t Sizeof () const
 
void Streamer (TBuffer &) override
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
- Public Member Functions inherited from TObject
 TObject ()
 
 TObject (const TObject &object)
 
virtual ~TObject ()
 
void AbstractMethod (const char *method) const
 
virtual void AppendPad (Option_t *option="")
 
ULong_t CheckedHash ()
 
virtual const char * ClassName () const
 
virtual void Error (const char *method, const char *msgfmt,...) const
 
virtual void Execute (const char *method, const char *params, Int_t *error=nullptr)
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=nullptr)
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 
virtual Option_tGetDrawOption () const
 
virtual const char * GetIconName () const
 
virtual Option_tGetOption () const
 
virtual UInt_t GetUniqueID () const
 
virtual Bool_t HandleTimer (TTimer *timer)
 
Bool_t HasInconsistentHash () const
 
virtual void Info (const char *method, const char *msgfmt,...) const
 
virtual Bool_t InheritsFrom (const char *classname) const
 
virtual Bool_t InheritsFrom (const TClass *cl) const
 
void InvertBit (UInt_t f)
 
Bool_t IsDestructed () const
 
virtual Bool_t IsEqual (const TObject *obj) const
 
virtual Bool_t IsFolder () const
 
R__ALWAYS_INLINE Bool_t IsOnHeap () const
 
R__ALWAYS_INLINE Bool_t IsZombie () const
 
void MayNotUse (const char *method) const
 
virtual Bool_t Notify ()
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 
void operator delete (void *ptr)
 
void operator delete (void *ptr, void *vp)
 
void operator delete[] (void *ptr)
 
void operator delete[] (void *ptr, void *vp)
 
voidoperator new (size_t sz)
 
voidoperator new (size_t sz, void *vp)
 
voidoperator new[] (size_t sz)
 
voidoperator new[] (size_t sz, void *vp)
 
TObjectoperator= (const TObject &rhs)
 
virtual void Pop ()
 
virtual Int_t Read (const char *name)
 
void ResetBit (UInt_t f)
 
void SetBit (UInt_t f)
 
void SetBit (UInt_t f, Bool_t set)
 
virtual void SetUniqueID (UInt_t uid)
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 
R__ALWAYS_INLINE Bool_t TestBit (UInt_t f) const
 
Int_t TestBits (UInt_t f) const
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0)
 
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) const
 
- Public Member Functions inherited from TAttLine
 TAttLine ()
 
 TAttLine (Color_t lcolor, Style_t lstyle, Width_t lwidth)
 
virtual ~TAttLine ()
 
void Copy (TAttLine &attline) const
 
Int_t DistancetoLine (Int_t px, Int_t py, Double_t xp1, Double_t yp1, Double_t xp2, Double_t yp2)
 
virtual Color_t GetLineColor () const
 
virtual Style_t GetLineStyle () const
 
virtual Width_t GetLineWidth () const
 
virtual void Modify ()
 
virtual void ResetAttLine (Option_t *option="")
 
virtual void SaveLineAttributes (std::ostream &out, const char *name, Int_t coldef=1, Int_t stydef=1, Int_t widdef=1)
 
virtual void SetLineColorAlpha (Color_t lcolor, Float_t lalpha)
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
- Public Member Functions inherited from TAttFill
 TAttFill ()
 
 TAttFill (Color_t fcolor, Style_t fstyle)
 
virtual ~TAttFill ()
 
void Copy (TAttFill &attfill) const
 
virtual Color_t GetFillColor () const
 
virtual Style_t GetFillStyle () const
 
virtual Bool_t IsTransparent () const
 
virtual void Modify ()
 
virtual void ResetAttFill (Option_t *option="")
 
virtual void SaveFillAttributes (std::ostream &out, const char *name, Int_t coldef=1, Int_t stydef=1001)
 
virtual void SetFillColor (Color_t fcolor)
 
virtual void SetFillColorAlpha (Color_t fcolor, Float_t falpha)
 
virtual void SetFillStyle (Style_t fstyle)
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
- Public Member Functions inherited from TAttMarker
 TAttMarker ()
 
 TAttMarker (Color_t color, Style_t style, Size_t msize)
 
virtual ~TAttMarker ()
 
void Copy (TAttMarker &attmarker) const
 
virtual Color_t GetMarkerColor () const
 
virtual Size_t GetMarkerSize () const
 
virtual Style_t GetMarkerStyle () const
 
virtual void Modify ()
 
virtual void ResetAttMarker (Option_t *toption="")
 
virtual void SaveMarkerAttributes (std::ostream &out, const char *name, Int_t coldef=1, Int_t stydef=1, Int_t sizdef=1)
 
virtual void SetMarkerColor (Color_t mcolor=1)
 
virtual void SetMarkerColorAlpha (Color_t mcolor, Float_t malpha)
 
virtual void SetMarkerSize (Size_t msize=1)
 
virtual void SetMarkerStyle (Style_t mstyle=1)
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 

Private Member Functions

virtual Bool_t FindFourEmbracingLines (Double_t x, Double_t y, const Char_t *position)
 
void init ()
 initialisation
 
void SetZmax (Int_t z)
 

Private Attributes

Int_t Ainf
 
Int_t Ainfi
 
Int_t Aint
 mass of line used to identify particle
 
Int_t Asup
 
Int_t Asups
 
Double_t dinf
 
Double_t dinfi
 
Double_t dsup
 
Double_t dsups
 
KVIDLinefClosest
 closest line to last-identified point
 
Double_t fDistanceClosest
 distance from point to closest line
 
Int_t fICode
 code de retour
 
Int_t fIdxClosest
 index of closest line in main list fIdentifiers
 
KVIDLinefLinf
 
KVIDLinefLinfi
 
KVIDLinefLsup
 
KVIDLinefLsups
 
UShort_t fZMax
 largest Z of lines in grid
 
KVIDZALinefZMaxLine
 line with biggest Z and A
 
Int_t kinf
 
Int_t kinfi
 
Int_t ksup
 
Int_t ksups
 used by IdentZA and IdentZ
 
Double_t winf
 
Double_t winfi
 
Double_t wsup
 
Double_t wsups
 
Int_t Zinf
 
Int_t Zinfi
 
Int_t Zint
 Z of line used to identify particle.
 
Int_t Zsup
 
Int_t Zsups
 

Additional Inherited Members

- Static Public Member Functions inherited from KVIDGraph
static KVIDGraphAddGraphs (KVIDGraph *g1, Int_t id1_min, Int_t id1_max, KVIDGraph *g2, Int_t id2_min, Int_t id2_max)
 
static Bool_t GetAutoAdd ()
 
static KVIDGraphMakeIDGraph (const Char_t *)
 
static void SetAutoAdd (Bool_t yes=kTRUE)
 
- Static Public Member Functions inherited from TCutG
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
- Static Public Member Functions inherited from TGraph
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static Bool_t CompareArg (const TGraph *gr, Int_t left, Int_t right)
 
static Bool_t CompareRadius (const TGraph *gr, Int_t left, Int_t right)
 
static Bool_t CompareX (const TGraph *gr, Int_t left, Int_t right)
 
static Bool_t CompareY (const TGraph *gr, Int_t left, Int_t right)
 
static const char * DeclFileName ()
 
- Static Public Member Functions inherited from TNamed
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
- Static Public Member Functions inherited from TObject
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
static Longptr_t GetDtorOnly ()
 
static Bool_t GetObjectStat ()
 
static void SetDtorOnly (void *obj)
 
static void SetObjectStat (Bool_t stat)
 
- Static Public Member Functions inherited from TAttLine
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
- Static Public Member Functions inherited from TAttFill
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
- Static Public Member Functions inherited from TAttMarker
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
static Width_t GetMarkerLineWidth (Style_t style)
 
static Style_t GetMarkerStyleBase (Style_t style)
 
- Public Attributes inherited from TGraph
 kClipFrame
 
 kIsHighlight
 
 kIsSortedX
 
 kNoStats
 
 kNotEditable
 
 kResetHisto
 
- Public Attributes inherited from TObject
 kBitMask
 
 kCanDelete
 
 kCannotPick
 
 kHasUUID
 
 kInconsistent
 
 kInvalidObject
 
 kIsOnHeap
 
 kIsReferenced
 
 kMustCleanup
 
 kNoContextMenu
 
 kNotDeleted
 
 kObjInCanvas
 
 kOverwrite
 
 kSingleKey
 
 kWriteDelete
 
 kZombie
 
- Protected Member Functions inherited from TGraph
virtual Double_t ** Allocate (Int_t newsize)
 
Double_t ** AllocateArrays (Int_t Narrays, Int_t arraySize)
 
virtual void CopyAndRelease (Double_t **newarrays, Int_t ibegin, Int_t iend, Int_t obegin)
 
virtual Bool_t CopyPoints (Double_t **newarrays, Int_t ibegin, Int_t iend, Int_t obegin)
 
Bool_t CtorAllocate ()
 
virtual Bool_t DoMerge (const TGraph *g)
 
Double_t ** ExpandAndCopy (Int_t size, Int_t iend)
 
virtual void FillZero (Int_t begin, Int_t end, Bool_t from_ctor=kTRUE)
 
TString SaveArray (std::ostream &out, const char *suffix, Int_t frameNumber, Double_t *arr)
 
void SaveHistogramAndFunctions (std::ostream &out, const char *varname, Int_t &frameNumber, Option_t *option)
 
Double_t ** ShrinkAndCopy (Int_t size, Int_t iend)
 
virtual void SwapPoints (Int_t pos1, Int_t pos2)
 
virtual void UpdateArrays (const std::vector< Int_t > &sorting_indices, Int_t numSortedPoints, Int_t low)
 
- Protected Member Functions inherited from TObject
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 
void MakeZombie ()
 
- Static Protected Member Functions inherited from TGraph
static void SwapValues (Double_t *arr, Int_t pos1, Int_t pos2)
 
- Protected Attributes inherited from TCutG
TObjectfObjectX
 
TObjectfObjectY
 
TString fVarX
 
TString fVarY
 
- Protected Attributes inherited from TGraph
TListfFunctions
 
TH1FfHistogram
 
Double_t fMaximum
 
Int_t fMaxSize
 
Double_t fMinimum
 
Int_t fNpoints
 
Double_tfX
 
Double_tfY
 
- Protected Attributes inherited from TNamed
TString fName
 
TString fTitle
 
- Protected Attributes inherited from TObject
 kOnlyPrepStep
 
- Protected Attributes inherited from TAttLine
Color_t fLineColor
 
Style_t fLineStyle
 
Width_t fLineWidth
 
- Protected Attributes inherited from TAttFill
Color_t fFillColor
 
Style_t fFillStyle
 
- Protected Attributes inherited from TAttMarker
Color_t fMarkerColor
 
Size_t fMarkerSize
 
Style_t fMarkerStyle
 

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
kICODE0 
kICODE1 
kICODE2 
kICODE3 
kICODE4 
kICODE5 
kICODE6 
kICODE7 
kICODE8 
kICODE9 
kICODE10 

Definition at line 101 of file KVIDZAGrid.h.

Constructor & Destructor Documentation

◆ KVIDZAGrid() [1/2]

KVIDZAGrid::KVIDZAGrid ( )

default ctor.

Definition at line 33 of file KVIDZAGrid.cpp.

◆ KVIDZAGrid() [2/2]

KVIDZAGrid::KVIDZAGrid ( const KVIDZAGrid grid)

Copy constructor.

Definition at line 54 of file KVIDZAGrid.cpp.

◆ ~KVIDZAGrid()

KVIDZAGrid::~KVIDZAGrid ( )
virtual

default dtor.

Definition at line 44 of file KVIDZAGrid.cpp.

Member Function Documentation

◆ CalculateLineWidths()

void KVIDZAGrid::CalculateLineWidths ( )
virtual

Calculate natural "width" of each line in the grid. The lines in the grid are first sorted so that they are in order of ascending 'Y' i.e. first line is 1H, last line is the heaviest isotope (highest line).

Then, for a given line :

**** if the grid is to be used for A & Z identification (default)**** :

  • if the next line (above) has the same Z, we use the separation between these two lines corresponding to different isotopes of the same element
  • if the next line (above) has a different Z, but the line before (below) has the same Z, we use the separation between the line below and this one
  • if neither adjacent line has the same Z, the width is set to 16000 (huge).

**** if the grid is to be used for Z identification (fOnlyZid=kTRUE)**** :

  • we use the separation between each pair of lines

In each case we find D_L (the separation between the two lines at their extreme left) and D_R (their separation at extreme right). The width of the line is then calculated from these two using the method KVIDZALine::SetAsymWidth (which may be overridden in child classes). Info("CalculateLineWidths", "For grid %s (%s vs. %s, runs %s).", GetName(), GetVarY(), GetVarX(), GetRunList());

Reimplemented from KVIDGrid.

Definition at line 287 of file KVIDZAGrid.cpp.

◆ Copy()

void KVIDZAGrid::Copy ( TObject obj) const
virtual

Copy this to 'obj'.

Reimplemented from KVIDGraph.

Reimplemented in KVIDZAFromZGrid.

Definition at line 66 of file KVIDZAGrid.cpp.

◆ DefaultIDLineClass()

virtual TClass * KVIDZAGrid::DefaultIDLineClass ( )
inlinevirtual

Reimplemented from KVIDGrid.

Reimplemented in KVIDGCsI.

Definition at line 145 of file KVIDZAGrid.h.

◆ DrawLinesWithWidth()

void KVIDZAGrid::DrawLinesWithWidth ( )

This method displays the grid as in KVIDGrid::Draw, but the natural line widths are shown as error bars

Definition at line 459 of file KVIDZAGrid.cpp.

◆ FindFourEmbracingLines()

Bool_t KVIDZAGrid::FindFourEmbracingLines ( Double_t  x,
Double_t  y,
const Char_t position 
)
privatevirtual

This method will locate (at most) four lines close to the point (x,y), the point must lie within the endpoints (in X) of each line (the lines "embrace" the point). Returns kTRUE if at least one line is found. Identification can then be carried out with either IdentZA or IdentZ (see Identify). Returns kFALSE if no lines are found (not even a closest embracing line).

We look for two lines above the point and two lines below the point, as in one of the following two cases:

---------------------— ksups ------------------—

closest —> ---------------------— ksup ------------------— X

X ---------------------— kinf ------------------— <— closest

---------------------— kinfi ------------------—

First we find the closest embracing line to the point, using FindNearestEmbracingIDLine. Then we search above and below for the other 'embracing' lines. Note that no condition is applied regarding the distances to these lines: the lines must have been sorted in order of increasing ordinate before hand in Initialize(), we simply use the order of lines in the list of identifiers. The Z, A, width and distance to each of these lines are stored in the variables Zsups, Asups, wsups, dsups etc. etc. to be used by IdentZA or IdentZ.

Definition at line 518 of file KVIDZAGrid.cpp.

◆ GetClosestLine()

KVIDLine * KVIDZAGrid::GetClosestLine ( ) const
inline

Definition at line 159 of file KVIDZAGrid.h.

◆ GetDistanceClosestLine()

Double_t KVIDZAGrid::GetDistanceClosestLine ( ) const
inline

Definition at line 163 of file KVIDZAGrid.h.

◆ GetIndexClosest()

UChar_t KVIDZAGrid::GetIndexClosest ( ) const
inline

Definition at line 167 of file KVIDZAGrid.h.

◆ GetQualityCode()

Int_t KVIDZAGrid::GetQualityCode ( ) const
inlinevirtual

Return quality code for previously-attempted identification Meanings of code values are given in class description

Reimplemented from KVIDGraph.

Definition at line 150 of file KVIDZAGrid.h.

◆ GetZALine()

KVIDZALine * KVIDZAGrid::GetZALine ( Int_t  z,
Int_t  a,
Int_t index 
) const
virtual

Returns ID line corresponding to nucleus (Z,A) and its index in fIDLines. First we use GetLine(z) to find a line with the right Z (in principal there are several in the grid), then search for the correct isotope among these.

Reimplemented in KVIDGCsI.

Definition at line 212 of file KVIDZAGrid.cpp.

◆ GetZLine()

KVIDZALine * KVIDZAGrid::GetZLine ( Int_t  z,
Int_t index 
) const
virtual

Returns ID line for which GetZ() returns 'z'. index=index of line found in fIDLines list (-1 if not found). To increase speed, this is done by dichotomy, rather than by looping over all the lines in the list.

Reimplemented in KVIDGCsI.

Definition at line 151 of file KVIDZAGrid.cpp.

◆ GetZmax()

Int_t KVIDZAGrid::GetZmax ( ) const
inline

Definition at line 133 of file KVIDZAGrid.h.

◆ GetZmaxLine()

KVIDZALine * KVIDZAGrid::GetZmaxLine ( ) const
inline

Definition at line 138 of file KVIDZAGrid.h.

◆ Identify()

void KVIDZAGrid::Identify ( Double_t  x,
Double_t  y,
KVIdentificationResult idr 
) const
virtual

Fill the KVIdentificationResult object with the results of identification for point (x,y) corresponding to some physically measured quantities related to a reconstructed nucleus.

By default (OnlyZId()=kFALSE) this means identifying the Z & A of the nucleus. In this case, we consider that the nucleus' Z & A have been correctly measured if the 'quality code' returned by IdentZA() is < kICODE4: we set idr->Zident and idr->Aident to kTRUE if fICode<kICODE4

If OnlyZId()=kTRUE, only the Z of the nucleus is established. In this case, we consider that the nucleus' Z has been correctly measured if the 'quality code' returned by IdentZ() is < kICODE4, thus: we set idr->Zident to kTRUE if fICode<kICODE4 The mass idr->A is set to the mass of the nearest line.

Real & integer masses for isotopically identified particles

For points lying between two lines of same Z and different A (fICode<kIDCode4) the "real" mass is given by interpolation between the two masses. The integer mass is the A of the line closest to the point. This means that the integer A is not always = nint("real" A), as for example if a grid is drawn with lines for 7Be & 9Be but not 8Be (usual case), then particles between the two lines can have "real" masses between 7.5 and 8.5, but their integer A will be =7 or =9, never 8.

Implements KVIDGraph.

Reimplemented in KVIDGChIoSi, KVIDGCsI, and KVIDZAFromZGrid.

Definition at line 1367 of file KVIDZAGrid.cpp.

◆ IdentZ()

void KVIDZAGrid::IdentZ ( Double_t  x,
Double_t  y,
Double_t Z 
)
virtual

Finds Z & 'real Z' for point (x,y) once closest lines to point have been found (see GetNearestIDLine). This is is based on the algorithm developed by L. Tassan-Got in IdnCsOr, even the same variable names and comments have been used (as much as possible).

Definition at line 1076 of file KVIDZAGrid.cpp.

◆ IdentZA()

void KVIDZAGrid::IdentZA ( Double_t  x,
Double_t  y,
Int_t Z,
Double_t A 
)
virtual

Finds Z, A and 'real A' for point (x,y) once closest lines to point have been found by calling method FindFourEmbracingLines beforehand. This is a line-for-line copy of the latter part of IdnCsOr, even the same variable names and comments have been used (as much as possible).

Reimplemented in KVIDGCsI.

Definition at line 643 of file KVIDZAGrid.cpp.

◆ init()

void KVIDZAGrid::init ( )
private

initialisation

Definition at line 80 of file KVIDZAGrid.cpp.

◆ Initialize()

void KVIDZAGrid::Initialize ( )
virtual

General initialisation method for identification grid. This method MUST be called once before using the grid for identifications. The ID lines are sorted. The natural line widths of all ID lines are calculated. The line with the largest Z (Zmax line) is found.

Reimplemented from KVIDGrid.

Reimplemented in KVIDGChIoSi, KVIDGCsI, and KVIDZAFromZGrid.

Definition at line 1507 of file KVIDZAGrid.cpp.

◆ MakeSubsetGraph() [1/2]

KVIDGraph * KVIDZAGrid::MakeSubsetGraph ( Int_t  Zmin,
Int_t  Zmax,
const Char_t graph_class = "" 
)

virtual void MakeEDeltaEZGrid(Int_t Zmin, Int_t Zmax, Int_t npoints=20, Double_t gamma = 2);//*MENU*

Create a new graph/grid using the subset of lines of this grid with Zmin <= Z <= Zmax. By default the new graph/grid will be of the same class as this one, unless graph_class !="", in which case it must contain the name of a class which derives from KVIDGraph. A clone of each line will be made and added to the new graph, which will have the same name and be associated with the same ID telescopes as this one.

Definition at line 1716 of file KVIDZAGrid.cpp.

◆ MakeSubsetGraph() [2/2]

KVIDGraph * KVIDZAGrid::MakeSubsetGraph ( TList lines,
TClass graph_class = 0 
)

Create a new graph/grid using the subset of lines of this grid contained in TList 'lines'. By default the new graph/grid will be of the same class as this one, unless graph_class !=0, in which case it must contain the address of a TClass object representing a class which derives from KVIDGraph. A clone of each line will be made and added to the new graph, which will have the same name and be associated with the same ID telescopes as this one.

Definition at line 1671 of file KVIDZAGrid.cpp.

◆ ReCheckQuality()

void KVIDZAGrid::ReCheckQuality ( Int_t Z,
Double_t A 
)

Recheck the identification quality using the 'manual' width set for each Z in the parameter list

If abs(Aint-Areal)> ManualWidth + ManualWidthScaling*sqrt(Z), kIDCode5 is returned. To be activated, a parameter "ManualWidth" should be added to the grid's parameter list.

Acceptable values for FAZIA are :

  • ManualWidth : 0.3
  • ManualWidthScaling : 0.05

Example of use :

grid.ReadAsciiFile("my_grid_file.dat");
grid.SetManualWidth(0.3,0.05);
void ReadAsciiFile(const Char_t *filename)
Identification grid with lines corresponding to different nuclear isotopes (KVIDZALine)
Definition KVIDZAGrid.h:66
void SetManualWidth(Double_t manual_width=.3, Double_t manual_width_scaling=0.05)

Definition at line 1022 of file KVIDZAGrid.cpp.

◆ RemoveLine()

void KVIDZAGrid::RemoveLine ( Int_t  Z,
Int_t  A = -1 
)

Remove and destroy identifier.

Definition at line 101 of file KVIDZAGrid.cpp.

◆ RemoveZLines()

void KVIDZAGrid::RemoveZLines ( const Char_t ZList)

Remove and destroy identifiers.

Definition at line 131 of file KVIDZAGrid.cpp.

◆ SetManualWidth()

void KVIDZAGrid::SetManualWidth ( Double_t  manual_width = .3,
Double_t  manual_width_scaling = 0.05 
)

Definition at line 1062 of file KVIDZAGrid.cpp.

◆ SetVarXVarY()

void KVIDZAGrid::SetVarXVarY ( const char *  VarX,
const char *  VarY 
)
inline

Definition at line 124 of file KVIDZAGrid.h.

◆ SetZmax()

void KVIDZAGrid::SetZmax ( Int_t  z)
inlineprivate

Definition at line 73 of file KVIDZAGrid.h.

Member Data Documentation

◆ Ainf

Int_t KVIDZAGrid::Ainf
private

Definition at line 91 of file KVIDZAGrid.h.

◆ Ainfi

Int_t KVIDZAGrid::Ainfi
private

Definition at line 91 of file KVIDZAGrid.h.

◆ Aint

Int_t KVIDZAGrid::Aint
private

mass of line used to identify particle

Definition at line 93 of file KVIDZAGrid.h.

◆ Asup

Int_t KVIDZAGrid::Asup
private

Definition at line 91 of file KVIDZAGrid.h.

◆ Asups

Int_t KVIDZAGrid::Asups
private

Definition at line 91 of file KVIDZAGrid.h.

◆ dinf

Double_t KVIDZAGrid::dinf
private

Definition at line 88 of file KVIDZAGrid.h.

◆ dinfi

Double_t KVIDZAGrid::dinfi
private

Definition at line 88 of file KVIDZAGrid.h.

◆ dsup

Double_t KVIDZAGrid::dsup
private

Definition at line 88 of file KVIDZAGrid.h.

◆ dsups

Double_t KVIDZAGrid::dsups
private

Definition at line 88 of file KVIDZAGrid.h.

◆ fClosest

KVIDLine* KVIDZAGrid::fClosest
private

closest line to last-identified point

Definition at line 78 of file KVIDZAGrid.h.

◆ fDistanceClosest

Double_t KVIDZAGrid::fDistanceClosest
private

distance from point to closest line

Definition at line 83 of file KVIDZAGrid.h.

◆ fICode

Int_t KVIDZAGrid::fICode
private

code de retour

Definition at line 85 of file KVIDZAGrid.h.

◆ fIdxClosest

Int_t KVIDZAGrid::fIdxClosest
private

index of closest line in main list fIdentifiers

Definition at line 84 of file KVIDZAGrid.h.

◆ fLinf

KVIDLine* KVIDZAGrid::fLinf
private

Definition at line 81 of file KVIDZAGrid.h.

◆ fLinfi

KVIDLine* KVIDZAGrid::fLinfi
private

Definition at line 82 of file KVIDZAGrid.h.

◆ fLsup

KVIDLine* KVIDZAGrid::fLsup
private

Definition at line 80 of file KVIDZAGrid.h.

◆ fLsups

KVIDLine* KVIDZAGrid::fLsups
private

Definition at line 79 of file KVIDZAGrid.h.

◆ fZMax

UShort_t KVIDZAGrid::fZMax
private

largest Z of lines in grid

Definition at line 70 of file KVIDZAGrid.h.

◆ fZMaxLine

KVIDZALine* KVIDZAGrid::fZMaxLine
private

line with biggest Z and A

Definition at line 71 of file KVIDZAGrid.h.

◆ kinf

Int_t KVIDZAGrid::kinf
private

Definition at line 87 of file KVIDZAGrid.h.

◆ kinfi

Int_t KVIDZAGrid::kinfi
private

Definition at line 87 of file KVIDZAGrid.h.

◆ ksup

Int_t KVIDZAGrid::ksup
private

Definition at line 87 of file KVIDZAGrid.h.

◆ ksups

Int_t KVIDZAGrid::ksups
private

used by IdentZA and IdentZ

Definition at line 87 of file KVIDZAGrid.h.

◆ winf

Double_t KVIDZAGrid::winf
private

Definition at line 89 of file KVIDZAGrid.h.

◆ winfi

Double_t KVIDZAGrid::winfi
private

Definition at line 89 of file KVIDZAGrid.h.

◆ wsup

Double_t KVIDZAGrid::wsup
private

Definition at line 89 of file KVIDZAGrid.h.

◆ wsups

Double_t KVIDZAGrid::wsups
private

Definition at line 89 of file KVIDZAGrid.h.

◆ Zinf

Int_t KVIDZAGrid::Zinf
private

Definition at line 90 of file KVIDZAGrid.h.

◆ Zinfi

Int_t KVIDZAGrid::Zinfi
private

Definition at line 90 of file KVIDZAGrid.h.

◆ Zint

Int_t KVIDZAGrid::Zint
private

Z of line used to identify particle.

Definition at line 94 of file KVIDZAGrid.h.

◆ Zsup

Int_t KVIDZAGrid::Zsup
private

Definition at line 90 of file KVIDZAGrid.h.

◆ Zsups

Int_t KVIDZAGrid::Zsups
private

Definition at line 90 of file KVIDZAGrid.h.