newly added
This commit is contained in:
parent
787a95dad3
commit
c4e7d3c57b
@ -4,19 +4,19 @@ FITPARAMETER
|
|||||||
# No Name Value Step Pos_Error Boundaries
|
# No Name Value Step Pos_Error Boundaries
|
||||||
1 field 94.717 0 none
|
1 field 94.717 0 none
|
||||||
2 deadlayer 10.5 0 none
|
2 deadlayer 10.5 0 none
|
||||||
3 lambda 115.947 -0.91963 0.884948
|
3 lambda 115.947 -0.91963 none
|
||||||
|
|
||||||
# E = 22keV
|
# E = 22keV
|
||||||
|
|
||||||
4 phase22 25.4956 0 none
|
4 phase22 25.4956 0 none
|
||||||
5 asym22 0.104724 -0.00293244 0.00297537 0 0.3
|
5 asym22 0.104724 -0.00293244 none 0 0.3
|
||||||
6 rate22 0.558459 -0.0323891 0.0325438
|
6 rate22 0.558459 -0.0323891 none
|
||||||
7 NormL22 753.067 -0.86835 0.866368
|
7 NormL22 753.067 -0.86835 none
|
||||||
8 BGL22 51.0796 -0.132894 0.132971
|
8 BGL22 51.0796 -0.132894 none
|
||||||
9 NormR22 545.968 -0.762193 0.766843
|
9 NormR22 545.968 -0.762193 none
|
||||||
10 BGR22 38.5992 -0.115679 0.115309
|
10 BGR22 38.5992 -0.115679 none
|
||||||
11 relasyR22 1.0697 -0.0377904 0.0388018 0.2 2
|
11 relasyR22 1.0697 -0.0377904 none 0.2 2
|
||||||
12 relphaR22 162.711 -1.53722 1.51998 110 210
|
12 relphaR22 162.711 -1.53722 none 110 210
|
||||||
13 energy22 22 0 none
|
13 energy22 22 0 none
|
||||||
|
|
||||||
14 one 1 0 none
|
14 one 1 0 none
|
||||||
@ -65,7 +65,10 @@ packing 150
|
|||||||
COMMANDS
|
COMMANDS
|
||||||
MINIMIZE
|
MINIMIZE
|
||||||
#HESSE
|
#HESSE
|
||||||
MINOS
|
#MINOS
|
||||||
|
#SCAN 3
|
||||||
|
CONTOURS 2 3
|
||||||
|
MNPLOT
|
||||||
SAVE
|
SAVE
|
||||||
|
|
||||||
###############################################################
|
###############################################################
|
||||||
@ -83,5 +86,5 @@ runs 1 2
|
|||||||
range 0.00 4.00 -0.25 0.25
|
range 0.00 4.00 -0.25 0.25
|
||||||
|
|
||||||
###############################################################
|
###############################################################
|
||||||
STATISTIC --- 2010-01-08 14:15:38
|
STATISTIC --- 2010-03-12 11:22:43
|
||||||
chisq = 700.410521, NDF = 663, chisq/NDF = 1.05642612
|
*** FIT DID NOT CONVERGE ***
|
||||||
|
@ -3,10 +3,10 @@ Test asymmetry plot, PSI-BIN data file
|
|||||||
FITPARAMETER
|
FITPARAMETER
|
||||||
# Nr. Name Value Step Pos_Error Boundaries
|
# Nr. Name Value Step Pos_Error Boundaries
|
||||||
1 alpha 0.954734 0 none 0 2
|
1 alpha 0.954734 0 none 0 2
|
||||||
2 asy 0.262608 0.00143923 none 0 0.33
|
2 asy 0.262387 0.00144114 none 0 0.33
|
||||||
3 phase -0.699373 0.328173 none
|
3 phase -0.0892349 0.327999 none
|
||||||
4 field 97.9126 0.0550285 none 0 none
|
4 field 97.9113 0.0550109 none 0 none
|
||||||
5 rate 0.316773 0.0044115 none 0 none
|
5 rate 0.31646 0.00441463 none 0 none
|
||||||
|
|
||||||
###############################################################
|
###############################################################
|
||||||
THEORY
|
THEORY
|
||||||
@ -55,5 +55,5 @@ range 0.00 8.00 -0.30 0.30
|
|||||||
view_packing 38
|
view_packing 38
|
||||||
|
|
||||||
###############################################################
|
###############################################################
|
||||||
STATISTIC --- 2010-01-08 14:45:44
|
STATISTIC --- 2010-05-26 21:27:41
|
||||||
chisq = 543.235673, NDF = 351, chisq/NDF = 1.54767998
|
chisq = 545.990682, NDF = 351, chisq/NDF = 1.55552901
|
||||||
|
31
src/tests/FIR/Makefile
Normal file
31
src/tests/FIR/Makefile
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
# Makefile for the remez exchange algorithm
|
||||||
|
#
|
||||||
|
# Author: Andreas Suter
|
||||||
|
# e-mail: andreas.suter@psi.ch
|
||||||
|
#
|
||||||
|
# $Id$
|
||||||
|
#----------------------------------------------------------------
|
||||||
|
|
||||||
|
CXX = gcc
|
||||||
|
CXXFLAGS = -g -Wall -fPIC
|
||||||
|
LD = g++
|
||||||
|
LDFLAGS = -g
|
||||||
|
|
||||||
|
LIBS = -lm
|
||||||
|
|
||||||
|
OBJS = remez.o
|
||||||
|
OBJS += test.o
|
||||||
|
|
||||||
|
EXEC = remez_test
|
||||||
|
|
||||||
|
all: $(EXEC)
|
||||||
|
|
||||||
|
$(EXEC): $(OBJS)
|
||||||
|
$(LD) $(OBJS) -o $(EXEC) $(LIBS)
|
||||||
|
|
||||||
|
clean:
|
||||||
|
@rm -f $(OBJS)
|
||||||
|
@echo ">> removing $(OBJS)"
|
||||||
|
|
||||||
|
$(OBJS): %.o: %.c
|
||||||
|
$(CXX) $(CXXFLAGS) -c $<
|
@ -21,6 +21,8 @@
|
|||||||
|
|
||||||
|
|
||||||
#include "remez.h"
|
#include "remez.h"
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <stdio.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
/*******************
|
/*******************
|
||||||
|
@ -32,7 +32,7 @@
|
|||||||
#define Pi2 6.2831853071795865
|
#define Pi2 6.2831853071795865
|
||||||
|
|
||||||
#define GRIDDENSITY 16
|
#define GRIDDENSITY 16
|
||||||
#define MAXITERATIONS 40
|
#define MAXITERATIONS 100
|
||||||
|
|
||||||
/* Function prototype for remez() - the only function that should need be
|
/* Function prototype for remez() - the only function that should need be
|
||||||
* called from external code
|
* called from external code
|
||||||
|
@ -26,9 +26,11 @@
|
|||||||
**************************************************************************/
|
**************************************************************************/
|
||||||
|
|
||||||
#include "remez.h"
|
#include "remez.h"
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <stdio.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
main()
|
int main()
|
||||||
{
|
{
|
||||||
double *weights, *desired, *bands;
|
double *weights, *desired, *bands;
|
||||||
double *h;
|
double *h;
|
||||||
@ -37,40 +39,50 @@ main()
|
|||||||
bands = (double *)malloc(10 * sizeof(double));
|
bands = (double *)malloc(10 * sizeof(double));
|
||||||
weights = (double *)malloc(5 * sizeof(double));
|
weights = (double *)malloc(5 * sizeof(double));
|
||||||
desired = (double *)malloc(5 * sizeof(double));
|
desired = (double *)malloc(5 * sizeof(double));
|
||||||
h = (double *)malloc(300 * sizeof(double));
|
h = (double *)malloc(600 * sizeof(double));
|
||||||
|
|
||||||
desired[0] = 0;
|
desired[0] = 0;
|
||||||
desired[1] = 1;
|
desired[1] = 1;
|
||||||
desired[2] = 0;
|
desired[2] = 0;
|
||||||
desired[3] = 1;
|
// desired[3] = 1;
|
||||||
desired[4] = 0;
|
// desired[4] = 0;
|
||||||
|
|
||||||
|
/*
|
||||||
weights[0] = 10;
|
weights[0] = 10;
|
||||||
weights[1] = 1;
|
weights[1] = 1;
|
||||||
weights[2] = 3;
|
weights[2] = 3;
|
||||||
weights[3] = 1;
|
weights[3] = 1;
|
||||||
weights[4] = 20;
|
weights[4] = 20;
|
||||||
|
*/
|
||||||
|
|
||||||
|
weights[0] = 1;
|
||||||
|
weights[1] = 1;
|
||||||
|
weights[2] = 1;
|
||||||
|
// weights[3] = 1;
|
||||||
|
// weights[4] = 1;
|
||||||
|
|
||||||
bands[0] = 0;
|
bands[0] = 0;
|
||||||
bands[1] = 0.05;
|
bands[1] = 0.12;
|
||||||
bands[2] = 0.1;
|
bands[2] = 0.17;
|
||||||
bands[3] = 0.15;
|
bands[3] = 0.28;
|
||||||
bands[4] = 0.18;
|
bands[4] = 0.33;
|
||||||
bands[5] = 0.25;
|
bands[5] = 0.50;
|
||||||
bands[6] = 0.3;
|
// bands[6] = 0.3;
|
||||||
bands[7] = 0.36;
|
// bands[7] = 0.36;
|
||||||
bands[8] = 0.41;
|
// bands[8] = 0.41;
|
||||||
bands[9] = 0.5;
|
// bands[9] = 0.5;
|
||||||
|
|
||||||
remez(h, 104, 5, bands, desired, weights, BANDPASS);
|
remez(h, 102, 2, bands, desired, weights, BANDPASS);
|
||||||
for (i=0; i<104; i++)
|
for (i=0; i<102; i++)
|
||||||
{
|
{
|
||||||
printf("%23.20f\n", h[i]);
|
printf("%3d, %23.20f\n", i, h[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
free(bands);
|
free(bands);
|
||||||
free(weights);
|
free(weights);
|
||||||
free(desired);
|
free(desired);
|
||||||
free(h);
|
free(h);
|
||||||
|
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
99
src/tests/MeissnerNonMuSR/Makefile.PMeissnerNonMuSR
Normal file
99
src/tests/MeissnerNonMuSR/Makefile.PMeissnerNonMuSR
Normal file
@ -0,0 +1,99 @@
|
|||||||
|
#---------------------------------------------------
|
||||||
|
# Makefile.PMeissnerNonMuSR
|
||||||
|
#
|
||||||
|
# Author: Andreas Suter
|
||||||
|
# e-mail: andreas.suter@psi.ch
|
||||||
|
#
|
||||||
|
# $Id$
|
||||||
|
#
|
||||||
|
#---------------------------------------------------
|
||||||
|
|
||||||
|
#---------------------------------------------------
|
||||||
|
# get compilation and library flags from root-config
|
||||||
|
|
||||||
|
ROOTCFLAGS = $(shell $(ROOTSYS)/bin/root-config --cflags)
|
||||||
|
ROOTLIBS = $(shell $(ROOTSYS)/bin/root-config --libs)
|
||||||
|
ROOTGLIBS = $(shell $(ROOTSYS)/bin/root-config --glibs)
|
||||||
|
|
||||||
|
#---------------------------------------------------
|
||||||
|
# depending on the architecture, choose the compiler,
|
||||||
|
# linker, and the flags to use
|
||||||
|
#
|
||||||
|
|
||||||
|
OSTYPE = $(shell uname)
|
||||||
|
|
||||||
|
ifeq ($(OSTYPE),Linux)
|
||||||
|
OS = LINUX
|
||||||
|
endif
|
||||||
|
ifeq ($(OSTYPE),linux-gnu)
|
||||||
|
OS = LINUX
|
||||||
|
endif
|
||||||
|
ifeq ($(OSTYPE),darwin)
|
||||||
|
OS = DARWIN
|
||||||
|
endif
|
||||||
|
|
||||||
|
# -- Linux
|
||||||
|
ifeq ($(OS),LINUX)
|
||||||
|
CXX = g++
|
||||||
|
CXXFLAGS = -g -Wall -Wno-trigraphs -fPIC
|
||||||
|
INCLUDES = -I./
|
||||||
|
LD = g++
|
||||||
|
LDFLAGS = -g
|
||||||
|
SOFLAGS = -O -shared
|
||||||
|
endif
|
||||||
|
|
||||||
|
# -- Darwin
|
||||||
|
ifeq ($(OS),DARWIN)
|
||||||
|
CXX = g++
|
||||||
|
CXXFLAGS = -g -Wall -Wno-trigraphs -fPIC
|
||||||
|
INCLUDES = -I../include
|
||||||
|
LD = g++
|
||||||
|
LDFLAGS = -g
|
||||||
|
SOFLAGS = -dynamic
|
||||||
|
endif
|
||||||
|
|
||||||
|
# the output from the root-config script:
|
||||||
|
CXXFLAGS += $(ROOTCFLAGS)
|
||||||
|
LDFLAGS +=
|
||||||
|
|
||||||
|
# the ROOT libraries (G = graphic)
|
||||||
|
LIBS = $(ROOTLIBS) -lXMLParser
|
||||||
|
GLIBS = $(ROOTGLIBS) -lXMLParser
|
||||||
|
|
||||||
|
# some definitions: headers (used to generate *Dict* stuff), sources, objects,...
|
||||||
|
OBJS =
|
||||||
|
OBJS += PMeissnerNonMuSR.o PMeissnerNonMuSRDict.o
|
||||||
|
|
||||||
|
SHLIB = libPMeissnerNonMuSR.so
|
||||||
|
|
||||||
|
# make the shared lib:
|
||||||
|
#
|
||||||
|
all: $(SHLIB)
|
||||||
|
|
||||||
|
$(SHLIB): $(OBJS)
|
||||||
|
@echo "---> Building shared library $(SHLIB) ..."
|
||||||
|
/bin/rm -f $(SHLIB)
|
||||||
|
$(LD) $(OBJS) $(SOFLAGS) -o $(SHLIB) $(LIBS)
|
||||||
|
@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 $<
|
||||||
|
|
||||||
|
PMeissnerNonMuSRDict.cpp: PMeissnerNonMuSR.h PMeissnerNonMuSRLinkDef.h
|
||||||
|
@echo "Generating dictionary $@..."
|
||||||
|
rootcint -f $@ -c -p $^
|
||||||
|
|
||||||
|
install: all
|
||||||
|
@echo "Installing shared lib: libTUserFcn.so ( you must be root ;-) )"
|
||||||
|
ifeq ($(OS),LINUX)
|
||||||
|
cp -pv $(SHLIB) $(ROOTSYS)/lib
|
||||||
|
cp -pv PMeissnerNonMuSR.h $(ROOTSYS)/include
|
||||||
|
endif
|
83
src/tests/MeissnerNonMuSR/PMeissnerNonMuSR.cpp
Normal file
83
src/tests/MeissnerNonMuSR/PMeissnerNonMuSR.cpp
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
/***************************************************************************
|
||||||
|
|
||||||
|
PMeissnerNonMuSR.cpp
|
||||||
|
|
||||||
|
Author: Andreas Suter
|
||||||
|
e-mail: andreas.suter@psi.ch
|
||||||
|
|
||||||
|
$Id$
|
||||||
|
|
||||||
|
***************************************************************************/
|
||||||
|
|
||||||
|
/***************************************************************************
|
||||||
|
* Copyright (C) 2007 by Andreas Suter *
|
||||||
|
* andreas.suter@psi.c *
|
||||||
|
* *
|
||||||
|
* 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 <iostream>
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
#include <cassert>
|
||||||
|
#include <cmath>
|
||||||
|
|
||||||
|
#include "PMeissnerNonMuSR.h"
|
||||||
|
|
||||||
|
ClassImp(PMeissnerNonMuSR)
|
||||||
|
|
||||||
|
//------------------------------------------------------
|
||||||
|
/**
|
||||||
|
* <p>Constructor
|
||||||
|
*/
|
||||||
|
PMeissnerNonMuSR::PMeissnerNonMuSR()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
//------------------------------------------------------
|
||||||
|
/**
|
||||||
|
* <p>Destructor
|
||||||
|
*/
|
||||||
|
PMeissnerNonMuSR::~PMeissnerNonMuSR()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
//------------------------------------------------------
|
||||||
|
/**
|
||||||
|
* <p>Example of a user defined function. This example implements a 3rd order polynom
|
||||||
|
* \f[ = \sum_{k=0}^3 c_k t^k\f]
|
||||||
|
*
|
||||||
|
* <b>meaning of paramValues:</b> \f$c_0\f$, \f$c_1\f$, \f$c_2\f$, \f$c_3\f$
|
||||||
|
*
|
||||||
|
* <b>return:</b> function value
|
||||||
|
*
|
||||||
|
* \param z mean distance from the surface
|
||||||
|
* \param param parameter vector
|
||||||
|
*/
|
||||||
|
Double_t PMeissnerNonMuSR::operator()(Double_t z, const std::vector<Double_t> ¶m) const
|
||||||
|
{
|
||||||
|
// expected parameters: Bext, t=thickness/2, deadLayer, lambda_ab
|
||||||
|
|
||||||
|
assert(param.size() == 4);
|
||||||
|
|
||||||
|
// if z<deadLayer or z>2t-deadLayer
|
||||||
|
Double_t result = param[0];
|
||||||
|
if ((z > param[2]) && (z < 2.0*param[1]-param[2]))
|
||||||
|
result = param[0]*cosh((param[1]-param[2]-(z-param[2]))/param[3])/cosh((param[1]-param[2])/param[3]);
|
||||||
|
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
57
src/tests/MeissnerNonMuSR/PMeissnerNonMuSR.h
Normal file
57
src/tests/MeissnerNonMuSR/PMeissnerNonMuSR.h
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
/***************************************************************************
|
||||||
|
|
||||||
|
PMeissnerNonMuSR.h
|
||||||
|
|
||||||
|
Author: Andreas Suter
|
||||||
|
e-mail: andreas.suter@psi.ch
|
||||||
|
|
||||||
|
$Id$
|
||||||
|
|
||||||
|
***************************************************************************/
|
||||||
|
|
||||||
|
/***************************************************************************
|
||||||
|
* Copyright (C) 2007 by Andreas Suter *
|
||||||
|
* andreas.suter@psi.c *
|
||||||
|
* *
|
||||||
|
* 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 _PMEISSNERNONMUSR_H_
|
||||||
|
#define _PMEISSNERNONMUSR_H_
|
||||||
|
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
#include "PUserFcnBase.h"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>Meissner screen profile for non-muSR \f$B_{\rm G}\f$ versus \f$\langle z \rangle\f$,
|
||||||
|
* where \f$B_{\rm G}\f$ is the screened field obtained from a Gaussian fit, and \f$\langle z \rangle\f$
|
||||||
|
* is the mean muon stopping range. The functional dependency is
|
||||||
|
* \f[ B_{\rm G}(\langle z \rangle) = B_0 \cosh\left[(\tilde{t}-z)/\lambda_{ab}\right]/\cosh\left[\tilde{t}/\lambda_{ab}\right] \f]
|
||||||
|
* where \f$\tilde{t} = t-d\f$ with \f$2 t\f$ the thickness of the sample, and \f$d\f$ the dead layer.
|
||||||
|
*/
|
||||||
|
class PMeissnerNonMuSR : public PUserFcnBase
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
PMeissnerNonMuSR();
|
||||||
|
~PMeissnerNonMuSR();
|
||||||
|
|
||||||
|
Double_t operator()(Double_t z, const std::vector<Double_t> ¶m) const;
|
||||||
|
|
||||||
|
ClassDef(PMeissnerNonMuSR, 1)
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // _PMEISSNERNONMUSR_H_
|
9
src/tests/MeissnerNonMuSR/PMeissnerNonMuSRLinkDef.h
Normal file
9
src/tests/MeissnerNonMuSR/PMeissnerNonMuSRLinkDef.h
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
#ifdef __CINT__
|
||||||
|
|
||||||
|
#pragma link off all globals;
|
||||||
|
#pragma link off all classes;
|
||||||
|
#pragma link off all functions;
|
||||||
|
|
||||||
|
#pragma link C++ class PMeissnerNonMuSR+;
|
||||||
|
|
||||||
|
#endif
|
162
src/tests/MeissnerNonMuSR/YBCO-Meissner.db
Normal file
162
src/tests/MeissnerNonMuSR/YBCO-Meissner.db
Normal file
@ -0,0 +1,162 @@
|
|||||||
|
TITLE
|
||||||
|
>>>Put your title here<<<
|
||||||
|
|
||||||
|
Abstract
|
||||||
|
>>>Put your abstract here<<<
|
||||||
|
|
||||||
|
LABELS
|
||||||
|
T (K)
|
||||||
|
mu0 H (G)
|
||||||
|
Implantation Energy (keV)
|
||||||
|
Transport (kV)
|
||||||
|
RAL-RAR (kV)
|
||||||
|
RAT-RAB (kV)
|
||||||
|
meanZ
|
||||||
|
phase
|
||||||
|
field
|
||||||
|
asymS
|
||||||
|
rateS
|
||||||
|
asymF
|
||||||
|
rateF
|
||||||
|
Norm_L
|
||||||
|
BG_L
|
||||||
|
Norm_R
|
||||||
|
BG_R
|
||||||
|
relasy_R
|
||||||
|
relphase_R
|
||||||
|
one
|
||||||
|
zero
|
||||||
|
CHISQ
|
||||||
|
NDF
|
||||||
|
CHISQred
|
||||||
|
RUN
|
||||||
|
|
||||||
|
Data dataT dataB dataE dataTr dataRALRAR dataRATRAB meanZ phase field asymS rateS asymF rateF Norm_L BG_L Norm_R BG_R relasy_R relphase_R one zero CHISQ NDF CHISQred RUN
|
||||||
|
\-e
|
||||||
|
dataT = 4.99941, 0.00650997, 0.00650997,\
|
||||||
|
dataB = 48.0186, 0, 0,\
|
||||||
|
dataE = 12.5235, 0, 0,\
|
||||||
|
dataTr = 15.0182, 0, 0,\
|
||||||
|
dataRALRAR = -0.139, 0, 0,\
|
||||||
|
dataRATRAB = 0.101, 0, 0,\
|
||||||
|
meanZ = 20, 0, 0,\
|
||||||
|
phase = 21.3446, 0.546258, 0.54555,\
|
||||||
|
field = 46.5739, 0.0441267, 0.0441304,\
|
||||||
|
asymS = 0.211786, 0.00180491, 0.00179975,\
|
||||||
|
rateS = 0.130139, 0.00550913, 0.00565179,\
|
||||||
|
asymF = 0, 0, 0,\
|
||||||
|
rateF = 0, 0, 0,\
|
||||||
|
Norm_L = 499.926, 0.74285, 0.744386,\
|
||||||
|
BG_L = 28.5418, 0.143533, 0.14318,\
|
||||||
|
Norm_R = 519.636, 0.754036, 0.754018,\
|
||||||
|
BG_R = 31.1182, 0.147768, 0.147756,\
|
||||||
|
relasy_R = 1.04062, 0.0113913, 0.0112727,\
|
||||||
|
relphase_R = 159.803, 0.586514, 0.587173,\
|
||||||
|
one = 1, 0, 0,\
|
||||||
|
zero = 0, 0, 0,\
|
||||||
|
CHISQ = 424.81, 0, 0,\
|
||||||
|
NDF = 392, 0, 0,\
|
||||||
|
CHISQred = 1.0837, 0, 0,\
|
||||||
|
261,,, LSCO (949,951,952) ZFC T=4.98 K,E=12.52 keV,B=~48(G)/1.50(A),Tr/Sa=15.02/1.60 kV,RAL-RAR=-0.14 kV,RAT-RAB=0.10 kV
|
||||||
|
dataT = 4.99564, 0.0621208, 0.0621208,\
|
||||||
|
dataB = 48.0453, 0, 0,\
|
||||||
|
dataE = 22.5189, 0, 0,\
|
||||||
|
dataTr = 15.0181, 0, 0,\
|
||||||
|
dataRALRAR = -0.111, 0, 0,\
|
||||||
|
dataRATRAB = 0.101, 0, 0,\
|
||||||
|
meanZ = 50, 0, 0,\
|
||||||
|
phase = 21.219, 0.543271, 0.543954,\
|
||||||
|
field = 46.5715, 0.0440877, 0.0440207,\
|
||||||
|
asymS = 0.21447, 0.00180433, 0.00180653,\
|
||||||
|
rateS = 0.132167, 0.00532286, 0.00546076,\
|
||||||
|
asymF = 0, 0, 0,\
|
||||||
|
rateF = 0, 0, 0,\
|
||||||
|
Norm_L = 495.542, 0.741127, 0.73896,\
|
||||||
|
BG_L = 28.1408, 0.142324, 0.142839,\
|
||||||
|
Norm_R = 527.913, 0.758809, 0.757839,\
|
||||||
|
BG_R = 30.8471, 0.14803, 0.148163,\
|
||||||
|
relasy_R = 1.02787, 0.0111753, 0.0110297,\
|
||||||
|
relphase_R = 160.378, 0.5825, 0.582385,\
|
||||||
|
one = 1, 0, 0,\
|
||||||
|
zero = 0, 0, 0,\
|
||||||
|
CHISQ = 363.518, 0, 0,\
|
||||||
|
NDF = 392, 0, 0,\
|
||||||
|
CHISQred = 0.927341, 0, 0,\
|
||||||
|
262,,, LSCO (949,951,952) ZFC T=5.00 K,E=22.52 keV,B=~48(G)/1.50(A),Tr/Sa=15.02/-8.40 kV,RAL-RAR=-0.11 kV,RAT-RAB=0.10 kV
|
||||||
|
dataT = 4.99984, 0.00585447, 0.00585447,\
|
||||||
|
dataB = 48.039, 0, 0,\
|
||||||
|
dataE = 4.52904, 0, 0,\
|
||||||
|
dataTr = 15.0181, 0, 0,\
|
||||||
|
dataRALRAR = -0.148, 0, 0,\
|
||||||
|
dataRATRAB = 0.101, 0, 0,\
|
||||||
|
meanZ = 130.3, 0, 0,\
|
||||||
|
phase = 22.2369, 0.705849, 0.705242,\
|
||||||
|
field = 46.8346, 0.0562009, 0.0561931,\
|
||||||
|
asymS = 0.162166, 0.00181365, 0.00181091,\
|
||||||
|
rateS = 0.129029, 0.00710755, 0.00735287,\
|
||||||
|
asymF = 0, 0, 0,\
|
||||||
|
rateF = 0, 0, 0,\
|
||||||
|
Norm_L = 503.131, 0.743846, 0.744346,\
|
||||||
|
BG_L = 28.6006, 0.143795, 0.143646,\
|
||||||
|
Norm_R = 517.372, 0.752304, 0.752205,\
|
||||||
|
BG_R = 30.6729, 0.147208, 0.147209,\
|
||||||
|
relasy_R = 1.08117, 0.015245, 0.0150009,\
|
||||||
|
relphase_R = 160.517, 0.752318, 0.753607,\
|
||||||
|
one = 1, 0, 0,\
|
||||||
|
zero = 0, 0, 0,\
|
||||||
|
CHISQ = 414.826, 0, 0,\
|
||||||
|
NDF = 392, 0, 0,\
|
||||||
|
CHISQred = 1.05823, 0, 0,\
|
||||||
|
263,,, LSCO (949,951,952) ZFC T=5.00 K,E=4.53 keV,B=~48(G)/1.50(A),Tr/Sa=15.02/9.59 kV,RAL-RAR=-0.15 kV,RAT-RAB=0.10 kV
|
||||||
|
dataT = 40.0008, 0.000682791, 0.000682791,\
|
||||||
|
dataB = 48.0408, 0, 0,\
|
||||||
|
dataE = 12.5235, 0, 0,\
|
||||||
|
dataTr = 15.0181, 0, 0,\
|
||||||
|
dataRALRAR = -0.138, 0, 0,\
|
||||||
|
dataRATRAB = 0.101, 0, 0,\
|
||||||
|
meanZ = 227.8, 0, 0,\
|
||||||
|
phase = 22.3589, 0.543593, 0.542181,\
|
||||||
|
field = 46.8825, 0.0418532, 0.0419479,\
|
||||||
|
asymS = 0.209744, 0.00176668, 0.00176403,\
|
||||||
|
rateS = 0.101772, 0.00629342, 0.00660049,\
|
||||||
|
asymF = 0, 0, 0,\
|
||||||
|
rateF = 0, 0, 0,\
|
||||||
|
Norm_L = 499.612, 0.741729, 0.741754,\
|
||||||
|
BG_L = 28.5143, 0.143253, 0.143207,\
|
||||||
|
Norm_R = 519.682, 0.752879, 0.752248,\
|
||||||
|
BG_R = 31.0601, 0.147658, 0.147804,\
|
||||||
|
relasy_R = 1.04906, 0.0113501, 0.0112243,\
|
||||||
|
relphase_R = 159.343, 0.581261, 0.58179,\
|
||||||
|
one = 1, 0, 0,\
|
||||||
|
zero = 0, 0, 0,\
|
||||||
|
CHISQ = 422.237, 0, 0,\
|
||||||
|
NDF = 392, 0, 0,\
|
||||||
|
CHISQred = 1.07713, 0, 0,\
|
||||||
|
264,,, LSCO (949,951,952) ZFC T=40.01 K,E=12.52 keV,B=~48(G)/1.50(A),Tr/Sa=15.02/1.60 kV,RAL-RAR=-0.14 kV,RAT-RAB=0.10 kV
|
||||||
|
dataT = 40.0001, 0.000412161, 0.000412161,\
|
||||||
|
dataB = 48.0451, 0, 0,\
|
||||||
|
dataE = 22.5195, 0, 0,\
|
||||||
|
dataTr = 15.0182, 0, 0,\
|
||||||
|
dataRALRAR = -0.112, 0, 0,\
|
||||||
|
dataRATRAB = 0.101, 0, 0,\
|
||||||
|
meanZ = 340.1, 0, 0,\
|
||||||
|
phase = 20.8701, 0.518675, 0.51845,\
|
||||||
|
field = 46.9052, 0.0410536, 0.0410349,\
|
||||||
|
asymS = 0.223576, 0.00178038, 0.00177858,\
|
||||||
|
rateS = 0.112782, 0.00560028, 0.00579775,\
|
||||||
|
asymF = 0, 0, 0,\
|
||||||
|
rateF = 0, 0, 0,\
|
||||||
|
Norm_L = 495.429, 0.739729, 0.739417,\
|
||||||
|
BG_L = 28.2599, 0.142554, 0.142607,\
|
||||||
|
Norm_R = 525.303, 0.75693, 0.756255,\
|
||||||
|
BG_R = 31.3186, 0.14834, 0.148485,\
|
||||||
|
relasy_R = 1.01191, 0.0105013, 0.0103782,\
|
||||||
|
relphase_R = 160.605, 0.557402, 0.557926,\
|
||||||
|
one = 1, 0, 0,\
|
||||||
|
zero = 0, 0, 0,\
|
||||||
|
CHISQ = 381.779, 0, 0,\
|
||||||
|
NDF = 392, 0, 0,\
|
||||||
|
CHISQred = 0.973927, 0, 0,\
|
||||||
|
265,,, LSCO (949,951,952) ZFC T=40.00 K,E=22.52 keV,B=~48(G)/1.50(A),Tr/Sa=15.02/-8.40 kV,RAL-RAR=-0.11 kV,RAT-RAB=0.10 kV
|
||||||
|
|
||||||
|
|
37
src/tests/MeissnerNonMuSR/YBCO-Meissner.msr
Normal file
37
src/tests/MeissnerNonMuSR/YBCO-Meissner.msr
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
YBCO Meissner
|
||||||
|
###############################################################
|
||||||
|
FITPARAMETER
|
||||||
|
# Nr. Name Value Step Pos_Error Boundaries
|
||||||
|
1 field 100.0 1.0 none 0 none
|
||||||
|
2 thickness 150.0 0.0 none
|
||||||
|
3 deadLayer 15.0 1.0 none 0 none
|
||||||
|
4 lambda 150.0 0.1 none 0 none
|
||||||
|
|
||||||
|
###############################################################
|
||||||
|
THEORY
|
||||||
|
userFcn libPMeissnerNonMuSR.so PMeissnerNonMuSR 1 2 3 4
|
||||||
|
|
||||||
|
###############################################################
|
||||||
|
RUN YBCO-Meissner MUE4 PSI DB (name beamline institute data-file-format)
|
||||||
|
fittype 8 (non musr fit)
|
||||||
|
map 0 0 0 0 0 0 0 0 0 0
|
||||||
|
xy-data meanZ field
|
||||||
|
fit 0 400
|
||||||
|
packing 1
|
||||||
|
|
||||||
|
###############################################################
|
||||||
|
COMMANDS
|
||||||
|
STRATEGY 1
|
||||||
|
MINIMIZE
|
||||||
|
#MINOS
|
||||||
|
SAVE
|
||||||
|
END RETURN
|
||||||
|
|
||||||
|
###############################################################
|
||||||
|
PLOT 8 (non muSR plot)
|
||||||
|
runs 1
|
||||||
|
range 0 400
|
||||||
|
|
||||||
|
###############################################################
|
||||||
|
STATISTIC --- 2008-04-04 07:44:31
|
||||||
|
chisq = 569.50931, NDF = 542, chisq/NDF = 1.05075518
|
7
src/tests/MeissnerNonMuSR/runlist.txt
Normal file
7
src/tests/MeissnerNonMuSR/runlist.txt
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
# YBCO Meissner runlist test
|
||||||
|
RUN meanZ
|
||||||
|
261 20
|
||||||
|
262 50
|
||||||
|
263 130.3
|
||||||
|
264 227.8
|
||||||
|
265 340.1
|
@ -32,6 +32,7 @@
|
|||||||
void t0NotEqFirstGoodData()
|
void t0NotEqFirstGoodData()
|
||||||
{
|
{
|
||||||
// load library
|
// load library
|
||||||
|
gSystem->Load("$ROOTSYS/lib/libTLemRunHeader");
|
||||||
gSystem->Load("$ROOTSYS/lib/libPAddPoissonNoise");
|
gSystem->Load("$ROOTSYS/lib/libPAddPoissonNoise");
|
||||||
|
|
||||||
// generate data
|
// generate data
|
||||||
@ -44,7 +45,7 @@ void t0NotEqFirstGoodData()
|
|||||||
decayAnaModule = histosFolder->AddFolder("DecayAnaModule", "muSR decay histograms");
|
decayAnaModule = histosFolder->AddFolder("DecayAnaModule", "muSR decay histograms");
|
||||||
|
|
||||||
// feed run info header
|
// feed run info header
|
||||||
UInt_t runNo = 20001;
|
UInt_t runNo = 30002;
|
||||||
TString tstr;
|
TString tstr;
|
||||||
runInfo = gROOT->GetRootFolder()->AddFolder("RunInfo", "LEM RunInfo");
|
runInfo = gROOT->GetRootFolder()->AddFolder("RunInfo", "LEM RunInfo");
|
||||||
gROOT->GetListOfBrowsables()->Add(runInfo, "RunInfo");
|
gROOT->GetListOfBrowsables()->Add(runInfo, "RunInfo");
|
||||||
@ -67,23 +68,23 @@ void t0NotEqFirstGoodData()
|
|||||||
header->SetNHist(8);
|
header->SetNHist(8);
|
||||||
header->SetCuts("none");
|
header->SetCuts("none");
|
||||||
header->SetModerator("none");
|
header->SetModerator("none");
|
||||||
Double_t tt0[8] = {3419.0, 3519.0, 3419.0, 3519.0, 3419.0, 3519.0, 3419.0, 3519.0};
|
Double_t tt0[8] = {3419.0, 3420.0, 3520.0, 3521.0, 3417.0, 3418.0, 3522.0, 3523.0};
|
||||||
header->SetTimeZero(tt0);
|
header->SetTimeZero(tt0);
|
||||||
runInfo->Add(header); //add header to RunInfo folder
|
runInfo->Add(header); //add header to RunInfo folder
|
||||||
|
|
||||||
// create histos
|
// create histos
|
||||||
UInt_t t0[8] = {3419, 3519, 3419, 3519, 3419.0, 3519.0, 3419.0, 3519.0};
|
UInt_t t0[8] = {3419, 3420, 3520, 3521, 3417, 3418, 3522, 3523};
|
||||||
UInt_t n0[8] = {10000.0, 10000.0, 10000.0, 10000.0, 10000.0, 10000.0, 10000.0, 10000.0};
|
UInt_t n0[8] = {10000.0, 10000.0, 10000.0, 10000.0, 10000.0, 10000.0, 10000.0, 10000.0};
|
||||||
UInt_t bkg[8] = {11.0, 11.0, 11.0, 11.0, 11.0, 11.0, 11.0, 11.0};
|
UInt_t bkg[8] = {10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0};
|
||||||
const Double_t tau = 2197.019; // ns
|
const Double_t tau = 2197.019; // ns
|
||||||
// asymmetry related stuff
|
// asymmetry related stuff
|
||||||
const Double_t timeResolution = 0.1953125; // ns
|
const Double_t timeResolution = 0.1953125; // ns
|
||||||
Double_t a0[8] = {0.26, 0.26, 0.26, 0.26, 0.26, 0.26, 0.26, 0.26};
|
Double_t a0[8] = {0.26, 0.26, 0.26, 0.26, 0.26, 0.26, 0.26, 0.26};
|
||||||
Double_t a1[8] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
|
Double_t a1[8] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
|
||||||
Double_t phase[8] = {0.0*TMath::Pi()/180.0, 45.0*TMath::Pi()/180.0, 90.0*TMath::Pi()/180.0, 135.0*TMath::Pi()/180.0,
|
Double_t phase[8] = {5.0*TMath::Pi()/180.0, 50.0*TMath::Pi()/180.0, 95.0*TMath::Pi()/180.0, 140.0*TMath::Pi()/180.0,
|
||||||
180.0*TMath::Pi()/180.0, 225.0*TMath::Pi()/180.0, 270.0*TMath::Pi()/180.0, 315.0*TMath::Pi()/180.0,};
|
185.0*TMath::Pi()/180.0, 230.0*TMath::Pi()/180.0, 275.0*TMath::Pi()/180.0, 320.0*TMath::Pi()/180.0,};
|
||||||
const Double_t gamma = 0.00001355; // gamma/(2pi)
|
const Double_t gamma = 0.00001355; // gamma/(2pi)
|
||||||
Double_t bb0 = 200.0; // field in Gauss
|
Double_t bb0 = 15000.0; // field in Gauss
|
||||||
Double_t bb1 = 400.0; // field in Gauss
|
Double_t bb1 = 400.0; // field in Gauss
|
||||||
Double_t sigma0 = 0.05/1000.0; // Gaussian sigma in 1/ns
|
Double_t sigma0 = 0.05/1000.0; // Gaussian sigma in 1/ns
|
||||||
Double_t sigma1 = 0.005/1000.0; // Gaussian sigma in 1/ns
|
Double_t sigma1 = 0.005/1000.0; // Gaussian sigma in 1/ns
|
||||||
@ -99,32 +100,30 @@ void t0NotEqFirstGoodData()
|
|||||||
Double_t time;
|
Double_t time;
|
||||||
Double_t dval;
|
Double_t dval;
|
||||||
for (UInt_t i=0; i<8; i++) {
|
for (UInt_t i=0; i<8; i++) {
|
||||||
for (UInt_t j=1; j<66601; j++) {
|
for (UInt_t j=0; j<66600; j++) {
|
||||||
if (j<t0[i]) {
|
if (j<t0[i]) {
|
||||||
histo[i]->SetBinContent(j, bkg[i]);
|
histo[i]->SetBinContent(j+1, bkg[i]);
|
||||||
} else {
|
} else {
|
||||||
time = (Double_t)(j-t0[i])*timeResolution;
|
time = (Double_t)(j-t0[i])*timeResolution;
|
||||||
dval = (Double_t)n0[i]*TMath::Exp(-time/tau)*(1.0+a0[i]*TMath::Exp(-0.5*TMath::Power(time*sigma0,1.2))*TMath::Cos(TMath::TwoPi()*gamma*bb0*time+phase[i])
|
dval = (Double_t)n0[i]*TMath::Exp(-time/tau)*(1.0+a0[i]*TMath::Exp(-0.5*TMath::Power(time*sigma0,1.2))*TMath::Cos(TMath::TwoPi()*gamma*bb0*time+phase[i])
|
||||||
+a1[i]*TMath::Exp(-0.5*TMath::Power(time*sigma1,2.0))*TMath::Cos(TMath::TwoPi()*gamma*bb1*time+phase[i]))+(Double_t)bkg[i];
|
+a1[i]*TMath::Exp(-0.5*TMath::Power(time*sigma1,2.0))*TMath::Cos(TMath::TwoPi()*gamma*bb1*time+phase[i]))+(Double_t)bkg[i];
|
||||||
histo[i]->SetBinContent(j, (UInt_t)dval);
|
histo[i]->SetBinContent(j+1, (UInt_t)dval);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// add a promp peak
|
// add a promp peak
|
||||||
/*
|
Double_t ampl = 10000.0;
|
||||||
Double_t ampl = 500.0;
|
|
||||||
Double_t promptLambda = 500.0/1000.0; // Lorentzain in 1/ns
|
Double_t promptLambda = 500.0/1000.0; // Lorentzain in 1/ns
|
||||||
for (UInt_t i=0; i<4; i++) {
|
for (UInt_t i=0; i<8; i++) {
|
||||||
for (UInt_t j=1; j<66601; j++) {
|
for (UInt_t j=1; j<66601; j++) {
|
||||||
dval = histo[i]->GetBinContent(j);
|
dval = histo[i]->GetBinContent(j);
|
||||||
time = (Double_t)(j-t0[i])*timeResolution;
|
time = (Double_t)(j-t0[i])*timeResolution;
|
||||||
dval += ampl*TMath::Exp(-fabs(time)*promptLambda);
|
dval += ampl*TMath::Exp(-fabs(time)*promptLambda);
|
||||||
histo[i]->SetBinContent(j, (UInt_t)dval);
|
histo[i]->SetBinContent(j, (UInt_t)dval);
|
||||||
histo[i+4]->SetBinContent(j, (UInt_t)dval);
|
histo[i+8]->SetBinContent(j, (UInt_t)dval);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
|
|
||||||
// add Poisson noise
|
// add Poisson noise
|
||||||
PAddPoissonNoise *addNoise = new PAddPoissonNoise();
|
PAddPoissonNoise *addNoise = new PAddPoissonNoise();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user