Joerg, I have tested your program on several machines and always got the correct answers (both macro and compiled code) My suspicion is that you have a mismatch between your $ROOTSYS and LD_LIBRARY_PATH Rene Brun Joerg.Westphalen@desy.de wrote: > > Rene, > > thanks for your fast reply. If i understand correctly, you claim that > changing > TH1F* histo(TH1F("histo","Histogram of Gluino Condensate", > 300,10,12)); > to > TH1F* histo = new TH1F("histo","Histogram of Gluino Condensate", > 300,10,12); > resolves the problem. > > Well, i tested it myself and found the same wrong output: > [theol03] ~/results/root $ mist.exe > ******************************************* > * * > * W E L C O M E to R O O T * > * * > * Version 2.00/12 9 October 1998 * > * * > * You are welcome to visit our Web site * > * http://root.cern.ch * > * * > ******************************************* > > CINT/ROOT C/C++ Interpreter version 5.13.75, Sep 23 1998 > Type ? for help. Commands must be C++ statements. > Enclose multiple statements between { }. > using data in range 28104 1.04858e+06 > 28104.000000 > 1048576.000000 > root [0] printf("%f\n", histo->GetRMS()); > 0.099994 > root [1] > > It may be necessary to COMPILE the program, not to use it as a macro, > since the RMS is given correctly in interactive mode (see above!) ! > > BTW: as far as i know C++ the original line > TH1F* histo(new TH1F(...)); > is a perfectly valid way of initializing a variable, in fact, it appears > to me as the standard way in C++ programming. > > On 20 Oct, Rene Brun wrote: > > Joerg, > > In your example below, you have an error when creating the TH1F *histo. > > I have tested with the variant macro that Root behaves correctly with > > your example. > > > > Rene Brun > > > > { > > #include <iostream.h> > > // estimate range for plot > > TF1 *func = new TF1("func","exp(-0.5*((x-11.0)/0.1)^2)"); > > TH1F* histo = new TH1F("histo","Histogram of Gluino Condensate", > > 300,10,12); > > histo->FillRandom("func",1024*1024); > > cout << "using data in range " << " " > > << histo->GetMean() << " " > > << histo->GetRMS()<< endl; > > printf("%f\n", histo->GetMean()); > > printf("%f\n", histo->GetRMS()); > > } > >
This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:34:38 MET