#include "TFile.h" #include "TSystem.h" #include "TTree.h" void treesize (Int_t save_num = 10, Int_t out_num = 100, Int_t run_num = 1000) { Float_t f1,f2,f3; Int_t i1,i2,i3; TFile *fFile = new TFile("file.root", "RECREATE"); TTree *fTree = new TTree("fTree","Tree Name",0); fTree->Branch("f1",&f1,"f1/F"); fTree->Branch("f2",&f2,"f2/F"); fTree->Branch("f3",&f3,"f3/F"); fTree->Branch("i1",&i1,"i1/F"); fTree->Branch("i2",&i2,"i2/F"); fTree->Branch("i3",&i3,"i3/F"); TDirectory* savedir = gDirectory; for(Int_t i=0;iGetBytesWritten()/1024); fTree->Fill(); if(i%save_num==0)savedir = gDirectory; if(i%save_num==0)fFile->cd(); if(i%out_num==0)printf(" to %.1fkB",fFile->GetBytesWritten()/1024); if(i%save_num==0)fTree->AutoSave(); if(i%out_num==0)printf(" to %.1fkB",fFile->GetBytesWritten()/1024); if(i%save_num==0)fFile->SaveSelf(); if(i%out_num==0)printf(" to %.1fkB",fFile->GetBytesWritten()/1024); if(i%out_num==0)printf("\n"); if(i%out_num==0)gSystem->Exec("du -k file.root"); if(i%save_num==0)savedir->cd(); } fFile->Write(); fFile->Close(); }