RE: Few questions about PROOF

From: Philippe Canal <pcanal_at_fnal.gov>
Date: Fri, 05 Jan 2007 13:49:29 -0600


> Is it possible to modify the MySelector Init() and data members in order
to use MyClass?  

Yes it is. However you may want to try MakeProxy instead (the result support access to both
the individual data member and the method).  

Cheers,
Philippe


From: owner-roottalk_at_pcroot.cern.ch [mailto:owner-roottalk_at_pcroot.cern.ch] On Behalf Of Antonio Bulgheroni
Sent: Friday, January 05, 2007 3:03 AM
To: Constantin Loizides; Fons Rademakers Cc: ROOT Talk; sucimaPix developers; Iwaszkiewicz Jan; Leandro Franco Subject: Re: [ROOT] Few questions about PROOF

Dear Fons and Constantin,

       thanks for your fast reply. In this days I'll try to see how sucimaPix has to be modified to be compatible with the PROOF approach. I had a very brief look at TAM, I think that it's doing exactly what I need; but I fear that introducing it in my framework is more similar to a revolution than to a small modification. Anyhow, I'll give it a try!

One more (silly) question:

Thanks a lot!

Regards,

Antonio

-- 
Antonio Bulgheroni, PhD
INFN - Roma III


On 1/4/07, Constantin Loizides < loizides_at_mit.edu> wrote: 

Dear Antonio,

some of your questions relating the output and the list handling
of proof maybe solved by our TAM (tree analysis package) that
allows you to develop analysis classes for hierachical
analyses transparent to proof, eg with/without running 
on proof.

You may want to peek at
http://higweb.lns.mit.edu/tam/

where you find some documentation plus the code.

Let me know if you plan to use it since 
there might be some pitfalls on the way
that I could help you with.

Regards,
Constantin


Antonio Bulgheroni wrote:

> Dear ROOTers,
>
> first of all let me wish you all the best for the new year!
>
> I'm writing you because I'm trying to better understand the way
> PROOF works since it seems to fit all my requirements for parallel event
> analysis. I'm collaborating in a pretty big standalone ROOT-based code
> with some tens of classes for data analysis of pixel detectors (
> sucimaPix <http://groups-beta.google.com/group/sucimaPix-dev>). Even if
> it is in principle possible to load sucimaPix shared libraries into a
> ROOT interactive session and run the analysis job from the command line,
> we prefer to build some executables running in standalone mode. I'm
> using ROOT 5-15/01 on a linuxx8664 box with gcc 4.1.1. Here come my
> questions:
>
> * If I got it right, the best way to exploit PROOF is via a
> TSelector derived class. That's not a problem since my input data
> are already saved into a TTree, so I just need to produce the
> skeleton of a TSelector and fill in the empty methods. Then I can
> successfully run the TSelector from my standalone program adding
> a line like:
>
> MyTree->Process(MySelector);
>
> In the case I want to run it on PROOF, I added at the beginning a line
> like this:
>
> TProof::Open("localhost");
>
> (the PROOF server is properly set-up and the two processors of my PC are
> found)
>
> But, first of all, I wasn't able to compile/link my code using the
> standard `root-config --cflags --libs` command because it was
> complaining that the library containing Proof was missing.
> Using the trial and error approach, I managed to have it working adding
> the following libs
>
> -lProof -lThread -lTreePlayer
>
> Is that correct? is there a smarter way? Is it possible to use PROOF
> from outside an interactive ROOT session? Is it enough to add the
> TProof::Open() statement to have the Process() worked out by the
> cluster? or should I do something more?
>
> * I tried to understand how PROOF works and I guessed that each
> slave has to have its own copy of the input file. Is it right? In
> the case of a single host cluster with a multiple-processor is it
> true as well? Is a step-by-step tutorial for PROOF available
> somewhere?
>
> * In my analysis procedure I have several histograms to be booked
> and filled. I believe that all these objects must be added to the
> fOutput list in order to have the different slave contributions
> merged together at the end. Is it correct? Is it true for all
> objects having a Merge() method? Should the booking be done in the
> Begin() or in the SlaveBeginning() method?
>
> * In my original analysis procedure I had a TList containing a set
> of reference histograms related to the full pixel detector and a
> certain variable number of other TList containing the same
> histograms as the main one but concerning only a region of the
> detector. To solve this problem I created a TList containing TList
> of histograms. In this way, looping on all the entries of the
> outer list, I can fill the histos of the sub-region. Is there a
> way to make it compatible with the PROOF mechanism of the fOutput
> list? If I add a TList MyList to fOutput, the content of MyList
> will be merged at the end?
>
> Thank you very much for your precious help!
>
> Best regards,
>
>
> --
> Antonio Bulgheroni, PhD
> INFN - Sez. Roma III
-- Tel: +1-617-8301823 (SkypeIn) Skype: loizides AOL: ConLoi / ICQ: 114824520
Received on Fri Jan 05 2007 - 20:49:59 CET

This archive was generated by hypermail 2.2.0 : Sat Jan 06 2007 - 17:50:00 CET