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 ScaleXY(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 
74  {
82 
83  int zmax, amax;
84  if (fLastIDLineAdded) {
85  zmax = fLastIDLineAdded->GetZ();
86  amax = fLastIDLineAdded->GetA();
87  }
88  else if(GetNumberOfIdentifiers())
89  {
91  zmax= static_cast<KVIDentifier*>(GetIdentifiers()->Last())->GetZ();
92  amax= static_cast<KVIDentifier*>(GetIdentifiers()->Last())->GetA();
93  }
94  else
95  {
97  zmax = !IsOnlyZId();
98  amax = 0;
99  }
100  if (IsOnlyZId())
101  idline->SetZ(zmax + 1);
102  else
103  idline->SetAandZ(amax + 1, zmax);
104  fLastIDLineAdded = idline;
105  }
106 
107 public:
108  virtual void ReadFromAsciiFile(std::ifstream& gridfile);
109  virtual void WriteToAsciiFile(std::ofstream& gridfile);
111  {
117 
118  return idr.IDOK;
119  }
120  void AddParameter(char* Name, char* Value)
121  {
123  }
124 
125  KVIDGraph();
126  KVIDGraph(const KVIDGraph&);
127  virtual ~KVIDGraph();
128 
129  void Copy(TObject&) const override;
130  virtual void Identify(Double_t /*x*/, Double_t /*y*/, KVIdentificationResult*) const = 0;
131  virtual void Initialize() = 0;
132  virtual Bool_t IsIdentifiable(Double_t /*x*/, Double_t /*y*/, TString* rejected_by = nullptr) const;
133  virtual void SetInfos(Double_t /*x*/, Double_t /*y*/, KVIdentificationResult* /*idr*/) const;
134 
135  static void SetAutoAdd(Bool_t yes = kTRUE)
136  {
139  fAutoAddGridManager = yes;
140  }
142  {
145  return fAutoAddGridManager;
146  }
148  {
149  fTelescopes.Clear();
150  }
152  {
153  return fLastSavedVersion;
154  }
156  void UpdateLastSavedVersion();
157 
158  static KVIDGraph* MakeIDGraph(const Char_t*);
159 
160  void FindAxisLimits();
161  using TCutG::Scale;
162  void Scale(TF1* sx, TF1* sy);
163 
164  KVIDentifier* GetIdentifier(Int_t Z, Int_t A) const;
166  void RemoveCut(KVIDentifier*);
167  void RemoveInfo(KVIDentifier*);
168 
170  {
171  return fPad;
172  }
173 
174  void ReadAsciiFile(const Char_t* filename);
175  void AddIDTelescopes(const TList*);
176  void SetName(const char* name) override
177  {
178  TNamed::SetName(name); /*Modified()*/;
179  } // *MENU*
180  void Clear(Option_t* opt = "") override; // *MENU*
182  void SetXVariable(const char* v)
183  {
184  SetVarX(v);
185  Modified();
186  } // *MENU={Hierarchy="Set.../X Variable"}* *ARGS={v=>fVarX}
187  void SetYVariable(const char* v)
188  {
189  SetVarY(v);
190  Modified();
191  } // *MENU={Hierarchy="Set.../Y Variable"}* *ARGS={v=>fVarY}
192  void SetRunList(const char* runlist)
193  {
194  SetRuns(KVNumberList(runlist));
195  } // *MENU={Hierarchy="Set.../List of Runs"}*
196  virtual void SetOnlyZId(Bool_t yes = kTRUE);
197  void SetMassFormula(Int_t);// *SUBMENU={Hierarchy="Set.../Mass Formula"}*
198  void WriteAsciiFile(const Char_t* filename); // *MENU*
199  void SetXScaleFactor(Double_t = 0); // *MENU={Hierarchy="Scale.../X Scale Factor"}*
200  void SetYScaleFactor(Double_t = 0);// *MENU={Hierarchy="Scale.../Y Scale Factor"}*
203  void SetEditable(Bool_t editable = kTRUE) override; // *TOGGLE* *GETTER=GetEditable
204 
205  virtual Bool_t HasMassIDCapability() const
206  {
211  return !IsOnlyZId();
212  }
213 
214  virtual void SetMassIDCapability(Bool_t yes = kTRUE)
215  {
217  SetOnlyZId(!yes);
218  } // *TOGGLE={Hierarchy="A and Z Identification"}* *GETTER=HasMassIDCapability
219 
220  void Draw(Option_t* opt = "") override; // *MENU={Hierarchy="View.../Draw"}*
221  void UnDraw(); // *MENU={Hierarchy="View.../UnDraw"}*
222  void ResetDraw();// *MENU={Hierarchy="View.../ResetDraw"}*
223  void SetLineColor(Color_t lcolor) override
224  {
226  fIdentifiers.Execute("SetLineColor", Form("%d", (Int_t) lcolor));
227  fCuts.Execute("SetLineColor", Form("%d", (Int_t) lcolor));
228  fInfoZones.Execute("SetLineColor", Form("%d", (Int_t) lcolor));
229  Modified();
230  } // *MENU={Hierarchy="View.../SetLinecolor"}*
231  void SetLineStyle(Style_t lstyle) override
232  {
234  fIdentifiers.Execute("SetLineStyle", Form("%d", (Int_t) lstyle));
235  fCuts.Execute("SetLineStyle", Form("%d", (Int_t) lstyle));
236  fInfoZones.Execute("SetLineStyle", Form("%d", (Int_t) lstyle));
237  Modified();
238  } // *MENU={Hierarchy="View.../SetLineStyle"}*
239  void SetLineWidth(Width_t lwidth) override
240  {
242  fIdentifiers.Execute("SetLineWidth", Form("%d", (Int_t) lwidth));
243  fCuts.Execute("SetLineWidth", Form("%d", (Int_t) lwidth));
244  fInfoZones.Execute("SetLineWidth", Form("%d", (Int_t) lwidth));
245  Modified();
246  } // *MENU={Hierarchy="View.../SetLineWidth"}*
247 
248  void ExtendBeginningAllIdentLines(Double_t, Option_t* = "");// *MENU*
249  void ExtendEndAllIdentLines(Double_t, Option_t* = "");// *MENU*
250 
253  void Add(TString, KVIDentifier*);
255  virtual void DrawAndAdd(const TString& type = "ID", const TString& classname = "KVIDentifier");
256  void Print(Option_t* opt = "") const override;
257 
258  static KVIDGraph* AddGraphs(KVIDGraph* g1, Int_t id1_min, Int_t id1_max,
259  KVIDGraph* g2, Int_t id2_min, Int_t id2_max);
260  void SetRuns(const KVNumberList& nl);
261 
262  const Char_t* GetName() const override;
263  virtual void WriteAsciiFile_WP(Int_t version = -1); //WP means with pattern
264  virtual void ReadAsciiFile_WP(Int_t version = -1); //WP means with pattern
265  virtual Int_t CheckVersion(Int_t version);
266  virtual Bool_t ExistVersion(Int_t version)
267  {
268  if (version != -1) return (version == CheckVersion(version));
269  else return (version != -1);
270  }
271  void SetPattern(TString pattern)
272  {
273  pattern.ReplaceAll(".", "_");
274  fPattern = pattern;
275  }
277  {
278  return fPattern;
279  }
280 
281  const TList* GetIDTelescopes() const
282  {
283  return &fTelescopes;
284  };
285  void Increment(Float_t x) // *SIGNAL*
286  {
289  Emit("Increment(Float_t)", x);
290  }
291  void Modified() // *SIGNAL*
292  {
294  Emit("Modified()");
295  }
296 
297  const KVNumberList& GetRuns() const
298  {
300  return fRunList;
301  }
302  const Char_t* GetRunList() const
303  {
305  return (const char*)fRunList;
306  }
308  {
310  return (KVIDentifier*)fIdentifiers.At(index);
311  }
312  KVIDentifier* GetIdentifier(const Char_t* name) const
313  {
315  }
316  KVIDentifier* GetCut(const Char_t* name) const
317  {
318  return (KVIDentifier*)fCuts.FindObject(name);
319  }
320  KVIDentifier* GetInfo(const Char_t* name) const
321  {
323  }
325  {
327  return &fPar;
328  }
330  {
332  return &fPar;
333  }
334  const KVList* GetIdentifiers() const
335  {
337  return &fIdentifiers;
338  }
340  {
342  return &fIdentifiers;
343  }
344  const KVList* GetCuts() const
345  {
347  return &fCuts;
348  }
350  {
352  return &fCuts;
353  }
354  const KVList* GetInfos() const
355  {
357  return &fInfoZones;
358  }
360  {
362  return &fInfoZones;
363  }
365  {
366  return fIdentifiers.GetSize();
367  }
369  {
370  return fCuts.GetSize();
371  }
373  {
374  return fInfoZones.GetSize();
375  }
376  virtual void AddIdentifier(KVIDentifier* id)
377  {
379  fIdentifiers.Add(id);
380  id->SetParent(this);
381  id->SetVarX(GetVarX());
382  id->SetVarY(GetVarY());
383  id->SetOnlyZId(IsOnlyZId());
386  if (IsOnlyZId()) id->SetMassFormula(GetMassFormula());
388  }
389  virtual void AddCut(KVIDentifier* cut)
390  {
392  cut->SetLineColor(kRed);
393  cut->SetParent(this);
394  fCuts.Add(cut);
395  cut->SetVarX(GetVarX());
396  cut->SetVarY(GetVarY());
397  cut->SetBit(kMustCleanup);
399  }
400  virtual void AddInfo(KVIDentifier* info)
401  {
403  info->SetLineColor(kBlue);
404  info->SetParent(this);
405  fInfoZones.Add(info);
406  info->SetVarX(GetVarX());
407  info->SetVarY(GetVarY());
408  info->SetBit(kMustCleanup);
410  }
412  {
413  fIdentifiers.Sort();
415  }
416  Bool_t IsSorted() const
417  {
419  return fIdentifiers.IsSorted();
420  }
421  Axis_t GetXmin() const
422  {
423  return fXmin;
424  }
425  Axis_t GetYmin() const
426  {
427  return fYmin;
428  }
429  Axis_t GetXmax() const
430  {
431  return fXmax;
432  }
433  Axis_t GetYmax() const
434  {
435  return fYmax;
436  }
437  virtual Int_t GetQualityCode() const
438  {
441  return 0;
442  }
444  {
448 
449  fTelescopes.Add(t);
450  Modified();
451  }
453  {
456 
457  fTelescopes.Remove(t);
458  Modified();
459  }
461  {
463 
464  return fTelescopes.Contains(t);
465  }
467  {
470 
471  KVBase* id = (KVBase*)fTelescopes.First();
472  return (id ? id->GetLabel() : "");
473  }
475  {
476  return fMassFormula;
477  }
478  void ResetPad();
479  void ClearPad(TVirtualPad*);
481  {
484  return fPad;
485  }
486  virtual void TestIdentification(TH2F* data, KVHashList& histos, KVNameValueList& histo_names);
487 
488  const Char_t* GetNamesOfIDTelescopes() const;
489  void SetNamesOfIDTelescopes(const TString&);
490 
493  void SetMaximum(Double_t maximum = -1111) override
494  {
495  TGraph::SetMaximum(maximum);
496  }
497  void SetMinimum(Double_t minimum = -1111) override
498  {
499  TGraph::SetMinimum(minimum);
500  }
502  void FitPanel() override
503  {
505  }
506  void DrawPanel() override
507  {
509  }
510 
511  TFitResultPtr Fit(const char* formula, Option_t* option = "", Option_t* goption = "", Axis_t xmin = 0, Axis_t xmax = 0) override
512  {
513  return TGraph::Fit(formula, option, goption, xmin, xmax);
514  }
515  TFitResultPtr Fit(TF1* f1, Option_t* option = "", Option_t* goption = "", Axis_t xmin = 0, Axis_t xmax = 0) override
516  {
517  return TGraph::Fit(f1, option, goption, xmin, xmax);
518  }
519 
522  void Delete(Option_t* option = "") override
523  {
525  }
526  void DrawClass() const override
527  {
529  }
530  TObject* DrawClone(Option_t* option = "") const override
531  {
532  return TGraph::DrawClone(option);
533  }
534  void Dump() const override
535  {
536  TGraph::Dump();
537  }
538  void Inspect() const override
539  {
540  TGraph::Inspect();
541  }
542  void SaveAs(const char* filename = "", Option_t* option = "") const override
543  {
545  }
546  void SetDrawOption(Option_t* option = "") override
547  {
549  }
550  void SetLineAttributes() override
551  {
553  }
554  void SetFillAttributes() override
555  {
557  }
558  void SetMarkerAttributes() override
559  {
561  }
562  void SetVarX(const char* v) override
563  {
564  TCutG::SetVarX(v);
565  }
566  void SetVarY(const char* v) override
567  {
568  TCutG::SetVarY(v);
569  }
570  Int_t InsertPoint() override
571  {
572  return TCutG::InsertPoint();
573  }
574  Int_t RemovePoint() override
575  {
576  return TCutG::RemovePoint();
577  }
578  Int_t RemovePoint(Int_t i) override
579  {
580  return TCutG::RemovePoint(i);
581  }
582 
583  ClassDefOverride(KVIDGraph, 2) //Base class for particle identification in a 2D map
584 };
585 
586 #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
kRed
kBlue
#define ClassDefOverride(name, id)
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:139
Extended version of ROOT THashList.
Definition: KVHashList.h:29
Base class for particle identification in a 2D map.
Definition: KVIDGraph.h:32
void DrawClass() const override
Definition: KVIDGraph.h:526
KVNumberList fRunList
runs for which grid is valid
Definition: KVIDGraph.h:49
void Add(TString, KVIDentifier *)
Definition: KVIDGraph.cpp:838
void SetRunList(const char *runlist)
Definition: KVIDGraph.h:192
Axis_t GetYmax() const
Definition: KVIDGraph.h:433
void SetName(const char *name) override
Definition: KVIDGraph.h:176
Double_t GetYScaleFactor()
Definition: KVIDGraph.cpp:292
TString fDyName
dynamically generated name
Definition: KVIDGraph.h:51
void Draw(Option_t *opt="") override
Definition: KVIDGraph.cpp:888
Bool_t HandlesIDTelescope(KVBase *t) const
Definition: KVIDGraph.h:460
Int_t RemovePoint(Int_t i) override
Definition: KVIDGraph.h:578
virtual void ReadAsciiFile_WP(Int_t version=-1)
lecture des grilles avec version suivant un modele de fichier
Definition: KVIDGraph.cpp:1411
KVIDGraph * fLastSavedVersion
copy of last save version of grid, used for 'undo'
Definition: KVIDGraph.h:54
Int_t GetNumberOfCuts() const
Definition: KVIDGraph.h:368
void ExtendBeginningAllIdentLines(Double_t, Option_t *="")
Definition: KVIDGraph.cpp:1017
KVNameValueList fPar
parameters associated to grid
Definition: KVIDGraph.h:45
void ReadAsciiFile(const Char_t *filename)
Definition: KVIDGraph.cpp:778
KVIDentifier * GetIdentifier(const Char_t *name) const
Definition: KVIDGraph.h:312
void RemoveIdentifier(KVIDentifier *)
Remove and destroy identifier.
Definition: KVIDGraph.cpp:335
Double_t GetXScaleFactor()
Definition: KVIDGraph.cpp:274
void Clear(Option_t *opt="") override
Definition: KVIDGraph.cpp:203
virtual void TestIdentification(TH2F *data, KVHashList &histos, KVNameValueList &histo_names)
Definition: KVIDGraph.cpp:1725
void SetXVariable(const char *v)
void SetIDTelescopes();// MENU={Hierarchy="Set.../ID Telescopes"}
Definition: KVIDGraph.h:182
KVList fCuts
cuts used to define area in which identification is possible
Definition: KVIDGraph.h:41
void SetNamesOfIDTelescopes(const TString &)
Set value of "IDTelescopes" parameter with comma-separated list of ID telescope names.
Definition: KVIDGraph.cpp:1644
KVList fIdentifiers
list of identification objects
Definition: KVIDGraph.h:40
Double_t fLastScaleY
last applied scaling factor on Y
Definition: KVIDGraph.h:47
void Inspect() const override
Definition: KVIDGraph.h:538
virtual void SetMassIDCapability(Bool_t yes=kTRUE)
Definition: KVIDGraph.h:214
void SetVarY(const char *v) override
Definition: KVIDGraph.h:566
Double_t fLastScaleX
last applied scaling factor on X
Definition: KVIDGraph.h:46
const TList * GetIDTelescopes() const
Definition: KVIDGraph.h:281
void SetEditable(Bool_t editable=kTRUE) override
Definition: KVIDGraph.cpp:1589
void UpdateLastSavedVersion()
update last saved version. mkae copy of current state of graph.
Definition: KVIDGraph.cpp:534
Axis_t GetXmax() const
Definition: KVIDGraph.h:429
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:416
static void SetAutoAdd(Bool_t yes=kTRUE)
Definition: KVIDGraph.h:135
void init()
Definition: KVIDGraph.cpp:67
virtual void AddInfo(KVIDentifier *info)
Definition: KVIDGraph.h:400
void Increment(Float_t x)
Definition: KVIDGraph.h:285
void SortIdentifiers()
Definition: KVIDGraph.h:411
void SetMaximum(Double_t maximum=-1111) override
Definition: KVIDGraph.h:493
KVIDentifier * GetInfo(const Char_t *name) const
Definition: KVIDGraph.h:320
void AddIDTelescope(KVBase *t)
Definition: KVIDGraph.h:443
Int_t GetNumberOfIdentifiers() const
Definition: KVIDGraph.h:364
const Char_t * GetRunList() const
Definition: KVIDGraph.h:302
virtual void ReadIdentifierFromAsciiFile(TString &name, TString &type, TString &cl, std::ifstream &gridfile)
Read in new identifier object from file.
Definition: KVIDGraph.cpp:754
Axis_t fXmin
Definition: KVIDGraph.h:43
Bool_t IsOnlyZId() const
Definition: KVIDGraph.h:57
void Scale(TF1 *sx, TF1 *sy)
Definition: KVIDGraph.cpp:1118
Int_t GetMassFormula() const
Definition: KVIDGraph.h:474
void SetFillAttributes() override
Definition: KVIDGraph.h:554
KVIDentifier * GetCut(const Char_t *name) const
Definition: KVIDGraph.h:316
void MakeBestGuessForNewIDLineZandA(KVIDentifier *idline)
Definition: KVIDGraph.h:73
const KVList * GetCuts() const
Definition: KVIDGraph.h:344
TVirtualPad * GetPad() const
Definition: KVIDGraph.h:169
const KVList * GetInfos() const
Definition: KVIDGraph.h:354
void RevertToLastSavedVersion()
Definition: KVIDGraph.cpp:555
void UnDraw()
Definition: KVIDGraph.cpp:966
void SetVarX(const char *v) override
Definition: KVIDGraph.h:562
virtual void ReadFromAsciiFile(std::ifstream &gridfile)
Definition: KVIDGraph.cpp:601
virtual Bool_t ExistVersion(Int_t version)
Definition: KVIDGraph.h:266
TVirtualPad * IsDrawn() const
Definition: KVIDGraph.h:480
void SetLineAttributes() override
Definition: KVIDGraph.h:550
void ClearPad(TVirtualPad *)
Definition: KVIDGraph.cpp:49
static Bool_t GetAutoAdd()
Definition: KVIDGraph.h:141
void WriteParameterListOfIDTelescopes()
Definition: KVIDGraph.cpp:382
virtual void Identify(Double_t, Double_t, KVIdentificationResult *) const =0
TString GetPattern(void)
Definition: KVIDGraph.h:276
TString fPattern
pattern of filenames used to write or read grid
Definition: KVIDGraph.h:52
void SaveAs(const char *filename="", Option_t *option="") const override
Definition: KVIDGraph.h:542
Int_t RemovePoint() override
Definition: KVIDGraph.h:574
const Char_t * GetName() const override
Definition: KVIDGraph.cpp:1339
virtual void DrawAndAdd(const TString &type="ID", const TString &classname="KVIDentifier")
Definition: KVIDGraph.cpp:1176
virtual void WriteAsciiFile_WP(Int_t version=-1)
Definition: KVIDGraph.cpp:1394
void Delete(Option_t *option="") override
Definition: KVIDGraph.h:522
KVIDentifier * GetIdentifier(Int_t Z, Int_t A) const
Definition: KVIDGraph.cpp:310
virtual Bool_t HasMassIDCapability() const
Definition: KVIDGraph.h:205
KVIDentifier * GetIdentifierAt(Int_t index) const
Definition: KVIDGraph.h:307
Int_t InsertPoint() override
Definition: KVIDGraph.h:570
virtual ~KVIDGraph()
Definition: KVIDGraph.cpp:188
const KVNumberList & GetRuns() const
Definition: KVIDGraph.h:297
void SetLineStyle(Style_t lstyle) override
Definition: KVIDGraph.h:231
TObject * DrawClone(Option_t *option="") const override
Definition: KVIDGraph.h:530
virtual Bool_t IsIdentifiable(Double_t, Double_t, TString *rejected_by=nullptr) const
Definition: KVIDGraph.cpp:1276
void FindAxisLimits()
Calculate X/Y min/max of all objects in graph.
Definition: KVIDGraph.cpp:1073
Axis_t GetYmin() const
Definition: KVIDGraph.h:425
KVIDentifier * fLastIDLineAdded
Definition: KVIDGraph.h:72
const KVNameValueList * GetParameters() const
Definition: KVIDGraph.h:324
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:1226
const Char_t * GetIDTelescopeLabel() const
Definition: KVIDGraph.h:466
KVIDGraph * GetLastSavedVersion() const
Definition: KVIDGraph.h:151
virtual void AddCut(KVIDentifier *cut)
Definition: KVIDGraph.h:389
void AddParameter(char *Name, char *Value)
Definition: KVIDGraph.h:120
KVNameValueList * GetParameters()
Definition: KVIDGraph.h:329
void SetMassFormula(Int_t)
Definition: KVIDGraph.cpp:1480
TList fTelescopes
ID telescopes for which grid is valid.
Definition: KVIDGraph.h:50
TFitResultPtr Fit(TF1 *f1, Option_t *option="", Option_t *goption="", Axis_t xmin=0, Axis_t xmax=0) override
Definition: KVIDGraph.h:515
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:1368
void AddIDTelescopes(const TList *)
Associate this graph with all ID telescopes in list.
Definition: KVIDGraph.cpp:1523
virtual void AddIdentifier(KVIDentifier *id)
Definition: KVIDGraph.h:376
virtual void SetInfos(Double_t, Double_t, KVIdentificationResult *) const
loop over KVIDGraph::fInfoZones to set flags in KVIdentificationResult
Definition: KVIDGraph.cpp:1304
void DrawPanel() override
Definition: KVIDGraph.h:506
static KVIDGraph * MakeIDGraph(const Char_t *)
Definition: KVIDGraph.cpp:1563
void SetLineColor(Color_t lcolor) override
Definition: KVIDGraph.h:223
const Char_t * GetNamesOfIDTelescopes() const
Definition: KVIDGraph.cpp:1618
Axis_t GetXmin() const
Definition: KVIDGraph.h:421
void SetXScaleFactor(Double_t=0)
Definition: KVIDGraph.cpp:226
Int_t GetNumberOfInfos() const
Definition: KVIDGraph.h:372
void Dump() const override
Definition: KVIDGraph.h:534
virtual Int_t GetQualityCode() const
Definition: KVIDGraph.h:437
TVirtualPad * fPad
pad in which graph is drawn
Definition: KVIDGraph.h:48
void SetYVariable(const char *v)
Definition: KVIDGraph.h:187
void FitPanel() override
virtual void SetTitle(const char *title="") {TGraph::SetTitle(title);};
Definition: KVIDGraph.h:502
KVList * GetCuts()
Definition: KVIDGraph.h:349
virtual Bool_t AcceptIDForTest(const KVIdentificationResult &idr)
Definition: KVIDGraph.h:110
void SetLineWidth(Width_t lwidth) override
Definition: KVIDGraph.h:239
KVList * GetInfos()
Definition: KVIDGraph.h:359
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:1323
virtual Int_t CheckVersion(Int_t version)
Definition: KVIDGraph.cpp:1430
TFitResultPtr Fit(const char *formula, Option_t *option="", Option_t *goption="", Axis_t xmin=0, Axis_t xmax=0) override
Definition: KVIDGraph.h:511
void SetMinimum(Double_t minimum=-1111) override
Definition: KVIDGraph.h:497
void SetYScaleFactor(Double_t=0)
Definition: KVIDGraph.cpp:250
virtual void Initialize()=0
void SetDrawOption(Option_t *option="") override
Definition: KVIDGraph.h:546
Axis_t fXmax
min/max X coordinates of graph
Definition: KVIDGraph.h:43
KVList * GetIdentifiers()
Definition: KVIDGraph.h:339
Bool_t fOnlyZId
set to kTRUE when only to be used to give Z identification of nuclei, no mass info
Definition: KVIDGraph.h:39
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:271
Axis_t fYmin
Definition: KVIDGraph.h:44
void Copy(TObject &) const override
Copy this to 'obj'.
Definition: KVIDGraph.cpp:115
void RemoveCut(KVIDentifier *)
Remove and destroy cut.
Definition: KVIDGraph.cpp:350
void RemoveIDTelescope(KVBase *t)
Definition: KVIDGraph.h:452
void Print(Option_t *opt="") const override
Print out all objects in graph.
Definition: KVIDGraph.cpp:1047
KVList fInfoZones
contours/lines used to add info to particles (ex: punch-through)
Definition: KVIDGraph.h:42
void SetMarkerAttributes() override
Definition: KVIDGraph.h:558
virtual void SetOnlyZId(Bool_t yes=kTRUE)
Definition: KVIDGraph.cpp:1503
void Modified()
Definition: KVIDGraph.h:291
void ClearListOfTelescopes()
Definition: KVIDGraph.h:147
void ScaleXY(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
const KVList * GetIdentifiers() const
Definition: KVIDGraph.h:334
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
virtual void SetAandZ(Int_t atnum, Int_t ztnum)
Definition: KVIDentifier.h:94
virtual Int_t GetA() const
Definition: KVIDentifier.h:76
virtual Int_t GetZ() const
Definition: KVIDentifier.h:80
void SetParent(KVIDGraph *)
Set pointer to parent ID graph.
virtual void SetZ(Int_t ztnum)
Definition: KVIDentifier.h:84
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:22
void Sort(Bool_t order=kSortAscending)
Definition: KVList.h:40
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
Bool_t IsSorted() const override
void Execute(const char *method, const char *params, Int_t *error=0) override
void Add(TObject *obj) override
TObject * FindObject(const char *name) const override
TObject * Last() const override
Int_t GetSize() const override
TObject * At(Int_t idx) const override
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 Scale(Double_t c1=1., Option_t *option="y")
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