157   :
TNamed(
"ParaCoord",
"ParaCoord")
 
  162      Warning(
"TParallelCoord",
"Call tree->SetEstimate(tree->GetEntries()) to display all the tree variables");
 
 
  221   if (exp.Contains(
':') || exp.Contains(
">>") || exp.Contains(
"<<")) {
 
  222      Warning(
"AddVariable",
"Only a single variable can be added at a time.");
 
  226      Warning(
"AddVariable",
"Nothing to add");
 
 
  293      if (selector->
GetVal(i)) {
 
  294         if (selector->
GetVar(i)) {
 
  305   else pc->
Draw(
"candle");
 
 
  337   if(!
gPad) 
return 9999;
 
  348   xx = 
gPad->AbsPixeltoX(px);
 
  349   yy = 
gPad->AbsPixeltoY(py);
 
 
  376      if (!
gPad->IsEditable()) 
gROOT->MakeDefCanvas();
 
  377   } 
else gROOT->MakeDefCanvas();
 
 
  525      Error(
"GetTree",
"Cannot load the tree: no tree defined!");
 
  530      Error(
"GetTree",
"Tree file name : \"%s\" does not exist (Are you in the correct directory?).",
fTreeFileName.
Data());
 
  532   } 
else if (
f->IsZombie()) {
 
 
  566   if(!var) 
return nullptr;
 
 
  616   gPad->Range(0,0,1,1);
 
  630   gPad->RangeAxis(0,0,1,1);
 
 
  659   else                   evline->SetLineStyle(11);
 
  664      evline->SetLineWidth(
sel->GetLineWidth());
 
  665      evline->SetLineColor(
sel->GetLineColor());
 
  702            a    = (
y[1]-
y[0])/(
x[1]-
x[0]);
 
  704            x[0] = 
x[0]+
lx*
r.Rndm();
 
  707            a    = (
x[1]-
x[0])/(
y[1]-
y[0]);
 
  709            y[0] = 
y[0]+
ly*
r.Rndm();
 
 
  796      Warning(
"SaveEntryLists", 
"%s already exists.", 
sfile.Data());
 
  799      Warning(
"SaveEntryLists", 
"Overwriting.");
 
  810   Info(
"SaveEntryLists", 
"File \"%s\" written.", 
sfile.Data());
 
 
  824      out << 
"   TFile *para_f = nullptr, *para_entries = nullptr;\n";
 
  825      out << 
"   TTree* para_tree = nullptr;\n";
 
  826      out << 
"   TEntryList *para_currententries = nullptr;\n";
 
  827      out << 
"   TParallelCoordSelect *para_sel = nullptr;\n";
 
  828      out << 
"   TParallelCoordVar* para_var = nullptr;\n";
 
  829      out << 
"   TSelectorDraw *para_selector = nullptr;\n";
 
  830      out << 
"   TParallelCoord *para = nullptr;\n";
 
  832   out << 
"   // Create a TParallelCoord.\n";
 
  834   out << 
"   para_tree = (TTree *)para_f->Get(\"" << 
fTreeName << 
"\");\n";
 
  835   out << 
"   para = new TParallelCoord(para_tree, " << 
fNentries << 
");\n";
 
  836   out << 
"   // Load the entrylists.\n";
 
  838   out << 
"   para_currententries = (TEntryList *)para_entries->Get(\"currententries\");\n";
 
  839   out << 
"   para_tree->SetEntryList(para_currententries);\n";
 
  840   out << 
"   para->SetInitEntries((TEntryList*)para_entries->Get(\"initentries\"));\n";
 
  841   out << 
"   para->SetCurrentEntries(para_currententries);\n";
 
  843   out << 
"   para->GetSelectList()->Delete();\n";
 
  846      out << 
"   para_sel = (TParallelCoordSelect*)para->GetSelectList()->Last();\n";
 
  847      sel->SaveLineAttributes(out, 
"para_sel", -1, -1, 1);
 
  854      varexp.Append(var->GetTitle());
 
  856   out << 
"   para_tree->Draw(\"" << 
varexp.ReplaceSpecialCppChars() << 
"\", \"\", \"goff\");\n";
 
  857   out << 
"   para_selector = (TSelectorDraw *)((TTreePlayer *)para_tree->GetPlayer())->GetSelector();\n";
 
  861      out << 
"   //***************************************\n";
 
  862      out << 
"   // Create the axis \"" << var->GetTitle() << 
"\".\n";
 
  864      out << 
"   para_var = (TParallelCoordVar *)para->GetVarList()->Last();\n";
 
  865      var->SavePrimitive(out, 
"pcalled");
 
  867   out << 
"   //***************************************\n";
 
  868   out << 
"   // Set the TParallelCoord parameters.\n";
 
  870   out << 
"   para->SetCurrentN(" << 
fCurrentN << 
");\n";
 
  871   out << 
"   para->SetWeightCut(" << 
fWeightCut << 
");\n";
 
  872   out << 
"   para->SetDotsSpacing(" << 
fDotsSpacing << 
");\n";
 
  874   out << 
"   para->SetLineWidth(" << 
GetLineWidth() << 
");\n";
 
  878   out << 
"   para->SetBit(TParallelCoord::kLiveUpdate, " << 
TestBit(
kLiveUpdate) << 
");\n";
 
  881      out << 
"   para->SetGlobalScale(true);\n";
 
  883      out << 
"   para->SetCandleChart(true);\n";
 
  885      out << 
"   para->SetGlobalLogScale(true);\n";
 
 
  905      else Warning(
"SaveTree",
"Overwriting.");
 
  913   Info(
"SaveTree", 
"File \"%s\" written.",
sfile.Data());
 
 
 1128   if (
gPad->GetCanvas()->SupportAlpha()) 
return;
 
 
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
 
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 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 Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t sel
 
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 r
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void on
 
Option_t Option_t TPoint TPoint const char x2
 
Option_t Option_t TPoint TPoint const char x1
 
Option_t Option_t TPoint TPoint const char y2
 
Option_t Option_t TPoint TPoint const char y1
 
R__EXTERN TStyle * gStyle
 
virtual void SetFillStyle(Style_t fstyle)
Set the fill area style.
 
virtual void SetLineColor(Color_t lcolor)
Set the line color.
 
virtual void SetY2(Double_t y2)
 
virtual void SetX1(Double_t x1)
 
virtual void SetX2(Double_t x2)
 
virtual void SetY1(Double_t y1)
 
virtual Int_t GetSize() const
Return the capacity of the collection, i.e.
 
static TString SavePrimitiveColor(Int_t ci)
Convert color in C++ statement which can be used in SetColor directives Produced statement either inc...
 
Describe directory structure in memory.
 
A List of entry numbers in a TTree or TChain.
 
virtual Long64_t GetEntry(Long64_t index)
Return the number of the entry #index of this TEntryList in the TTree or TChain See also Next().
 
virtual Long64_t GetN() const
 
A ROOT file is an on-disk file, usually with extension .root, that stores objects in a file-system-li...
 
static TFile * Open(const char *name, Option_t *option="", const char *ftitle="", Int_t compress=ROOT::RCompressionSetting::EDefaults::kUseCompiledDefault, Int_t netopt=0)
Create / open a file.
 
void Draw(Option_t *option="") override
Draw this frame with its current attributes.
 
A TGraph is an object made of two arrays X and Y with npoints each.
 
@ kClipFrame
Clip to the frame boundary.
 
void PaintGraph(Int_t npoints, const Double_t *x, const Double_t *y, Option_t *chopt)
Draw the (x,y) as a graph.
 
void Reset() override
Reset list iterator.
 
void Add(TObject *obj) override
 
TObject * Remove(TObject *obj) override
Remove object from the list.
 
TObject * First() const override
Return the first object in the list. Returns 0 when list is empty.
 
void Delete(Option_t *option="") override
Remove all objects from the list AND delete all heap based objects.
 
TObject * At(Int_t idx) const override
Returns the object at position idx. Returns 0 if idx is out of range.
 
The TNamed class is the base class for all named ROOT classes.
 
virtual void SetTitle(const char *title="")
Set the title of the TNamed.
 
const char * GetName() const override
Returns name of object.
 
const char * GetTitle() const override
Returns title of object.
 
R__ALWAYS_INLINE Bool_t TestBit(UInt_t f) const
 
virtual void Warning(const char *method, const char *msgfmt,...) const
Issue warning message.
 
virtual void AppendPad(Option_t *option="")
Append graphics object to current pad.
 
virtual Int_t Write(const char *name=nullptr, Int_t option=0, Int_t bufsize=0)
Write this object to the current directory.
 
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.
 
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
 
static void SavePrimitiveDraw(std::ostream &out, const char *variable_name, Option_t *option=nullptr)
Save invocation of primitive Draw() method Skipped if option contains "nodraw" string.
 
virtual void Draw(Option_t *option="")
Default Draw method for all objects.
 
@ kCanDelete
if object in a list can be deleted
 
A TParallelCoordRange is a range used for parallel coordinates plots.
 
A TParallelCoordSelect is a specialised TList to hold TParallelCoordRanges used by TParallelCoord.
 
const char * GetTitle() const override
Returns title of object.
 
void Paint(Option_t *option="") override
Paint the axis.
 
TH1F * GetHistogram()
Create or recreate the histogram.
 
void GetEntryXY(Long64_t n, Double_t &x, Double_t &y)
Get the position of the variable on the graph for the n'th entry.
 
void SetBoxPlot(bool box)
Set the axis to display a candle.
 
Double_t GetCurrentMax() const
 
void SetCurrentMin(Double_t min)
Set the current minimum of the axis.
 
void SetY(Double_t y, bool gl)
Set the Y position of the axis in the case of a horizontal axis.
 
void SetLiveRangesUpdate(bool on)
If true, the pad is updated while the motion of a dragged range.
 
void SetX(Double_t x, bool gl)
Set the X position of the axis in the case of a vertical axis.
 
Double_t GetCurrentMin() const
 
void SetCurrentMax(Double_t max)
Set the current maximum of the axis.
 
void SetLogScale(bool log)
Set the axis in log scale.
 
void GetQuantiles()
Get the box plot values (quantiles).
 
void SetHistogramHeight(Double_t h=0)
Set the height of the bar histogram.
 
Int_t GetEntryWeight(Long64_t evtidx)
Get the entry weight: The weight of an entry for a given variable is the bin content of the histogram...
 
void SetHistogramLineWidth(Int_t lw=2)
 
void GetMinMaxMean()
Get mean, min and max of those variable.
 
bool Eval(Long64_t evtidx, TParallelCoordSelect *select)
Check if the entry is within the range(s) of "select".
 
void SetHistogramBinning(Int_t n=100)
Set the histogram binning.
 
Parallel Coordinates class.
 
void AddSelection(const char *title)
Add a selection.
 
void ExecuteEvent(Int_t entry, Int_t px, Int_t py) override
Execute the corresponding entry.
 
void SetGlobalScale(bool gl)
Constraint all axes to the same scale.
 
void UnzoomAll()
Unzoom all variables.
 
TEntryList * fInitEntries
-> Selected entries when TParallelCoord first initialized.
 
void SetAxisHistogramLineWidth(Int_t lw=2)
Set the same histogram axis line width for all axis.
 
TTree * GetTree()
return the tree if fTree is defined.
 
TEntryList * fCurrentEntries
-> Current selected entries in the tree.
 
~TParallelCoord() override
Destructor.
 
TParallelCoordSelect * fCurrentSelection
! Current Selection being edited.
 
TParallelCoordSelect * GetCurrentSelection()
Return the selection currently being edited.
 
static void BuildParallelCoord(TSelectorDraw *selector, bool candle)
Call constructor and add the variables.
 
Double_t GetGlobalMin()
return the global minimum.
 
void Init()
Initialise the data members of TParallelCoord.
 
void SetLiveRangesUpdate(bool)
If true, the pad is updated while the motion of a dragged range.
 
void PaintEntries(TParallelCoordSelect *sel=nullptr)
Loop over the entries and paint them.
 
Int_t fDotsSpacing
Spacing between dots to draw the entries.
 
Int_t fWeightCut
Specify a cut on the entries from their weight (see TParallelCoordVar::GetEvtWeight(Long64_t))
 
void SetAxisHistogramHeight(Double_t h=0.5)
Set the same histogram axis height for all axis.
 
TParallelCoordSelect * GetSelection(const char *title)
Get a selection from its title.
 
TList * fSelectList
List of selections over the variables.
 
void DeleteSelection(TParallelCoordSelect *sel)
Delete a selection.
 
Int_t DistancetoPrimitive(Int_t px, Int_t py) override
Compute the distance from the TParallelCoord.
 
void SaveEntryLists(const char *filename="", bool overwrite=false)
Save the entry lists in a root file "filename.root".
 
Int_t GetNbins()
get the binning of the histograms.
 
TString fTreeName
Name of the tree.
 
void SaveTree(const char *filename="", bool overwrite=false)
Save the tree in a file if fTreeFileName == "".
 
void ResetTree()
Reset the tree entry list to the initial one..
 
void SetCandleChart(bool can)
Set a candle chart display.
 
void Paint(Option_t *options="") override
Paint the parallel coordinates graph.
 
void SetVertDisplay(bool vert=true)
Set the vertical or horizontal display.
 
TParallelCoord()
Default constructor.
 
TTree * fTree
! Pointer to the TTree.
 
Width_t fLineWidth
entries line width.
 
TString fTreeFileName
Name of the file containing the tree.
 
void AddVariable(Double_t *val, const char *title="")
Add a variable.
 
Long64_t fCurrentFirst
First entry to display.
 
void SetCurrentN(Long64_t)
Set the number of entry to be displayed.
 
Double_t GetGlobalMax()
return the global maximum.
 
TParallelCoordSelect * SetCurrentSelection(const char *title)
Set the selection being edited.
 
void SetGlobalMax(Double_t max)
Force all variables to adopt the same max.
 
void SetGlobalMin(Double_t min)
Force all variables to adopt the same min.
 
Long64_t fCurrentN
Number of entries to display.
 
Long64_t fNentries
Number of entries;.
 
void RemoveVariable(TParallelCoordVar *var)
Delete a variable from the graph.
 
void ApplySelectionToTree()
Apply the current selection to the tree.
 
void SetAxesPosition()
Update the position of the axes.
 
UInt_t fNvar
Number of variables.
 
Color_t fLineColor
entries line color.
 
void SetAxisHistogramBinning(Int_t n=100)
Set the same histogram axis binning for all axis.
 
void SavePrimitive(std::ostream &out, Option_t *options) override
Save the TParallelCoord in a macro.
 
void CleanUpSelections(TParallelCoordRange *range)
Clean up the selections from the ranges which could have been deleted when a variable has been delete...
 
void Draw(Option_t *options="") override
Draw the parallel coordinates graph.
 
void SetDotsSpacing(Int_t s=0)
Set dots spacing.
 
static void SetEntryList(TParallelCoord *para, TEntryList *enlist)
Set the entry lists of "para".
 
@ kCurveDisplay
If the polylines are replaced by interpolated curves.
 
@ kGlobalScale
Every variable is on the same scale.
 
@ kVertDisplay
If the axes are drawn vertically, false if horizontally.
 
@ kGlobalLogScale
Every variable in log scale.
 
@ kPaintEntries
To paint all TParallelCoord entries.
 
@ kLiveUpdate
To paint the entries when being modified.
 
@ kCandleChart
To produce a candle chart.
 
void SetGlobalLogScale(bool)
All axes in log scale.
 
TEntryList * GetEntryList(bool sel=true)
Get the whole entry list or one for a selection.
 
Double_t * GetVariable(const char *var)
Get the variables values from its title.
 
void SetCurrentFirst(Long64_t)
Set the first entry to be displayed.
 
TGaxis * fCandleAxis
! An axis used when displaying a candle chart.
 
TList * fVarList
List of the variables.
 
A Pave (see TPave) with text, lines or/and boxes inside.
 
virtual TText * AddText(Double_t x1, Double_t y1, const char *label)
Add a new Text line to this pavetext at given coordinates.
 
void Draw(Option_t *option="") override
Draw this pavetext with its current attributes.
 
Defined by an array on N points in a 2-D space.
 
This is the base class for the ROOT Random number generators.
 
A specialized TSelector for TTree::Draw.
 
TTreeFormula * GetSelect() const
 
TTreeFormula * GetVar(Int_t i) const
Return the TTreeFormula corresponding to the i-th component of the request formula (where the compone...
 
virtual Int_t GetDimension() const
 
virtual Double_t * GetVal(Int_t i) const
Return the last values corresponding to the i-th component of the formula being processed (where the ...
 
virtual Int_t GetNfill() const
 
virtual void SetObject(TObject *obj)
 
void ToLower()
Change string to lower-case.
 
TString & ReplaceSpecialCppChars()
Find special characters which are typically used in printf() calls and replace them by appropriate es...
 
const char * Data() const
 
TString & ReplaceAll(const TString &s1, const TString &s2)
 
static TString Format(const char *fmt,...)
Static method which formats a string using a printf style format descriptor and return a TString.
 
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const
 
void SetLineStyleString(Int_t i, const char *text)
Set line style string using the PostScript convention.
 
Implement some of the functionality of the class TTree requiring access to extra libraries (Histogram...
 
A TTree represents a columnar dataset.
 
TFile * GetCurrentFile() const
Return pointer to the current file.
 
TVirtualTreePlayer * GetPlayer()
Load the TTreePlayer (if not already done).
 
void Draw(Option_t *opt) override
Default Draw method for all objects.
 
virtual void SetEntryList(TEntryList *list, Option_t *opt="")
Set an EntryList.
 
virtual Double_t * GetV1()
 
Int_t Write(const char *name=nullptr, Int_t option=0, Int_t bufsize=0) override
Write this object to the current directory.
 
virtual void SetView(Double_t longitude, Double_t latitude, Double_t psi, Int_t &irep)=0
 
virtual void SetBorderMode(Short_t bordermode)
 
virtual void SetBorderSize(Short_t bordersize)