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 P.S. Apolgize if this is a duplicated mail, but I have problems with my e-mails > ---------- Forwarded message ---------- > Date: Sat, 23 Nov 2002 12:49:27 +0100 (MET) > From: Rene Brun <Rene.Brun@cern.ch> > To: Antonio SIDOTI <antonio.sidoti@pi.infn.it> > Cc: roottalk@pcroot.cern.ch, about-root@fnal.gov > Subject: [ROOT] Re: Filtering chains (again!) > > 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." > > > ______________________________________________________________________ Per te Blu American Express è gratis! http://it.yahoo.com/mail_it/foot/?http://www.americanexpress.it/land_yahoo
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:20 MET