Hi Andrei, I do not understand how you have been able to create the original 3 files. With 991936 entries, each file should be around 16.2 GBytes (uncompressed). Probably, you had a huge compression factor such that each file was just below the 2 GByte size. Could you send me the result of FCube.Print() for each original file ? Rene Brun Andrei Daniel wrote: > > Hi Rooters! > > After 3 ours of work program gave me the next message. > I used Alpha working under Digital Unix and > ROOT version 2.23/12. > > Fatal in <CustomReAlloc2>: storage exhausted > aborting > > I have 3 TFiles. Each file includes the same TTree created > from the different data. Now I want to sum these data and > write result in the new TFile. What may be wrong or can be > changed in the next part of code? Let me note that each TFile > can be read separately without errors. > > Thanks in advance. > > Andrei > > const int nx = 1408; > const int n = nx * (nx + 1) / 2; > const int nz = 8192; > > TROOT sumofcubes ("sumofcubes","Sum Data of 3 Cubes"); > > struct > { > unsigned short sbuf[nz]; > } buf1,buf2,buf3; > struct > { > float fbuf[nz]; > } buf4; > > int i, n1, n2, ix, iy, iz; > > TFile *F1 = new TFile("a1.root", "read"); > TTree *Cube1 = (TTree*) F1->Get("Cube"); > Cube1->SetBranchAddress("Spectrum", buf1.sbuf); > > TFile *F2 = new TFile("a2.root", "read"); > TTree *Cube2 = (TTree*) F2->Get("Cube"); > Cube2->SetBranchAddress("Spectrum", buf2.sbuf); > > TFile *F3 = new TFile("a3.root", "read"); > TTree *Cube3 = (TTree*) F3->Get("Cube"); > Cube3->SetBranchAddress("Spectrum", buf3.sbuf); > > > TFile *FOUT = new TFile("as.root","recreate"); > TTree *FCube = new TTree("FCube","SUM OF 3 Weeks"); > TBranch *Spectrum = FCube->Branch("Spectrum",buf4.fbuf,"fbuf[8192]/F"); > > for(i = 0; i < n; ++i) > { > Cube1->GetEntry(i); > Cube2->GetEntry(i); > Cube3->GetEntry(i); > > for(iz = 0; iz < nz; ++iz) > { > buf4.fbuf[iz] = (float) buf1.sbuf[iz] > + (float) buf2.sbuf[iz] > + (float) buf3.sbuf[iz]; > } > > FCube->Fill(); > } > > FCube->Write(); > > F1->Close(); > F2->Close(); > F3->Close(); > > FOUT->Close(); > } > > ---------------------------------------- > Andrei Daniel > FLNR, JINR, Dubna 141980, Russia > Tel: (7-09621)64568 Fax: (7-09621)65083 > daniel@cv.jinr.ru
This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:27 MET