Re: TTree::Draw arguments

From: Rene Brun (Rene.Brun@cern.ch)
Date: Thu Aug 19 1999 - 18:19:09 MEST


Hi Andrew,
Philippe canal is correctly reminding me that we already made a change
in TString to correctly support a call to TTree::Draw(TString,
TString,,)
If you upgrade your version of Root to the official release 2.22/10
your program should work.
Thanks Philippe.

Rene Brun

Andrew Askew (padley) wrote:
> 
> Hi Root people,
> 
> I have a macro that was written for ROOT on the NT.  This macro utilizes
> two global TStrings that are set by the user prior to calling the macro.
> The macro then attempts to use these strings as the arguments in a call to
> TTree::Draw(), one argument for the variable, one for the cut.  This
> yields no problem on the NT machine, but on the Linux (RedHad 5.2, using
> ecgs 1.0.3, and Root 2.21/01) this generates an error:
> TString varname = "x"
> TString cut = "D>.3"
> //macro begins
> {
>         // sample routine to plot the results
> 
>         c1 = new TCanvas("PDE:Results","PDE Results",131,0,698,830);
>         Pad1 = new TPad("Signal","Signal",0.0341297,0.538576,0.464164,0.970326,21);
>         Pad2 = new TPad("Background","Background",0.520478,0.540059,0.950512,0.974777,21);
>     Pad3  = new TPad("Test","Test",0.0307167,0.074184,0.460751,0.5,21);
>         Pad4 = new TPad("pad4","The Surface",0.518771,0.075667,0.947099,0.50,21);
>         c1->Draw();
>         Pad1->Draw();
>         Pad2->Draw();
>         Pad3->Draw();
>         Pad1->cd();
>     cout << varname << endl;
>     cout << cut << endl;
>     pdeSignalResult->Draw(varname,cut);
> ...
> 
> Where pdeSignalResult is a TTree that contains the variable x.
> It is this last line that generates the error:
> Error: Can't call TTree::Draw() in current scope
> FILE:plotit.C LINE:16
> *** Interpreter error recovered ***
> 
> Thanks,
> Andrew Askew



This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:38 MET