158 lines
6.1 KiB
Plaintext
158 lines
6.1 KiB
Plaintext
#------------------------------------------------------------------------
|
|
# ToDo.txt
|
|
# Andreas Suter, 2007/11/28
|
|
# $Id$
|
|
#------------------------------------------------------------------------
|
|
|
|
---------------------
|
|
short term:
|
|
---------------------
|
|
|
|
* dump data and theory after fit (ascii/root): **DONE** for now
|
|
done for ascii/root asymmetry && single histo: all the rest is missing
|
|
* migrate all typedef's and defines -> PMusr.h **DONE**
|
|
|
|
* Since rootcint cannot handle the spirit include files I will try to remove all the
|
|
root dictionary related stuff since almost for sure, nobody will use the classes
|
|
from the cint interpreter level 2007/12/27 **DONE**
|
|
|
|
* begin with the implementation of the FUNCTIONS block
|
|
using the spirit parser framework **DONE**
|
|
|
|
* 2007/12/30: implement functions in PTheory **DONE** 08-01-02
|
|
|
|
* 2008/01/02: nice function block output needed. **DONE** 08-01-02
|
|
|
|
* write a little standalone program which is converting the old msr-files to
|
|
the new ones. **DONE** 08-01-04
|
|
|
|
* implement max.likelihood fits **DONE** 08-02-06 (for Single Histo only.
|
|
For the others not clear how to do it.)
|
|
|
|
* fix problems in FUNCTIONS of the form (sin(par1)) **DONE** 08-02-18
|
|
|
|
* fix output problems of the mlog files **DONE** 08-02-22
|
|
|
|
* if a parameter is not used at all, minuit is still varying it!! This is stupid.
|
|
Check the minuit manual, there must be a function to "remove" these parameters,
|
|
i.e. forcing minuit to ignore them. checked the manual: use fix() (see p.31)
|
|
**DONE** 08-03-10
|
|
|
|
* implement table based theory functions (LF stuff)
|
|
static GKT LF **DONE** 08-03-12
|
|
|
|
* setup startup handler with infos like: data path, symbol list, color list, ...
|
|
**DONE** 08-04-04
|
|
|
|
* at the moment that startup handler is looked for in the directory where musrfit/musrview
|
|
is executed, this is stupid. Define a place where to look for it.
|
|
**DONE** 08-04-08
|
|
|
|
* do I need to cleanup AddText() objects from TPaveText etc myself? -> YES **DONE** 08-04-17
|
|
|
|
* need a CLEAN concept for handling data/theory generation for kView!! **DONE** 08-04-17
|
|
|
|
* something is strange with the coordinate system in TPaveText! **CHECK**
|
|
|
|
* something is wrong with lifetimecorrection plot of musrview (up shifted data) **FIXED** 08-05-16
|
|
|
|
* implement access to user-function, i.e. functions not
|
|
defined within musrfit, using the ROOT dictionary feature
|
|
to look for them and use them.
|
|
**DONE**
|
|
|
|
* tshift implementation under way. Wrong and needs to be fixed:
|
|
**FIXED** 08-06-16
|
|
|
|
* faulty dependency check in the Makefile when handling the PSI-Bin-Class stuff.
|
|
Needs to be fixed! **FIXED** 08-06-16
|
|
|
|
* implement NonMuSR stuff **DONE** 08-06-20, some more testing needed
|
|
|
|
* nonMusr: db-file format should be added. That this is going to work, in the
|
|
RUN block part, a new entry is needed, namely
|
|
xy-data. Indices or label are used to pick to proper data
|
|
from the db-file.
|
|
xy-data T asym <- labels
|
|
or
|
|
xy-data 3 6 <- indices
|
|
**DONE** 08-08-08
|
|
|
|
* Minuit2: name length is now unlimited and hence the 10 char restriction can be lifted.
|
|
**DONE** 08-08-08
|
|
|
|
* musrfit: switch "--keep-output-mn2" and "-k" needed. It will rename the MINUIT2.OUTPUT and
|
|
MINUIT2.root files to fln-mn2.output and fln-mn2.root.
|
|
This is sometimes nice to have.
|
|
**DONE** 08-09-01
|
|
|
|
* PFitter.cpp: the value of the parabolic error in the MINUIT2.OUTPUT is wrong (only MIGRAD is
|
|
called and neither HESSE nor MINOS). Suspect the problem in the ExecuteSave() routine.
|
|
Needs to be checked.
|
|
**DONE** 08-09-01
|
|
|
|
* PFitter.cpp: implement HESSE
|
|
**DONE** 08-09-01
|
|
|
|
* implement the handling for single side limited boundaries for parameters which is
|
|
possible in MINUIT2
|
|
syntax would be:
|
|
0.0 100.0 // lower and upper limit
|
|
0.0 none // lower limit only
|
|
none 100.0 // upper limit only
|
|
**FIRST IMPLEMENTATION DONE, NEEDS EXTENSIVE TESTING** 08-09-23
|
|
|
|
* CHECK: the normalization for single histo fits should ALWAYS be (1/ns)! (as discussed with Dima) but
|
|
I guess it is (1/bin) at the moment. (1/ns) has the advantage that it is really instrument independent!
|
|
**CHECKED AND FIXED** 08-11-12
|
|
|
|
* implement FFT with msr-interface
|
|
**DONE** 2009-01
|
|
|
|
* implement dynamic LF-KT by using the integral equation representation (Volterra Eq) and an optimzed
|
|
implementation of the gauss * sine integral
|
|
**START** 2009-01-13
|
|
|
|
---------------------
|
|
intermediate term:
|
|
---------------------
|
|
|
|
* start writing docu, i.e. transferring WKM doc from German -> English and
|
|
describe new features with examples!
|
|
* introduce error numbers with corresponding docu/explanation in the latex-docu.
|
|
* implement RRF stuff
|
|
|
|
---------------------
|
|
long term:
|
|
---------------------
|
|
|
|
* implement ROOT based wkmview, i.e. all the graphical stuff needed
|
|
including event handler, etc.
|
|
* switch from make to cmake
|
|
* add the possibility for cuts to db-files
|
|
* add the possibility for variable transformations to db-files
|
|
|
|
---------------------
|
|
bugs:
|
|
---------------------
|
|
* when having multiple plots: closing some of the plots and finally pressing 'q' will lead to a crash
|
|
since root already eliminated the closed canvas plot.
|
|
|
|
---------------------
|
|
problems:
|
|
---------------------
|
|
* rootcint cannot handle spirit framework includes, hence FUNCTIONS related stuff cannot be included
|
|
into a root dictionary.
|
|
|
|
---------------------
|
|
fixes:
|
|
---------------------
|
|
* Needed to change some part of the Minuit2 source code, otherwise I got a strange linker error message.
|
|
In MnMinos.h the constructors (3 overloaded versions) are defined implicitly. When linking against libPMusr.so
|
|
which is using libMinuit2Base.so, I got the error message from the linker that is cannot find the reference
|
|
to the second constructor. When transferring the implicit definition from the header file to the cxx, the
|
|
problem was gone. Since to fiddle in the Minuit2 source code directly is ugly, I should look for a way to
|
|
build libPMusr.so which doesn't have this problem.
|
|
|
|
-> This problem has been resolved cleanly by using minuit2 delivered with root!
|