Re: [ROOT] problem using TH2F::SetContour(,)

From: Matthieu Lechowski (lechowsk@lal.in2p3.fr)
Date: Wed Jun 18 2003 - 16:26:56 MEST


Yes, using 3.05/05, it works perfectly !!
Thank you very much !

A last question concerning contours:
does/will option CONT1Z exist ?
COLZ ans CONTZ exist, but CONT1Z does not work. Have I an other
possibility to draw the color palette ?

Matthieu.

On Wed, 18 Jun 2003, Olivier Couet wrote:

>
> Hi,
>
> In your previous email you said that your ROOTSYS is:
>
>  export ROOTSYS=/afs/cern.ch/sw/root/v3.04.02/rh72_gcc2953/root;
>
> Try to use 3.05/05 instead. I have recently modified that "contour
> business" quite a lot. There was a lot of problems (with none equidistant
> contours in particular). Note that the non equidistant level are also
> implemented with the COLZ option now.
>
>  Olivier
>
>
> On Wed, 18 Jun 2003, Matthieu Lechowski wrote:
>
> > Hello,
> >
> > Thank you for your answer.
> >
> > I think it does not work for me.
> > When I retrieve the array contours (after the plot), I have
> > 0.99
> > 63.9933
> > 126.997
> > I have max=190, so the levels are not 0.1*max, 0.2*max and 0.7*max, they
> > are (almost) equidistant !
> > Very strange...
> > So it would be because of the ROOT version or the machine.
> >
> > Matthieu.
> >
> > On Wed, 18 Jun 2003, Olivier Couet wrote:
> >
> > >
> > >
> > > Can you try this one:
> > >
> > > {
> > >    TH2F *h = new TH2F("h","test contours",60,-3,3,60,-3,3);
> > >    for (Int_t i=0;i<100000;i++) {
> > >       double x,y;
> > >       gRandom->Rannor(x,y);
> > >       h->Fill(x,y);
> > >    }
> > >    h->SetMinimum(0.99);
> > >    Double_t max = h->GetMaximum();
> > >
> > >    double contours[3];
> > >    contours[0] = 0.1*max;
> > >    contours[1] = 0.2*max;
> > >    contours[2] = 0.7*max;
> > >
> > >    h->SetContour(3,contours);
> > >    h->Draw("cont1");
> > >
> > > }
> > >
> > > it should produce 3 non equidistant contours. At least it does on my Linux
> > > RedHat PC using root 3.05/05
> > >
> > >  Cheers,
> > >
> > >  O.Couet
> > >
> > >
> > >
> > >
> > > On Wed, 18 Jun 2003, Matthieu Lechowski wrote:
> > >
> > > > Hello,
> > > >
> > > > I do not succeed specifying my own levels of contour for 2D histograms.
> > > >
> > > > In a ROOT script (I load a program .c then I call a function), I do:
> > > >   TH2F* contour=new TH2F("contour","contour",nbinsX,xbins,nbinsY,ybins);
> > > >   //...filling "contour"
> > > >   Double_t levels[17];
> > > >   levels[0]=1.864
> > > >   levels[1]=5.
> > > >   //...filling "levels" non-equidistant
> > > >   contour->SetContour(17,levels); // <<----- ######
> > > >   // NB: definition of this function in TH1 class
> > > >   contour->Draw("cont1");
> > > >
> > > > My plot has 17 levels, OK, but they are equidistant !
> > > >
> > > > When I want be sure that ROOT has understood "levels", I do (in my
> > > > function too):
> > > >   Double_t levels2[50];
> > > >   int ncontours=contour->GetContour(levels2);
> > > >   for(int i=0;i<ncontours;++i)
> > > >     cout<<levels2[i]<<endl;
> > > > and I have exactly the same values that "levels", so it seems OK.
> > > >
> > > > The funny thing is that, after having done all that in the function, I
> > > > redo in interactive the check with "levels2", and I have not the
> > > > values of "levels", but the values of 17 equidistant levels (so as it
> > > > is drawn)!
> > > >
> > > > So what happens ??
> > > > Have anybody an idea?
> > > > (I hope that I gave a not too dark explanation)
> > > > Thank you.
> > > >
> > > > Matthieu Lechowski.
> > > >
> > > > PS: I'm using ROOT on lxplus at cern, with environment:
> > > > export ROOTSYS=/afs/cern.ch/sw/root/v3.04.02/rh72_gcc2953/root;
> > > > export PATH=$ROOTSYS/bin:$PATH;
> > > > export LD_LIBRARY_PATH=$ROOTSYS/lib:$LD_LIBRARY_PATH
> > > >
> > > >
> > >
> > > --
> > > Org:    CERN - European Laboratory for Particle Physics.
> > > Mail:   1211 Geneve 23 - Switzerland                     Mailbox: J25910
> > > E-Mail: Olivier.Couet@cern.ch                            Phone:   +41 22 7676522
> > > WWW:    http://cern.ch/Olivier.Couet/                    Fax:     +41 22 7677155
> > >
> > >
> >
>
> --
> Org:    CERN - European Laboratory for Particle Physics.
> Mail:   1211 Geneve 23 - Switzerland                     Mailbox: J25910
> E-Mail: Olivier.Couet@cern.ch                            Phone:   +41 22 7676522
> WWW:    http://cern.ch/Olivier.Couet/                    Fax:     +41 22 7677155
>
>



This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:12 MET