newly added
This commit is contained in:
parent
787a95dad3
commit
c4e7d3c57b
@ -4,19 +4,19 @@ FITPARAMETER
|
||||
# No Name Value Step Pos_Error Boundaries
|
||||
1 field 94.717 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
|
||||
|
||||
4 phase22 25.4956 0 none
|
||||
5 asym22 0.104724 -0.00293244 0.00297537 0 0.3
|
||||
6 rate22 0.558459 -0.0323891 0.0325438
|
||||
7 NormL22 753.067 -0.86835 0.866368
|
||||
8 BGL22 51.0796 -0.132894 0.132971
|
||||
9 NormR22 545.968 -0.762193 0.766843
|
||||
10 BGR22 38.5992 -0.115679 0.115309
|
||||
11 relasyR22 1.0697 -0.0377904 0.0388018 0.2 2
|
||||
12 relphaR22 162.711 -1.53722 1.51998 110 210
|
||||
5 asym22 0.104724 -0.00293244 none 0 0.3
|
||||
6 rate22 0.558459 -0.0323891 none
|
||||
7 NormL22 753.067 -0.86835 none
|
||||
8 BGL22 51.0796 -0.132894 none
|
||||
9 NormR22 545.968 -0.762193 none
|
||||
10 BGR22 38.5992 -0.115679 none
|
||||
11 relasyR22 1.0697 -0.0377904 none 0.2 2
|
||||
12 relphaR22 162.711 -1.53722 none 110 210
|
||||
13 energy22 22 0 none
|
||||
|
||||
14 one 1 0 none
|
||||
@ -41,7 +41,7 @@ norm 7
|
||||
backgr.fit 8
|
||||
lifetimecorrection
|
||||
map 4 5 6 14 15 13 0 0 0 0
|
||||
forward 1
|
||||
forward 1
|
||||
background 65000 66500
|
||||
data 3419 63000
|
||||
t0 3419
|
||||
@ -54,7 +54,7 @@ norm 9
|
||||
backgr.fit 10
|
||||
lifetimecorrection
|
||||
map 4 5 6 11 12 13 0 0 0 0
|
||||
forward 3
|
||||
forward 3
|
||||
background 65000 66500
|
||||
data 3419 63000
|
||||
t0 3419
|
||||
@ -65,7 +65,10 @@ packing 150
|
||||
COMMANDS
|
||||
MINIMIZE
|
||||
#HESSE
|
||||
MINOS
|
||||
#MINOS
|
||||
#SCAN 3
|
||||
CONTOURS 2 3
|
||||
MNPLOT
|
||||
SAVE
|
||||
|
||||
###############################################################
|
||||
@ -83,5 +86,5 @@ runs 1 2
|
||||
range 0.00 4.00 -0.25 0.25
|
||||
|
||||
###############################################################
|
||||
STATISTIC --- 2010-01-08 14:15:38
|
||||
chisq = 700.410521, NDF = 663, chisq/NDF = 1.05642612
|
||||
STATISTIC --- 2010-03-12 11:22:43
|
||||
*** FIT DID NOT CONVERGE ***
|
||||
|
@ -3,10 +3,10 @@ Test asymmetry plot, PSI-BIN data file
|
||||
FITPARAMETER
|
||||
# Nr. Name Value Step Pos_Error Boundaries
|
||||
1 alpha 0.954734 0 none 0 2
|
||||
2 asy 0.262608 0.00143923 none 0 0.33
|
||||
3 phase -0.699373 0.328173 none
|
||||
4 field 97.9126 0.0550285 none 0 none
|
||||
5 rate 0.316773 0.0044115 none 0 none
|
||||
2 asy 0.262387 0.00144114 none 0 0.33
|
||||
3 phase -0.0892349 0.327999 none
|
||||
4 field 97.9113 0.0550109 none 0 none
|
||||
5 rate 0.31646 0.00441463 none 0 none
|
||||
|
||||
###############################################################
|
||||
THEORY
|
||||
@ -23,8 +23,8 @@ RUN data/deltat_pta_gpd_0423 PIE1 PSI PSI-BIN (name beamline institute data-fi
|
||||
fittype 2 (asymmetry fit)
|
||||
alpha 1
|
||||
map 0 0 0 0 0 0 0 0 0 0 0
|
||||
forward 2
|
||||
backward 1
|
||||
forward 2
|
||||
backward 1
|
||||
background 61 184 57 145
|
||||
data 207 7994 167 8009
|
||||
t0 202 162
|
||||
@ -55,5 +55,5 @@ range 0.00 8.00 -0.30 0.30
|
||||
view_packing 38
|
||||
|
||||
###############################################################
|
||||
STATISTIC --- 2010-01-08 14:45:44
|
||||
chisq = 543.235673, NDF = 351, chisq/NDF = 1.54767998
|
||||
STATISTIC --- 2010-05-26 21:27:41
|
||||
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 <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <math.h>
|
||||
|
||||
/*******************
|
||||
|
@ -32,7 +32,7 @@
|
||||
#define Pi2 6.2831853071795865
|
||||
|
||||
#define GRIDDENSITY 16
|
||||
#define MAXITERATIONS 40
|
||||
#define MAXITERATIONS 100
|
||||
|
||||
/* Function prototype for remez() - the only function that should need be
|
||||
* called from external code
|
||||
|
@ -26,9 +26,11 @@
|
||||
**************************************************************************/
|
||||
|
||||
#include "remez.h"
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <math.h>
|
||||
|
||||
main()
|
||||
int main()
|
||||
{
|
||||
double *weights, *desired, *bands;
|
||||
double *h;
|
||||
@ -37,40 +39,50 @@ main()
|
||||
bands = (double *)malloc(10 * sizeof(double));
|
||||
weights = (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[1] = 1;
|
||||
desired[1] = 1;
|
||||
desired[2] = 0;
|
||||
desired[3] = 1;
|
||||
desired[4] = 0;
|
||||
// desired[3] = 1;
|
||||
// desired[4] = 0;
|
||||
|
||||
/*
|
||||
weights[0] = 10;
|
||||
weights[1] = 1;
|
||||
weights[2] = 3;
|
||||
weights[3] = 1;
|
||||
weights[4] = 20;
|
||||
*/
|
||||
|
||||
weights[0] = 1;
|
||||
weights[1] = 1;
|
||||
weights[2] = 1;
|
||||
// weights[3] = 1;
|
||||
// weights[4] = 1;
|
||||
|
||||
bands[0] = 0;
|
||||
bands[1] = 0.05;
|
||||
bands[2] = 0.1;
|
||||
bands[3] = 0.15;
|
||||
bands[4] = 0.18;
|
||||
bands[5] = 0.25;
|
||||
bands[6] = 0.3;
|
||||
bands[7] = 0.36;
|
||||
bands[8] = 0.41;
|
||||
bands[9] = 0.5;
|
||||
bands[1] = 0.12;
|
||||
bands[2] = 0.17;
|
||||
bands[3] = 0.28;
|
||||
bands[4] = 0.33;
|
||||
bands[5] = 0.50;
|
||||
// bands[6] = 0.3;
|
||||
// bands[7] = 0.36;
|
||||
// bands[8] = 0.41;
|
||||
// bands[9] = 0.5;
|
||||
|
||||
remez(h, 104, 5, bands, desired, weights, BANDPASS);
|
||||
for (i=0; i<104; i++)
|
||||
remez(h, 102, 2, bands, desired, weights, BANDPASS);
|
||||
for (i=0; i<102; i++)
|
||||
{
|
||||
printf("%23.20f\n", h[i]);
|
||||
printf("%3d, %23.20f\n", i, h[i]);
|
||||
}
|
||||
|
||||
free(bands);
|
||||
free(weights);
|
||||
free(desired);
|
||||
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()
|
||||
{
|
||||
// load library
|
||||
gSystem->Load("$ROOTSYS/lib/libTLemRunHeader");
|
||||
gSystem->Load("$ROOTSYS/lib/libPAddPoissonNoise");
|
||||
|
||||
// generate data
|
||||
@ -44,7 +45,7 @@ void t0NotEqFirstGoodData()
|
||||
decayAnaModule = histosFolder->AddFolder("DecayAnaModule", "muSR decay histograms");
|
||||
|
||||
// feed run info header
|
||||
UInt_t runNo = 20001;
|
||||
UInt_t runNo = 30002;
|
||||
TString tstr;
|
||||
runInfo = gROOT->GetRootFolder()->AddFolder("RunInfo", "LEM RunInfo");
|
||||
gROOT->GetListOfBrowsables()->Add(runInfo, "RunInfo");
|
||||
@ -67,23 +68,23 @@ void t0NotEqFirstGoodData()
|
||||
header->SetNHist(8);
|
||||
header->SetCuts("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);
|
||||
runInfo->Add(header); //add header to RunInfo folder
|
||||
|
||||
// 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 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
|
||||
// asymmetry related stuff
|
||||
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 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,
|
||||
180.0*TMath::Pi()/180.0, 225.0*TMath::Pi()/180.0, 270.0*TMath::Pi()/180.0, 315.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,
|
||||
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)
|
||||
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 sigma0 = 0.05/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 dval;
|
||||
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]) {
|
||||
histo[i]->SetBinContent(j, bkg[i]);
|
||||
histo[i]->SetBinContent(j+1, bkg[i]);
|
||||
} else {
|
||||
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])
|
||||
+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
|
||||
/*
|
||||
Double_t ampl = 500.0;
|
||||
Double_t ampl = 10000.0;
|
||||
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++) {
|
||||
dval = histo[i]->GetBinContent(j);
|
||||
time = (Double_t)(j-t0[i])*timeResolution;
|
||||
dval += ampl*TMath::Exp(-fabs(time)*promptLambda);
|
||||
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
|
||||
PAddPoissonNoise *addNoise = new PAddPoissonNoise();
|
||||
|
Loading…
x
Reference in New Issue
Block a user