Hi Jason, This is quite easy to do. Let me assume that you have created several histograms TH1 *h1,*h2,*h3, etc in the current directory. You can get a pointer to the list in memory with TList *list = gDirectory->GetList(); then write this list as one single key in a Root file with: TFile f("junk.root","new"); list->Write("allhists",TObject::kSingleKey); To read the list again in memory, you can do TFile f("junk.root"); TList *list = (TList*)f.Get("allhists"); list->ls(); Rene Brun On Wed, 14 May 2003, jrieger wrote: > Thanks for the quick response. But what I would like to do is write the > array of histograms as an array, rather than have each individual > histogram appear separately in the root file. I am trying to preserve the > position in the array so that I can compare it to another array. Is this > something that can be done? Thanks again > > Jason > > On Wed, 14 May 2003, Otto Schaile wrote: > > > Hi Jason, > > > > On Wed, 14 May 2003, jrieger wrote: > > > > > Greetings, > > > > > > I have generated an array of TH1F that I now want to write out to a root > > > file. However, I am having difficulty getting this to work. Is it > > > possible? A portion of the code that I used to make this histogram is: > > > > > > just put in front: > > > > TFile * outf = new TFile("xxxx.root", "RECREATE"); > > // all new hist will be added to directory of xxxx.root > > > > > > > > TH1F *myhist[1000]; > > > char *histname = new char[10]; > > > sprintf(histname, "h_x_%d",xx); > > > myhist[xx]=new TH1F(histname,"",100,-0.25,0.25); > > > for (Int_t iii=0;iii<nentries; iii++) { > > > Double_t binx=h_x->GetBinContent(iii); > > > myhist[xx]->SetBinContent(iii,binx); > > > } > > > > // and at the end: > > > > outf->Write(); // all objects in dir of outf (xxxx.root) > > // are written > > > > Cheers > > Otto > > > > -- > > Otto Schaile Sektion Physik, LMU Muenchen > > Phone: +49 89 289 14070 Am Coulombwall 1, D-85748 Garching, Germany > > GSM: +49 160 1553598 > > FAX: +49 89 289 14072 EMail: Otto.Schaile@Physik.Uni-Muenchen.DE > > > > > > > >
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:11 MET