Hi Nuno,
I assume that you know that you can do directly:
for(Int_t i=0; i< nentries; i++){
mytree->GetEvent(i);
if(event->bx <180 && event->evt < 1000 &&event->ottmean<180){
tree->Fill();
}
}
If you want to do it "a la TTree::Draw", you can use the
TTreeFormula class, eg
char* expression="event->bx <180 && event->evt < 1000
&&event->ottmean<180";
TTreeFormula *for = new TTreeFormula("for",expression,tree);
for(Int_t i=0; i< nentries; i++){
mytree->GetEvent(i);
if(for->EvalInstance(0) != 0) [
tree->Fill();
}
}
Rene Brun
On Thu, 14 Nov 2002, Nuno Almeida wrote:
> Hi all,
>
> I have the following doubt:
>
> How ROOT evaluate expression like "bx>100 && fNtracks <50" passed by
> argument to a function like TTree:Draw()?
> Because the expression is a char* .
>
> I have the following situation:
>
> char* expression="event->bx <180 && event->evt < 1000 &&event->ottmean<180";
>
> for(Int_t i=0; i< nentries; i++){
> mytree->GetEvent(i);
> if(expression){
> tree->Fill();
> }
> }
>
> ROOT has any function that allow me to do that ?
>
> Best Regards
>
> Nuno Almeida
>
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:17 MET