Root minuit

hay
I hope that this is the correct place for root minuit problems…
I tried to install minuit and actually the example program worked without any problem (the Quad4FMain.C example) but than I tried to run the DemoGaussSim.cpp program available on the minuit homepage and the result is…:

$ g++ -g -o DemoGaussSim DemoGaussSim.cpp root-config --cflags root-config --libs -lMinuit

In file included from GaussFcn.h:4,
from DemoGaussSim.cpp:1:
Minuit/FCNBase.h:4:29: error: Minuit/MnConfig.h: No such file or directory
Minuit/FCNBase.h:8:36: error: Minuit/GenericFunction.h: No such file or directory
In file included from DemoGaussSim.cpp:3:
Minuit/FunctionMinimum.h:4:41: error: Minuit/BasicFunctionMinimum.h: No such file or directory
In file included from DemoGaussSim.cpp:4:
Minuit/MnUserParameterState.h:4:37: error: Minuit/MnUserParameters.h: No such file or directory
Minuit/MnUserParameterState.h:5:37: error: Minuit/MnUserCovariance.h: No such file or directory
Minuit/MnUserParameterState.h:6:45: error: Minuit/MnGlobalCorrelationCoeff.h: No such file or directory
In file included from DemoGaussSim.cpp:6:
Minuit/MnMigrad.h:4:34: error: Minuit/MnApplication.h: No such file or directory
Minuit/MnMigrad.h:5:44: error: Minuit/VariableMetricMinimizer.h: No such file or directory
In file included from DemoGaussSim.cpp:7:
Minuit/MnMinos.h:4:31: error: Minuit/MnStrategy.h: No such file or directory
In file included from DemoGaussSim.cpp:10:
Minuit/MinosError.h:4:28: error: Minuit/MnCross.h: No such file or directory

there are more error messages, but I think I made something basically wrong.
Unfortunately I have no idea how minuit really is working I just read the user’s guide and want to run the example program to get used to it.
I am using linux ubuntu and installed root via a deb-packet I which found somewhere in the internet… it is also possible, that the root installation was not absolutely correct, but it is no problem to run basic root programs…
thanks for any help
best regards
florian

Hello,

I think you are using an old version of Minuit, the one released with SEAL.
Now is released as part of ROOT and is called Minuit2.
So just do:

g++ -g -o DemoGaussSim DemoGaussSim.cpp root-config --cflags root-config --libs -lMinuit2

You must also look at the new example program in the minuit2/test/MnSim directory or for example:

root.cern.ch/viewvc/trunk/minuit … iew=markup

The include files are now in the directory Minuit2, so you must do:

#include “Minuit2/FCNBase”

and all the method name start with capital letter. I think the User guide does not reflect yet these changes and needs to be updated.
You can however look at the MINUIT2 online doc at :

project-mathlibs.web.cern.ch/pro … index.html

In case your ROOT distribution has not Minuit2 (it is an optional package from ROOT version 5.06), you must re-configure ROOT with the option
–enable-minuit2

If you have further questions, please let me know,

Best Regards

Lorenzo

Hay
thanks for your quick reply. I installed minuit2 now, But the folder Minuit2 is now a subfolder in inc…? And why all the files are .cxx? what is .cxx? I tried to run the example program Quad4FMain.C but there is just a file called Quad4FMain.cxx and I was not able to run it. Also there is still a huge number of error messages if I try to run the DemoGaussSim.cxx program via:

g++ -g -o DemoGaussSim DemoGaussSim.cxx root-config --cflags root-config --libs -lMinuit2

a few error messages:

