Hi Daniela, In your Loop function, you should not call BranchOld. CloneTree will recreate an identical Tree header. Below, you will find an example of Loop code to copy a subset of a Tree (TChain) to a new Tree. Rene Brun TFile f("newTree.root","recreate"); TTree *newTree = fChain->GetTree()->CloneTree(0); Int_t nentries = Int_t(fChain->GetEntriesFast()); for (Int_t jentry=0; jentry<nentries;jentry++) { Int_t ientry = LoadTree(jentry); if (ientry < 0) break; fChain->GetEntry(jentry); // if event is rejected continue newTree->Fill(); } newTree->AutoSave(); Daniela Kaefer wrote: > > Hello, > > I have the problem, that I would really like to write a tree (same > structure and contents as the original one), but only with selected > events in it in order to get smaller and smaller samples (data and > MCs) to run over... > > If someone could take a look at my code and tell me (or give me a > hint, suggestion or anything) as to what I did wrong or why I cannot > get it to work. Any help is highly appreciated. > > Thanks in advance to anyone who can (or try to) help with this > problem... > > Cheers, Daniela > > +-----------------------------------------------------------+ > | Daniela Kaefer | email: kaefer@physik.rwth-aachen.de | > | Fermilab, MS 357 | kaefer@fnal.gov \_L_/ | > | Batavia, IL 60510 | /* *\/ | > | | \_*_/\ | > | U.S.A. | phone: +1-630-840-5439 / | \ | > +-----------------------------------------------------------+ > > -------------------------------------------------------------------------------- > Name: wrtTopData.C > wrtTopData.C Type: Plain Text (TEXT/PLAIN) > Encoding: BASE64 > Description: Macro > > Name: wrtTopData.h > wrtTopData.h Type: Plain Text (TEXT/PLAIN) > Encoding: BASE64 > Description: Header > > Name: Makefile > Makefile Type: Plain Text (TEXT/PLAIN) > Encoding: BASE64 > Description: Makefile > > Name: runTopData.C > runTopData.C Type: Plain Text (TEXT/PLAIN) > Encoding: BASE64 > Description: Macro (executable)
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:09 MET