Thanks Rene, but it still doesn't work. I am still having the same error message: *** Break *** segmentation violation Root > Function Filter() busy flag cleared Any suggestions? Thanks a lot, Regards Antonio On Sat, 23 Nov 2002, Rene Brun wrote: > Hi Antonio, > > TTree::CloneTree is currently not able to copy the branch addresses > correctly in case the source tree is initialized in MakeClass mode. > I think that the following lines should fix the problem. > Let me know > > After the line > TTree *newtree = (TTree*)fChain->GetTree()->CloneTree(0); > add > newtree->SetMakeClass(1); > fChain->GetTree()->CopyAddresses(newtree); > > Rene Brun > > On Sat, 23 Nov 2002, Antonio SIDOTI wrote: > > > Dear Rooters, > > I am following the suggestions described in > > http://root.cern.ch/root/roottalk/roottalk02/0481.html to filter out a > > chain. > > I want to filter in Loop method that has been generated by MakeClass. > > > > void MyClass::Loop(){ > > bool pass = false; > > fChain->SetBranchStatus("*",1); // enable all branches > > > > Int_t nentries = Int_t(fChain->GetEntries()); > > fChain->GetEntry(0); > > TFile *newFile = new TFile("small.root","recreate"); > > TTree *newtree = (TTree*)fChain->GetTree()->CloneTree(0); > > for (Int_t jentry=0; jentry<nentries;jentry++) { > > Int_t ientry = LoadTree(jentry); > > pass = false; > > for(Int_t itk1=0; itk1< numTk; ++itk1){ > > for(Int_t itk2=itk1+1; itk2< numTk; ++itk2){ > > if(itk1==itk2) continue; > > pass = Select(itk1,itk2); > > } > > } > > if(pass){ > > cout << "Passed!\n"; > > newtree->Fill(); > > } > > } > > newFile->cd(); > > newtree->Write(); > > } > > > > My problem is that as soon as I try to fill the newtree I got a > > Segmaentation violation: > > > > *** Break *** segmentation violation > > Root > Function Loop() busy flag cleared > > > > What I am doing wrong? > > Thanks a lot, > > Antonio > > > > P.S. I am using 3.03/07 > > > > ------------------------------------------------------------- > > sidoti antonio: PostDoc(AdR) - University Pisa and INFN > > e-mail: antonio.sidoti@pi.infn.it > > sidoti@fnal.gov > > www: http://higgs.tn.infn.it/~sidoti/ > > Tel: +39 + 050 880 456 > > Fax: +39 + 050 880 317-318 > > ------------------------------------------------------------- > > "A program is a device used to convert data into error messages." > > > -- ------------------------------------------------------------- sidoti antonio: PostDoc(AdR) - University Pisa and INFN e-mail: antonio.sidoti@pi.infn.it sidoti@fnal.gov www: http://higgs.tn.infn.it/~sidoti/ Tel: +39 + 050 880 456 Fax: +39 + 050 880 317-318 ------------------------------------------------------------- "A program is a device used to convert data into error messages."
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:20 MET