florian@base:~/Minuit2-5.16.00/inc$ g++ -g -o DemoGaussSim DemoGaussSim.cxx root-config --cflags root-config --libs -lMinuit2
In file included from GaussFcn.h:4,
from DemoGaussSim.cxx:10:
Minuit2/FCNBase.h:13:30: error: Minuit2/MnConfig.h: No such file or directory
Minuit2/FCNBase.h:17:37: error: Minuit2/GenericFunction.h: No such file or directory
DemoGaussSim.cxx:11:26: error: GaussDataGen.h: No such file or directory
In file included from DemoGaussSim.cxx:12:
Minuit2/FunctionMinimum.h:13:42: error: Minuit2/BasicFunctionMinimum.h: No such file or directory
In file included from DemoGaussSim.cxx:13:
Minuit2/MnUserParameterState.h:13:38: error: Minuit2/MnUserParameters.h: No such file or directory
Minuit2/MnUserParameterState.h:14:38: error: Minuit2/MnUserCovariance.h: No such file or directory

Minuit2/MinosError.h:71: error: field ‘fUpper’ has incomplete type

Minuit2/MnContours.h:59: error: expected ‘;’ before ‘&’ token
Minuit2/MnContours.h:61: error: expected `;’ before ‘private’

I did not reinstalled root jet… sorry but I can’t interpret this error messages because it seems to me, that I made everything wrong… ???
thanks again for you help
best regards
florian

Hi,

it looks to me you have installed the tar file of Minuit2 (Minuit2.tar.gz)
Have you done:

./configure --prefix=$MINUIT2DIR
make
make install

MINUIT2DIR is the place you want to have Minuit2 installed. It could be simply the Minuit2-5.16.00 directory
For compiling the test program DemoGaussSim you can do just “make check” or

you can do :

g++ -g -O2 -o DemoGaussSim DemoGaussSim.cxx -I. -I$MINUITDIR/include -L$MINUIT2DIR/lib -lMinuit2   

The program DemoGaussSim.cxx requires some header file in the directory test/MnSim. You must compile there or you need to specify that directory in the include path.
If you use then Minuit within a program using ROOT then you need to add for compiling it root-config --cflags root-config --libs
This is not needed for compiling just DemoGaussSim.cxx

Regards

Lorenzo

hallo again…
unfortunately it is still not working… maybe it is the best if I describe what I did.

  1. Download of Minuit2.tar.gz
  2. unzip and untar it
  3. now I have the folder Minuit2-5.16.00 in my home directory
  4. ./configure --prefix=$MINUIT2-5.16.00
    was not possible because of the error:

configure: error: expected an absolute directory name for --prefix: -5.16.00

so I renamed the folder to Minuit2abs and

./configure --prefix=$MINUIT2abs

worked well.

  1. make
  2. make install
  3. make check
  4. Download of the DemoGaussSim.cxx and the xxxxx.h files, copy into Minuit2abs/inc (because the Minuit2 folder is still a subfolder of inc?!) and run

g++ -g -O2 -o DemoGaussSim DemoGaussSim.cxx -I. -I$MINUITDIR/include -L$MINUIT2DIR/lib -lMinuit2

with the result:

/usr/bin/ld: cannot find -lMinuit2
collect2: ld returned 1 exit status

…is there no complete tutorial for minuit available? Actually I have no idea how minuit is working and I am still not able to run the first example… how did you learn to use minuit? With the users guide?

regards

florian

the file DemoGaussSim.cxx (and headerfiles) are in

Minuit2abs/test/MnSim/

no need to download them.
make check also compiles them .
To run it do :

Minuit2abs/test/MnSim/test_Minuit2_DemoGaussSim

If you want to compile directly do:

g++ -g -O2 -o DemoGaussSim DemoGaussSim.cxx -IMinuit2abs/test/MnSim -IMinuit2abs/include -LMinuit2abs/lib -lMinuit2

Hope now it works,

Lorenzo

hay
Jes thanks a lot it is working… but only with thr make check command
with

g++ -g -O2 -o DemoGaussSim DemoGaussSim.cxx -IMinuit2abs/test/MnSim -IMinuit2abs/include -LMinuit2abs/lib -lMinuit2

the errors

florian@base:~/Minuit2abs/test/MnSim$ g++ -g -O2 -o DemoGaussSim DemoGaussSim.cxx -IMinuit2abs/test/MnSim -IMinuit2abs/include -LMinuit2abs/lib -lMinuit2
In file included from DemoGaussSim.cxx:10:
GaussFcn.h:13:29: error: Minuit2/FCNBase.h: No such file or directory
DemoGaussSim.cxx:12:37: error: Minuit2/FunctionMinimum.h: No such file or directory
DemoGaussSim.cxx:13:42: error: Minuit2/MnUserParameterState.h: No such file or directory
DemoGaussSim.cxx:14:29: error: Minuit2/MnPrint.h: No such file or directory
DemoGaussSim.cxx:15:30: error: Minuit2/MnMigrad.h: No such file or directory
DemoGaussSim.cxx:16:29: error: Minuit2/MnMinos.h: No such file or directory
DemoGaussSim.cxx:17:32: error: Minuit2/MnContours.h: No such file or directory
DemoGaussSim.cxx:18:28: error: Minuit2/MnPlot.h: No such file or directory

appear.?
regards
florian

It looks to me that the make install failed.
You should have the header file (*.h) in Minuit2abs/include/Minuit2 directory
and the library libMinuit2.so in Minuit2abs/lib

Go to the Minuit2abs directory and re-try to do:

./configure --prefix=pwd

make install

Regards

Lorenzo

salut
I installed it many times noe, but it is still the same error:

florian@base:~/Minuit2abs/test/MnSim$ g++ -g -O2 -o DemoGaussSim DemoGaussSim.cxx -IMinuit2abs/test/MnSim -IMinuit2abs/include -LMinuit2abs/lib -lMinuit2
In file included from DemoGaussSim.cxx:10:
GaussFcn.h:13:29: error: Minuit2/FCNBase.h: No such file or directory
DemoGaussSim.cxx:12:37: error: Minuit2/FunctionMinimum.h: No such file or directory
DemoGaussSim.cxx:13:42: error: Minuit2/MnUserParameterState.h: No such file or directory
DemoGaussSim.cxx:14:29: error: Minuit2/MnPrint.h: No such file or directory
DemoGaussSim.cxx:15:30: error: Minuit2/MnMigrad.h: No such file or directory
DemoGaussSim.cxx:16:29: error: Minuit2/MnMinos.h: No such file or directory
DemoGaussSim.cxx:17:32: error: Minuit2/MnContours.h: No such file or directory
DemoGaussSim.cxx:18:28: error: Minuit2/MnPlot.h: No such file or directory

in your g++ command are parts like:

-IMinuit2abs/include

or

-LMinuit2abs/lib

but there is no folder called lib or include in Minuit2abs?!
In Minuit2abs are the folders: config, doc, inc, src and test…

regards
florian

Then the command

make install

failed :frowning:

Please send me the output of the command and also the file config.log which is generated by the ./configure --prefix command

Lorenzo
[/code]

sorry but it is not working… the problem is still the same…

florian@base:~/Minuit2-5.16.00/test/MnSim$ g++ -g -O2 -o DemoGaussSim DemoGaussSim.cxx -Ihome/florian/Minuit2-5.16.00/test/MnSim -Ihome/florian/Minuit2-5.16.00/include -LMinuit2abs/lib -lMinuit2
In file included from DemoGaussSim.cxx:10:
GaussFcn.h:13:29: error: Minuit2/FCNBase.h: No such file or directory
DemoGaussSim.cxx:12:37: error: Minuit2/FunctionMinimum.h: No such file or directory
DemoGaussSim.cxx:13:42: error: Minuit2/MnUserParameterState.h: No such file or directory
DemoGaussSim.cxx:14:29: error: Minuit2/MnPrint.h: No such file or directory
DemoGaussSim.cxx:15:30: error: Minuit2/MnMigrad.h: No such file or directory
DemoGaussSim.cxx:16:29: error: Minuit2/MnMinos.h: No such file or directory
DemoGaussSim.cxx:17:32: error: Minuit2/MnContours.h: No such file or directory
DemoGaussSim.cxx:18:28: error: Minuit2/MnPlot.h: No such file or directory
DemoGaussSim.cxx:19:32: error: Minuit2/MinosError.h: No such file or directory
DemoGaussSim.cxx:20:35: error: Minuit2/ContoursError.h: No such file or directory
GaussFcn.h:22: error: expected class-name before ‘{’ token
DemoGaussSim.cxx: In function ‘int main()’:
DemoGaussSim.cxx:52: error: ‘sqrt’ was not declared in this scope
DemoGaussSim.cxx:71: error: ‘VariableMetricMinimizer’ was not declared in this scope
DemoGaussSim.cxx:71: error: expected ;' before ‘fMinimizer’ DemoGaussSim.cxx:74: error: ‘FunctionMinimum’ was not declared in this scope DemoGaussSim.cxx:74: error: expected;’ before ‘min’
DemoGaussSim.cxx:77: error: ‘min’ was not declared in this scope
DemoGaussSim.cxx:83: error: ‘MnUserParameters’ was not declared in this scope
DemoGaussSim.cxx:83: error: expected ;' before ‘upar’ DemoGaussSim.cxx:84: error: ‘upar’ was not declared in this scope DemoGaussSim.cxx:89: error: ‘MnMigrad’ was not declared in this scope DemoGaussSim.cxx:89: error: expected;’ before ‘migrad’
DemoGaussSim.cxx:92: error: ‘FunctionMinimum’ was not declared in this scope
DemoGaussSim.cxx:92: error: expected ;' before ‘min’ DemoGaussSim.cxx:95: error: ‘min’ was not declared in this scope DemoGaussSim.cxx:103: error: ‘MnUserParameters’ was not declared in this scope DemoGaussSim.cxx:103: error: expected;’ before ‘upar’
DemoGaussSim.cxx:104: error: ‘upar’ was not declared in this scope
DemoGaussSim.cxx:115: error: ‘MnMigrad’ was not declared in this scope
DemoGaussSim.cxx:115: error: expected ;' before ‘migrad’ DemoGaussSim.cxx:118: error: ‘migrad’ was not declared in this scope DemoGaussSim.cxx:121: error: ‘FunctionMinimum’ was not declared in this scope DemoGaussSim.cxx:121: error: expected;’ before ‘min’
DemoGaussSim.cxx:124: error: ‘min’ was not declared in this scope
DemoGaussSim.cxx:133: error: expected ;' before ‘min1’ DemoGaussSim.cxx:136: error: ‘min1’ was not declared in this scope DemoGaussSim.cxx:142: error: expected;’ before ‘min2’
DemoGaussSim.cxx:145: error: ‘min2’ was not declared in this scope
DemoGaussSim.cxx:152: error: expected ;' before ‘min3’ DemoGaussSim.cxx:155: error: ‘min3’ was not declared in this scope DemoGaussSim.cxx:160: error: ‘MnUserParameters’ was not declared in this scope DemoGaussSim.cxx:160: error: expected;’ before ‘upar’
DemoGaussSim.cxx:161: error: ‘upar’ was not declared in this scope
DemoGaussSim.cxx:172: error: ‘MnMigrad’ was not declared in this scope
DemoGaussSim.cxx:172: error: expected ;' before ‘migrad’ DemoGaussSim.cxx:175: error: ‘FunctionMinimum’ was not declared in this scope DemoGaussSim.cxx:175: error: expected;’ before ‘min’
DemoGaussSim.cxx:176: error: ‘min’ was not declared in this scope
DemoGaussSim.cxx:183: error: ‘MnUserParameters’ was not declared in this scope
DemoGaussSim.cxx:183: error: expected ;' before ‘upar’ DemoGaussSim.cxx:184: error: ‘upar’ was not declared in this scope DemoGaussSim.cxx:189: error: ‘MnMigrad’ was not declared in this scope DemoGaussSim.cxx:189: error: expected;’ before ‘migrad’
DemoGaussSim.cxx:192: error: ‘FunctionMinimum’ was not declared in this scope
DemoGaussSim.cxx:192: error: expected ;' before ‘min’ DemoGaussSim.cxx:195: error: ‘MnMinos’ was not declared in this scope DemoGaussSim.cxx:195: error: expected;’ before ‘Minos’
DemoGaussSim.cxx:199: error: ‘Minos’ was not declared in this scope
DemoGaussSim.cxx:205: error: ‘min’ was not declared in this scope
DemoGaussSim.cxx:213: error: ‘MinosError’ was not declared in this scope
DemoGaussSim.cxx:213: error: expected ;' before ‘e0’ DemoGaussSim.cxx:214: error: expected;’ before ‘e1’
DemoGaussSim.cxx:215: error: expected ;' before ‘e2’ DemoGaussSim.cxx:219: error: ‘e0’ was not declared in this scope DemoGaussSim.cxx:220: error: ‘e1’ was not declared in this scope DemoGaussSim.cxx:221: error: ‘e2’ was not declared in this scope DemoGaussSim.cxx:229: error: ‘MnUserParameters’ was not declared in this scope DemoGaussSim.cxx:229: error: expected;’ before ‘upar’
DemoGaussSim.cxx:230: error: ‘upar’ was not declared in this scope
DemoGaussSim.cxx:243: error: ‘MnMigrad’ was not declared in this scope
DemoGaussSim.cxx:243: error: expected ;' before ‘migrad’ DemoGaussSim.cxx:246: error: ‘FunctionMinimum’ was not declared in this scope DemoGaussSim.cxx:246: error: expected;’ before ‘min’
DemoGaussSim.cxx:249: error: ‘MnMinos’ was not declared in this scope
DemoGaussSim.cxx:249: error: expected ;' before ‘Minos’ DemoGaussSim.cxx:254: error: ‘Minos’ was not declared in this scope DemoGaussSim.cxx:262: error: ‘min’ was not declared in this scope DemoGaussSim.cxx:275: error: ‘MnUserParameters’ was not declared in this scope DemoGaussSim.cxx:275: error: expected;’ before ‘upar’
DemoGaussSim.cxx:276: error: ‘upar’ was not declared in this scope
DemoGaussSim.cxx:281: error: ‘MnMigrad’ was not declared in this scope
DemoGaussSim.cxx:281: error: expected ;' before ‘migrad’ DemoGaussSim.cxx:284: error: ‘FunctionMinimum’ was not declared in this scope DemoGaussSim.cxx:284: error: expected;’ before ‘min’
DemoGaussSim.cxx:287: error: ‘MnContours’ was not declared in this scope
DemoGaussSim.cxx:287: error: expected ;' before ‘contours’ DemoGaussSim.cxx:292: error: ‘contours’ was not declared in this scope DemoGaussSim.cxx:297: error: ‘ContoursError’ was not declared in this scope DemoGaussSim.cxx:297: error: expected;’ before ‘cont4’
DemoGaussSim.cxx:300: error: ‘MnPlot’ was not declared in this scope
DemoGaussSim.cxx:300: error: expected `;’ before ‘plot’
DemoGaussSim.cxx:301: error: ‘cont4’ was not declared in this scope
DemoGaussSim.cxx:302: error: ‘min’ was not declared in this scope
DemoGaussSim.cxx:302: error: ‘plot’ was not declared in this scope

I tried it also with(the foldername changed):

g++ -g -O2 -o DemoGaussSim DemoGaussSim.cxx -IMinuit2-5.16.00/test/MnSim -IMinuit2-5.16.00/include -LMinuit2abs/lib -lMinuit2

I installed everything again, used the new ./configure command you gave me… but nothing… the make check stuff is still working without any problem, but not more… sorry that I stress you so much, but I really appreciate your help
regards
florian

ok thanks again now it is working… but if it is so difficult to run the example program… what is if i have to write a one program?
I really need a good introduction to minuit…
Do I have to put all the files I created by myself in the folder test? How can I compile them?
g++ -o test.cpp test
is not working
thanks an regards
florian