Can't access histogram from proof -> DrawSelect() in tutorial ProofNtuple.C ROOTv6.08.04

Hi,
I am trying to run tutorial ProofNtuple.C in “dataset creation” mode on Proof cluster of 2 machines.
I try to access the generated histograms from the plotNtuple(…) function in runProof.C but I can’t find them
anywhere. Neither in gDirectory nor in Outputlist of proof session.I am attaching the xrootd/ proof config file and the modified runProof file. I am doing following steps
(On both machines I do once at start)
xrootd -c /home/chinmay/xpd_proof.cf -b -l xrootdnew.log
(Then on master-client I do)
root -l

root [0] .L runProof.C+
Info in <TUnixSystem::ACLiC>: creating shared library /home/chinmay/ROOT/root-6.08.04/PROOF_INSTALLATION/tutorials/proof/./runProof_C.so
root [1] runProof("dataset++(nevt=50000)","chinmay@chinmay:1093")
tutorial dir:	/tmp/chinmay/.proof-tutorial
getProof: trying to open a session on the external cluster at 'proof://chinmay@chinmay/'
Starting master: opening connection ...
Starting master: OK                                                 
Opening connections to workers: OK (10 workers)                 
Setting up worker servers: OK (10 workers)                 
PROOF set to parallel mode (10 workers)
getProof: WARNING: started/attached a session on external cluster (proof://chinmay@chinmay/): 'dir="/tmp/chinmay/.proof-tutorial"' ignored
runProof: dataset: ACLiC mode: '++'
Collection name='TList', class='TList', size=2
 Collection name='FeedbackList', class='TList', size=0
  TParameter<int>	PROOF_UseParallelUnzip = 0

runProof: running "dataset" with nevt= 50000

Info in <TUnixSystem::ACLiC>: creating shared library /home/chinmay/ROOT/root-6.08.04/PROOF_INSTALLATION/tutorials/proof/ProofNtuple_C.so
Mst-0: merging output objects ... done                                     
Mst-0: grand total: sent 25 objects, size: 297986 bytes                            
Looking up for exact location of files: OK (1 files)                 
Looking up for exact location of files: OK (1 files)                 
Validating files: OK (1 files)                 
Mst-0: merging output objects ... done                                     
Mst-0: grand total: sent 23 objects, size: 298653 bytes                            
Did not find hist1 anywhere

Looking up for exact location of files: OK (1 files)                 
Looking up for exact location of files: OK (1 files)                 
Validating files: OK (1 files)                 
Mst-0: merging output objects ... done                                     
Mst-0: grand total: sent 23 objects, size: 298554 bytes                            
Looking up for exact location of files: OK (1 files)                 
Looking up for exact location of files: OK (1 files)                 
Validating files: OK (1 files)                 
Mst-0: merging output objects ... done                                     
Mst-0: grand total: sent 17 objects, size: 297805 bytes                            
Looking up for exact location of files: OK (1 files)                 
Looking up for exact location of files: OK (1 files)                 
Validating files: OK (1 files)                 
Mst-0: merging output objects ... done                                     
Mst-0: grand total: sent 23 objects, size: 340924 bytes                            
Looking up for exact location of files: OK (1 files)                 
Looking up for exact location of files: OK (1 files)                 
Validating files: OK (1 files)                 
Mst-0: merging output objects ... done                                     
Mst-0: grand total: sent 23 objects, size: 340906 bytes                            
Looking up for exact location of files: OK (1 files)                 
Looking up for exact location of files: OK (1 files)                 
Validating files: OK (1 files)                 
Mst-0: merging output objects ... done                                     
Mst-0: grand total: sent 19 objects, size: 340334 bytes             

Only modification in runProof.C is at lines 1382-1389. As output shows “hist1” object was not found. Everything else in tutorial works smooth and canvas with histogram names are generated.
proof_conf.txt (358 Bytes)
xpd_proof.txt (1.1 KB)
runProof.C (54.7 KB)

@ganis can help you I thing.

Hi,
Did the tutorial work?
I mean did you get the plots at the end?

G Ganis

Dear Chinmay,
In any case, the automatically created histogram filled with DrawSelect is always called ‘htemp’.
If you want to force a name you have to create the histogram before.
In this tutorial the redirection to histogram, i.e. " >> hist1", is not needed, it comes from cut and pasting other code.
I will remove it.

G Ganis

Yes. I did get the plots. However in canvas i find histogram named hist1_copy instead of hist1.
Also names of rest of the histogram are same. (i.e. hist2 is named hist2 and not hist2_copy and so on).
I tried to do
p -> GetOutputList()->FindObject(“hist1_copy”)
but I get same problem.

Okay. In that case where should i create the histogram ? On the client session ?
Should I be using “>> +hist1” in DrawSelect in such case ?
Also ProofNtuple.C does not have or create any histograms with these names.
Where are they coming from in that case ?

Hello,
You should create the histogram before calling DrawSelect and you should pass the name of the histogram without ‘+’, i.e. " >> hist1" . The histogram should be available in output list after running DrawSelect. What makes the histograms superpose is the ‘same’ in the option field.

G Ganis

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.