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 
73  {
79 
80  int zmax,amax;
82  {
84  zmax = ((KVIDentifier*)GetIdentifiers()->Last())->GetZ();
85  amax = ((KVIDentifier*)GetIdentifiers()->Last())->GetA();
86  }
87  else
88  {
90  zmax=!IsOnlyZId();
91  amax=0;
92  }
93  if(IsOnlyZId())
94  idline->SetZ(zmax+1);
95  else
96  idline->SetAandZ(amax+1,zmax);
97  }
98 
99 public:
100  virtual void ReadFromAsciiFile(std::ifstream& gridfile);
101  virtual void WriteToAsciiFile(std::ofstream& gridfile);
103  {
109 
110  return idr.IDOK;
111  }
112  void AddParameter(char* Name, char* Value)
113  {
115  }
116 
117  KVIDGraph();
118  KVIDGraph(const KVIDGraph&);
119  virtual ~KVIDGraph();
120 
121  void Copy(TObject&) const override;
122  virtual void Identify(Double_t /*x*/, Double_t /*y*/, KVIdentificationResult*) const = 0;
123  virtual void Initialize() = 0;
124  virtual Bool_t IsIdentifiable(Double_t /*x*/, Double_t /*y*/, TString* rejected_by = nullptr) const;
125  virtual void SetInfos(Double_t /*x*/, Double_t /*y*/, KVIdentificationResult* /*idr*/) const;
126 
127  static void SetAutoAdd(Bool_t yes = kTRUE)
128  {
131  fAutoAddGridManager = yes;
132  }
134  {
137  return fAutoAddGridManager;
138  }
140  {
141  fTelescopes.Clear();
142  }
144  {
145  return fLastSavedVersion;
146  }
148  void UpdateLastSavedVersion();
149 
150  static KVIDGraph* MakeIDGraph(const Char_t*);
151 
152  void FindAxisLimits();
153  using TCutG::Scale;
154  void Scale(TF1* sx, TF1* sy);
155 
156  KVIDentifier* GetIdentifier(Int_t Z, Int_t A) const;
158  void RemoveCut(KVIDentifier*);
159  void RemoveInfo(KVIDentifier*);
160 
162  {
163  return fPad;
164  }
165 
166  void ReadAsciiFile(const Char_t* filename);
167  void AddIDTelescopes(const TList*);
168  void SetName(const char* name) override
169  {
170  TNamed::SetName(name); /*Modified()*/;
171  } // *MENU*
172  void Clear(Option_t* opt = "") override; // *MENU*
174  void SetXVariable(const char* v)
175  {
176  SetVarX(v);
177  Modified();
178  } // *MENU={Hierarchy="Set.../X Variable"}* *ARGS={v=>fVarX}
179  void SetYVariable(const char* v)
180  {
181  SetVarY(v);
182  Modified();
183  } // *MENU={Hierarchy="Set.../Y Variable"}* *ARGS={v=>fVarY}
184  void SetRunList(const char* runlist)
185  {
186  SetRuns(KVNumberList(runlist));
187  } // *MENU={Hierarchy="Set.../List of Runs"}*
188  virtual void SetOnlyZId(Bool_t yes = kTRUE);
189  void SetMassFormula(Int_t);// *SUBMENU={Hierarchy="Set.../Mass Formula"}*
190  void WriteAsciiFile(const Char_t* filename); // *MENU*
191  void SetXScaleFactor(Double_t = 0); // *MENU={Hierarchy="Scale.../X Scale Factor"}*
192  void SetYScaleFactor(Double_t = 0);// *MENU={Hierarchy="Scale.../Y Scale Factor"}*
195  void SetEditable(Bool_t editable = kTRUE) override; // *TOGGLE* *GETTER=GetEditable
196 
197  virtual Bool_t HasMassIDCapability() const
198  {
203  return !IsOnlyZId();
204  }
205 
206  virtual void SetMassIDCapability(Bool_t yes = kTRUE)
207  {
209  SetOnlyZId(!yes);
210  } // *TOGGLE={Hierarchy="A and Z Identification"}* *GETTER=HasMassIDCapability
211 
212  void Draw(Option_t* opt = "") override; // *MENU={Hierarchy="View.../Draw"}*
213  void UnDraw(); // *MENU={Hierarchy="View.../UnDraw"}*
214  void ResetDraw();// *MENU={Hierarchy="View.../ResetDraw"}*
215  void SetLineColor(Color_t lcolor) override
216  {
218  fIdentifiers.Execute("SetLineColor", Form("%d", (Int_t) lcolor));
219  fCuts.Execute("SetLineColor", Form("%d", (Int_t) lcolor));
220  fInfoZones.Execute("SetLineColor", Form("%d", (Int_t) lcolor));
221  Modified();
222  } // *MENU={Hierarchy="View.../SetLinecolor"}*
223  void SetLineStyle(Style_t lstyle) override
224  {
226  fIdentifiers.Execute("SetLineStyle", Form("%d", (Int_t) lstyle));
227  fCuts.Execute("SetLineStyle", Form("%d", (Int_t) lstyle));
228  fInfoZones.Execute("SetLineStyle", Form("%d", (Int_t) lstyle));
229  Modified();
230  } // *MENU={Hierarchy="View.../SetLineStyle"}*
231  void SetLineWidth(Width_t lwidth) override
232  {
234  fIdentifiers.Execute("SetLineWidth", Form("%d", (Int_t) lwidth));
235  fCuts.Execute("SetLineWidth", Form("%d", (Int_t) lwidth));
236  fInfoZones.Execute("SetLineWidth", Form("%d", (Int_t) lwidth));
237  Modified();
238  } // *MENU={Hierarchy="View.../SetLineWidth"}*
239 
240  void ExtendBeginningAllIdentLines(Double_t, Option_t* = "");// *MENU*
241  void ExtendEndAllIdentLines(Double_t, Option_t* = "");// *MENU*
242 
245  void Add(TString, KVIDentifier*);
247  virtual void DrawAndAdd(const Char_t* type = "ID", const Char_t* classname = "KVIDentifier");
248  void Print(Option_t* opt = "") const override;
249 
250  static KVIDGraph* AddGraphs(KVIDGraph* g1, Int_t id1_min, Int_t id1_max,
251  KVIDGraph* g2, Int_t id2_min, Int_t id2_max);
252  void SetRuns(const KVNumberList& nl);
253 
254  const Char_t* GetName() const override;
255  virtual void WriteAsciiFile_WP(Int_t version = -1); //WP means with pattern
256  virtual void ReadAsciiFile_WP(Int_t version = -1); //WP means with pattern
257  virtual Int_t CheckVersion(Int_t version);
258  virtual Bool_t ExistVersion(Int_t version)
259  {
260  if (version != -1) return (version == CheckVersion(version));
261  else return (version != -1);
262  }
263  void SetPattern(TString pattern)
264  {
265  pattern.ReplaceAll(".", "_");
266  fPattern = pattern;
267  }
269  {
270  return fPattern;
271  }
272 
273  const TList* GetIDTelescopes() const
274  {
275  return &fTelescopes;
276  };
277  void Increment(Float_t x) // *SIGNAL*
278  {
281  Emit("Increment(Float_t)", x);
282  }
283  void Modified() // *SIGNAL*
284  {
286  Emit("Modified()");
287  }
288 
289  const KVNumberList& GetRuns() const
290  {
292  return fRunList;
293  }
294  const Char_t* GetRunList() const
295  {
297  return (const char*)fRunList;
298  }
300  {
302  return (KVIDentifier*)fIdentifiers.At(index);
303  }
304  KVIDentifier* GetIdentifier(const Char_t* name) const
305  {
307  }
308  KVIDentifier* GetCut(const Char_t* name) const
309  {
310  return (KVIDentifier*)fCuts.FindObject(name);
311  }
312  KVIDentifier* GetInfo(const Char_t* name) const
313  {
315  }
317  {
319  return &fPar;
320  }
322  {
324  return &fPar;
325  }
326  const KVList* GetIdentifiers() const
327  {
329  return &fIdentifiers;
330  }
332  {
334  return &fIdentifiers;
335  }
336  const KVList* GetCuts() const
337  {
339  return &fCuts;
340  }
342  {
344  return &fCuts;
345  }
346  const KVList* GetInfos() const
347  {
349  return &fInfoZones;
350  }
352  {
354  return &fInfoZones;
355  }
357  {
358  return fIdentifiers.GetSize();
359  }
361  {
362  return fCuts.GetSize();
363  }
365  {
366  return fInfoZones.GetSize();
367  }
368  virtual void AddIdentifier(KVIDentifier* id)
369  {
371  fIdentifiers.Add(id);
372  id->SetParent(this);
373  id->SetVarX(GetVarX());
374  id->SetVarY(GetVarY());
375  id->SetOnlyZId(IsOnlyZId());
378  if (IsOnlyZId()) id->SetMassFormula(GetMassFormula());
380  }
381  virtual void AddCut(KVIDentifier* cut)
382  {
384  cut->SetLineColor(kRed);
385  cut->SetParent(this);
386  fCuts.Add(cut);
387  cut->SetVarX(GetVarX());
388  cut->SetVarY(GetVarY());
389  cut->SetBit(kMustCleanup);
391  }
392  virtual void AddInfo(KVIDentifier* info)
393  {
395  info->SetLineColor(kBlue);
396  info->SetParent(this);
397  fInfoZones.Add(info);
398  info->SetVarX(GetVarX());
399  info->SetVarY(GetVarY());
400  info->SetBit(kMustCleanup);
402  }
404  {
405  fIdentifiers.Sort();
407  }
408  Bool_t IsSorted() const
409  {
411  return fIdentifiers.IsSorted();
412  }
413  Axis_t GetXmin() const
414  {
415  return fXmin;
416  }
417  Axis_t GetYmin() const
418  {
419  return fYmin;
420  }
421  Axis_t GetXmax() const
422  {
423  return fXmax;
424  }
425  Axis_t GetYmax() const
426  {
427  return fYmax;
428  }
429  virtual Int_t GetQualityCode() const
430  {
433  return 0;
434  }
436  {
440 
441  fTelescopes.Add(t);
442  Modified();
443  }
445  {
448 
449  fTelescopes.Remove(t);
450  Modified();
451  }
453  {
455 
456  return fTelescopes.Contains(t);
457  }
459  {
462 
463  KVBase* id = (KVBase*)fTelescopes.First();
464  return (id ? id->GetLabel() : "");
465  }
467  {
468  return fMassFormula;
469  }
470  void ResetPad();
471  void ClearPad(TVirtualPad*);
473  {
476  return fPad;
477  }
478  virtual void TestIdentification(TH2F* data, KVHashList& histos, KVNameValueList& histo_names);
479 
480  const Char_t* GetNamesOfIDTelescopes() const;
481  void SetNamesOfIDTelescopes(const TString&);
482 
485  void SetMaximum(Double_t maximum = -1111) override
486  {
487  TGraph::SetMaximum(maximum);
488  }
489  void SetMinimum(Double_t minimum = -1111) override
490  {
491  TGraph::SetMinimum(minimum);
492  }
494  void FitPanel() override
495  {
497  }
498  void DrawPanel() override
499  {
501  }
502 
503  TFitResultPtr Fit(const char* formula, Option_t* option = "", Option_t* goption = "", Axis_t xmin = 0, Axis_t xmax = 0) override
504  {
505  return TGraph::Fit(formula, option, goption, xmin, xmax);
506  }
507  TFitResultPtr Fit(TF1* f1, Option_t* option = "", Option_t* goption = "", Axis_t xmin = 0, Axis_t xmax = 0) override
508  {
509  return TGraph::Fit(f1, option, goption, xmin, xmax);
510  }
511 
514  void Delete(Option_t* option = "") override
515  {
517  }
518  void DrawClass() const override
519  {
521  }
522  TObject* DrawClone(Option_t* option = "") const override
523  {
524  return TGraph::DrawClone(option);
525  }
526  void Dump() const override
527  {
528  TGraph::Dump();
529  }
530  void Inspect() const override
531  {
532  TGraph::Inspect();
533  }
534  void SaveAs(const char* filename = "", Option_t* option = "") const override
535  {
537  }
538  void SetDrawOption(Option_t* option = "") override
539  {
541  }
542  void SetLineAttributes() override
543  {
545  }
546  void SetFillAttributes() override
547  {
549  }
550  void SetMarkerAttributes() override
551  {
553  }
554  void SetVarX(const char* v) override
555  {
556  TCutG::SetVarX(v);
557  }
558  void SetVarY(const char* v) override
559  {
560  TCutG::SetVarY(v);
561  }
562  Int_t InsertPoint() override
563  {
564  return TCutG::InsertPoint();
565  }
566  Int_t RemovePoint() override
567  {
568  return TCutG::RemovePoint();
569  }
570  Int_t RemovePoint(Int_t i) override
571  {
572  return TCutG::RemovePoint(i);
573  }
574 
575  ClassDefOverride(KVIDGraph, 2) //Base class for particle identification in a 2D map
576 };
577 
578 #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:518
KVNumberList fRunList
runs for which grid is valid
Definition: KVIDGraph.h:49
void Add(TString, KVIDentifier *)
Definition: KVIDGraph.cpp:844
void SetRunList(const char *runlist)
Definition: KVIDGraph.h:184
Axis_t GetYmax() const
Definition: KVIDGraph.h:425
void SetName(const char *name) override
Definition: KVIDGraph.h:168
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:894
Bool_t HandlesIDTelescope(KVBase *t) const
Definition: KVIDGraph.h:452
Int_t RemovePoint(Int_t i) override
Definition: KVIDGraph.h:570
virtual void ReadAsciiFile_WP(Int_t version=-1)
lecture des grilles avec version suivant un modele de fichier
Definition: KVIDGraph.cpp:1416
KVIDGraph * fLastSavedVersion
copy of last save version of grid, used for 'undo'
Definition: KVIDGraph.h:54
Int_t GetNumberOfCuts() const
Definition: KVIDGraph.h:360
void ExtendBeginningAllIdentLines(Double_t, Option_t *="")
Definition: KVIDGraph.cpp:1023
KVNameValueList fPar
parameters associated to grid
Definition: KVIDGraph.h:45
void ReadAsciiFile(const Char_t *filename)
Definition: KVIDGraph.cpp:784
KVIDentifier * GetIdentifier(const Char_t *name) const
Definition: KVIDGraph.h:304
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:1730
void SetXVariable(const char *v)
void SetIDTelescopes();// MENU={Hierarchy="Set.../ID Telescopes"}
Definition: KVIDGraph.h:174
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:1649
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:530
virtual void SetMassIDCapability(Bool_t yes=kTRUE)
Definition: KVIDGraph.h:206
void SetVarY(const char *v) override
Definition: KVIDGraph.h:558
Double_t fLastScaleX
last applied scaling factor on X
Definition: KVIDGraph.h:46
const TList * GetIDTelescopes() const
Definition: KVIDGraph.h:273
void SetEditable(Bool_t editable=kTRUE) override
Definition: KVIDGraph.cpp:1594
void UpdateLastSavedVersion()
update last saved version. mkae copy of current state of graph.
Definition: KVIDGraph.cpp:534
Axis_t GetXmax() const
Definition: KVIDGraph.h:421
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:1152
void ExtendEndAllIdentLines(Double_t, Option_t *="")
Definition: KVIDGraph.cpp:1039
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:408
static void SetAutoAdd(Bool_t yes=kTRUE)
Definition: KVIDGraph.h:127
void init()
Definition: KVIDGraph.cpp:67
virtual void AddInfo(KVIDentifier *info)
Definition: KVIDGraph.h:392
void Increment(Float_t x)
Definition: KVIDGraph.h:277
void SortIdentifiers()
Definition: KVIDGraph.h:403
void SetMaximum(Double_t maximum=-1111) override
Definition: KVIDGraph.h:485
KVIDentifier * GetInfo(const Char_t *name) const
Definition: KVIDGraph.h:312
void AddIDTelescope(KVBase *t)
Definition: KVIDGraph.h:435
Int_t GetNumberOfIdentifiers() const
Definition: KVIDGraph.h:356
const Char_t * GetRunList() const
Definition: KVIDGraph.h:294
virtual void ReadIdentifierFromAsciiFile(TString &name, TString &type, TString &cl, std::ifstream &gridfile)
Read in new identifier object from file.
Definition: KVIDGraph.cpp:760
Axis_t fXmin
Definition: KVIDGraph.h:43
Bool_t IsOnlyZId() const
Definition: KVIDGraph.h:57
Int_t GetMassFormula() const
Definition: KVIDGraph.h:466
void SetFillAttributes() override
Definition: KVIDGraph.h:546
KVIDentifier * GetCut(const Char_t *name) const
Definition: KVIDGraph.h:308
void MakeBestGuessForNewIDLineZandA(KVIDentifier *idline)
Definition: KVIDGraph.h:72
const KVList * GetCuts() const
Definition: KVIDGraph.h:336
TVirtualPad * GetPad() const
Definition: KVIDGraph.h:161
const KVList * GetInfos() const
Definition: KVIDGraph.h:346
void RevertToLastSavedVersion()
Definition: KVIDGraph.cpp:555
void UnDraw()
Definition: KVIDGraph.cpp:972
void SetVarX(const char *v) override
Definition: KVIDGraph.h:554
virtual void ReadFromAsciiFile(std::ifstream &gridfile)
Definition: KVIDGraph.cpp:601
virtual Bool_t ExistVersion(Int_t version)
Definition: KVIDGraph.h:258
TVirtualPad * IsDrawn() const
Definition: KVIDGraph.h:472
void SetLineAttributes() override
Definition: KVIDGraph.h:542
void ClearPad(TVirtualPad *)
Definition: KVIDGraph.cpp:49
static Bool_t GetAutoAdd()
Definition: KVIDGraph.h:133
void WriteParameterListOfIDTelescopes()
Definition: KVIDGraph.cpp:382
virtual void Identify(Double_t, Double_t, KVIdentificationResult *) const =0
TString GetPattern(void)
Definition: KVIDGraph.h:268
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:534
Int_t RemovePoint() override
Definition: KVIDGraph.h:566
const Char_t * GetName() const override
Definition: KVIDGraph.cpp:1344
virtual void WriteAsciiFile_WP(Int_t version=-1)
Definition: KVIDGraph.cpp:1399
void Delete(Option_t *option="") override
Definition: KVIDGraph.h:514
KVIDentifier * GetIdentifier(Int_t Z, Int_t A) const
Definition: KVIDGraph.cpp:310
virtual Bool_t HasMassIDCapability() const
Definition: KVIDGraph.h:197
KVIDentifier * GetIdentifierAt(Int_t index) const
Definition: KVIDGraph.h:299
Int_t InsertPoint() override
Definition: KVIDGraph.h:562
virtual ~KVIDGraph()
Definition: KVIDGraph.cpp:188
const KVNumberList & GetRuns() const
Definition: KVIDGraph.h:289
void SetLineStyle(Style_t lstyle) override
Definition: KVIDGraph.h:223
TObject * DrawClone(Option_t *option="") const override
Definition: KVIDGraph.h:522
virtual Bool_t IsIdentifiable(Double_t, Double_t, TString *rejected_by=nullptr) const
Definition: KVIDGraph.cpp:1281
void FindAxisLimits()
Calculate X/Y min/max of all objects in graph.
Definition: KVIDGraph.cpp:1079
Axis_t GetYmin() const
Definition: KVIDGraph.h:417
const KVNameValueList * GetParameters() const
Definition: KVIDGraph.h:316
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:1231
const Char_t * GetIDTelescopeLabel() const
Definition: KVIDGraph.h:458
KVIDGraph * GetLastSavedVersion() const
Definition: KVIDGraph.h:143
virtual void DrawAndAdd(const Char_t *type="ID", const Char_t *classname="KVIDentifier")
Definition: KVIDGraph.cpp:1182
virtual void AddCut(KVIDentifier *cut)
Definition: KVIDGraph.h:381
void AddParameter(char *Name, char *Value)
Definition: KVIDGraph.h:112
KVNameValueList * GetParameters()
Definition: KVIDGraph.h:321
void SetMassFormula(Int_t)
Definition: KVIDGraph.cpp:1485
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:507
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:813
virtual void BackwardsCompatibilityFix()
Definition: KVIDGraph.cpp:1373
void AddIDTelescopes(const TList *)
Associate this graph with all ID telescopes in list.
Definition: KVIDGraph.cpp:1528
virtual void AddIdentifier(KVIDentifier *id)
Definition: KVIDGraph.h:368
virtual void SetInfos(Double_t, Double_t, KVIdentificationResult *) const
loop over KVIDGraph::fInfoZones to set flags in KVIdentificationResult
Definition: KVIDGraph.cpp:1309
void DrawPanel() override
Definition: KVIDGraph.h:498
static KVIDGraph * MakeIDGraph(const Char_t *)
Definition: KVIDGraph.cpp:1568
void SetLineColor(Color_t lcolor) override
Definition: KVIDGraph.h:215
const Char_t * GetNamesOfIDTelescopes() const
Definition: KVIDGraph.cpp:1623
Axis_t GetXmin() const
Definition: KVIDGraph.h:413
void SetXScaleFactor(Double_t=0)
Definition: KVIDGraph.cpp:226
Int_t GetNumberOfInfos() const
Definition: KVIDGraph.h:364
void Dump() const override
Definition: KVIDGraph.h:526
virtual Int_t GetQualityCode() const
Definition: KVIDGraph.h:429
TVirtualPad * fPad
pad in which graph is drawn
Definition: KVIDGraph.h:48
void SetYVariable(const char *v)
Definition: KVIDGraph.h:179
void FitPanel() override
virtual void SetTitle(const char *title="") {TGraph::SetTitle(title);};
Definition: KVIDGraph.h:494
KVList * GetCuts()
Definition: KVIDGraph.h:341
virtual Bool_t AcceptIDForTest(const KVIdentificationResult &idr)
Definition: KVIDGraph.h:102
void SetLineWidth(Width_t lwidth) override
Definition: KVIDGraph.h:231
KVList * GetInfos()
Definition: KVIDGraph.h:351
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:1328
virtual Int_t CheckVersion(Int_t version)
Definition: KVIDGraph.cpp:1435
TFitResultPtr Fit(const char *formula, Option_t *option="", Option_t *goption="", Axis_t xmin=0, Axis_t xmax=0) override
Definition: KVIDGraph.h:503
void SetMinimum(Double_t minimum=-1111) override
Definition: KVIDGraph.h:489
void SetYScaleFactor(Double_t=0)
Definition: KVIDGraph.cpp:250
virtual void Initialize()=0
void SetDrawOption(Option_t *option="") override
Definition: KVIDGraph.h:538
Axis_t fXmax
min/max X coordinates of graph
Definition: KVIDGraph.h:43
KVList * GetIdentifiers()
Definition: KVIDGraph.h:331
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:1009
void SetPattern(TString pattern)
Definition: KVIDGraph.h:263
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:444
void Print(Option_t *opt="") const override
Print out all objects in graph.
Definition: KVIDGraph.cpp:1053
KVList fInfoZones
contours/lines used to add info to particles (ex: punch-through)
Definition: KVIDGraph.h:42
void SetMarkerAttributes() override
Definition: KVIDGraph.h:550
virtual void SetOnlyZId(Bool_t yes=kTRUE)
Definition: KVIDGraph.cpp:1508
void Modified()
Definition: KVIDGraph.h:283
void ClearListOfTelescopes()
Definition: KVIDGraph.h:139
const KVList * GetIdentifiers() const
Definition: KVIDGraph.h:326
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:93
void SetParent(KVIDGraph *)
Set pointer to parent ID graph.
virtual void SetZ(Int_t ztnum)
Definition: KVIDentifier.h:83
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
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