8 ROOT.PyConfig.IgnoreCommandLineOptions =
True 10 from .util
import unpack_tdirectory, update_tcanvases, TKeyDict
31 self.
treeview.pack(fill=tk.BOTH,expand=
True)
43 for name
in event.widget.selection()}
44 histograms = {name:h
for name,h
in objects.items()
45 if isinstance(h, ROOT.TH1)}
48 for name,obj
in sorted(histograms.items()):
49 if isinstance(obj, ROOT.GH2Base):
52 self.
main._draw_single(obj,color,len(histograms))
53 if self.
main.plotlocation.get()==
'Overlay':
65 print 'load compiled histograms called.' 71 print ' _compiled_histogram_filename called.\n' 80 if parent
is not None:
84 children = self.
treeview.get_children(base)
90 for child
in children:
98 def Insert(self,obj,parent='',objname=None,icon=None):
103 objname = obj.GetName()
105 if (isinstance(obj, ROOT.TKey)
and 106 not issubclass(getattr(ROOT, obj.GetClassName()), ROOT.TH1)
and 107 not issubclass(getattr(ROOT, obj.GetClassName()), ROOT.TChannel)):
110 if (isinstance(obj, ROOT.TTree)
or 111 isinstance(obj, ROOT.TCutG)
or 112 isinstance(obj, ROOT.TProcessID)):
116 name = parent +
'/' + objname
122 if isinstance(obj, ROOT.TList):
124 elif isinstance(obj, ROOT.TDirectory):
125 iterable = obj.GetListOfKeys()
127 iterable = obj.GetList()
128 elif isinstance(obj, ROOT.GH2Base):
129 iterable = itertools.chain(obj.GetProjections(),
130 obj.GetSummaryProjections())
134 if iterable
is not None:
139 objname=None, icon=None):
140 is_histogram_key = (isinstance(obj, ROOT.TKey)
and 141 issubclass(getattr(ROOT, obj.GetClassName()), ROOT.TH1))
142 is_histogram = isinstance(obj, ROOT.TH1)
145 objname = obj.GetName()
147 if (is_histogram_key
and 159 if name
not in self.
treeview.get_children(parent):
163 icon = self.
main._PickIcon(obj)
164 self.
treeview.insert(parent,
'end', name, text=objname,image=icon)
172 name = tdir.GetName()
173 if name ==
'/dev/null':
174 name = tdir.GetTitle()
177 self.
Insert(tdir.GetList(),
178 objname=name, icon=self.
main.icons[
'tfile'])
179 if tdir.GetListOfKeys():
180 self.
Insert(tdir.GetListOfKeys(),
181 objname=name, icon=self.
main.icons[
'tfile'])
188 children = list(self.
treeview.get_children(parent))
193 for index, name
in enumerate(children):
194 self.
treeview.move(name, parent, index)
196 for child
in children:
201 dirname = hist.GetDirectory().GetName()
203 if dirname
in self.
treeview.get_children(
''):
204 icon = self.
main._PickIcon(hist)
205 name = dirname +
'/' + hist.GetName()
def _setup_GUI(self, frame)
def OnHistClick(self, event)
void Write(std::shared_ptr< TMidasEvent > evt, TMidasFile *outfile)
def _refresh(self, name, obj)
def Resort(self, parent='')
def _load_compiled_histograms(self, filename)
def _compiled_histogram_filename(self)
def _find_parent(self, name, base='')
def InsertHist(self, hist)
def update_tcanvases(objects=None)
def AddActiveDirectory(self, tdir)
def Insert(self, obj, parent='', objname=None, icon=None)
def _MakeHistView(self, parent)
def CheckOnlineHists(self)
def _PeriodicHistogramCheck(self)
def _insert_single_nonrecursive(self, obj, parent, name, objname=None, icon=None)
def __init__(self, main, frame)