KaliVeda  1.12/06
Heavy-Ion Analysis Toolkit
KVIDGraph.h
Go to the documentation of this file.
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 
31 class KVIDGraph : public TCutG {
32  friend class KVIDGridManager;
33 
34  RQ_OBJECT("KVIDGraph")
35 
36 protected:
37 
50  mutable TString fDyName;
55 
56  Bool_t IsOnlyZId() const
57  {
61  return fOnlyZId;
62  }
63 
64  void Scale(Double_t sx = -1, Double_t sy = -1);
65  virtual void ReadFromAsciiFile(std::ifstream& gridfile);
66  virtual void WriteToAsciiFile(std::ofstream& gridfile);
67  void init();
68  virtual KVIDentifier* New(const Char_t*);
69  virtual void ReadIdentifierFromAsciiFile(TString& name, TString& type, TString& cl, std::ifstream& gridfile);
71  virtual void BackwardsCompatibilityFix();
72 
73 public:
75  {
81 
82  return idr.IDOK;
83  }
84 
85  KVIDGraph();
86  KVIDGraph(const KVIDGraph&);
87  virtual ~KVIDGraph();
88 
90 #if ROOT_VERSION_CODE >= ROOT_VERSION(3,4,0)
91  virtual void Copy(TObject&) const;
92 #else
93  virtual void Copy(TObject&);
94 #endif
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  {
108  fTelescopes.Clear();
109  }
111  {
112  return fLastSavedVersion;
113  }
115  void UpdateLastSavedVersion();
116 
117  static KVIDGraph* MakeIDGraph(const Char_t*);
118 
119  void FindAxisLimits();
120  void Scale(TF1* sx, TF1* sy);
121 
122  KVIDentifier* GetIdentifier(Int_t Z, Int_t A) const;
124  void RemoveCut(KVIDentifier*);
125  void RemoveInfo(KVIDentifier*);
126 
128  {
129  return fPad;
130  }
131 
132  void ReadAsciiFile(const Char_t* filename);
133  void AddIDTelescopes(const TList*);
134  virtual void SetName(const char* name)
135  {
136  TNamed::SetName(name); /*Modified()*/;
137  } // *MENU*
138  virtual void Clear(Option_t* opt = ""); // *MENU*
140  void SetXVariable(const char* v)
141  {
142  SetVarX(v);
143  Modified();
144  } // *MENU={Hierarchy="Set.../X Variable"}* *ARGS={v=>fVarX}
145  void SetYVariable(const char* v)
146  {
147  SetVarY(v);
148  Modified();
149  } // *MENU={Hierarchy="Set.../Y Variable"}* *ARGS={v=>fVarY}
150  void SetRunList(const char* runlist)
151  {
152  SetRuns(KVNumberList(runlist));
153  } // *MENU={Hierarchy="Set.../List of Runs"}*
154  virtual void SetOnlyZId(Bool_t yes = kTRUE);
155  void SetMassFormula(Int_t);// *SUBMENU={Hierarchy="Set.../Mass Formula"}*
156  void WriteAsciiFile(const Char_t* filename); // *MENU*
157  void SetXScaleFactor(Double_t = 0); // *MENU={Hierarchy="Scale.../X Scale Factor"}*
158  void SetYScaleFactor(Double_t = 0);// *MENU={Hierarchy="Scale.../Y Scale Factor"}*
161  virtual void SetEditable(Bool_t editable = kTRUE); // *TOGGLE* *GETTER=GetEditable
162 
163  virtual Bool_t HasMassIDCapability() const
164  {
169  return !IsOnlyZId();
170  }
171 
172  virtual void SetMassIDCapability(Bool_t yes = kTRUE)
173  {
175  SetOnlyZId(!yes);
176  } // *TOGGLE={Hierarchy="A and Z Identification"}* *GETTER=HasMassIDCapability
177 
178  void Draw(Option_t* opt = ""); // *MENU={Hierarchy="View.../Draw"}*
179  void UnDraw(); // *MENU={Hierarchy="View.../UnDraw"}*
180  void ResetDraw();// *MENU={Hierarchy="View.../ResetDraw"}*
181  void SetLineColor(Color_t lcolor)
182  {
184  fIdentifiers->Execute("SetLineColor", Form("%d", (Int_t) lcolor));
185  fCuts->Execute("SetLineColor", Form("%d", (Int_t) lcolor));
186  fInfoZones->Execute("SetLineColor", Form("%d", (Int_t) lcolor));
187  Modified();
188  } // *MENU={Hierarchy="View.../SetLinecolor"}*
189  void SetLineStyle(Style_t lstyle)
190  {
192  fIdentifiers->Execute("SetLineStyle", Form("%d", (Int_t) lstyle));
193  fCuts->Execute("SetLineStyle", Form("%d", (Int_t) lstyle));
194  fInfoZones->Execute("SetLineStyle", Form("%d", (Int_t) lstyle));
195  Modified();
196  } // *MENU={Hierarchy="View.../SetLineStyle"}*
197  void SetLineWidth(Width_t lwidth)
198  {
200  fIdentifiers->Execute("SetLineWidth", Form("%d", (Int_t) lwidth));
201  fCuts->Execute("SetLineWidth", Form("%d", (Int_t) lwidth));
202  fInfoZones->Execute("SetLineWidth", Form("%d", (Int_t) lwidth));
203  Modified();
204  } // *MENU={Hierarchy="View.../SetLineWidth"}*
205 
206 
209  void Add(TString, KVIDentifier*);
211  virtual void DrawAndAdd(const Char_t* type = "ID", const Char_t* classname = "KVIDentifier");
212  void Print(Option_t* opt = "") const;
213 
214  static KVIDGraph* AddGraphs(KVIDGraph* g1, Int_t id1_min, Int_t id1_max,
215  KVIDGraph* g2, Int_t id2_min, Int_t id2_max);
216  void SetRuns(const KVNumberList& nl);
217 
218  const Char_t* GetName() const;
219  virtual void WriteAsciiFile_WP(Int_t version = -1); //WP means with pattern
220  virtual void ReadAsciiFile_WP(Int_t version = -1); //WP means with pattern
221  virtual Int_t CheckVersion(Int_t version);
222  virtual Bool_t ExistVersion(Int_t version)
223  {
224  if (version != -1) return (version == CheckVersion(version));
225  else return (version != -1);
226  }
227  void SetPattern(TString pattern)
228  {
229  pattern.ReplaceAll(".", "_");
230  fPattern = pattern;
231  }
233  {
234  return fPattern;
235  }
236 
237  const TList* GetIDTelescopes() const
238  {
239  return &fTelescopes;
240  };
241  void Increment(Float_t x) // *SIGNAL*
242  {
245  Emit("Increment(Float_t)", x);
246  }
247  void Modified() // *SIGNAL*
248  {
250  Emit("Modified()");
251  }
252 
253  const KVNumberList& GetRuns() const
254  {
256  return fRunList;
257  }
258  const Char_t* GetRunList() const
259  {
261  return (const char*)fRunList;
262  }
264  {
266  return (KVIDentifier*)fIdentifiers->At(index);
267  }
268  KVIDentifier* GetIdentifier(const Char_t* name) const
269  {
270  return (KVIDentifier*)fIdentifiers->FindObject(name);
271  }
272  KVIDentifier* GetCut(const Char_t* name) const
273  {
274  return (KVIDentifier*)fCuts->FindObject(name);
275  }
276  KVIDentifier* GetInfo(const Char_t* name) const
277  {
278  return (KVIDentifier*)fInfoZones->FindObject(name);
279  }
281  {
283  return fPar;
284  }
286  {
288  return fIdentifiers;
289  }
290  KVList* GetCuts() const
291  {
293  return fCuts;
294  }
295  KVList* GetInfos() const
296  {
298  return fInfoZones;
299  }
301  {
302  return fIdentifiers->GetSize();
303  }
305  {
306  return fCuts->GetSize();
307  }
309  {
310  return fInfoZones->GetSize();
311  }
312  virtual void AddIdentifier(KVIDentifier* id)
313  {
315  fIdentifiers->Add(id);
316  id->SetParent(this);
317  id->SetVarX(GetVarX());
318  id->SetVarY(GetVarY());
319  id->SetOnlyZId(IsOnlyZId());
322  if (IsOnlyZId()) id->SetMassFormula(GetMassFormula());
324  }
325  virtual void AddCut(KVIDentifier* cut)
326  {
328  cut->SetLineColor(kRed);
329  cut->SetParent(this);
330  fCuts->Add(cut);
331  cut->SetVarX(GetVarX());
332  cut->SetVarY(GetVarY());
333  cut->SetBit(kMustCleanup);
335  }
336  virtual void AddInfo(KVIDentifier* info)
337  {
339  info->SetLineColor(kBlue);
340  info->SetParent(this);
341  fInfoZones->Add(info);
342  info->SetVarX(GetVarX());
343  info->SetVarY(GetVarY());
344  info->SetBit(kMustCleanup);
346  }
348  {
349  fIdentifiers->Sort();
351  }
352  Bool_t IsSorted() const
353  {
355  return fIdentifiers->IsSorted();
356  }
357  Axis_t GetXmin() const
358  {
359  return fXmin;
360  }
361  Axis_t GetYmin() const
362  {
363  return fYmin;
364  }
365  Axis_t GetXmax() const
366  {
367  return fXmax;
368  }
369  Axis_t GetYmax() const
370  {
371  return fYmax;
372  }
373  virtual Int_t GetQualityCode() const
374  {
377  return 0;
378  }
380  {
384 
385  fTelescopes.Add(t);
386  Modified();
387  }
389  {
392 
393  fTelescopes.Remove(t);
394  Modified();
395  }
397  {
399 
400  return fTelescopes.Contains(t);
401  }
403  {
406 
407  KVBase* id = (KVBase*)fTelescopes.First();
408  return (id ? id->GetLabel() : "");
409  }
411  {
412  return fMassFormula;
413  }
414  void ResetPad();
415  void ClearPad(TVirtualPad*);
417  {
420  return fPad;
421  }
422  virtual void TestIdentification(TH2F* data, KVHashList& histos, KVNameValueList& histo_names);
423 
424  const Char_t* GetNamesOfIDTelescopes() const;
425 
428  virtual void SetMaximum(Double_t maximum = -1111)
429  {
430  TGraph::SetMaximum(maximum);
431  }
432  virtual void SetMinimum(Double_t minimum = -1111)
433  {
434  TGraph::SetMinimum(minimum);
435  }
437  virtual void FitPanel()
438  {
440  }
441  virtual void DrawPanel()
442  {
444  }
445 #if ROOT_VERSION_CODE > ROOT_VERSION(5,25,4)
446  virtual TFitResultPtr Fit(const char* formula, Option_t* option = "", Option_t* goption = "", Axis_t xmin = 0, Axis_t xmax = 0)
447  {
448  return TGraph::Fit(formula, option, goption, xmin, xmax);
449  }
450  virtual TFitResultPtr Fit(TF1* f1, Option_t* option = "", Option_t* goption = "", Axis_t xmin = 0, Axis_t xmax = 0)
451  {
452  return TGraph::Fit(f1, option, goption, xmin, xmax);
453  }
454 #else
455  virtual Int_t Fit(const char* formula, Option_t* option = "", Option_t* goption = "", Axis_t xmin = 0, Axis_t xmax = 0)
456  {
457  return TGraph::Fit(formula, option, goption, xmin, xmax);
458  }
459  virtual Int_t Fit(TF1* f1, Option_t* option = "", Option_t* goption = "", Axis_t xmin = 0, Axis_t xmax = 0)
460  {
461  return TGraph::Fit(f1, option, goption, xmin, xmax);
462  }
463 #endif
466  virtual void Delete(Option_t* option = "")
467  {
468  TGraph::Delete(option);
469  }
470  virtual void DrawClass() const
471  {
473  }
474  virtual TObject* DrawClone(Option_t* option = "") const
475  {
476  return TGraph::DrawClone(option);
477  }
478  virtual void Dump() const
479  {
480  TGraph::Dump();
481  }
482  virtual void Inspect() const
483  {
484  TGraph::Inspect();
485  }
486  virtual void SaveAs(const char* filename = "", Option_t* option = "") const
487  {
488  TGraph::SaveAs(filename, option);
489  }
490  virtual void SetDrawOption(Option_t* option = "")
491  {
492  TGraph::SetDrawOption(option);
493  }
494  virtual void SetLineAttributes()
495  {
497  }
498  virtual void SetFillAttributes()
499  {
501  }
502  virtual void SetMarkerAttributes()
503  {
505  }
506  virtual void SetVarX(const char* v)
507  {
508  TCutG::SetVarX(v);
509  }
510  virtual void SetVarY(const char* v)
511  {
512  TCutG::SetVarY(v);
513  }
514  virtual Int_t InsertPoint()
515  {
516  return TCutG::InsertPoint();
517  }
518  virtual Int_t RemovePoint()
519  {
520  return TCutG::RemovePoint();
521  }
523  {
524  return TCutG::RemovePoint(i);
525  }
526 
527  ClassDef(KVIDGraph, 2) //Base class for particle identification in a 2D map
528 };
529 
530 #endif
int Int_t
#define RQ_OBJECT(sender_class)
char Char_t
short Width_t
bool Bool_t
double Axis_t
double Double_t
short Color_t
short Style_t
float Float_t
const char Option_t
#define ClassDef(name, id)
kRed
kBlue
float xmin
float xmax
char * Form(const char *fmt,...)
Base class for KaliVeda framework.
Definition: KVBase.h:135
const Char_t * GetLabel() const
Definition: KVBase.h:192
Extended version of ROOT THashList.
Definition: KVHashList.h:28
Base class for particle identification in a 2D map.
Definition: KVIDGraph.h:31
KVNumberList fRunList
runs for which grid is valid
Definition: KVIDGraph.h:48
virtual Int_t InsertPoint()
Definition: KVIDGraph.h:514
void Add(TString, KVIDentifier *)
Definition: KVIDGraph.cpp:853
void SetRunList(const char *runlist)
Definition: KVIDGraph.h:150
Axis_t GetYmax() const
Definition: KVIDGraph.h:369
Double_t GetYScaleFactor()
Definition: KVIDGraph.cpp:309
TString fDyName
dynamically generated name
Definition: KVIDGraph.h:50
virtual TFitResultPtr Fit(const char *formula, Option_t *option="", Option_t *goption="", Axis_t xmin=0, Axis_t xmax=0)
Definition: KVIDGraph.h:446
Bool_t HandlesIDTelescope(KVBase *t) const
Definition: KVIDGraph.h:396
virtual void ReadAsciiFile_WP(Int_t version=-1)
lecture des grilles avec version suivant un modele de fichier
Definition: KVIDGraph.cpp:1392
KVIDGraph * fLastSavedVersion
copy of last save version of grid, used for 'undo'
Definition: KVIDGraph.h:53
Int_t GetNumberOfCuts() const
Definition: KVIDGraph.h:304
virtual void SetVarX(const char *v)
Definition: KVIDGraph.h:506
void ReadAsciiFile(const Char_t *filename)
Definition: KVIDGraph.cpp:794
KVIDentifier * GetIdentifier(const Char_t *name) const
Definition: KVIDGraph.h:268
virtual void SetDrawOption(Option_t *option="")
Definition: KVIDGraph.h:490
void RemoveIdentifier(KVIDentifier *)
Remove and destroy identifier.
Definition: KVIDGraph.cpp:352
Double_t GetXScaleFactor()
Definition: KVIDGraph.cpp:291
virtual void Delete(Option_t *option="")
Definition: KVIDGraph.h:466
virtual void TestIdentification(TH2F *data, KVHashList &histos, KVNameValueList &histo_names)
Definition: KVIDGraph.cpp:1691
void SetXVariable(const char *v)
void SetIDTelescopes();// MENU={Hierarchy="Set.../ID Telescopes"}
Definition: KVIDGraph.h:140
virtual void SetMinimum(Double_t minimum=-1111)
Definition: KVIDGraph.h:432
void SetLineWidth(Width_t lwidth)
Definition: KVIDGraph.h:197
Double_t fLastScaleY
last applied scaling factor on Y
Definition: KVIDGraph.h:46
virtual void SetMassIDCapability(Bool_t yes=kTRUE)
Definition: KVIDGraph.h:172
virtual void SetLineAttributes()
Definition: KVIDGraph.h:494
Double_t fLastScaleX
last applied scaling factor on X
Definition: KVIDGraph.h:45
const TList * GetIDTelescopes() const
Definition: KVIDGraph.h:237
void UpdateLastSavedVersion()
update last saved version. mkae copy of current state of graph.
Definition: KVIDGraph.cpp:551
virtual void SetName(const char *name)
Definition: KVIDGraph.h:134
Axis_t GetXmax() const
Definition: KVIDGraph.h:365
void SetLineStyle(Style_t lstyle)
Definition: KVIDGraph.h:189
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:1130
void RemoveInfo(KVIDentifier *)
Remove and destroy cut.
Definition: KVIDGraph.cpp:380
virtual void WriteToAsciiFile(std::ofstream &gridfile)
Definition: KVIDGraph.cpp:459
Bool_t IsSorted() const
Definition: KVIDGraph.h:352
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:336
void Increment(Float_t x)
Definition: KVIDGraph.h:241
void Draw(Option_t *opt="")
Definition: KVIDGraph.cpp:903
void SortIdentifiers()
Definition: KVIDGraph.h:347
KVIDentifier * GetInfo(const Char_t *name) const
Definition: KVIDGraph.h:276
void AddIDTelescope(KVBase *t)
Definition: KVIDGraph.h:379
Int_t GetNumberOfIdentifiers() const
Definition: KVIDGraph.h:300
virtual void Copy(TObject &) const
virtual void Browse(TBrowser* b);
Definition: KVIDGraph.cpp:120
const Char_t * GetRunList() const
Definition: KVIDGraph.h:258
virtual void ReadIdentifierFromAsciiFile(TString &name, TString &type, TString &cl, std::ifstream &gridfile)
Read in new identifier object from file.
Definition: KVIDGraph.cpp:770
Axis_t fXmin
Definition: KVIDGraph.h:42
Bool_t IsOnlyZId() const
Definition: KVIDGraph.h:56
Int_t GetMassFormula() const
Definition: KVIDGraph.h:410
KVIDentifier * GetCut(const Char_t *name) const
Definition: KVIDGraph.h:272
TVirtualPad * GetPad() const
Definition: KVIDGraph.h:127
virtual TFitResultPtr Fit(TF1 *f1, Option_t *option="", Option_t *goption="", Axis_t xmin=0, Axis_t xmax=0)
Definition: KVIDGraph.h:450
KVNameValueList * fPar
parameters associated to grid
Definition: KVIDGraph.h:44
void RevertToLastSavedVersion()
Definition: KVIDGraph.cpp:570
void UnDraw()
Definition: KVIDGraph.cpp:981
virtual void ReadFromAsciiFile(std::ifstream &gridfile)
Definition: KVIDGraph.cpp:616
virtual Bool_t ExistVersion(Int_t version)
Definition: KVIDGraph.h:222
TVirtualPad * IsDrawn() const
Definition: KVIDGraph.h:416
void ClearPad(TVirtualPad *)
Definition: KVIDGraph.cpp:49
void WriteParameterListOfIDTelescopes()
Definition: KVIDGraph.cpp:399
virtual Int_t RemovePoint()
Definition: KVIDGraph.h:518
virtual void Identify(Double_t, Double_t, KVIdentificationResult *) const =0
TString GetPattern(void)
Definition: KVIDGraph.h:232
TString fPattern
pattern of filenames used to write or read grid
Definition: KVIDGraph.h:51
void SetLineColor(Color_t lcolor)
Definition: KVIDGraph.h:181
KVList * fIdentifiers
list of identification objects
Definition: KVIDGraph.h:39
void Print(Option_t *opt="") const
Print out all objects in graph.
Definition: KVIDGraph.cpp:1031
KVList * fCuts
cuts used to define area in which identification is possible
Definition: KVIDGraph.h:40
virtual void WriteAsciiFile_WP(Int_t version=-1)
Definition: KVIDGraph.cpp:1375
KVIDentifier * GetIdentifier(Int_t Z, Int_t A) const
Definition: KVIDGraph.cpp:327
virtual void DrawPanel()
Definition: KVIDGraph.h:441
virtual Bool_t HasMassIDCapability() const
Definition: KVIDGraph.h:163
KVList * GetInfos() const
Definition: KVIDGraph.h:295
KVList * fInfoZones
contours/lines used to add info to particles (ex: punch-through)
Definition: KVIDGraph.h:41
KVIDentifier * GetIdentifierAt(Int_t index) const
Definition: KVIDGraph.h:263
virtual TObject * DrawClone(Option_t *option="") const
Definition: KVIDGraph.h:474
virtual ~KVIDGraph()
Destructor.
Definition: KVIDGraph.cpp:199
const KVNumberList & GetRuns() const
Definition: KVIDGraph.h:253
virtual Bool_t IsIdentifiable(Double_t, Double_t, TString *rejected_by=nullptr) const
Definition: KVIDGraph.cpp:1257
void FindAxisLimits()
Calculate X/Y min/max of all objects in graph.
Definition: KVIDGraph.cpp:1057
Axis_t GetYmin() const
Definition: KVIDGraph.h:361
virtual void SetVarY(const char *v)
Definition: KVIDGraph.h:510
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:1207
const Char_t * GetIDTelescopeLabel() const
Definition: KVIDGraph.h:402
virtual Int_t RemovePoint(Int_t i)
Definition: KVIDGraph.h:522
KVIDGraph * GetLastSavedVersion() const
Definition: KVIDGraph.h:110
virtual void DrawAndAdd(const Char_t *type="ID", const Char_t *classname="KVIDentifier")
Definition: KVIDGraph.cpp:1162
virtual void AddCut(KVIDentifier *cut)
Definition: KVIDGraph.h:325
virtual void SetFillAttributes()
Definition: KVIDGraph.h:498
void SetMassFormula(Int_t)
Definition: KVIDGraph.cpp:1461
const Char_t * GetName() const
Definition: KVIDGraph.cpp:1320
TList fTelescopes
ID telescopes for which grid is valid.
Definition: KVIDGraph.h:49
virtual void SetMarkerAttributes()
Definition: KVIDGraph.h:502
static Bool_t fAutoAddGridManager
if =kTRUE, grids are automatically added to ID grid manager on creation (default)
Definition: KVIDGraph.h:54
void WriteAsciiFile(const Char_t *filename)
Open, write and close ascii file containing this grid.
Definition: KVIDGraph.cpp:421
virtual KVIDentifier * New(const Char_t *)
Create new object of class "id_class" which derives from KVIDentifier.
Definition: KVIDGraph.cpp:822
virtual void BackwardsCompatibilityFix()
Definition: KVIDGraph.cpp:1349
void AddIDTelescopes(const TList *)
Associate this graph with all ID telescopes in list.
Definition: KVIDGraph.cpp:1504
virtual void AddIdentifier(KVIDentifier *id)
Definition: KVIDGraph.h:312
virtual void SetInfos(Double_t, Double_t, KVIdentificationResult *) const
loop over KVIDGraph::fInfoZones to set flags in KVIdentificationResult
Definition: KVIDGraph.cpp:1285
KVNameValueList * GetParameters() const
Definition: KVIDGraph.h:280
virtual void DrawClass() const
Definition: KVIDGraph.h:470
static KVIDGraph * MakeIDGraph(const Char_t *)
Definition: KVIDGraph.cpp:1544
virtual void SaveAs(const char *filename="", Option_t *option="") const
Definition: KVIDGraph.h:486
const Char_t * GetNamesOfIDTelescopes() const
Definition: KVIDGraph.cpp:1599
virtual void Inspect() const
Definition: KVIDGraph.h:482
Axis_t GetXmin() const
Definition: KVIDGraph.h:357
void SetXScaleFactor(Double_t=0)
Definition: KVIDGraph.cpp:243
Int_t GetNumberOfInfos() const
Definition: KVIDGraph.h:308
virtual Int_t GetQualityCode() const
Definition: KVIDGraph.h:373
TVirtualPad * fPad
pad in which graph is drawn
Definition: KVIDGraph.h:47
void SetYVariable(const char *v)
Definition: KVIDGraph.h:145
virtual void Dump() const
Definition: KVIDGraph.h:478
virtual Bool_t AcceptIDForTest(const KVIdentificationResult &idr)
Definition: KVIDGraph.h:74
Axis_t fYmax
min/max Y coordinates of graph
Definition: KVIDGraph.h:43
KVList * GetCuts() const
Definition: KVIDGraph.h:290
void SetRuns(const KVNumberList &nl)
Set list of runs for which grid is valid.
Definition: KVIDGraph.cpp:1304
virtual Int_t CheckVersion(Int_t version)
Definition: KVIDGraph.cpp:1411
virtual void SetEditable(Bool_t editable=kTRUE)
Definition: KVIDGraph.cpp:1570
void SetYScaleFactor(Double_t=0)
Definition: KVIDGraph.cpp:267
virtual void Initialize()=0
virtual void FitPanel()
virtual void SetTitle(const char *title="") {TGraph::SetTitle(title);};
Definition: KVIDGraph.h:437
Axis_t fXmax
min/max X coordinates of graph
Definition: KVIDGraph.h:42
Bool_t fOnlyZId
set to kTRUE when only to be used to give Z identification of nuclei, no mass info
Definition: KVIDGraph.h:38
virtual void Clear(Option_t *opt="")
Definition: KVIDGraph.cpp:220
void ResetPad()
Definition: KVIDGraph.cpp:33
Int_t fMassFormula
OPTION={GetMethod="GetMassFormula";SetMethod="SetMassFormula";Items=(0="Beta-stability",...
Definition: KVIDGraph.h:52
void ResetDraw()
Definition: KVIDGraph.cpp:1018
void SetPattern(TString pattern)
Definition: KVIDGraph.h:227
Axis_t fYmin
Definition: KVIDGraph.h:43
KVList * GetIdentifiers() const
Definition: KVIDGraph.h:285
void RemoveCut(KVIDentifier *)
Remove and destroy cut.
Definition: KVIDGraph.cpp:367
void RemoveIDTelescope(KVBase *t)
Definition: KVIDGraph.h:388
virtual void SetOnlyZId(Bool_t yes=kTRUE)
Definition: KVIDGraph.cpp:1484
virtual void SetMaximum(Double_t maximum=-1111)
Definition: KVIDGraph.h:428
void Modified()
Definition: KVIDGraph.h:247
void ClearListOfTelescopes()
Definition: KVIDGraph.h:106
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:27
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:27
void Sort(Bool_t order=kSortAscending)
Definition: KVList.h:34
Handles lists of named parameters with different types, a list of KVNamedParameter objects.
Strings used to represent a set of ranges of values.
Definition: KVNumberList.h:83
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 * GetVarY() const
virtual void SetVarY(const char *vary)
virtual void SetVarX(const char *varx)
const char * GetVarX() const
virtual void SetMaximum(Double_t maximum=-1111)
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)
virtual void Add(TObject *obj)
TObject * Remove(const TObjLinkPtr_t &lnk)
virtual TObject * First() const
virtual void Clear(Option_t *option="")
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 SaveAs(const char *filename="", 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)
Double_t x[n]
TF1 * f1
const long double cl
Definition: KVUnits.h:85
v