Skip to Content.
Sympa Menu

sphenix-software-l - Re: [Sphenix-software-l] A C++ Analysis Library Generator

sphenix-software-l AT lists.bnl.gov

Subject: sPHENIX discussion of software

List archive

Chronological Thread  
  • From: "Lajoie, John G [PHYSA]" <lajoie AT iastate.edu>
  • To: "phenix-off-l AT lists.bnl.gov" <phenix-off-l AT lists.bnl.gov>
  • Cc: "sphenix-software-l AT lists.bnl.gov" <sphenix-software-l AT lists.bnl.gov>
  • Subject: Re: [Sphenix-software-l] A C++ Analysis Library Generator
  • Date: Wed, 29 Jun 2016 02:22:58 +0000

Hi Mike,

    I second John on this - this is great. This is the kind of thing that has been available in "professional" code development suites (think Visual Studio) for quite some time, and it is a fantastic tool for old and new coders alike.

    I think supporting something like this for sPHENIX would be a big plus, and especially helpful for new students.

John


On 6/28/2016 7:51 PM, John Haggerty wrote:
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 Lajoie

Professor of Physics

Iowa State University

 

(515) 294-6952

lajoie AT iastate.edu


Contact me: john.lajoie



Archive powered by MHonArc 2.6.24.

Top of Page