Dear Rooters, I have two ntuple files converted by h2root from PAW to Root format, k4pi_1.root and k4pi_2.root. The idea is to loop over the two files and fill histograms based upon cuts. If I do the following interactively it works just fine: root[] f = TFile::Open("/vtx4/menasce/k4pi_1.root"); root[] h2.Print(); root[] h2->Process("myselect.C") ; root[] f->Close() ; root[] f = TFile::Open("/vtx4/menasce/k4pi_2.root"); root[] h2.Print(); root[] h2->Process("myselect.C") ; root[] f->Close() ; This is cumbersome, so I try something fancier, like the following, which crashes the interpreter: { Int_t i; TFile * f ; TString file; for (i=1; i<3; i++ ) { file = "/vtx4/menasce/k4pi_" ; file += i ; file += ".root" ; f=TFile::Open(file.Data()) ; h2.Print(); h2->Process("myselect.C") ; f->Close() ; } } What happens is that, after the expected display of h2.Print() I get the following message on screen: root[] .x example.cc ... output from the first iteration, which works fine... ... output from the second iteration is just the result of h2.Print(); ... after that, I get: reloading /vtx4/menasce/./myselect.C 0 Warning: Interpreted class myselect derived from precompiled class TSelector FILE:myselect.h LINE:17 !!!There are some limitations regarding compiled/interpreted class inheritance reloading myselect.h 0 *** Break *** segmentation violation During these attempts I never changed myselect.C which is just the skeleton provided by MakeSelector (I just removed comments for readability): #define myselect_cxx 1 #include "myselect.h" #include "TH2.h" #include "TStyle.h" #include "TCanvas.h" void myselect::Begin(TTree *tree) { Init(tree); cout << "Init" << endl; } Bool_t myselect::ProcessCut(Int_t entry) { fChain->GetTree()->GetEntry(entry); return kTRUE; } void myselect::ProcessFill(Int_t entry) { } void myselect::Terminate() { cout << "Terminate" << endl; } Any suggestion? By the way, does a template exist on how to proceed in a general case, where one has a set of large ntuples files (derived by old data in paw) and one needs to loop over them, apply cuts, fill histograms and save those histograms for fitting? Thanks in advance -- +------------------------------------------------------------------------+ | Dario Menasce, INFN Milano, via Celoria 16, Italy Tel: +39 02 58357322 | | | | WEB home page: http://sgimida.mi.infn.it/~menasce/home.html | | | | In a world without fences and walls, who needs Windows and Gates? | +------------------------------------------------------------------------+
This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:51:02 MET