[ROOT] Troubles with THbookFile and THbookTree

From: Bardelli Luigi (bardelli@fi.infn.it)
Date: Thu Oct 24 2002 - 18:04:06 MEST


Dear Rooters,
     I'm experiencing troubles with  THbookFile and THbookTree: I have two
files with the same structure and a ntuple inside, and I'd like to compare
them. The files are different, as I checked out both with PAW and ROOT
opening them separatly.

This is my script:

{
  gSystem->Load("libHbook");

  THbookFile *file1=new THbookFile("lqtau_s0l_m600_11.ntp",8192);
  file1->ls();
  printf("Now Get #1: file1 is 0x%x\n",(int )file1);
  THbookTree *tree1=(THbookTree*)file1->Get(1);
  printf("Now Draw #1: tree1 is 0x%x\n", (int)tree1);
  tree1->SetName("tree1");
  tree1->Draw("Cal_pt");
  // file1->Close(); // <<==

  THbookFile *file2=new THbookFile("cc_q210.ntp",8192);
  file2->ls();
  printf("Now Get #2: file2 is 0x%x\n",(int )file2);
  THbookTree *tree2=(THbookTree*)file2->Get(1);
  printf("Now Draw #2: tree2 is 0x%x\n", (int)tree2);
  tree2->SetName("tree2");
  tree2->SetLineColor(2);
  tree2->Draw("Cal_pt","","same");
}

Executing I get:
 ===> Directory : //lun10
          1 (N)   ORANGE  
       1103 (2)   VCMONFIT CTD AX:Y=fit,X=M-F 
       1104 (1)   VCMONFIT CTD AX: (M-F)  
        331 (1)   VCMONFIT CTD AX(FADC): (M-F)
        332 (1)   VCMONFIT CTD AX(ZBYT): (M-F)
       1105 (2)   VCMONFIT CTD ZBYT:Y=fit,X=M-F   
       1106 (1)   VCMONFIT CTD ZBYT:M-F   
       1107 (2)   VCMONFIT CTD STER:Y=fit,X=M-F   
       1108 (1)   VCMONFIT CTD STER: (M-F)
        201 (1)   VCMONend CTD AX: (M-F)  
        202 (1)   VCMONend CTD ZBYT:Y=M-F,X=fit   
        203 (1)   VCMONend CTD ZBYT:M-F   
Now Get #1: file1 is 0x8713db8
Now Draw #1: tree1 is 0x8718050
<TCanvas::MakeDefCanvas>: created default TCanvas with name c1


 ===> Directory : //lun11
          1 (N)   ORANGE  
       1103 (2)   VCMONFIT CTD AX:Y=fit,X=M-F 
       1104 (1)   VCMONFIT CTD AX: (M-F)  
        331 (1)   VCMONFIT CTD AX(FADC): (M-F)
        332 (1)   VCMONFIT CTD AX(ZBYT): (M-F)
       1105 (2)   VCMONFIT CTD ZBYT:Y=fit,X=M-F   
       1106 (1)   VCMONFIT CTD ZBYT:M-F   
       1107 (2)   VCMONFIT CTD STER:Y=fit,X=M-F   
       1108 (1)   VCMONFIT CTD STER: (M-F)
        201 (1)   VCMONend CTD AX: (M-F)  
        202 (1)   VCMONend CTD ZBYT:Y=M-F,X=fit   
        203 (1)   VCMONend CTD ZBYT:M-F   
Now Get #2: file2 is 0x8d288b8
Now Draw #2: tree2 is 0x8d2ca48
(Int_t)4983
root [1] 

but i don't get two different superimposed histograms, but only one (as if
the input files were the same).
The "SetName" commands don't seem to alter this behaviour.
If now I uncomment the 

file1->Close(); // <<==

and execute, I get:

 ===> Directory : //lun10
          1 (N)   ORANGE  
       1103 (2)   VCMONFIT CTD AX:Y=fit,X=M-F 
       1104 (1)   VCMONFIT CTD AX: (M-F)  
        331 (1)   VCMONFIT CTD AX(FADC): (M-F)
        332 (1)   VCMONFIT CTD AX(ZBYT): (M-F)
       1105 (2)   VCMONFIT CTD ZBYT:Y=fit,X=M-F   
       1106 (1)   VCMONFIT CTD ZBYT:M-F   
       1107 (2)   VCMONFIT CTD STER:Y=fit,X=M-F   
       1108 (1)   VCMONFIT CTD STER: (M-F)
        201 (1)   VCMONend CTD AX: (M-F)  
        202 (1)   VCMONend CTD ZBYT:Y=M-F,X=fit   
        203 (1)   VCMONend CTD ZBYT:M-F   
Now Get #1: f1 is 0x8713dd8
Now Draw #1: t1 is 0x8718070
<TCanvas::MakeDefCanvas>: created default TCanvas with name c1


 ===> Directory : //lun10
          1 (N)   ORANGE  
       1103 (2)   VCMONFIT CTD AX:Y=fit,X=M-F 
       1104 (1)   VCMONFIT CTD AX: (M-F)  
        331 (1)   VCMONFIT CTD AX(FADC): (M-F)
        332 (1)   VCMONFIT CTD AX(ZBYT): (M-F)
       1105 (2)   VCMONFIT CTD ZBYT:Y=fit,X=M-F   
       1106 (1)   VCMONFIT CTD ZBYT:M-F   
       1107 (2)   VCMONFIT CTD STER:Y=fit,X=M-F   
       1108 (1)   VCMONFIT CTD STER: (M-F)
        201 (1)   VCMONend CTD AX: (M-F)  
        202 (1)   VCMONend CTD ZBYT:Y=M-F,X=fit   
        203 (1)   VCMONend CTD ZBYT:M-F   
Now Get #2: f2 is 0x87181d8

 *** Break *** segmentation violation
Root > 

If I convert them all to .root with h2root, everything works fine.
Can you help me?
Thanks
	Luigi

PS: I'm using ROOT 3.03/06 compiled on a RedHat 7.2 box with gcc version
2.96.


,------------------------------------------------------------------,
| Luigi Bardelli                                                   |
|------------------------------------------------------------------|
| INFN Sezione di Firenze                                          |
| Tel: +39-055-457-2255                                            |
| E-Mail: bardelli@fi.infn.it                                      |
`------------------------------------------------------------------'
** Please avoid sending me Word or PowerPoint attachments.
** See http://www.fsf.org/philosophy/no-word-attachments.html 



This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:15 MET