Hi roottalk, I tried to make a really primitive analysis in root using a TSelector (and two derived classes) because I wanted to encapsulate stuff I have to do several times in a intermediate class... And I want to iterate over several files in a TChain. My selector-hierarchy looks like: TSelector | +-- GsiSelector (load stuff from branches, later: do cuts, prepare | intermediate values...) | +-- gsi_calc_pedestals | +-- other stuff Now in principle, I think it works, but it seems to call Notify() at strange locations. Possibly it's doing strange things which also slow everything down quite a lot. If I run the code[*] it does the following: GsiSelector() - constructor is called (fine) GsiCalcPedestals() - constructor is called (fine) Begin() is called (fine), this saves the TTree* in fTree member variable Notify() is called (fine) Notify() is called AGAIN. WHY? <--------- ---> for all Events in the first file | ProcessCut/ProcessFill is called for events (fine) | | +---+ Notify() is called (fine), new file Notify() is called AGAIN. WHY? <------ ProcessCut/ProcessFile for first event in second file Now, Notify() is called for EVERY EVENT in the second file. Things get very, very, very slow. Have I done something completely wrong and/or stupid? Chris [*] you can have a look here: http://pi2.physik.uni-erlangen.de/~vogel/gsi_analysis_root/ -- There are three types of people in the world; those who can count, and those who can't.
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:17 MET