KaliVeda
Toolkit for HIC analysis
KVIDGraph.h
1 /*
2 $Id: KVIDGraph.h,v 1.7 2009/04/28 09:07:47 franklan Exp $
3 $Revision: 1.7 $
4 $Date: 2009/04/28 09:07:47 $
5 */
6 
9 
10 #ifndef __KVIDGRAPH_H
11 #define __KVIDGRAPH_H
12 
13 #include "TCutG.h"
14 #include "KVNameValueList.h"
15 #include "KVIDentifier.h"
16 #include <RQ_OBJECT.h>
17 #include <TH2.h>
18 #include "KVIdentificationResult.h"
19 #include "KVNumberList.h"
20 #include "RVersion.h"
21 
22 class TVirtualPad;
24 
32 class KVIDGraph : public TCutG {
33  friend class KVIDGridManager;
34 
35  RQ_OBJECT("KVIDGraph")
36 
37 protected:
38 
51  mutable TString fDyName;
56 
57  Bool_t IsOnlyZId() const
58  {
62  return fOnlyZId;
63  }
64 
65  void Scale(Double_t sx = -1, Double_t sy = -1);
66  void init();
67  virtual KVIDentifier* New(const Char_t*);
68  virtual void ReadIdentifierFromAsciiFile(TString& name, TString& type, TString& cl, std::ifstream& gridfile);
70  virtual void BackwardsCompatibilityFix();
71 
72 public:
73  virtual void ReadFromAsciiFile(std::ifstream& gridfile);
74  virtual void WriteToAsciiFile(std::ofstream& gridfile);
76  {
82 
83  return idr.IDOK;
84  }
85  void AddParameter(char* Name, char* Value)
86  {
88  }
89 
90  KVIDGraph();
91  KVIDGraph(const KVIDGraph&);
92  virtual ~KVIDGraph();
93 
94  virtual void Copy(TObject&) const;
95  virtual void Identify(Double_t /*x*/, Double_t /*y*/, KVIdentificationResult*) const = 0;
96  virtual void Initialize() = 0;
97  virtual Bool_t IsIdentifiable(Double_t /*x*/, Double_t /*y*/, TString* rejected_by = nullptr) const;
98  virtual void SetInfos(Double_t /*x*/, Double_t /*y*/, KVIdentificationResult* /*idr*/) const;
99 
100  static void SetAutoAdd(Bool_t yes = kTRUE)
101  {
104  fAutoAddGridManager = yes;
105  }
107  {
110  return fAutoAddGridManager;
111  }
113  {
114  fTelescopes.Clear();
115  }
117  {
118  return fLastSavedVersion;
119  }
121  void UpdateLastSavedVersion();
122 
123  static KVIDGraph* MakeIDGraph(const Char_t*);
124 
125  void FindAxisLimits();
126  void Scale(TF1* sx, TF1* sy);
127 
128  KVIDentifier* GetIdentifier(Int_t Z, Int_t A) const;
130  void RemoveCut(KVIDentifier*);
131  void RemoveInfo(KVIDentifier*);
132 
134  {
135  return fPad;
136  }
137 
138  void ReadAsciiFile(const Char_t* filename);
139  void AddIDTelescopes(const TList*);
140  virtual void SetName(const char* name)
141  {
142  TNamed::SetName(name); /*Modified()*/;
143  } // *MENU*
144  virtual void Clear(Option_t* opt = ""); // *MENU*
146  void SetXVariable(const char* v)
147  {
148  SetVarX(v);
149  Modified();
150  } // *MENU={Hierarchy="Set.../X Variable"}* *ARGS={v=>fVarX}
151  void SetYVariable(const char* v)
152  {
153  SetVarY(v);
154  Modified();
155  } // *MENU={Hierarchy="Set.../Y Variable"}* *ARGS={v=>fVarY}
156  void SetRunList(const char* runlist)
157  {
158  SetRuns(KVNumberList(runlist));
159  } // *MENU={Hierarchy="Set.../List of Runs"}*
160  virtual void SetOnlyZId(Bool_t yes = kTRUE);
161  void SetMassFormula(Int_t);// *SUBMENU={Hierarchy="Set.../Mass Formula"}*
162  void WriteAsciiFile(const Char_t* filename); // *MENU*
163  void SetXScaleFactor(Double_t = 0); // *MENU={Hierarchy="Scale.../X Scale Factor"}*
164  void SetYScaleFactor(Double_t = 0);// *MENU={Hierarchy="Scale.../Y Scale Factor"}*
167  virtual void SetEditable(Bool_t editable = kTRUE); // *TOGGLE* *GETTER=GetEditable
168 
169  virtual Bool_t HasMassIDCapability() const
170  {
175  return !IsOnlyZId();
176  }
177 
178  virtual void SetMassIDCapability(Bool_t yes = kTRUE)
179  {
181  SetOnlyZId(!yes);
182  } // *TOGGLE={Hierarchy="A and Z Identification"}* *GETTER=HasMassIDCapability
183 
184  void Draw(Option_t* opt = ""); // *MENU={Hierarchy="View.../Draw"}*
185  void UnDraw(); // *MENU={Hierarchy="View.../UnDraw"}*
186  void ResetDraw();// *MENU={Hierarchy="View.../ResetDraw"}*
187  void SetLineColor(Color_t lcolor)
188  {
190  fIdentifiers.Execute("SetLineColor", Form("%d", (Int_t) lcolor));
191  fCuts.Execute("SetLineColor", Form("%d", (Int_t) lcolor));
192  fInfoZones.Execute("SetLineColor", Form("%d", (Int_t) lcolor));
193  Modified();
194  } // *MENU={Hierarchy="View.../SetLinecolor"}*
195  void SetLineStyle(Style_t lstyle)
196  {
198  fIdentifiers.Execute("SetLineStyle", Form("%d", (Int_t) lstyle));
199  fCuts.Execute("SetLineStyle", Form("%d", (Int_t) lstyle));
200  fInfoZones.Execute("SetLineStyle", Form("%d", (Int_t) lstyle));
201  Modified();
202  } // *MENU={Hierarchy="View.../SetLineStyle"}*
203  void SetLineWidth(Width_t lwidth)
204  {
206  fIdentifiers.Execute("SetLineWidth", Form("%d", (Int_t) lwidth));
207  fCuts.Execute("SetLineWidth", Form("%d", (Int_t) lwidth));
208  fInfoZones.Execute("SetLineWidth", Form("%d", (Int_t) lwidth));
209  Modified();
210  } // *MENU={Hierarchy="View.../SetLineWidth"}*
211 
212  void ExtendBeginningAllIdentLines(Double_t, Option_t* = "");// *MENU*
213  void ExtendEndAllIdentLines(Double_t, Option_t* = "");// *MENU*
214 
217  void Add(TString, KVIDentifier*);
219  virtual void DrawAndAdd(const Char_t* type = "ID", const Char_t* classname = "KVIDentifier");
220  void Print(Option_t* opt = "") const;
221 
222  static KVIDGraph* AddGraphs(KVIDGraph* g1, Int_t id1_min, Int_t id1_max,
223  KVIDGraph* g2, Int_t id2_min, Int_t id2_max);
224  void SetRuns(const KVNumberList& nl);
225 
226  const Char_t* GetName() const;
227  virtual void WriteAsciiFile_WP(Int_t version = -1); //WP means with pattern
228  virtual void ReadAsciiFile_WP(Int_t version = -1); //WP means with pattern
229  virtual Int_t CheckVersion(Int_t version);
230  virtual Bool_t ExistVersion(Int_t version)
231  {
232  if (version != -1) return (version == CheckVersion(version));
233  else return (version != -1);
234  }
235  void SetPattern(TString pattern)
236  {
237  pattern.ReplaceAll(".", "_");
238  fPattern = pattern;
239  }
241  {
242  return fPattern;
243  }
244 
245  const TList* GetIDTelescopes() const
246  {
247  return &fTelescopes;
248  };
249  void Increment(Float_t x) // *SIGNAL*
250  {
253  Emit("Increment(Float_t)", x);
254  }
255  void Modified() // *SIGNAL*
256  {
258  Emit("Modified()");
259  }
260 
261  const KVNumberList& GetRuns() const
262  {
264  return fRunList;
265  }
266  const Char_t* GetRunList() const
267  {
269  return (const char*)fRunList;
270  }
272  {
274  return (KVIDentifier*)fIdentifiers.At(index);
275  }
276  KVIDentifier* GetIdentifier(const Char_t* name) const
277  {
279  }
280  KVIDentifier* GetCut(const Char_t* name) const
281  {
282  return (KVIDentifier*)fCuts.FindObject(name);
283  }
284  KVIDentifier* GetInfo(const Char_t* name) const
285  {
287  }
289  {
291  return &fPar;
292  }
294  {
296  return &fPar;
297  }
298  const KVList* GetIdentifiers() const
299  {
301  return &fIdentifiers;
302  }
304  {
306  return &fIdentifiers;
307  }
308  const KVList* GetCuts() const
309  {
311  return &fCuts;
312  }
314  {
316  return &fCuts;
317  }
318  const KVList* GetInfos() const
319  {
321  return &fInfoZones;
322  }
324  {
326  return &fInfoZones;
327  }
329  {
330  return fIdentifiers.GetSize();
331  }
333  {
334  return fCuts.GetSize();
335  }
337  {
338  return fInfoZones.GetSize();
339  }
340  virtual void AddIdentifier(KVIDentifier* id)
341  {
343  fIdentifiers.Add(id);
344  id->SetParent(this);
345  id->SetVarX(GetVarX());
346  id->SetVarY(GetVarY());
347  id->SetOnlyZId(IsOnlyZId());
350  if (IsOnlyZId()) id->SetMassFormula(GetMassFormula());
352  }
353  virtual void AddCut(KVIDentifier* cut)
354  {
356  cut->SetLineColor(kRed);
357  cut->SetParent(this);
358  fCuts.Add(cut);
359  cut->SetVarX(GetVarX());
360  cut->SetVarY(GetVarY());
361  cut->SetBit(kMustCleanup);
363  }
364  virtual void AddInfo(KVIDentifier* info)
365  {
367  info->SetLineColor(kBlue);
368  info->SetParent(this);
369  fInfoZones.Add(info);
370  info->SetVarX(GetVarX());
371  info->SetVarY(GetVarY());
372  info->SetBit(kMustCleanup);
374  }
376  {
377  fIdentifiers.Sort();
379  }
380  Bool_t IsSorted() const
381  {
383  return fIdentifiers.IsSorted();
384  }
385  Axis_t GetXmin() const
386  {
387  return fXmin;
388  }
389  Axis_t GetYmin() const
390  {
391  return fYmin;
392  }
393  Axis_t GetXmax() const
394  {
395  return fXmax;
396  }
397  Axis_t GetYmax() const
398  {
399  return fYmax;
400  }
401  virtual Int_t GetQualityCode() const
402  {
405  return 0;
406  }
408  {
412 
413  fTelescopes.Add(t);
414  Modified();
415  }
417  {
420 
421  fTelescopes.Remove(t);
422  Modified();
423  }
425  {
427 
428  return fTelescopes.Contains(t);
429  }
431  {
434 
435  KVBase* id = (KVBase*)fTelescopes.First();
436  return (id ? id->GetLabel() : "");
437  }
439  {
440  return fMassFormula;
441  }
442  void ResetPad();
443  void ClearPad(TVirtualPad*);
445  {
448  return fPad;
449  }
450  virtual void TestIdentification(TH2F* data, KVHashList& histos, KVNameValueList& histo_names);
451 
452  const Char_t* GetNamesOfIDTelescopes() const;
453 
456  virtual void SetMaximum(Double_t maximum = -1111)
457  {
458  TGraph::SetMaximum(maximum);
459  }
460  virtual void SetMinimum(Double_t minimum = -1111)
461  {
462  TGraph::SetMinimum(minimum);
463  }
465  virtual void FitPanel()
466  {
468  }
469  virtual void DrawPanel()
470  {
472  }
473 
474  virtual TFitResultPtr Fit(const char* formula, Option_t* option = "", Option_t* goption = "", Axis_t xmin = 0, Axis_t xmax = 0)
475  {
476  return TGraph::Fit(formula, option, goption, xmin, xmax);
477  }
478  virtual TFitResultPtr Fit(TF1* f1, Option_t* option = "", Option_t* goption = "", Axis_t xmin = 0, Axis_t xmax = 0)
479  {
480  return TGraph::Fit(f1, option, goption, xmin, xmax);
481  }
482 
485  virtual void Delete(Option_t* option = "")
486  {
488  }
489  virtual void DrawClass() const
490  {
492  }
493  virtual TObject* DrawClone(Option_t* option = "") const
494  {
495  return TGraph::DrawClone(option);
496  }
497  virtual void Dump() const
498  {
499  TGraph::Dump();
500  }
501  virtual void Inspect() const
502  {
503  TGraph::Inspect();
504  }
505  virtual void SaveAs(const char* filename = "", Option_t* option = "") const
506  {
508  }
509  virtual void SetDrawOption(Option_t* option = "")
510  {
512  }
513  virtual void SetLineAttributes()
514  {
516  }
517  virtual void SetFillAttributes()
518  {
520  }
521  virtual void SetMarkerAttributes()
522  {
524  }
525  virtual void SetVarX(const char* v)
526  {
527  TCutG::SetVarX(v);
528  }
529  virtual void SetVarY(const char* v)
530  {
531  TCutG::SetVarY(v);
532  }
533  virtual Int_t InsertPoint()
534  {
535  return TCutG::InsertPoint();
536  }
537  virtual Int_t RemovePoint()
538  {
539  return TCutG::RemovePoint();
540  }
542  {
543  return TCutG::RemovePoint(i);
544  }
545 
546  ClassDef(KVIDGraph, 2) //Base class for particle identification in a 2D map
547 };
548 
549 #endif
int Int_t
#define RQ_OBJECT(sender_class)
short Style_t
bool Bool_t
short Color_t
char Char_t
short Width_t
float Float_t
double Axis_t
double Double_t
const char Option_t
#define ClassDef(name, id)
kRed
kBlue
Option_t Option_t option
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 filename
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t index
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize id
char name[80]
float xmin
float xmax
char * Form(const char *fmt,...)
Base class for KaliVeda framework.
Definition: KVBase.h:142
Extended version of ROOT THashList.
Definition: KVHashList.h:29
Base class for particle identification in a 2D map.
Definition: KVIDGraph.h:32
KVNumberList fRunList
runs for which grid is valid
Definition: KVIDGraph.h:49
virtual Int_t InsertPoint()
Definition: KVIDGraph.h:533
void Add(TString, KVIDentifier *)
Definition: KVIDGraph.cpp:838
void SetRunList(const char *runlist)
Definition: KVIDGraph.h:156
Axis_t GetYmax() const
Definition: KVIDGraph.h:397
Double_t GetYScaleFactor()
Definition: KVIDGraph.cpp:292
TString fDyName
dynamically generated name
Definition: KVIDGraph.h:51
virtual TFitResultPtr Fit(const char *formula, Option_t *option="", Option_t *goption="", Axis_t xmin=0, Axis_t xmax=0)
Definition: KVIDGraph.h:474
Bool_t HandlesIDTelescope(KVBase *t) const
Definition: KVIDGraph.h:424
virtual void ReadAsciiFile_WP(Int_t version=-1)
lecture des grilles avec version suivant un modele de fichier
Definition: KVIDGraph.cpp:1404
KVIDGraph * fLastSavedVersion
copy of last save version of grid, used for 'undo'
Definition: KVIDGraph.h:54
Int_t GetNumberOfCuts() const
Definition: KVIDGraph.h:332
void ExtendBeginningAllIdentLines(Double_t, Option_t *="")
Definition: KVIDGraph.cpp:1017
KVNameValueList fPar
parameters associated to grid
Definition: KVIDGraph.h:45
virtual void SetVarX(const char *v)
Definition: KVIDGraph.h:525
void ReadAsciiFile(const Char_t *filename)
Definition: KVIDGraph.cpp:779
KVIDentifier * GetIdentifier(const Char_t *name) const
Definition: KVIDGraph.h:276
virtual void SetDrawOption(Option_t *option="")
Definition: KVIDGraph.h:509
void RemoveIdentifier(KVIDentifier *)
Remove and destroy identifier.
Definition: KVIDGraph.cpp:335
Double_t GetXScaleFactor()
Definition: KVIDGraph.cpp:274
virtual void Delete(Option_t *option="")
Definition: KVIDGraph.h:485
virtual void TestIdentification(TH2F *data, KVHashList &histos, KVNameValueList &histo_names)
Definition: KVIDGraph.cpp:1707
void SetXVariable(const char *v)
void SetIDTelescopes();// MENU={Hierarchy="Set.../ID Telescopes"}
Definition: KVIDGraph.h:146
KVList fCuts
cuts used to define area in which identification is possible
Definition: KVIDGraph.h:41
KVList fIdentifiers
list of identification objects
Definition: KVIDGraph.h:40
virtual void SetMinimum(Double_t minimum=-1111)
Definition: KVIDGraph.h:460
void SetLineWidth(Width_t lwidth)
Definition: KVIDGraph.h:203
Double_t fLastScaleY
last applied scaling factor on Y
Definition: KVIDGraph.h:47
virtual void SetMassIDCapability(Bool_t yes=kTRUE)
Definition: KVIDGraph.h:178
virtual void SetLineAttributes()
Definition: KVIDGraph.h:513
Double_t fLastScaleX
last applied scaling factor on X
Definition: KVIDGraph.h:46
const TList * GetIDTelescopes() const
Definition: KVIDGraph.h:245
void UpdateLastSavedVersion()
update last saved version. mkae copy of current state of graph.
Definition: KVIDGraph.cpp:534
virtual void SetName(const char *name)
Definition: KVIDGraph.h:140
Axis_t GetXmax() const
Definition: KVIDGraph.h:393
void SetLineStyle(Style_t lstyle)
Definition: KVIDGraph.h:195
void Scale(Double_t sx=-1, Double_t sy=-1)
Called by SetX/YScaleFactor methods to rescale every point of every object in the grid.
Definition: KVIDGraph.cpp:1146
void ExtendEndAllIdentLines(Double_t, Option_t *="")
Definition: KVIDGraph.cpp:1033
void RemoveInfo(KVIDentifier *)
Remove and destroy cut.
Definition: KVIDGraph.cpp:363
virtual void WriteToAsciiFile(std::ofstream &gridfile)
Definition: KVIDGraph.cpp:442
Bool_t IsSorted() const
Definition: KVIDGraph.h:380
static void SetAutoAdd(Bool_t yes=kTRUE)
Definition: KVIDGraph.h:100
void init()
Definition: KVIDGraph.cpp:67
virtual void AddInfo(KVIDentifier *info)
Definition: KVIDGraph.h:364
void Increment(Float_t x)
Definition: KVIDGraph.h:249
void Draw(Option_t *opt="")
Definition: KVIDGraph.cpp:888
void SortIdentifiers()
Definition: KVIDGraph.h:375
KVIDentifier * GetInfo(const Char_t *name) const
Definition: KVIDGraph.h:284
void AddIDTelescope(KVBase *t)
Definition: KVIDGraph.h:407
Int_t GetNumberOfIdentifiers() const
Definition: KVIDGraph.h:328
virtual void Copy(TObject &) const
Copy this to 'obj'.
Definition: KVIDGraph.cpp:115
const Char_t * GetRunList() const
Definition: KVIDGraph.h:266
virtual void ReadIdentifierFromAsciiFile(TString &name, TString &type, TString &cl, std::ifstream &gridfile)
Read in new identifier object from file.
Definition: KVIDGraph.cpp:755
Axis_t fXmin
Definition: KVIDGraph.h:43
Bool_t IsOnlyZId() const
Definition: KVIDGraph.h:57
Int_t GetMassFormula() const
Definition: KVIDGraph.h:438
KVIDentifier * GetCut(const Char_t *name) const
Definition: KVIDGraph.h:280
const KVList * GetCuts() const
Definition: KVIDGraph.h:308
TVirtualPad * GetPad() const
Definition: KVIDGraph.h:133
const KVList * GetInfos() const
Definition: KVIDGraph.h:318
virtual TFitResultPtr Fit(TF1 *f1, Option_t *option="", Option_t *goption="", Axis_t xmin=0, Axis_t xmax=0)
Definition: KVIDGraph.h:478
void RevertToLastSavedVersion()
Definition: KVIDGraph.cpp:555
void UnDraw()
Definition: KVIDGraph.cpp:966
virtual void ReadFromAsciiFile(std::ifstream &gridfile)
Definition: KVIDGraph.cpp:601
virtual Bool_t ExistVersion(Int_t version)
Definition: KVIDGraph.h:230
TVirtualPad * IsDrawn() const
Definition: KVIDGraph.h:444
void ClearPad(TVirtualPad *)
Definition: KVIDGraph.cpp:49
static Bool_t GetAutoAdd()
Definition: KVIDGraph.h:106
void WriteParameterListOfIDTelescopes()
Definition: KVIDGraph.cpp:382
virtual Int_t RemovePoint()
Definition: KVIDGraph.h:537
virtual void Identify(Double_t, Double_t, KVIdentificationResult *) const =0
TString GetPattern(void)
Definition: KVIDGraph.h:240
TString fPattern
pattern of filenames used to write or read grid
Definition: KVIDGraph.h:52
void SetLineColor(Color_t lcolor)
Definition: KVIDGraph.h:187
void Print(Option_t *opt="") const
Print out all objects in graph.
Definition: KVIDGraph.cpp:1047
virtual void WriteAsciiFile_WP(Int_t version=-1)
Definition: KVIDGraph.cpp:1387
KVIDentifier * GetIdentifier(Int_t Z, Int_t A) const
Definition: KVIDGraph.cpp:310
virtual void DrawPanel()
Definition: KVIDGraph.h:469
virtual Bool_t HasMassIDCapability() const
Definition: KVIDGraph.h:169
KVIDentifier * GetIdentifierAt(Int_t index) const
Definition: KVIDGraph.h:271
virtual TObject * DrawClone(Option_t *option="") const
Definition: KVIDGraph.h:493
virtual ~KVIDGraph()
Definition: KVIDGraph.cpp:188
const KVNumberList & GetRuns() const
Definition: KVIDGraph.h:261
virtual Bool_t IsIdentifiable(Double_t, Double_t, TString *rejected_by=nullptr) const
Definition: KVIDGraph.cpp:1269
void FindAxisLimits()
Calculate X/Y min/max of all objects in graph.
Definition: KVIDGraph.cpp:1073
Axis_t GetYmin() const
Definition: KVIDGraph.h:389
virtual void SetVarY(const char *v)
Definition: KVIDGraph.h:529
const KVNameValueList * GetParameters() const
Definition: KVIDGraph.h:288
static KVIDGraph * AddGraphs(KVIDGraph *g1, Int_t id1_min, Int_t id1_max, KVIDGraph *g2, Int_t id2_min, Int_t id2_max)
Definition: KVIDGraph.cpp:1219
const Char_t * GetIDTelescopeLabel() const
Definition: KVIDGraph.h:430
virtual Int_t RemovePoint(Int_t i)
Definition: KVIDGraph.h:541
KVIDGraph * GetLastSavedVersion() const
Definition: KVIDGraph.h:116
virtual void DrawAndAdd(const Char_t *type="ID", const Char_t *classname="KVIDentifier")
Definition: KVIDGraph.cpp:1174
virtual void AddCut(KVIDentifier *cut)
Definition: KVIDGraph.h:353
void AddParameter(char *Name, char *Value)
Definition: KVIDGraph.h:85
KVNameValueList * GetParameters()
Definition: KVIDGraph.h:293
virtual void SetFillAttributes()
Definition: KVIDGraph.h:517
void SetMassFormula(Int_t)
Definition: KVIDGraph.cpp:1473
const Char_t * GetName() const
Definition: KVIDGraph.cpp:1332
TList fTelescopes
ID telescopes for which grid is valid.
Definition: KVIDGraph.h:50
virtual void SetMarkerAttributes()
Definition: KVIDGraph.h:521
static Bool_t fAutoAddGridManager
if =kTRUE, grids are automatically added to ID grid manager on creation (default)
Definition: KVIDGraph.h:55
void WriteAsciiFile(const Char_t *filename)
Open, write and close ascii file containing this grid.
Definition: KVIDGraph.cpp:404
virtual KVIDentifier * New(const Char_t *)
Create new object of class "id_class" which derives from KVIDentifier.
Definition: KVIDGraph.cpp:807
virtual void BackwardsCompatibilityFix()
Definition: KVIDGraph.cpp:1361
void AddIDTelescopes(const TList *)
Associate this graph with all ID telescopes in list.
Definition: KVIDGraph.cpp:1516
virtual void AddIdentifier(KVIDentifier *id)
Definition: KVIDGraph.h:340
virtual void SetInfos(Double_t, Double_t, KVIdentificationResult *) const
loop over KVIDGraph::fInfoZones to set flags in KVIdentificationResult
Definition: KVIDGraph.cpp:1297
virtual void DrawClass() const
Definition: KVIDGraph.h:489
static KVIDGraph * MakeIDGraph(const Char_t *)
Definition: KVIDGraph.cpp:1556
virtual void SaveAs(const char *filename="", Option_t *option="") const
Definition: KVIDGraph.h:505
const Char_t * GetNamesOfIDTelescopes() const
Definition: KVIDGraph.cpp:1611
virtual void Inspect() const
Definition: KVIDGraph.h:501
Axis_t GetXmin() const
Definition: KVIDGraph.h:385
void SetXScaleFactor(Double_t=0)
Definition: KVIDGraph.cpp:226
Int_t GetNumberOfInfos() const
Definition: KVIDGraph.h:336
virtual Int_t GetQualityCode() const
Definition: KVIDGraph.h:401
TVirtualPad * fPad
pad in which graph is drawn
Definition: KVIDGraph.h:48
void SetYVariable(const char *v)
Definition: KVIDGraph.h:151
virtual void Dump() const
Definition: KVIDGraph.h:497
KVList * GetCuts()
Definition: KVIDGraph.h:313
virtual Bool_t AcceptIDForTest(const KVIdentificationResult &idr)
Definition: KVIDGraph.h:75
KVList * GetInfos()
Definition: KVIDGraph.h:323
Axis_t fYmax
min/max Y coordinates of graph
Definition: KVIDGraph.h:44
void SetRuns(const KVNumberList &nl)
Set list of runs for which grid is valid.
Definition: KVIDGraph.cpp:1316
virtual Int_t CheckVersion(Int_t version)
Definition: KVIDGraph.cpp:1423
virtual void SetEditable(Bool_t editable=kTRUE)
Definition: KVIDGraph.cpp:1582
void SetYScaleFactor(Double_t=0)
Definition: KVIDGraph.cpp:250
virtual void Initialize()=0
virtual void FitPanel()
virtual void SetTitle(const char *title="") {TGraph::SetTitle(title);};
Definition: KVIDGraph.h:465
Axis_t fXmax
min/max X coordinates of graph
Definition: KVIDGraph.h:43
KVList * GetIdentifiers()
Definition: KVIDGraph.h:303
Bool_t fOnlyZId
set to kTRUE when only to be used to give Z identification of nuclei, no mass info
Definition: KVIDGraph.h:39
virtual void Clear(Option_t *opt="")
Definition: KVIDGraph.cpp:203
void ResetPad()
Definition: KVIDGraph.cpp:33
Int_t fMassFormula
OPTION={GetMethod="GetMassFormula";SetMethod="SetMassFormula";Items=(0="Beta-stability",...
Definition: KVIDGraph.h:53
void ResetDraw()
Definition: KVIDGraph.cpp:1003
void SetPattern(TString pattern)
Definition: KVIDGraph.h:235
Axis_t fYmin
Definition: KVIDGraph.h:44
void RemoveCut(KVIDentifier *)
Remove and destroy cut.
Definition: KVIDGraph.cpp:350
void RemoveIDTelescope(KVBase *t)
Definition: KVIDGraph.h:416
KVList fInfoZones
contours/lines used to add info to particles (ex: punch-through)
Definition: KVIDGraph.h:42
virtual void SetOnlyZId(Bool_t yes=kTRUE)
Definition: KVIDGraph.cpp:1496
virtual void SetMaximum(Double_t maximum=-1111)
Definition: KVIDGraph.h:456
void Modified()
Definition: KVIDGraph.h:255
void ClearListOfTelescopes()
Definition: KVIDGraph.h:112
const KVList * GetIdentifiers() const
Definition: KVIDGraph.h:298
Handles a stock of identification grids to be used by one or more identification telescopes.
Base class for graphical cuts used in particle identification.
Definition: KVIDentifier.h:28
void SetParent(KVIDGraph *)
Set pointer to parent ID graph.
Full result of one attempted particle identification.
Bool_t IDOK
general quality of identification, =kTRUE if acceptable identification made
Extended TList class which owns its objects by default.
Definition: KVList.h:28
void Sort(Bool_t order=kSortAscending)
Definition: KVList.h:35
Handles lists of named parameters with different types, a list of KVNamedParameter objects.
void SetValue(const Char_t *name, value_type value)
Strings used to represent a set of ranges of values.
Definition: KVNumberList.h:85
virtual Int_t GetSize() const
virtual TObject * At(Int_t idx) const
virtual void Execute(const char *method, const char *params, Int_t *error=0)
virtual void Add(TObject *obj)
virtual Bool_t IsSorted() const
virtual TObject * FindObject(const char *name) const
virtual void SetFillAttributes()
virtual void SetLineAttributes()
virtual void SetLineColor(Color_t lcolor)
virtual void SetMarkerAttributes()
Bool_t Contains(const char *name) const
const char * GetVarX() const
virtual void SetVarY(const char *vary)
virtual void SetVarX(const char *varx)
const char * GetVarY() const
virtual void SetMaximum(Double_t maximum=-1111)
void SaveAs(const char *filename, Option_t *option="") const override
virtual TFitResultPtr Fit(const char *formula, Option_t *option="", Option_t *goption="", Axis_t xmin=0, Axis_t xmax=0)
virtual void FitPanel()
virtual Int_t RemovePoint()
virtual Int_t InsertPoint()
virtual void DrawPanel()
virtual void SetMinimum(Double_t minimum=-1111)
void Clear(Option_t *option="") override
void Add(TObject *obj) override
TObject * Remove(const TObjLinkPtr_t &lnk)
TObject * First() const override
virtual void SetName(const char *name)
virtual void Inspect() const
void SetBit(UInt_t f)
virtual void Dump() const
virtual TObject * DrawClone(Option_t *option="") const
virtual void Delete(Option_t *option="")
virtual void SetDrawOption(Option_t *option="")
virtual void DrawClass() const
TString & ReplaceAll(const char *s1, const char *s2)
RooCmdArg Name(const char *name)
Double_t x[n]
TF1 * f1
v