sphenix-software-l AT lists.bnl.gov
Subject: sPHENIX discussion of software
List archive
Re: [Sphenix-software-l] A C++ Analysis Library Generator
- From: John Haggerty <haggerty AT bnl.gov>
- To: phenix-off-l AT lists.bnl.gov
- Cc: sphenix-software-l AT lists.bnl.gov
- Subject: Re: [Sphenix-software-l] A C++ Analysis Library Generator
- Date: Tue, 28 Jun 2016 20:51:08 -0400
Mike,
That seems to me to be a very good idea, to automate the construction of code that has to be duplicated all the time with minor differences.
I have recently become attached to MakeSelector in root, which allows you to construct an event loop on an arbitrary TTree *T by saying T->MakeSelector("mycode"), which then allows you to compile code with ACLiC and thus have an environment almost as convenient as T->Draw() in compiled code, which is the same idea of automated code generation.
I may not appreciate some of the nuances, but I think it would be nice to do something like this for sPHENIX as well, and I suspect it will engender a lively discussion on the sphenix list. But it's the time of year when we look for fireworks;)
On 6/28/16 5:29 PM, Mike Beaumier wrote:
Hi Folks,
I know one of the many obstacles faced by newer students is the problem
of generating boilerplate code for an analysis library. Often, due to
confusion, or simple 'not knowing' we stick with tried-and-true root
macros, which are very robust, and easy to 'get to know'.
However, when performance of code is important, or when one desires to
compile code, and run it via a root macro by loading a library, taking
that step can be painful and time-consuming the first, second,
third...etc time.
I got sick of writing the same boilerplate code again and again, every
time I wanted to compile my software into a library and run from a root
macro.
Therefore, I wrote a tool in python which automatically generates the
required makefiles, link-defs, classes and functions, based on your own
needs when writing a new project from scratch.
You can clone the repository and try it out here:
https://github.com/Jollyhrothgar/root_project_generator
Best,
Mike
_______________________________________________
Phenix-off-l mailing list
Phenix-off-l AT lists.bnl.gov
https://lists.bnl.gov/mailman/listinfo/phenix-off-l
--
John Haggerty
email: haggerty AT bnl.gov
cell: 631 741 3358
-
Re: [Sphenix-software-l] A C++ Analysis Library Generator,
John Haggerty, 06/28/2016
- Re: [Sphenix-software-l] A C++ Analysis Library Generator, Lajoie, John G [PHYSA], 06/28/2016
Archive powered by MHonArc 2.6.24.