#include #include "TFile.h" #include "TTree.h" #include "TBranch.h" int main () { TFile *oldfile = TFile::Open("/afs/cern.ch/work/p/pandolf/public/test_addbranch.root"); TTree *oldtree = (TTree*)oldfile->Get("treeProducerSusyFullHad"); TFile *newfile = TFile::Open("/tmp/pandolf/newfile_cpp.root", "RECREATE"); TTree *newtree = new TTree("mt2", "post processed baby tree for mt2 analysis"); newtree = oldtree->CloneTree(-1, "fast"); newtree->SetName("mt2"); float f1 = 13.; TBranch* b_1 = newtree->Branch("f1", &f1, "f1/F"); Int_t nentries = oldtree->GetEntries(); for(Int_t i = 0; i < nentries; i++) { if( i % 100000 == 0 ) std::cout << "Entry " << i << " / " << nentries << std::endl; b_1->Fill(); } delete oldtree; oldfile->Close(); newtree->Write(); newfile->Close(); return 0; }