Hi,
I get a .root file in the example Geant4
how can export data from .root to .txt ?
What am I doing wrong?
I try this way and get the error (see figure 2):
TFile *f =TFile::Open("yz_t1.root");
.ls
Th1D *yz; file->GetObject("yz-distributions/yz.1",yz);
.>abc.txt
->Print("all");
.>
error message:
input_line_35:2:3: error: use of undeclared identifier 'Th1D'
(Th1D * ((*(class TTree **)0x7f0b6e99b010)))
^
Error in <HandleInterpreterException>: Error evaluating expression (Th1D * ((*(class TTree **)0x7f0b6e99b010))).
Execution of your code was aborted.
Please read tips for efficient and successful posting and posting code
ROOT Version: ROOT 6.22/03
Platform: Ubuntu 18
Compiler: Not Provided
Hello,
You get that error because the h in TH1D
must be uppercase.
Thank you for your answer.
But there was another error in the terminal
root [3] TH1D *yz; file->GetObject("yz-distributions/yz.1",yz);ls
input_line_39:2:3: error: use of undeclared identifier 'file'
(file->GetObject("yz-distributions/yz.1", ((*(class TH1D **)0x7f616506b020))))
^
Error in <HandleInterpreterException>: Error evaluating expression (file->GetObject("yz-distributions/yz.1", ((*(class TH1D **)0x7f616506b020)))).
Execution of your code was aborted.
file
is not defined, the name of the variable should be f
in f->GetObject
.
couet
5
auto f = new TFile("yz_t1.root");
TH1D *yz = (TH1D*)f->Get("yz-distributions/yz.1");
.>abc.txt
yz->Print("all");
.>
Thank you for your help,
I’m just learning, so I have a lot of problems here. And I’m so sorry
Gean4 generates multiple .root files
1.)yz.root
2.)yz_t0.root
3.) yz_t1
Using your macrocode, I’ve tested exporting data for each file.
In all cases, the same error occurs. (See picture)
What am I doing wrong?
files
yz.root (13.7 KB) yz_t0.root (31.9 KB) yz_t1.root (32.0 KB)
couet
8
In your file yz_t1.root
you do not have a folder yz-distributions
containing a TH1D
named yz
. You have a TTree named xy:
% root
------------------------------------------------------------------
| Welcome to ROOT 6.23/01 https://root.cern |
| (c) 1995-2020, The ROOT Team; conception: R. Brun, F. Rademakers |
| Built for macosx64 on Oct 14 2020, 08:50:48 |
| From heads/master@v6-23-01-1567-g6f8fd46266 |
| With Apple clang version 12.0.0 (clang-1200.0.32.2) |
| Try '.help', '.demo', '.license', '.credits', '.quit'/'.q' |
------------------------------------------------------------------
root [0] auto f = new TFile("yz_t1.root");
root [1] f->ls()
TFile** yz_t1.root
TFile* yz_t1.root
KEY: TTree yz;1 yz-distributions
root [2] yz->Print()
******************************************************************************
*Tree :yz : yz-distributions *
*Entries : 6 : Total = 5389 bytes File Size = 1098 *
* : : Tree compression factor = 1.00 *
******************************************************************************
*Br 0 :radius : Double_t yz *
*Entries : 6 : Total Size= 725 bytes One basket in memory *
*Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
*............................................................................*
*Br 1 :eventID : Double_t yz *
*Entries : 6 : Total Size= 730 bytes One basket in memory *
*Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
*............................................................................*
*Br 2 :nbHits : Double_t yz *
*Entries : 6 : Total Size= 725 bytes One basket in memory *
*Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
*............................................................................*
*Br 3 :nbScoredHits : Double_t yz *
*Entries : 6 : Total Size= 755 bytes One basket in memory *
*Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
*............................................................................*
*Br 4 :y : Double_t yz *
*Entries : 6 : Total Size= 700 bytes One basket in memory *
*Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
*............................................................................*
*Br 5 :z : Double_t yz *
*Entries : 6 : Total Size= 700 bytes One basket in memory *
*Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
*............................................................................*
*Br 6 :Einc : Double_t yz *
*Entries : 6 : Total Size= 715 bytes One basket in memory *
*Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *
*............................................................................*