Hi there, On Monday 24 March 2003 15:15, Brett Viren wrote: > Rüdiger Berlich writes: > > The obvious idea is now to use root as an extension language, > > i.e, to start the execution of a root script performing such an > > analysis in each individual of the Evolutionary Algorithms' population. > > I'm therefore looking for a possibility to embed root (i.e. cint + > > all standard root libraries) into my code. > > Do you actually need all of the ROOT features or are you just looking > for an extension language? > > If your goal is to *just* provide an extension language, frankly, I > wouldn't consider ROOT/CINT. If you need to use, specifically, C++ as > the extention language or you need object I/O, histograms, drawing, > and all the good stuff ROOT provides then ROOT/CINT is an okay choice, > but if you simply want to provide users a way to write scripts for > your main compiled app I'd suggest using SWIG (www.swig.org) to > generate the necessary wrappers for whatever your favorite interpreted > language is (Scheme, Perl, Python, etc). well, my application's primary goal is to help optimize the quality of a signal in particle physics analysis using evolutionary strategies. Possible quality measures could be e.g. the "significance" of a signal (i.e. signalEntries^2/(signalEntries+backgroundEntries) ) . In other words : I need to process event data and fill a histogram, than integrate the histogram in the peak region and in the sidebands. Since I do not know what sort of peak is being optimized and what data is being used, I can only leave the evaluation part to the user. In my case they're using primarily PAW or root for their analysis (is there anything else out there ? ;-) So, if they could use root scripts for the calculation of the "quality" of a set of cuts (leading to a signal) and "plug" these scripts directly into my application, that would be ideal. They then would have to make but minimal changes in their analysis scripts in order to be able to use my library. That's why I'm keen on embedding root. Posix threads or the Message Passing Interface are needed in order to parallelise this optimization process. Using root together with the Message Passing Interface is not a problem, as in my case there is only one instance of root in each MPI application. Using root in the multithreaded version of my library, however, does not seem to be possible. A long answers short conclusion : I do need those parts of root that allow a user to fill data into histograms or ntuples/trees and perform calculations with this data (integration in a given bin-range, etc.). I do not need (and in some cases do not want) most other things, e.g. graphics display of data (canvasses), parallel processing (i.e. PROOF), etc. Have a good day + greetings from spring-time Germany, Rüdiger Berlich
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:10 MET