4#include "KVTreeAnalyzer.h"
19#include "KVFileDialog.h"
20#include "KVDalitzPlot.h"
23#include <KVHistogram.h>
27#include "KVNameValueListGUI.h"
40#define MAX_COLOR_INDEX 5
41Int_t my_color_array[] = {
109 :
TNamed(
"KVTreeAnalyzer",
"KVTreeAnalyzer"), fTree(0), fChain(0), fSelections(
kTRUE), fHistoNumber(1), fSelectionNumber(1), fAliasNumber(1), fNoGui(nogui)
128 :
TNamed(
"KVTreeAnalyzer", t->GetTitle()), fTree(0), fChain(0), fSelections(
kTRUE), fHistoNumber(1), fSelectionNumber(1), fAliasNumber(1), fNoGui(nogui)
152 if (gTreeAnalyzer ==
this) gTreeAnalyzer = 0x0;
242 title.
Form(
"%s [%s]",
expr, weight);
305 else Selection = weight;
309 if (
nY) histo.
Form(
">>%s(%d,%f,%f,%d,%f,%f)",
name.Data(),
nX,
xmin,
xmax,
nY,
ymin,
ymax);
376 else Selection = weight;
416 if (
h->IsType(
"Histo"))
return h->GetHisto();
455 if (
tmpObj->InheritsFrom(
"TCutG")) {
533 if (
tmp !=
"") cout <<
"CURRENT SELECTION : " <<
tmp << endl;
578 while ((o = next())) {
593 stuff.AddAll(
fel->GetTree()->GetListOfLeaves());
594 stuff.AddAll(
fel->GetTree()->GetListOfAliases());
617 cout <<
"Analysis " <<
GetTitle() <<
" has been modified. Save before continuing? [y] : " << flush;
632 "Analysis has been modified. Save before continuing?",
kMBIconStop,
698 ULong_t red,
cyan,
green,
yellow,
magenta,
gura,
gurb,
gurc,
gurd,
gure,
gurf;
740 fMenuFile->
Connect(
"Activated(Int_t)",
"KVTreeAnalyzer",
this,
"HandleHistoFileMenu(Int_t)");
757 fOptionMenu->
Connect(
"Activated(Int_t)",
"KVTreeAnalyzer",
this,
"HandleOptionsMenu(Int_t)");
794 G_leaflist->
Connect(
"SelectionChanged()",
"KVTreeAnalyzer",
this,
"LeafChanged()");
868 G_histo_prof->
Connect(
"Toggled(Bool_t)",
"KVTreeAnalyzer",
this,
"SetProfileHisto(Bool_t)");
891 G_histo_bin->
Connect(
"Toggled(Bool_t)",
"KVTreeAnalyzer",
this,
"SetUserBinning(Bool_t)");
1001 G_histolist->
Connect(
"SelectionChanged()",
"KVTreeAnalyzer",
this,
"HistoSelectionChanged()");
1078 G_histo_log->
Connect(
"Toggled(Bool_t)",
"KVTreeAnalyzer",
this,
"SetDrawLog(Bool_t)");
1187 p.FindCommonTitleCharacters(((
TChain*)t)->GetListOfFiles(),
'X');
1226 f = TFile::Open(
tmp);
1233 f = TFile::Open(
tmp);
1237 if (!
f ||
f->IsZombie()) {
1308 gTreeAnalyzer =
this;
1331 while ((o = next())) {
1349 if ((hh =
hhh->GetHisto())) {
1394 histo->
Draw(
"same");
1411 while ((
h =
nxt())) {
1429 c->SetWindowSize(700, 700);
1507 cut =
dynamic_cast<TCutG*
>(obj);
1510 histo =
dynamic_cast<TH1*
>(obj);
1522 if (
gPad &&
gPad->GetListOfPrimitives()->FindObject(histo) && (gen)) {
1523 TIter next(
gPad->GetListOfPrimitives());
1525 while ((o = next())) {
1537 weight =
kvhisto->GetWeight();
1543 if (weight ==
"1") weight =
"";
1593 if (histo && (histo->
IsA() ==
h->
IsA()))
return histo;
1596 if (
hname.BeginsWith(
"I")) {
1680 for (
int i = 1; i <
nsel; i++) {
1683 tmp.Form(
"(%s)",
el->GetTitle());
1710 for (
int i = 0; i <
nsel; i++) {
1713 tmp.Form(
"(%s)",
el->GetTitle());
1733 if (
nsel < 1)
return;
1734 for (
int i = 0; i <
nsel; i++) {
1821 if (pos >=
tmps.Sizeof()) pos =
tmps.Sizeof() - 1;
1830 else if (
nleaf == 2) {
1840 else if (
nleaf == 3) {
1862 if (
tmp->GetSize() != 0 ||
tmp1->GetSize() != 0) {
1884 if (
cancel)
return false;
1885 fNx =
p.GetIntValue(
"Xbins");
1886 fXmin =
p.GetDoubleValue(
"Xmin");
1887 fXmax =
p.GetDoubleValue(
"Xmax");
1888 fNy =
p.GetIntValue(
"Ybins");
1889 fYmin =
p.GetDoubleValue(
"Ymin");
1890 fYmax =
p.GetDoubleValue(
"Ymax");
1904 if (
cancel)
return false;
1905 fNxF =
p.GetIntValue(
"bins");
1906 fXminF =
p.GetDoubleValue(
"min");
1907 fXmaxF =
p.GetDoubleValue(
"max");
1921 if (
cancel)
return false;
1922 fNxD =
p.GetIntValue(
"Xbins");
1923 fNyD =
p.GetIntValue(
"Ybins");
1946 if (!
leaf)
return 0;
1982 if (!
leaf)
return 0;
2007 return lf->GetTypeName();
2036 int nx = 500,
ny = 500;
2103 if (!
fProfileHisto) histo.
Form(
">>%s(%d,%f,%f,%d,%f,%f)",
name.Data(),
nx,
xmin,
xmax,
ny,
ymin,
ymax);
2106 else histo.
Form(
">>%s",
name.Data());
2146 Warning(
"DrawAsDalitz",
"Cannot be used with aliases !");
2173 if (
xType.Contains(
"Int_t")) {
2178 else if (
xType.Contains(
"Short_t")) {
2183 else if (
xType.Contains(
"Char_t")) {
2188 else if (
xType.Contains(
"Double_t")) {
2193 else if (
xType.Contains(
"Float_t")) {
2216 for (
int i = 0; i <
nentries; i++) {
2218 if (
el)
j =
el->Next();
2220 if (
xType.Contains(
"Int_t")) {
2225 else if (
xType.Contains(
"Short_t")) {
2230 else if (
xType.Contains(
"Char_t")) {
2235 else if (
xType.Contains(
"Double_t")) {
2240 else if (
xType.Contains(
"Float_t")) {
2245 h->FillAsDalitz(
x,
y, z);
2275 fWeight = params.GetStringValue(
"Weight");
2292 TH1* histo =
nullptr;
2304 if (
type.Contains(
"Int_t") ||
type.Contains(
"Char_t") ||
type.Contains(
"Short_t") ||
type ==
"Long_t" ||
type ==
"Long64_t") {
2307 if (
type.Contains(
"Char_t")) {
2309 tmp.Form(
"int(%s)",
expr.Data());
2390 if (!
gProof) TProof::Open(
"");
2655 if (
strcmp(weight,
"")) {
2656 if (!
strcmp(
h->GetWeight(), weight))
return h->GetHisto();
2658 else return h->GetHisto();
2703 if (
nsel < 1)
return;
2704 for (
int i = 0; i <
nsel; i++) {
2740 Info(
"AddSelectedHistos",
"Call to context menu not OK");
2745 Info(
"AddSelectedHistos",
"You pressed cancel");
2753 Info(
"AddSelectedHistos",
"Only possible for 2 histograms");
2792 cout <<
"REGENERATING SELECTION : " <<
old_el->GetTitle() << endl;
2837 while (
tan ==
this);
2838 tan->AnalysisSaveCheck();
2842 gROOT->ProcessLine(
".q");
2911 "Analysis files",
"Analysis*.root",
2934 "ROOT files",
"*.root",
2957 "ROOT files",
"*.root*",
2963 fi.SetMultipleSelection(
kTRUE);
2965 if (
fi.fFileNamesList &&
fi.fFileNamesList->GetEntries()) {
2969 TFile*
file = TFile::Open(
fi.fFileNamesList->First()->GetName());
2974 if (
trees->GetEntries()) {
2983 if (
fi.fFileNamesList->GetEntries() == 1) {
3000 "ROOT files",
"*.root",
3020 "Analysis files",
"Analysis*.root",
3074 if (
trees->GetEntries()) {
3158 while ((o = next())) {
3160 Info(
"GenerateAllAliases",
"Adding alias %s to leaflist", o->
GetTitle());
3208 applyAnal->G_selection_status->SetText(
"CURRENT SELECTION:", 0);
3220 exp.ReplaceAll(
"d2r",
"TMath::DegToRad()");
3221 exp.ReplaceAll(
"r2d",
"TMath::RadToDeg()");
3230static const char* gSaveAsTypes[] = {
"PostScript",
"*.ps",
3231 "Encapsulated PostScript",
"*.eps",
3236 "ROOT files",
"*.root",
3259 Info(
"SetUpHistoAutoSave",
"Select image filetype and directory");
3307 Info(
"AutoSaveHisto",
"Saved as: %s", title.
Data());
3308 gPad->SaveAs(title);
3327 Info(
"GenerateAllSelections",
"Generating selection: %s",
sel->GetTitle());
3348 if (!obj->
IsType(
"Cut")) {
3354 if (weight ==
"1") weight =
"";
3356 Info(
"GenerateAllHistograms",
"Generating histogram: %s", hist->
GetTitle());
3381 if (
R__b.IsReading()) {
3391 Info(
"Streamer",
"Checking friends");
3399 if (!
fe->GetTree() || (
fe->GetTree() && !
fe->GetTree()->InheritsFrom(
"TChain"))) {
3400 Info(
"Streamer",
"Found friend to convert to TChain");
3402 infos.SetValue(
Form(
"treeName%d", idx),
fe->GetTreeName());
3403 if (!
fe->GetFile()) {
3404 Info(
"Streamer",
"Choose file containg friend tree %s",
fe->GetTreeName());
3407 "ROOT files",
"*.root",
3415 infos.SetValue(
Form(
"fileName%d", idx),
fi.fFilename);
3420 infos.SetValue(
Form(
"fileName%d", idx),
fe->GetFile()->GetName());
3425 Info(
"Streamer",
"Removing TTree friends");
3431 Info(
"Streamer",
"Adding friends as TChains");
3454 while ((obj = (
TNamed*)next())) {
3469 if (
h->IsType(
"Histo"))
h->ParseExpressionAndSelection();
3496 if (
trees->GetEntries()) {
winID h TVirtualViewer3D TVirtualGLPainter p
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 Float_t g
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 Atom_t Atom_t Time_t type
R__EXTERN TProof * gProof
char * Form(const char *fmt,...)
char * StrDup(const char *str)
void AssignAndDelete(TString &target, char *tobedeleted)
R__EXTERN TSystem * gSystem
virtual Bool_t IsType(const Char_t *typ) const
static void InitEnvironment()
static Bool_t OpenContextMenu(const char *method, TObject *obj, const char *alt_method_name="")
TCanvas with mouse-controlled dynamic zoom and pan & scan.
Fill 3D observables in a dalitz plot ,.
Modified version of TGFileDialog file selection dialog.
Wrapper for histograms and graphical cuts used by KVTreeAnalyzer.
static void ParseHistoTitle(const Char_t *title, KVString &exp, KVString &sel, KVString &weight)
const Char_t * GetExpression() const
const Char_t * GetSelection() const
const Char_t * GetWeight() const
Return weighting used for filling histogram.
virtual void SetIsBoolean(Bool_t isit=kTRUE)
Extension of TGLVContainer for KVListView widget.
Enhanced version of ROOT TGListView widget.
KVList * GetPickOrderedSelectedObjects() const
virtual void ActivateSortButtons()
virtual void SetDataColumns(Int_t ncolumns)
void SetDoubleClickAction(const char *receiver_class, void *receiver, const char *slot)
virtual void Display(const TCollection *l)
virtual void SetMaxColumnSize(UInt_t width)
void AllowContextMenu(Bool_t on=kTRUE)
TList * GetSelectedObjects() const
virtual void SetDataColumn(Int_t index, const Char_t *name, const Char_t *method="", Int_t mode=kTextCenterX)
void SetUseObjLabelAsRealClass(Bool_t yes=kTRUE)
virtual KVLVColumnData * GetDataColumn(Int_t index) const
Extended TList class which owns its objects by default.
GUI for setting KVNameValueList parameters.
Handles lists of named parameters with different types, a list of KVNamedParameter objects.
Strings used to represent a set of ranges of values.
KaliVeda extensions to ROOT collection classes.
virtual TObject * FindObject(const char *name) const
virtual void Copy(TObject &obj) const
KVSeqCollection * GetSubListWithMethod(const Char_t *retvalue, const Char_t *method) const
virtual void SetOwner(Bool_t enable=kTRUE)
virtual void Clear(Option_t *option="")
virtual TObject * Last() const
virtual TObject * First() const
virtual TObject * At(Int_t idx) const
virtual TObject * FindObjectWithMethod(const Char_t *retvalue, const Char_t *method) const
virtual TObject * FindObjectByTitle(const Char_t *) const
Will return object with given title (value of TObject::GetTitle() method).
virtual void Add(TObject *obj)
virtual TObject * FindObjectWithNameAndType(const Char_t *name, const Char_t *type) const
virtual TObject * Remove(TObject *obj)
Remove object from list.
Extension of ROOT TString class which allows backwards compatibility with ROOT v3....
GUI for simple intuitive analysis of data in TTree ,.
void DeleteHisto(const Char_t *expr, const Char_t *selection, const Char_t *weight)
Int_t fSelectionNumber
used for automatic naming of selections
Bool_t IsPROOFEnabledForSelections() const
Bool_t fNoGui
=kTRUE if no graphical interface is required
static KVTreeAnalyzer * OpenFile(const Char_t *filename, Bool_t nogui=kFALSE)
TList * GetHistosByData(const Char_t *expr)
KVHistogram * GetHistoByTitle(const Char_t *title)
TChain * fChain
the analyzed TTree or TChain
bool DefineUserBinningD()
Bool_t fNormHisto
=kTRUE: generate normalised histograms (normalise to integral of histo)
TGCheckButton * G_histo_norm
void SaveAs(const char *filename="", Option_t *option="") const
Bool_t IsPROOFEnabled() const
void SetTreeFileName(TTree *t)
Int_t fHistoNumber
used for automatic naming of histograms
void SetTree(TTree *t)
Connects a TChain for analysis.
TGGroupFrame * fMain_leaflist
GUI for access to TTree leaves and aliases.
void DeleteSelections()
Delete the currently selected selection(s)
void ReconnectTree()
Backwards compatibility: to read old analysis files.
void OpenAnyFile(const Char_t *filepath)
KVListView * G_histolist
GUI list of histograms.
TNamed * GetAlias(const Char_t *expr)
void HistoFileMenu_Save()
Bool_t MakeSelection(const Char_t *selection)
void ReapplyAnyFile(const Char_t *filepath)
void SetAnalysisModifiedSinceLastSave(Bool_t)
TString fAutoSaveDir
directory for autosaving histos
Bool_t fStatsHisto
=kTRUE: display histo stats box
TGCheckButton * G_histo_app_sel
const Char_t * get_leaf_type_name(const TNamed *l)
Bool_t fApplySelection
=kTRUE: apply current selection to existing histogram
TString fTreeName
name of analyzed TTree
Bool_t fDrawSame
=kTRUE: draw histograms in same plot
void SetUpHistoAutoSave()
void GenerateAllAliases(TCollection *list)
Generate all user aliases in list which are not already defined.
Int_t fAliasNumber
used for automatic naming of TTree aliases
TH1 * RemakeHisto(TH1 *h, const Char_t *expr, const Char_t *weight="")
TH1 * MakeHisto(const Char_t *expr, const Char_t *selection, Int_t nX, Int_t nY=0, const Char_t *weight="", Double_t xmin=-1, Double_t xmax=-1, Double_t ymin=-1, Double_t ymax=-1)
void SetAlias(const Char_t *name, const Char_t *expr)
Bool_t fDeletedByGUIClose
double GetTreeMinimum(const TString &leafname)
const TGMainFrame * GetMainWindow() const
static KVList * fgAnalyzerList
static list of all analyzers in memory
void HistoFileMenu_Apply()
TString fTreeFileName
name of file containing analyzed TTree
void DeleteSelectedHisto()
Delete all currently selected histograms.
void GUIClosed()
Called when graphical window is closed.
TEntryList * GetSelection(const Char_t *)
Look for selection in list of selections.
Bool_t IsCurrentSelection(const Char_t *sel)
void AutoSaveHisto(TH1 *h)
TGTextEntry * G_alias_text
TGPopupMenu * fSelCombMenu
Bool_t fNewCanvas
=kTRUE: draw each histogram in a new canvas
void init()
Default initialization.
TString fRelativePathToAnalysisFile
TGCheckButton * G_histo_log
TGComboBox * G_histo_draw_option
KVUniqueNameList fSelections
list of TEntryList user selections
void GenerateAllHistograms(TCollection *)
Bool_t fNormHistoEvents
=kTRUE: generate normalised histograms (normalise to number of events)
void SetSelection(TObject *)
void CurrentSelection()
Print the currently active selection (TEntryList set on TTree).
KVList fLeafList
clones of leaves in TChain
TGCheckButton * G_histo_weight
void UpdateEntryLists()
regenerate entry lists for all selections
TGCheckButton * G_histo_prof
void SetEntryList(TEntryList *)
void HistoAddition(Double_t c1=1, Double_t c2=1)
void OpenGUI()
Launch the GUI (unless fNoGui=kTRUE in which case this does nothing)
void HistoFileMenu_OpenFriend()
TGPictureButton * G_histo_add
TGPictureButton * G_histo_del
void CombineSelectionsAnd()
TGCheckButton * G_histo_stats
KVTreeAnalyzer(Bool_t nogui=kTRUE)
TGCheckButton * G_histo_new_can
void HandleHistoFileMenu(Int_t)
TGCheckButton * G_histo_bin
void HandleOptionsMenu(Int_t opt)
TGGroupFrame * fMain_selectionlist
GUI for handling selections.
void GetHistosFromFile(TFile *file, const KVUnownedList &keys)
TString fSaveAnalysisFileName
TGPopupMenu * fMenuSelections
void CombineSelectionsOr()
TGPictureButton * G_leaf_draw
Bool_t fAutoSaveHisto
=kTRUE: on draw, generate image file of current displayed histo
bool DefineUserBinning1F()
void HandleSelectionsMenu(Int_t)
void DrawHistogram(TH1 *histo, Bool_t same=false, Bool_t logscale=false)
void EnablePROOF(Bool_t yes=kTRUE)
KVList fHistolist
list of generated histograms
TList * GetHistosBySelection(const Char_t *expr)
void OpenAnyFriendFile(const Char_t *filepath)
TTree * fTree
for backwards compatibility
TGCheckButton * G_histo_norm_events
void GenerateAllSelections(TCollection *)
For applying existing analysis to new data.
TGPopupMenu * fSelGenerate
TString fAutoSaveType
filetype for autosaving histos
TH1 * GetHistogram(const Char_t *name) const
Return histogram with given name.
TGPopupMenu * fOptionMenu
Long64_t GetEntriesInCurrentSelection() const
KVListView * G_selectionlist
GUI list of TEntryList selections.
double GetTreeMaximum(const TString &leafname)
TGStatusBar * G_selection_status
status bar in selections GUI
void AddSelection(TEntryList *)
TGLayoutHints * fMenuBarItemLayout
TGCheckButton * G_histo_same
TH1 * MakeIntHisto(const Char_t *expr, const Char_t *selection, Int_t Xmin, Int_t Xmax, const Char_t *weight="")
virtual ~KVTreeAnalyzer()
Destructor.
void OpenChain()
Open a file or files containing TTrees to analyse.
void SelectionChanged()
Method called whenever the selected selection in the GUI list changes.
TGMainFrame * fMain_histolist
GUI for handling histograms.
TH1 * GetHisto(const Char_t *expr, const Char_t *selection, const Char_t *weight="")
Bool_t fAnalysisModifiedSinceLastSave
void HistoSelectionChanged()
Method called when user histo selection changes in GUI histogram list.
void GenerateHistoTitle(TString &title, const Char_t *exp, const Char_t *sel, const Char_t *weight="")
void ReadFromFile(const Char_t *filename)
open a previously saved analysis session.
Bool_t fDrawLog
=kTRUE: draw histograms with log-Y (1-D) or log-Z (2-D) scale
void HistoFileMenu_Open()
Open a previous analysis session.
void DrawLeaf(TObject *)
Method called when user double-clicks a leaf/alias in list.
KVList fAliasList
list of TTree aliases
TList * fSelectedSelections
void Copy(TObject &obj) const
void DrawHisto(TObject *o, Bool_t gen=kTRUE)
TGCheckButton * G_histo_autosave
TGTextEntry * G_selection_text
KVListView * G_leaflist
GUI list of TTree leaves and aliases.
Bool_t fMethodCalled
allows to know if context menu methods are called
virtual void Add(TObject *obj)
Extended TList class which does not own its objects by default.
virtual void SetLineWidth(Width_t lwidth)
virtual void SetLineColor(Color_t lcolor)
void SetEntryList(TEntryList *elist, Option_t *opt="") override
TFriendElement * AddFriend(const char *chainname, const char *dummy="") override
TObjArray * GetListOfLeaves() override
virtual Int_t Add(const char *name, Long64_t nentries=TTree::kMaxEntries)
void RemoveFriend(TTree *) override
void SetDirectory(TDirectory *dir) override
Long64_t Draw(const char *varexp, const char *selection, Option_t *option="", Long64_t nentries=kMaxEntries, Long64_t firstentry=0) override
virtual void SetProof(Bool_t on=kTRUE, Bool_t refresh=kFALSE, Bool_t gettreeheader=kFALSE)
Long64_t GetEntries() const override
Bool_t InheritsFrom(const char *cl) const override
void ls(Option_t *option="") const override
virtual void AddAll(const TCollection *col)
virtual Int_t GetEntries() const
TObject * Clone(const char *newname="") const override
const char * GetVarX() const
const char * GetVarY() const
virtual Long64_t GetEntry(Long64_t index)
virtual Long64_t GetN() const
virtual const char * GetValue(const char *name, const char *dflt) const
TGFrame * GetContainer() const
virtual void AddEntry(const char *s, Int_t id)
TGDimension GetDefaultSize() const override
virtual void AddFrame(TGFrame *f, TGLayoutHints *l=nullptr)
void MapSubwindows() override
void SetCleanup(Int_t mode=kLocalCleanup) override
virtual UInt_t GetDefaultHeight() const
virtual void Resize(TGDimension size)
TGDimension GetSize() const
void MapWindow() override
TGDimension GetDefaultSize() const override
void SetText(const char *newText)
const char * GetTitle() const override
void SetIconPixmap(char **xpm_array)
void SetIconName(const char *name)
void SetWindowName(const char *name=nullptr) override
virtual void SetText(const char *text, Int_t partidx=0)
virtual void SetMaxLength(Int_t maxlen)
void Clear(Option_t *option="") override
const char * GetText() const
virtual void SetCursorPosition(Int_t pos)
virtual void SetAlignment(ETextJustification mode=kTextLeft)
virtual void SetText(const char *text, Bool_t emit=kTRUE)
virtual void SetName(const char *name)
virtual void RaiseWindow()
void Draw(Option_t *chopt="") override
void SetTitle(const char *title="") override
virtual void SetDirectory(TDirectory *dir)
virtual Bool_t Add(const TH1 *h, const TH1 *h2, Double_t c1=1, Double_t c2=1)
void SetTitle(const char *title) override
virtual Int_t GetNbinsY() const
Option_t * GetOption() const override
virtual Double_t GetMaximum(Double_t maxval=FLT_MAX) const
virtual Int_t GetNbinsX() const
virtual void SetMaximum(Double_t maximum=-1111)
void Draw(Option_t *option="") override
virtual Double_t Integral(Int_t binx1, Int_t binx2, Option_t *option="") const
TClass * IsA() const override
virtual void SetOption(Option_t *option=" ")
virtual void Scale(Double_t c1=1, Option_t *option="")
TObject * Clone(const char *newname="") const override
virtual void Sumw2(Bool_t flag=kTRUE)
virtual void SetStats(Bool_t stats=kTRUE)
TBranch * GetBranch() const
TObject * FindObject(const char *name) const override
TObject * First() const override
TObject * At(Int_t idx) const override
void Copy(TObject &named) const override
virtual void SetTitle(const char *title="")
const char * GetName() const override
void Streamer(TBuffer &) override
const char * GetTitle() const override
TObject * FindObject(const char *name) const override
virtual const char * GetName() const
virtual void Warning(const char *method, const char *msgfmt,...) const
virtual Int_t Write(const char *name=nullptr, Int_t option=0, Int_t bufsize=0)
virtual Bool_t InheritsFrom(const char *classname) const
virtual void Error(const char *method, const char *msgfmt,...) const
virtual const char * GetTitle() const
virtual TClass * IsA() const
virtual void Info(const char *method, const char *msgfmt,...) const
Bool_t Connect(const char *signal, const char *receiver_class, void *receiver, const char *slot)
const char * Data() const
TString & Append(char c, Ssiz_t rep=1)
TString & Prepend(char c, Ssiz_t rep=1)
virtual Int_t Sizeof() const
void Form(const char *fmt,...)
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const
TString & ReplaceAll(const char *s1, const char *s2)
virtual const char * DirName(const char *pathname)
virtual char * ConcatFileName(const char *dir, const char *name)
virtual Bool_t AccessPathName(const char *path, EAccessMode mode=kFileExists)
virtual Bool_t ChangeDirectory(const char *path)
virtual const char * BaseName(const char *pathname)
virtual Bool_t IsAbsoluteFileName(const char *dir)
virtual const char * WorkingDirectory()
static void SingleShot(Int_t milliSec, const char *receiver_class, void *receiver, const char *method)
virtual Int_t GetEntry(Long64_t entry, Int_t getall=0)
virtual TObjArray * GetListOfLeaves()
TFile * GetCurrentFile() const
virtual TList * GetListOfAliases() const
virtual TTree * GetFriend(const char *) const
virtual Double_t GetMaximum(const char *columname)
TDirectory * GetDirectory() const
virtual TEntryList * GetEntryList()
virtual Long64_t GetEntries() const
virtual Long64_t Draw(const char *varexp, const char *selection, Option_t *option="", Long64_t nentries=kMaxEntries, Long64_t firstentry=0)
virtual Long64_t GetEntryNumber(Long64_t entry) const
virtual TLeaf * GetLeaf(const char *branchname, const char *leafname)
virtual Double_t GetMinimum(const char *columname)
Int_t SetBranchAddress(const char *bname, T **add, TBranch **ptr=nullptr)
virtual TList * GetListOfFriends() const
virtual void ResetBranchAddresses()
RVec< PromoteType< T > > tan(const RVec< T > &v)
RVec< PromoteType< T > > exp(const RVec< T > &v)