Here s a solution to the "string over flow": do the cuts in two steps.
First create an intermediate ntuple:
TNtuple* inter
= new TNtuple("inter", "inter", "ttl0t:ttl1t:ttl2t:ttl3t......);
Use some TBLCuts the strings within which are not "too long" to fill
inter.
The creat some new TBLCuts:
TBLCut nextstep;
At this stage, nextstep will lock on to the old ntp. Do this:
nextstep.Set_Tree(inter);
// nextstep<<inter; // as a fanncy version of the same thing
Now nextstep will be looking at the intermediate ntuple. Since some cuts
are already enforced during the filling of inter, they can be ommited
in nextstep.
Please do:
cvs ci tof_eff.C cc_eff.C
before implementing these changes so we have backups. As I said before,
type safty is not very strong in CINT and it is out of my capability (at
least right now) to implement base library functionalities with strong
safety and efficiency in the interpreter environment.
Improtant: the name of entries in intermediate ntuple must conform to the
same convention in the big ntuple, otherwise, TBLCut can not recognize
them and probably will result in seg faults.
Chi
On Sun, 27 Oct 2002, Vitaliy Ziskin wrote:
> Since we now have working tof1 I included it into the analysis for tofs and
> cerenkovs. The problem is that when I do an or between tofs infront of the
> cerenkov the cut string becomes so larget that it creates a seg fault in Draw
> function. Any ideas.
>
> Cheers, Vitaliy
>
This archive was generated by hypermail 2.1.2 : Mon Feb 24 2014 - 14:07:28 EST