diff --git a/ChangeLog b/ChangeLog index dd3ab127..552fe7d1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,7 +4,19 @@ changes since 0.17.0 =================================== - +NEW 2016-08-24 in musrview it is now possible to enable/disable a + crosshair cursor by pressing 'c'. +NEW 2016-04-28 updated licence info in musredit and added paramList + feature to the msr2data GUI. +NEW 2016-04-28 msr2data gets a new option: paramList which allows to + extract a subset of all the parameters of a collection + of msr-files. +NEW 2016-04-22 Added the theory function muMinusExpTF for mu minus fits +NEW 2016-02-23 It is now possible to export the averaged data/Fourier +CHANGED 2016-08-10 drop NeXus support for Version < 4.4 +CHANGED 2016-04-26 start-/endTimeBin are now class members. This reduces + the number of recalculations. +FIXED 2016-08-02 run lists are now properly loaded if containing nS-nE elements. changes since 0.16.0 =================================== diff --git a/configure.ac b/configure.ac index 4931abfc..376584b8 100644 --- a/configure.ac +++ b/configure.ac @@ -554,34 +554,31 @@ AC_ARG_ENABLE([NeXus], [AS_HELP_STRING([--enable-NeXus],[build optional NeXus su [AS_HELP_STRING([--with-nexus],[prefix of the NeXus installation, e.g. /usr/local])], [NEXUS_PREFIX=$with_nexus AC_MSG_CHECKING([whether NeXus can be found at the specified location]) - if !(test -r ${NEXUS_PREFIX}/include/napi.h); then + if !(test -r ${NEXUS_PREFIX}/include/nexus/napi.h); then AC_MSG_RESULT([no]) AC_MSG_ERROR([NeXus cannot be found at the specified path!]) fi AC_MSG_RESULT([${NEXUS_PREFIX}])], - [PKG_CHECK_MODULES(NEXUS, nexus >= 4.1, [NEXUS_FOUND=1], + [PKG_CHECK_MODULES(NEXUS, nexus >= 4.4, [NEXUS_FOUND=1], [AC_MSG_CHECKING([whether NeXus is installed in a standard location]) - if test -r /usr/local/include/napi.h; then - NEXUS_PREFIX="/usr/local" - AC_MSG_RESULT([${NEXUS_PREFIX}]) - elif test -r /usr/local/nexus/include/napi.h; then - NEXUS_PREFIX="/usr/local/nexus" + if test -r /usr/local/include/nexus/napi.h; then + NEXUS_PREFIX="/usr/local" AC_MSG_RESULT([${NEXUS_PREFIX}]) - elif test -r /usr/include/napi.h; then - NEXUS_PREFIX="/usr" - AC_MSG_RESULT([${NEXUS_PREFIX}]) - elif test -r /sw/include/napi.h; then + elif test -r /sw/include/nexus/napi.h; then NEXUS_PREFIX="/sw" AC_MSG_RESULT([${NEXUS_PREFIX}]) - elif test -r /opt/local/include/napi.h; then + elif test -r /opt/local/include/nexus/napi.h; then NEXUS_PREFIX="/opt/local" AC_MSG_RESULT([${NEXUS_PREFIX}]) - else + elif test -r /opt/nexus/include/nexus/napi.h; then + NEXUS_PREFIX="/opt/nexus" + AC_MSG_RESULT([${NEXUS_PREFIX}]) + else AC_MSG_RESULT([no]) AC_MSG_ERROR( - [NeXus not found. Please call configure with the --with-nexus option. + [NeXus Version >= 4.4 not found. Please call configure with the --with-nexus option. This tells configure where to find the NeXus headers, - e.g. --with-nexus=/usr/local/nexus] + e.g. --with-nexus=/opt/nexus] ) fi ] @@ -589,8 +586,27 @@ AC_ARG_ENABLE([NeXus], [AS_HELP_STRING([--enable-NeXus],[build optional NeXus su ) AC_SUBST(NEXUS_PREFIX) if test "${NEXUS_FOUND}" != "1"; then - NEXUS_LIBS="-L${NEXUS_PREFIX}/lib -lNeXus" - NEXUS_CFLAGS="-I${NEXUS_PREFIX}/include" + dnl get suffix for the NeXus library depending on the OS + AC_REQUIRE([AC_CANONICAL_HOST]) + AS_CASE([$host_os], + [linux*], [NEXUS_SUFFIX="so"], + [darwin*], [NEXUS_SUFFIX="dylib"], + [*cygwin*], [NEXUS_SUFFIX="dll"], + [AC_MSG_ERROR([NeXus check: Your platform is not currently supported])] + ) + AC_MSG_NOTICE([NeXus Suffix Result: "${NEXUS_SUFFIX}"]) + if test -r ${NEXUS_PREFIX}/lib/libNeXus.${NEXUS_SUFFIX}; then + NEXUS_LIB_DIR="lib" + elif test -r ${NEXUS_PREFIX}/lib64/libNeXus.${NEXUS_SUFFIX}; then + NEXUS_LIB_DIR="lib64" + else + AC_MSG_ERROR( + [Couldn't find the NeXus library.] + ) + fi + + NEXUS_LIBS="-L${NEXUS_PREFIX}/${NEXUS_LIB_DIR} -lNeXus" + NEXUS_CFLAGS="-I${NEXUS_PREFIX}/include/nexus" fi AC_SUBST(NEXUS_LIBS) AC_SUBST(NEXUS_CFLAGS) @@ -1239,6 +1255,7 @@ AC_CONFIG_FILES([Makefile \ src/external/libSpinValve/classes/Makefile \ src/external/libPhotoMeissner/Makefile \ src/external/libPhotoMeissner/classes/Makefile \ + src/external/libGbGLF/Makefile \ src/external/libBNMR/Makefile \ src/musredit_qt5/Makefile \ src/musredit/Makefile \ diff --git a/doc/examples/UserFcn/Makefile.PUserFcn b/doc/examples/UserFcn/Makefile.PUserFcn new file mode 100644 index 00000000..c2e9aeed --- /dev/null +++ b/doc/examples/UserFcn/Makefile.PUserFcn @@ -0,0 +1,60 @@ +#--------------------------------------------------- +# get compilation flags from root-config + +ROOTCFLAGS = $(shell $(ROOTSYS)/bin/root-config --cflags) + +#--------------------------------------------------- + +OS = LINUX +CXX = g++ +CXXFLAGS = -O3 -Wall -Wno-trigraphs -fPIC +LOCALINCLUDE = . +ROOTINCLUDE = $(ROOTSYS)/include +INCLUDES = -I$(LOCALINCLUDE) -I$(ROOTINCLUDE) +LD = g++ +LDFLAGS = +SOFLAGS = -O -shared + +# the output from the root-config script: +CXXFLAGS += $(ROOTCFLAGS) +LDFLAGS += + +# some definitions: headers (used to generate *Dict* stuff), sources, objects,... +OBJS = +OBJS += PUserFcn.o PUserFcnDict.o + +SHLIB = libPUserFcn.so + +# make the shared lib: +# +all: $(SHLIB) + +$(SHLIB): $(OBJS) + @echo "---> Building shared library $(SHLIB) ..." + /bin/rm -f $(SHLIB) + $(LD) $(OBJS) $(SOFLAGS) -o $(SHLIB) + @echo "done" + +# clean up: remove all object file (and core files) +# semicolon needed to tell make there is no source +# for this target! +# +clean:; @rm -f $(OBJS) *Dict* core* + @echo "---> removing $(OBJS)" + +# +$(OBJS): %.o: %.cpp + $(CXX) $(INCLUDES) $(CXXFLAGS) -c $< + +# Generate the ROOT CINT dictionary + +PUserFcnDict.cpp: PUserFcn.h PUserFcnLinkDef.h + @echo "Generating dictionary $@..." + rootcint -f $@ -c -p -I$(ROOTINCLUDE) $^ + +install: all + @echo "Installing shared lib: libTApproximation.so" +ifeq ($(OS),LINUX) + cp -pv $(SHLIB) $(ROOTSYS)/lib + cp -pv $(LOCALINCLUDE)/*.h $(ROOTSYS)/include +endif diff --git a/doc/examples/UserFcn/PUserFcn.cpp b/doc/examples/UserFcn/PUserFcn.cpp new file mode 100644 index 00000000..f5f31aa3 --- /dev/null +++ b/doc/examples/UserFcn/PUserFcn.cpp @@ -0,0 +1,59 @@ +/*************************************************************************** + + PUserFcn.cpp + + Author: Andreas Suter + e-mail: andreas.suter@psi.ch + +***************************************************************************/ + +/*************************************************************************** + * Copyright (C) 2007-2016 by Andreas Suter * + * andreas.suter@psi.ch * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ + +#include +using namespace std; + +#include + +#include "PUserFcn.h" + +ClassImp(PUserFcn) + +//------------------------------------------------------ +/** + *

user function example: polynome of 3rd order + * + * \f[ = \sum_{k=0}^3 c_k t^k \f] + * + * meaning of paramValues: \f$c_0\f$, \f$c_1\f$, \f$c_2\f$, \f$c_3\f$ + * + * return: function value + * + * \param t time in \f$(\mu\mathrm{s})\f$, or x-axis value for non-muSR fit + * \param param parameter vector + */ +Double_t PUserFcn::operator()(Double_t t, const std::vector ¶m) const +{ + // expected parameters: c0, c1, c2, c3 + + assert(param.size() == 4); + + return param[0] + param[1]*t + param[2]*t*t + param[3]*t*t*t; +} diff --git a/doc/examples/UserFcn/PUserFcn.h b/doc/examples/UserFcn/PUserFcn.h new file mode 100644 index 00000000..78d6793e --- /dev/null +++ b/doc/examples/UserFcn/PUserFcn.h @@ -0,0 +1,58 @@ +/*************************************************************************** + + PUserFcn.h + + Author: Andreas Suter + e-mail: andreas.suter@psi.ch + +***************************************************************************/ + +/*************************************************************************** + * Copyright (C) 2007-2016 by Andreas Suter * + * andreas.suter@psi.ch * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ + +#ifndef _PUSERFCN_H_ +#define _PUSERFCN_H_ + +#include + +#include "PUserFcnBase.h" + +/** + *

User function example class. Polynome of 3rd order. + */ +class PUserFcn : public PUserFcnBase +{ + public: + PUserFcn() {} + ~PUserFcn() {} + + // global user-function-access functions, here without any functionality + Bool_t NeedGlobalPart() const { return false; } + void SetGlobalPart(vector &globalPart, UInt_t idx) { } + Bool_t GlobalPartIsValid() const { return true; } + + // function operator + Double_t operator()(Double_t t, const std::vector ¶m) const; + + // definition of the class for the ROOT dictionary + ClassDef(PUserFcn, 1) +}; + +#endif // _PUSERFCN_H_ diff --git a/doc/examples/UserFcn/PUserFcnLinkDef.h b/doc/examples/UserFcn/PUserFcnLinkDef.h new file mode 100644 index 00000000..a7f7eaa1 --- /dev/null +++ b/doc/examples/UserFcn/PUserFcnLinkDef.h @@ -0,0 +1,15 @@ +/*************************************************************************** + + PUserFcnLinkDef.h + +***************************************************************************/ + +#ifdef __CINT__ + +#pragma link off all globals; +#pragma link off all classes; +#pragma link off all functions; + +#pragma link C++ class PUserFcn+; + +#endif //__CINT__ diff --git a/doc/examples/UserFcn/README b/doc/examples/UserFcn/README new file mode 100644 index 00000000..caf43406 --- /dev/null +++ b/doc/examples/UserFcn/README @@ -0,0 +1,89 @@ +/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ + +Simple Example for a User Function without Global Part + +/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ + +Goal: define a user function which implements a polynom + of 3rd order. + +For details see: http://lmu.web.psi.ch/musrfit/user/MUSR/MusrFit.html#A_6_User_Functions + +Implementation: + 3 Files are needed: + + 1) A header file which defines your user function + interface. + + In the example here it is called PUserFcn.h + + Please rename it in your case to something more + sensible, e.g. PMyPoly.h. At the same time also + rename correspondingly the class name in your + header file, i.e. PUserFcn -> PMyPoly. This will + be at 4 places in the header file of this example. + + 2) The source file which defines your user function. + + In the example here it is called PUserFcn.cpp + + Please rename it accordingly to the header file. + In case the header file is called PMyPoly.h, the + source file will need to be called PMyPoly.cpp. + As for the header file, the class names need to + be adopted: PUserFcn -> PMyPoly. + + In the source file change the operator implementation + (Double_t PUserFcn::operator()(Double_t t, + const std::vector ¶m) const) + to whatever you need. + + 3) There is another header file needed to generate + the necessary ROOT dictionary. + + In this example it is called PUserFcnLinkDef.h + + Here you only will need to find PUserFcn+ and + replace it with your class name, e.g. PMyPoly+ + +Generate Code: + You will find the Makefil.PUserFcn which generates + the needed shared library for your user function. + + Again, if your user function is called PMyPoly, you + will need to replace things accordingly in the + Makefile, i.e. + + Makefile.PUserFcn -> Makefile.PMyPoly + + In the Makefile: + + PUserFcn.o -> PMyPoly.o + PUserFcnDict.o -> PMyPolyDict.o + libPUserFcn.so -> libPMyPoly.so + + To create the shared library do: + + make -f Makefile.PUserFcn + + on the command line. This should create a file + libPUserFcn.so. + + Next call on the command line: + + make -f Makefile.PUserFcn install + + This will copy the shared library to the correct + place. + + You also will need to make sure that the system is + finding the shared library, either by setting + LD_LIBRARY_PATH or by calling /sbin/ldconfig as + superuser/root assuming you are using linux. + +Example msr-file: + You will find an example msr-file test-asy-MUS.msr + which is using PUserFcn. The example is UN-PHYSICALLY + it is just to show how to use a user function. + + diff --git a/doc/examples/UserFcn/data/000100.msr b/doc/examples/UserFcn/data/000100.msr new file mode 100644 index 00000000..e00399f4 Binary files /dev/null and b/doc/examples/UserFcn/data/000100.msr differ diff --git a/doc/examples/UserFcn/test-asy-MUD.msr b/doc/examples/UserFcn/test-asy-MUD.msr new file mode 100644 index 00000000..ea932df1 --- /dev/null +++ b/doc/examples/UserFcn/test-asy-MUD.msr @@ -0,0 +1,55 @@ +MgB12H12 No2 ZF T=150 +############################################################### +FITPARAMETER +# Nr. Name Value Step Pos_Error Boundaries + 1 alpha 1 0 none 0 2 + 2 asy 0.1650 0.0027 none 0 0.33 + 3 c0 1.047 0.016 none + 4 c1 -0.1957 0.0038 none + 5 c2 0.0216 0.0011 none + 6 c3 -0.00119 0.00011 none + +############################################################### +THEORY +asymmetry 2 +userFcn libPUserFcn PUserFcn 3 4 5 6 + +############################################################### +RUN data/000100 XXXX TRIUMF MUD (name beamline institute data-file-format) +fittype 2 (asymmetry fit) +alpha 1 +map 0 0 0 0 0 0 0 0 0 0 0 +forward 1 +backward 2 +background 79 391 80 409 # estimated bkg: 21.0833 / 17.2249 +data 438 12785 436 12787 +t0 432.0 431.0 +fit 0 8 +packing 100 + +############################################################### +COMMANDS +MINIMIZE +MINOS +#HESSE +SAVE + +############################################################### +FOURIER +units Gauss # units either 'Gauss', 'Tesla', 'MHz', or 'Mc/s' +fourier_power 12 +apodization NONE # NONE, WEAK, MEDIUM, STRONG +plot POWER # REAL, IMAG, REAL_AND_IMAG, POWER, PHASE +phase 8 +#range_for_phase_correction 50.0 70.0 +range 0 2000 +dc-corrected true + +############################################################### +PLOT 2 (asymmetry plot) +runs 1 +range 0 9 0 0.22 + +############################################################### +STATISTIC --- 2016-06-22 09:34:01 + chisq = 152.4, NDF = 97, chisq/NDF = 1.571461 diff --git a/doc/examples/data/07770.root b/doc/examples/data/07770.root new file mode 100644 index 00000000..84fb31b6 Binary files /dev/null and b/doc/examples/data/07770.root differ diff --git a/doc/examples/test-histo-muMinus.msr b/doc/examples/test-histo-muMinus.msr new file mode 100644 index 00000000..795f4b5a --- /dev/null +++ b/doc/examples/test-histo-muMinus.msr @@ -0,0 +1,199 @@ +07770 - test +############################################################### +FITPARAMETER +# Nr. Name Value Step Pos_Error Boundaries + 1 N_0 321.0 1.4 none + 2 tau_0 1.9066 0.0038 none 0 none + 3 Rate_0 0.0983 0.0052 none 0 none + 4 Freq_0 135.53824 0.00073 none + + 5 N_1 306.1 1.3 none + 6 tau_1 0.7409 0.0026 none 0 none + 7 Rate_1 0.026 0.027 none 0 none + 8 Freq_1 136.8968 0.0033 none + + 9 Asym_F1_0 0.0490 0.0015 none 0 none + 10 Asym_F1_1 0.0501 0.0029 none 0 none + 11 Phase_F1 4.9 1.5 none + 12 N_bgk_F1 1.880 0.034 none + + 13 Asym_F2_0 0.0496 0.0015 none 0 none + 14 Asym_F2_1 0.0581 0.0030 none 0 none + 15 Phase_F2 52.4 1.5 none + 16 N_bgk_F2 1.508 0.033 none + + 17 Asym_F3_0 0.0486 0.0015 none 0 none + 18 Asym_F3_1 0.0593 0.0030 none 0 none + 19 Phase_F3 95.2 1.5 none + 20 N_bgk_F3 1.465 0.033 none + + 21 Asym_F4_0 0.0512 0.0015 none 0 none + 22 Asym_F4_1 0.0521 0.0029 none 0 none + 23 Phase_F4 144.6 1.5 none + 24 N_bgk_F4 2.311 0.034 none + + 25 Asym_F5_0 0.0542 0.0015 none 0 none + 26 Asym_F5_1 0.0537 0.0030 none 0 none + 27 Phase_F5 188.4 1.4 none + 28 N_bgk_F5 1.799 0.033 none + + 29 Asym_F6_0 0.0502 0.0015 none 0 none + 30 Asym_F6_1 0.0517 0.0030 none 0 none + 31 Phase_F6 232.1 1.5 none + 32 N_bgk_F6 1.735 0.033 none + + 33 Asym_F7_0 0.0488 0.0015 none 0 none + 34 Asym_F7_1 0.0575 0.0030 none 0 none + 35 Phase_F7 273.0 1.5 none + 36 N_bgk_F7 1.593 0.033 none + + 37 Asym_F8_0 0.0547 0.0015 none 0 none + 38 Asym_F8_1 0.0468 0.0029 none 0 none + 39 Phase_F8 321.7 1.4 none + 40 N_bgk_F8 1.469 0.033 none + + 41 Asym_B1_0 0.0476 0.0015 none 0 none + 42 Asym_B1_1 0.0535 0.0029 none 0 none + 43 Phase_B1 3.6 1.5 none + 44 N_bgk_B1 1.378 0.033 none + + 45 Asym_B2_0 0.0524 0.0015 none 0 none + 46 Asym_B2_1 0.0495 0.0030 none 0 none + 47 Phase_B2 53.7 1.5 none + 48 N_bgk_B2 1.272 0.032 none + + 49 Asym_B3_0 0.0494 0.0015 none 0 none + 50 Asym_B3_1 0.0555 0.0030 none 0 none + 51 Phase_B3 98.1 1.5 none + 52 N_bgk_B3 0.969 0.032 none + + 53 Asym_B4_0 0.0505 0.0015 none 0 none + 54 Asym_B4_1 0.0527 0.0030 none 0 none + 55 Phase_B4 141.8 1.5 none + 56 N_bgk_B4 1.233 0.032 none + + 57 Asym_B5_0 0.0515 0.0015 none 0 none + 58 Asym_B5_1 0.0584 0.0030 none 0 none + 59 Phase_B5 182.2 1.4 none + 60 N_bgk_B5 1.642 0.033 none + + 61 Asym_B6_0 0.0512 0.0015 none 0 none + 62 Asym_B6_1 0.0477 0.0029 none 0 none + 63 Phase_B6 231.7 1.5 none + 64 N_bgk_B6 1.650 0.033 none + + 65 Asym_B7_0 0.0514 0.0015 none 0 none + 66 Asym_B7_1 0.0539 0.0030 none 0 none + 67 Phase_B7 275.2 1.5 none + 68 N_bgk_B7 1.729 0.033 none + + 69 Asym_B8_0 0.0541 0.0015 none 0 none + 70 Asym_B8_1 0.0444 0.0030 none 0 none + 71 Phase_B8 321.0 1.5 none + 72 N_bgk_B8 1.136 0.032 none + +############################################################### +THEORY +muMinusExpTF 1 2 map1 3 map3 4 (N0 tau A lambda phase nu) ++ +muMinusExpTF 5 6 map2 7 map3 8 (N0 tau A lambda phase nu) ++ +asymmetry map4 + +############################################################### +GLOBAL +fittype 4 (mu minus fit) +t0 20000.0 +data 20100 409500 +fit 0.0005 9 +packing 25 + +############################################################### +RUN data/07770 PIE3 PSI MUSR-ROOT (name beamline institute data-file-format) +map 9 10 11 12 0 0 0 0 0 0 0 0 +forward 1 +#-------------------------------------------------------------- +RUN data/07770 PIE3 PSI MUSR-ROOT (name beamline institute data-file-format) +map 13 14 15 16 0 0 0 0 0 0 0 0 +forward 2 +#-------------------------------------------------------------- +RUN data/07770 PIE3 PSI MUSR-ROOT (name beamline institute data-file-format) +map 17 18 19 20 0 0 0 0 0 0 0 0 +forward 3 +#-------------------------------------------------------------- +RUN data/07770 PIE3 PSI MUSR-ROOT (name beamline institute data-file-format) +map 21 22 23 24 0 0 0 0 0 0 0 0 +forward 4 +#-------------------------------------------------------------- +RUN data/07770 PIE3 PSI MUSR-ROOT (name beamline institute data-file-format) +map 25 26 27 28 0 0 0 0 0 0 0 0 +forward 5 +#-------------------------------------------------------------- +RUN data/07770 PIE3 PSI MUSR-ROOT (name beamline institute data-file-format) +map 29 30 31 32 0 0 0 0 0 0 0 0 +forward 6 +#-------------------------------------------------------------- +RUN data/07770 PIE3 PSI MUSR-ROOT (name beamline institute data-file-format) +map 33 34 35 36 0 0 0 0 0 0 0 0 +forward 7 +#-------------------------------------------------------------- +RUN data/07770 PIE3 PSI MUSR-ROOT (name beamline institute data-file-format) +map 37 38 39 40 0 0 0 0 0 0 0 0 +forward 8 +#-------------------------------------------------------------- +RUN data/07770 PIE3 PSI MUSR-ROOT (name beamline institute data-file-format) +map 41 42 43 44 0 0 0 0 0 0 0 0 +forward 9 +#-------------------------------------------------------------- +RUN data/07770 PIE3 PSI MUSR-ROOT (name beamline institute data-file-format) +map 45 46 47 48 0 0 0 0 0 0 0 0 +forward 10 +#-------------------------------------------------------------- +RUN data/07770 PIE3 PSI MUSR-ROOT (name beamline institute data-file-format) +map 49 50 51 52 0 0 0 0 0 0 0 0 +forward 11 +#-------------------------------------------------------------- +RUN data/07770 PIE3 PSI MUSR-ROOT (name beamline institute data-file-format) +map 53 54 55 56 0 0 0 0 0 0 0 0 +forward 12 +#-------------------------------------------------------------- +RUN data/07770 PIE3 PSI MUSR-ROOT (name beamline institute data-file-format) +map 57 58 59 60 0 0 0 0 0 0 0 0 +forward 13 +#-------------------------------------------------------------- +RUN data/07770 PIE3 PSI MUSR-ROOT (name beamline institute data-file-format) +map 61 62 63 64 0 0 0 0 0 0 0 0 +forward 14 +#-------------------------------------------------------------- +RUN data/07770 PIE3 PSI MUSR-ROOT (name beamline institute data-file-format) +map 65 66 67 68 0 0 0 0 0 0 0 0 +forward 15 +#-------------------------------------------------------------- +RUN data/07770 PIE3 PSI MUSR-ROOT (name beamline institute data-file-format) +map 69 70 71 72 0 0 0 0 0 0 0 0 +forward 16 + +############################################################### +COMMANDS +MAX_LIKELIHOOD +PRINT_LEVEL 2 +MINIMIZE +#MINOS +SAVE + +############################################################### +PLOT 4 (mu minus plot) +runs 1-16 +range 0 9 + +############################################################### +FOURIER +units Tesla # units either 'Gauss', 'Tesla', 'MHz', or 'Mc/s' +fourier_power 14 +apodization MEDIUM # NONE, WEAK, MEDIUM, STRONG +plot POWER # REAL, IMAG, REAL_AND_IMAG, POWER, PHASE +range 0.8 1.2 + +############################################################### +STATISTIC --- 2016-04-25 17:05:56 + maxLH = 238962.5, NDF = 230264, maxLH/NDF = 1.037776 diff --git a/doc/html/user/MUSR/BmwLibs.html b/doc/html/user/MUSR/BmwLibs.html index 12c12d36..209d2779 100644 --- a/doc/html/user/MUSR/BmwLibs.html +++ b/doc/html/user/MUSR/BmwLibs.html @@ -1,6 +1,6 @@ - + @@ -14,14 +14,14 @@ - + - - + - + + - + - - - + + - + + - + - - - - - - + + + - - - + + + - - - - + + +