gui plotting and cutting tool

Sean Kelly (kelly@charm.physics.ucla.edu)
Tue, 22 Jun 1999 12:14:46 -0700 (PDT)



Dear Rooters

I have written a ROOT based gui plotting and cutting tool that may be of
some general use. The code is essentially an interface to the TTree::Draw
method, similar to TTree::Viewer but with some additional functionality.
The code is pre-beta and will be updated pretty regularly. Please see the
below link or the ROOT Gui How To page for more information.

best regards

Sean Kelly

http://www.physics.ucla.edu/~kelly/quikplot/quikplot.html

_____________________________________________

Sean Kelly
Dept. of Physics
University of California Los Angeles
office tel. (310)-825-6035
fax (310)-206-4397
voice mail (310)-259-3747
_____________________________________________

On Fri, 4 Jun 1999, Rene Brun wrote:

> Today, we are exposing the first public pre-release of Root version
> 2.22.
> this version is stamped 2.22/04 and the main features are listed below.
> For more details, see URLs:
>
> http://root.cern.ch/root/News.html
> http://root.cern.ch/root/Version222.html
> http://root.cern.ch/root/html/examples/V2.22.txt.html
>
> Rene Brun & Fons Rademakers
>
>
>
>
> - New CINT 5.14.4:
>
> - ==========>>IMPORTANT NEW FEATURE IN THE I/O SUBSYSTEM<<=============
> TBuffer: WriteObject() now inserts a byte count in front of the buffer
> and ReadObject() checks at the end of reading the byte count. If the
> byte count is not correct the buffer is positioned at the location
> specified by the byte count so that a next object in the same buffer
> can still be correctly read. This new feature is very useful to detect
> if a Streamer() is out of sync compared to the data on the file. Also
> it will allow the system to skip data of an unkown class (class info
> has been lost or shared lib is not loaded), but still correctly read
> the other data.
> ROOT FILES WRITTEN WITH BY THIS AND HIGHER (>= 2.22) VERSIONS OF OF
> THE
> SYSTEM CANNOT BE READ BY PREVIOUS (< 2.22) VERSIONS. PLEASE UPGRADE.
>
> - rootcint: generate Streamer code for STL containers vector, list,
> deque, map, set, multimap and multiset. It is now possible to do
> automatic I/O for classes containing these containers.
>
> - Several changes in class TH1
> ============================
> - new member functions to return a random number distributed according
> the contents of a histogram.
> Axis_t GetRandom(); // for 1-d
> void GetRandom2(Axis_t &x, Axis_t &y); //for 2-d
> void GetRandom3(Axis_t &x, Axis_t &y, Axis_t &z); //for 3-d
> For the 3 cases GetRandom computes the integral of the bins if not
> yet done).
> This integral (fIntegral) is normalized to 1 and a random number
> returned following this integral.
>
> - existing functions TH1::FillRandom(TF1*) and TH1::FillRandom(TH1*)
> have been modified. TH1::FillRandom(TH1*) has been rewritten to use
> the new TH1::GetRandom functions. The new function does not require
> that the source and destination histogram have the same number of
> bins or
> bin limits. Statistics are also correctly filled.
>
> - Changes in prototype for TH1::DrawCopy from
> old: void DrawCopy(Option_t *option="");
> new: TH1 *DrawCopy(Option_t *option="");
>
>
> - Changes in TTree::MakeClass. The new version generates a skeleton
> analysis function allowing a better performance when reading the tree.
> In addition, to the list of leaf (variable) names, the new version
> also
> generates for each branch a member like:
> TBranch *b_branchname;
> In the analysis loop, one can call
> b_branchname->GetEntry(entry) to read only the variables belonging
> to this branch. The branch pointers are initialized in the Init
> function.
> Note that if b_branchname->GetEntry(entry) is invoked more than once
> for the same entry, the subsequent calls return immediatly from
> GetEntry.
>
> - ==========>>>>WARNING Terminology change in TTree.<<=================
> We now call "entry" what was called "event"
> We have added the following functions
> TTree::GetEntry
> TChain::GetEntry
> TBranch::GetEntry
> These new functions behave like the old GetEvent functions.
> We have left the old GetEvent functions for backward compatibility.
> However, note that these old functions call the new functions
> GetEntry.
> We strongly encourage you to make the corresponding changes in your
> code.
>
> - New class in patch EG: TParticle. This new class replaces the old
> class
> TPrimary (left for compatibility).
> The classes TGenerator, TVenus, TPythia changed to use the new class.
> TGenerator::GetPrimaries has been renamed TGenerator::ImportParticles.
>
> - New class TTabCom: very useful new class made by Christian Lacunza
> <lacunza@cdfsg5.lbl.gov>. This class performs basic tab completion.
> You should be able to hit [TAB] to complete a partially typed:
>
> username
> environment variable
> preprocessor directive
> pragma
> filename (with a context-sensitive path)
> public member function or data member
> global variable, function, or class name
>
> - IMPORT CHANGE for LINUX users. in $kumacs/globals and all makefiles
> the options -fno-rtti -fno-exceptions have been removed.
> When we moved from gcc to egcs1.0 about 1 year ago, we found out that
> using the default compiler options was generating a huge overhead in
> space in the object files. In particular the exceptions could generate
> a few
> tens of kilobytes of additional code compared to no-exceptions. We saw
> many
> cases of small and medium size classes (in fact the majority) for
> which the
> object file was more than double.
> Because support for rtti and exceptions was supported by only a few
> compilers at the time, we set by default the options above.
> egcs1.1 is now generating a more compact code than its predecessor
> and is quickly becoming the standard compiler on Linux.
> We have compared a few weeks ago the overhead induced by each option
> above and found the following result on the Root classes
> -rtti overhead = 1.2 per cent (totally negligible)
> -exceptions = 20 per cent
> The overhead generated by the exceptions option is still not
> negligible.
> However, we have decided to compile Root with the default egcs
> options.
>