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 
73  {
79 
80  int zmax, amax;
81  if (GetNumberOfIdentifiers()) {
83  zmax = ((KVIDentifier*)GetIdentifiers()->Last())->GetZ();
84  amax = ((KVIDentifier*)GetIdentifiers()->Last())->GetA();
85  }
86  else {
88  zmax = !IsOnlyZId();
89  amax = 0;
90  }
91  if (IsOnlyZId())
92  idline->SetZ(zmax + 1);
93  else
94  idline->SetAandZ(amax + 1, zmax);
95  }
96 
97 public:
98  virtual void ReadFromAsciiFile(std::ifstream& gridfile);
99  virtual void WriteToAsciiFile(std::ofstream& gridfile);
101  {
107 
108  return idr.IDOK;
109  }
110  void AddParameter(char* Name, char* Value)
111  {
113  }
114 
115  KVIDGraph();
116  KVIDGraph(const KVIDGraph&);
117  virtual ~KVIDGraph();
118 
119  void Copy(TObject&) const override;
120  virtual void Identify(Double_t /*x*/, Double_t /*y*/, KVIdentificationResult*) const = 0;
121  virtual void Initialize() = 0;
122  virtual Bool_t IsIdentifiable(Double_t /*x*/, Double_t /*y*/, TString* rejected_by = nullptr) const;
123  virtual void SetInfos(Double_t /*x*/, Double_t /*y*/, KVIdentificationResult* /*idr*/) const;
124 
125  static void SetAutoAdd(Bool_t yes = kTRUE)
126  {
129  fAutoAddGridManager = yes;
130  }
132  {
135  return fAutoAddGridManager;
136  }
138  {
139  fTelescopes.Clear();
140  }
142  {
143  return fLastSavedVersion;
144  }
146  void UpdateLastSavedVersion();
147 
148  static KVIDGraph* MakeIDGraph(const Char_t*);
149 
150  void FindAxisLimits();
151  using TCutG::Scale;
152  void Scale(TF1* sx, TF1* sy);
153 
154  KVIDentifier* GetIdentifier(Int_t Z, Int_t A) const;
156  void RemoveCut(KVIDentifier*);
157  void RemoveInfo(KVIDentifier*);
158 
160  {
161  return fPad;
162  }
163 
164  void ReadAsciiFile(const Char_t* filename);
165  void AddIDTelescopes(const TList*);
166  void SetName(const char* name) override
167  {
168  TNamed::SetName(name); /*Modified()*/;
169  } // *MENU*
170  void Clear(Option_t* opt = "") override; // *MENU*
172  void SetXVariable(const char* v)
173  {
174  SetVarX(v);
175  Modified();
176  } // *MENU={Hierarchy="Set.../X Variable"}* *ARGS={v=>fVarX}
177  void SetYVariable(const char* v)
178  {
179  SetVarY(v);
180  Modified();
181  } // *MENU={Hierarchy="Set.../Y Variable"}* *ARGS={v=>fVarY}
182  void SetRunList(const char* runlist)
183  {
184  SetRuns(KVNumberList(runlist));
185  } // *MENU={Hierarchy="Set.../List of Runs"}*
186  virtual void SetOnlyZId(Bool_t yes = kTRUE);
187  void SetMassFormula(Int_t);// *SUBMENU={Hierarchy="Set.../Mass Formula"}*
188  void WriteAsciiFile(const Char_t* filename); // *MENU*
189  void SetXScaleFactor(Double_t = 0); // *MENU={Hierarchy="Scale.../X Scale Factor"}*
190  void SetYScaleFactor(Double_t = 0);// *MENU={Hierarchy="Scale.../Y Scale Factor"}*
193  void SetEditable(Bool_t editable = kTRUE) override; // *TOGGLE* *GETTER=GetEditable
194 
195  virtual Bool_t HasMassIDCapability() const
196  {
201  return !IsOnlyZId();
202  }
203 
204  virtual void SetMassIDCapability(Bool_t yes = kTRUE)
205  {
207  SetOnlyZId(!yes);
208  } // *TOGGLE={Hierarchy="A and Z Identification"}* *GETTER=HasMassIDCapability
209 
210  void Draw(Option_t* opt = "") override; // *MENU={Hierarchy="View.../Draw"}*
211  void UnDraw(); // *MENU={Hierarchy="View.../UnDraw"}*
212  void ResetDraw();// *MENU={Hierarchy="View.../ResetDraw"}*
213  void SetLineColor(Color_t lcolor) override
214  {
216  fIdentifiers.Execute("SetLineColor", Form("%d", (Int_t) lcolor));
217  fCuts.Execute("SetLineColor", Form("%d", (Int_t) lcolor));
218  fInfoZones.Execute("SetLineColor", Form("%d", (Int_t) lcolor));
219  Modified();
220  } // *MENU={Hierarchy="View.../SetLinecolor"}*
221  void SetLineStyle(Style_t lstyle) override
222  {
224  fIdentifiers.Execute("SetLineStyle", Form("%d", (Int_t) lstyle));
225  fCuts.Execute("SetLineStyle", Form("%d", (Int_t) lstyle));
226  fInfoZones.Execute("SetLineStyle", Form("%d", (Int_t) lstyle));
227  Modified();
228  } // *MENU={Hierarchy="View.../SetLineStyle"}*
229  void SetLineWidth(Width_t lwidth) override
230  {
232  fIdentifiers.Execute("SetLineWidth", Form("%d", (Int_t) lwidth));
233  fCuts.Execute("SetLineWidth", Form("%d", (Int_t) lwidth));
234  fInfoZones.Execute("SetLineWidth", Form("%d", (Int_t) lwidth));
235  Modified();
236  } // *MENU={Hierarchy="View.../SetLineWidth"}*
237 
238  void ExtendBeginningAllIdentLines(Double_t, Option_t* = "");// *MENU*
239  void ExtendEndAllIdentLines(Double_t, Option_t* = "");// *MENU*
240 
243  void Add(TString, KVIDentifier*);
245  virtual void DrawAndAdd(const Char_t* type = "ID", const Char_t* classname = "KVIDentifier");
246  void Print(Option_t* opt = "") const override;
247 
248  static KVIDGraph* AddGraphs(KVIDGraph* g1, Int_t id1_min, Int_t id1_max,
249  KVIDGraph* g2, Int_t id2_min, Int_t id2_max);
250  void SetRuns(const KVNumberList& nl);
251 
252  const Char_t* GetName() const override;
253  virtual void WriteAsciiFile_WP(Int_t version = -1); //WP means with pattern
254  virtual void ReadAsciiFile_WP(Int_t version = -1); //WP means with pattern
255  virtual Int_t CheckVersion(Int_t version);
256  virtual Bool_t ExistVersion(Int_t version)
257  {
258  if (version != -1) return (version == CheckVersion(version));
259  else return (version != -1);
260  }
261  void SetPattern(TString pattern)
262  {
263  pattern.ReplaceAll(".", "_");
264  fPattern = pattern;
265  }
267  {
268  return fPattern;
269  }
270 
271  const TList* GetIDTelescopes() const
272  {
273  return &fTelescopes;
274  };
275  void Increment(Float_t x) // *SIGNAL*
276  {
279  Emit("Increment(Float_t)", x);
280  }
281  void Modified() // *SIGNAL*
282  {
284  Emit("Modified()");
285  }
286 
287  const KVNumberList& GetRuns() const
288  {
290  return fRunList;
291  }
292  const Char_t* GetRunList() const
293  {
295  return (const char*)fRunList;
296  }
298  {
300  return (KVIDentifier*)fIdentifiers.At(index);
301  }
302  KVIDentifier* GetIdentifier(const Char_t* name) const
303  {
305  }
306  KVIDentifier* GetCut(const Char_t* name) const
307  {
308  return (KVIDentifier*)fCuts.FindObject(name);
309  }
310  KVIDentifier* GetInfo(const Char_t* name) const
311  {
313  }
315  {
317  return &fPar;
318  }
320  {
322  return &fPar;
323  }
324  const KVList* GetIdentifiers() const
325  {
327  return &fIdentifiers;
328  }
330  {
332  return &fIdentifiers;
333  }
334  const KVList* GetCuts() const
335  {
337  return &fCuts;
338  }
340  {
342  return &fCuts;
343  }
344  const KVList* GetInfos() const
345  {
347  return &fInfoZones;
348  }
350  {
352  return &fInfoZones;
353  }
355  {
356  return fIdentifiers.GetSize();
357  }
359  {
360  return fCuts.GetSize();
361  }
363  {
364  return fInfoZones.GetSize();
365  }
366  virtual void AddIdentifier(KVIDentifier* id)
367  {
369  fIdentifiers.Add(id);
370  id->SetParent(this);
371  id->SetVarX(GetVarX());
372  id->SetVarY(GetVarY());
373  id->SetOnlyZId(IsOnlyZId());
376  if (IsOnlyZId()) id->SetMassFormula(GetMassFormula());
378  }
379  virtual void AddCut(KVIDentifier* cut)
380  {
382  cut->SetLineColor(kRed);
383  cut->SetParent(this);
384  fCuts.Add(cut);
385  cut->SetVarX(GetVarX());
386  cut->SetVarY(GetVarY());
387  cut->SetBit(kMustCleanup);
389  }
390  virtual void AddInfo(KVIDentifier* info)
391  {
393  info->SetLineColor(kBlue);
394  info->SetParent(this);
395  fInfoZones.Add(info);
396  info->SetVarX(GetVarX());
397  info->SetVarY(GetVarY());
398  info->SetBit(kMustCleanup);
400  }
402  {
403  fIdentifiers.Sort();
405  }
406  Bool_t IsSorted() const
407  {
409  return fIdentifiers.IsSorted();
410  }
411  Axis_t GetXmin() const
412  {
413  return fXmin;
414  }
415  Axis_t GetYmin() const
416  {
417  return fYmin;
418  }
419  Axis_t GetXmax() const
420  {
421  return fXmax;
422  }
423  Axis_t GetYmax() const
424  {
425  return fYmax;
426  }
427  virtual Int_t GetQualityCode() const
428  {
431  return 0;
432  }
434  {
438 
439  fTelescopes.Add(t);
440  Modified();
441  }
443  {
446 
447  fTelescopes.Remove(t);
448  Modified();
449  }
451  {
453 
454  return fTelescopes.Contains(t);
455  }
457  {
460 
461  KVBase* id = (KVBase*)fTelescopes.First();
462  return (id ? id->GetLabel() : "");
463  }
465  {
466  return fMassFormula;
467  }
468  void ResetPad();
469  void ClearPad(TVirtualPad*);
471  {
474  return fPad;
475  }
476  virtual void TestIdentification(TH2F* data, KVHashList& histos, KVNameValueList& histo_names);
477 
478  const Char_t* GetNamesOfIDTelescopes() const;
479  void SetNamesOfIDTelescopes(const TString&);
480 
483  void SetMaximum(Double_t maximum = -1111) override
484  {
485  TGraph::SetMaximum(maximum);
486  }
487  void SetMinimum(Double_t minimum = -1111) override
488  {
489  TGraph::SetMinimum(minimum);
490  }
492  void FitPanel() override
493  {
495  }
496  void DrawPanel() override
497  {
499  }
500 
501  TFitResultPtr Fit(const char* formula, Option_t* option = "", Option_t* goption = "", Axis_t xmin = 0, Axis_t xmax = 0) override
502  {
503  return TGraph::Fit(formula, option, goption, xmin, xmax);
504  }
505  TFitResultPtr Fit(TF1* f1, Option_t* option = "", Option_t* goption = "", Axis_t xmin = 0, Axis_t xmax = 0) override
506  {
507  return TGraph::Fit(f1, option, goption, xmin, xmax);
508  }
509 
512  void Delete(Option_t* option = "") override
513  {
515  }
516  void DrawClass() const override
517  {
519  }
520  TObject* DrawClone(Option_t* option = "") const override
521  {
522  return TGraph::DrawClone(option);
523  }
524  void Dump() const override
525  {
526  TGraph::Dump();
527  }
528  void Inspect() const override
529  {
530  TGraph::Inspect();
531  }
532  void SaveAs(const char* filename = "", Option_t* option = "") const override
533  {
535  }
536  void SetDrawOption(Option_t* option = "") override
537  {
539  }
540  void SetLineAttributes() override
541  {
543  }
544  void SetFillAttributes() override
545  {
547  }
548  void SetMarkerAttributes() override
549  {
551  }
552  void SetVarX(const char* v) override
553  {
554  TCutG::SetVarX(v);
555  }
556  void SetVarY(const char* v) override
557  {
558  TCutG::SetVarY(v);
559  }
560  Int_t InsertPoint() override
561  {
562  return TCutG::InsertPoint();
563  }
564  Int_t RemovePoint() override
565  {
566  return TCutG::RemovePoint();
567  }
568  Int_t RemovePoint(Int_t i) override
569  {
570  return TCutG::RemovePoint(i);
571  }
572 
573  ClassDefOverride(KVIDGraph, 2) //Base class for particle identification in a 2D map
574 };
575 
576 #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:516
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:182
Axis_t GetYmax() const
Definition: KVIDGraph.h:423
void SetName(const char *name) override
Definition: KVIDGraph.h:166
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:450
Int_t RemovePoint(Int_t i) override
Definition: KVIDGraph.h:568
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:358
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:302
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:172
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:528
virtual void SetMassIDCapability(Bool_t yes=kTRUE)
Definition: KVIDGraph.h:204
void SetVarY(const char *v) override
Definition: KVIDGraph.h:556
Double_t fLastScaleX
last applied scaling factor on X
Definition: KVIDGraph.h:46
const TList * GetIDTelescopes() const
Definition: KVIDGraph.h:271
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:419
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:406
static void SetAutoAdd(Bool_t yes=kTRUE)
Definition: KVIDGraph.h:125
void init()
Definition: KVIDGraph.cpp:67
virtual void AddInfo(KVIDentifier *info)
Definition: KVIDGraph.h:390
void Increment(Float_t x)
Definition: KVIDGraph.h:275
void SortIdentifiers()
Definition: KVIDGraph.h:401
void SetMaximum(Double_t maximum=-1111) override
Definition: KVIDGraph.h:483
KVIDentifier * GetInfo(const Char_t *name) const
Definition: KVIDGraph.h:310
void AddIDTelescope(KVBase *t)
Definition: KVIDGraph.h:433
Int_t GetNumberOfIdentifiers() const
Definition: KVIDGraph.h:354
const Char_t * GetRunList() const
Definition: KVIDGraph.h:292
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
void Scale(TF1 *sx, TF1 *sy)
Definition: KVIDGraph.cpp:1124
Int_t GetMassFormula() const
Definition: KVIDGraph.h:464
void SetFillAttributes() override
Definition: KVIDGraph.h:544
KVIDentifier * GetCut(const Char_t *name) const
Definition: KVIDGraph.h:306
void MakeBestGuessForNewIDLineZandA(KVIDentifier *idline)
Definition: KVIDGraph.h:72
const KVList * GetCuts() const
Definition: KVIDGraph.h:334
TVirtualPad * GetPad() const
Definition: KVIDGraph.h:159
const KVList * GetInfos() const
Definition: KVIDGraph.h:344
void RevertToLastSavedVersion()
Definition: KVIDGraph.cpp:555
void UnDraw()
Definition: KVIDGraph.cpp:972
void SetVarX(const char *v) override
Definition: KVIDGraph.h:552
virtual void ReadFromAsciiFile(std::ifstream &gridfile)
Definition: KVIDGraph.cpp:601
virtual Bool_t ExistVersion(Int_t version)
Definition: KVIDGraph.h:256
TVirtualPad * IsDrawn() const
Definition: KVIDGraph.h:470
void SetLineAttributes() override
Definition: KVIDGraph.h:540
void ClearPad(TVirtualPad *)
Definition: KVIDGraph.cpp:49
static Bool_t GetAutoAdd()
Definition: KVIDGraph.h:131
void WriteParameterListOfIDTelescopes()
Definition: KVIDGraph.cpp:382
virtual void Identify(Double_t, Double_t, KVIdentificationResult *) const =0
TString GetPattern(void)
Definition: KVIDGraph.h:266
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:532
Int_t RemovePoint() override
Definition: KVIDGraph.h:564
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:512
KVIDentifier * GetIdentifier(Int_t Z, Int_t A) const
Definition: KVIDGraph.cpp:310
virtual Bool_t HasMassIDCapability() const
Definition: KVIDGraph.h:195
KVIDentifier * GetIdentifierAt(Int_t index) const
Definition: KVIDGraph.h:297
Int_t InsertPoint() override
Definition: KVIDGraph.h:560
virtual ~KVIDGraph()
Definition: KVIDGraph.cpp:188
const KVNumberList & GetRuns() const
Definition: KVIDGraph.h:287
void SetLineStyle(Style_t lstyle) override
Definition: KVIDGraph.h:221
TObject * DrawClone(Option_t *option="") const override
Definition: KVIDGraph.h:520
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:415
const KVNameValueList * GetParameters() const
Definition: KVIDGraph.h:314
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:456
KVIDGraph * GetLastSavedVersion() const
Definition: KVIDGraph.h:141
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:379
void AddParameter(char *Name, char *Value)
Definition: KVIDGraph.h:110
KVNameValueList * GetParameters()
Definition: KVIDGraph.h:319
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:505
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:366
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:496
static KVIDGraph * MakeIDGraph(const Char_t *)
Definition: KVIDGraph.cpp:1568
void SetLineColor(Color_t lcolor) override
Definition: KVIDGraph.h:213
const Char_t * GetNamesOfIDTelescopes() const
Definition: KVIDGraph.cpp:1623
Axis_t GetXmin() const
Definition: KVIDGraph.h:411
void SetXScaleFactor(Double_t=0)
Definition: KVIDGraph.cpp:226
Int_t GetNumberOfInfos() const
Definition: KVIDGraph.h:362
void Dump() const override
Definition: KVIDGraph.h:524
virtual Int_t GetQualityCode() const
Definition: KVIDGraph.h:427
TVirtualPad * fPad
pad in which graph is drawn
Definition: KVIDGraph.h:48
void SetYVariable(const char *v)
Definition: KVIDGraph.h:177
void FitPanel() override
virtual void SetTitle(const char *title="") {TGraph::SetTitle(title);};
Definition: KVIDGraph.h:492
KVList * GetCuts()
Definition: KVIDGraph.h:339
virtual Bool_t AcceptIDForTest(const KVIdentificationResult &idr)
Definition: KVIDGraph.h:100
void SetLineWidth(Width_t lwidth) override
Definition: KVIDGraph.h:229
KVList * GetInfos()
Definition: KVIDGraph.h:349
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:501
void SetMinimum(Double_t minimum=-1111) override
Definition: KVIDGraph.h:487
void SetYScaleFactor(Double_t=0)
Definition: KVIDGraph.cpp:250
virtual void Initialize()=0
void SetDrawOption(Option_t *option="") override
Definition: KVIDGraph.h:536
Axis_t fXmax
min/max X coordinates of graph
Definition: KVIDGraph.h:43
KVList * GetIdentifiers()
Definition: KVIDGraph.h:329
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:261
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:442
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:548
virtual void SetOnlyZId(Bool_t yes=kTRUE)
Definition: KVIDGraph.cpp:1508
void Modified()
Definition: KVIDGraph.h:281
void ClearListOfTelescopes()
Definition: KVIDGraph.h:137
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:1152
const KVList * GetIdentifiers() const
Definition: KVIDGraph.h:324
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