Add HAL and move to MUSR-ROOT in MuSRFitGUI. Update msr template for libBNMR.
This commit is contained in:
parent
34fe2e6220
commit
460d35defa
139
src/external/MuSRFitGUI/MSR.pm
vendored
139
src/external/MuSRFitGUI/MSR.pm
vendored
@ -11,13 +11,14 @@ my %DATADIRS = (
|
||||
"GPS", "/afs/psi.ch/project/bulkmusr/data/gps",
|
||||
"LTF", "/afs/psi.ch/project/bulkmusr/data/ltf",
|
||||
"Dolly", "/afs/psi.ch/project/bulkmusr/data/dolly",
|
||||
"GPD", "/afs/psi.ch/project/bulkmusr/data/gpd"
|
||||
"GPD", "/afs/psi.ch/project/bulkmusr/data/gpd",
|
||||
"HAL", "/afs/psi.ch/project/bulkmusr/data/hifi"
|
||||
);
|
||||
|
||||
my %BeamLines = ( "LEM", "MUE4", "LEM (PPC)", "MUE4", "GPS", "PIM3", "LTF", "PIM3", "Dolly", "PIE1", "GPD", "PIE1" );
|
||||
my %BeamLines = ( "LEM", "MUE4", "LEM (PPC)", "MUE4", "GPS", "PIM3", "LTF", "PIM3", "Dolly", "PIE1", "GPD", "PIE1" , "HAL", "PIE3");
|
||||
|
||||
my %Def_Format =
|
||||
( "LEM", "ROOT-NPP", "LEM (PPC)", "ROOT-PPC", "GPS", "PSI-BIN", "LTF", "PSI-BIN", "Dolly", "PSI-BIN" , "GPD", "PSI-BIN");
|
||||
( "LEM", "MUSR-ROOT", "LEM (PPC)", "ROOT-PPC", "GPS", "PSI-BIN", "LTF", "PSI-BIN", "Dolly", "PSI-BIN" , "GPD", "PSI-BIN", "HAL", "PSI-MDU");
|
||||
|
||||
# Additional information to extract run properties from database
|
||||
# For LEM use summary files
|
||||
@ -28,6 +29,7 @@ $SUMM_DIR="/afs/psi.ch/project/nemu/data/summ/";
|
||||
"Dolly","/afs/psi.ch/project/bulkmusr/olddata/list/",
|
||||
"GPD","/afs/psi.ch/project/bulkmusr/olddata/list/",
|
||||
"ALC","/afs/psi.ch/project/bulkmusr/olddata/list/",
|
||||
"HAL","/afs/psi.ch/project/bulkmusr/olddata/list/",
|
||||
"LTF","/afs/psi.ch/project/bulkmusr/olddata/list/");
|
||||
|
||||
# Information available since
|
||||
@ -36,6 +38,7 @@ $SUMM_DIR="/afs/psi.ch/project/nemu/data/summ/";
|
||||
"Dolly","1998",
|
||||
"GPD","1993",
|
||||
"ALC","1993",
|
||||
"HAL","2012",
|
||||
"LTF","1995");
|
||||
|
||||
# And to deal with old names of bulk muons
|
||||
@ -160,6 +163,9 @@ FUNCTIONS
|
||||
my $RUNSType = 0;
|
||||
my @RUNS=();
|
||||
if ($All{"RunNumbers"} ne $EMPTY) {
|
||||
# Remove spaces and other illegal characters
|
||||
$All{"RunNumbers"} =~ s/ //g;
|
||||
$All{"RunNumbers"} =~ s/[a-zA-Z]//g;
|
||||
@RUNS=split( /,/, $All{"RunNumbers"});
|
||||
$RUNSType = 0;
|
||||
}
|
||||
@ -415,13 +421,11 @@ SAVE
|
||||
# Check if a plot range is defined (i.e. different from fit)
|
||||
$PRANGE_Line = "use_fit_ranges";
|
||||
if ( $All{"Xi"} != $All{"Xf"} ) {
|
||||
|
||||
# if ($Yi != $Yf) {
|
||||
$PRANGE_Line = "range ".$All{"Xi"}." ".$All{"Xf"}." ".$All{"Yi"}." ".$All{"Yf"};
|
||||
|
||||
# } else {
|
||||
# $PRANGE_Line = "range $Xi $Xf";
|
||||
# }
|
||||
if ($All{"Yi"} != $All{"Yf"}) {
|
||||
$PRANGE_Line = "range ".$All{"Xi"}." ".$All{"Xf"}." ".$All{"Yi"}." ".$All{"Yf"};
|
||||
} else {
|
||||
$PRANGE_Line = "range ".$All{"Xi"}." ".$All{"Xf"};
|
||||
}
|
||||
}
|
||||
|
||||
$VIEWBIN_Line ="";
|
||||
@ -441,7 +445,10 @@ $logxy";
|
||||
if ($All{"FAPODIZATION"} eq $EMPTY) {$All{"FAPODIZATION"}="STRONG";}
|
||||
if ($All{"FPLOT"} eq $EMPTY) {$All{"FPLOT"}="POWER";}
|
||||
if ($All{"FPHASE"} eq $EMPTY) {$All{"FPHASE"}="8.5";}
|
||||
|
||||
my $FrqRange = "#range ".$All{"FRQMIN"}." ".$All{"FRQMAX"};
|
||||
if ($All{"FRQMAX"} ne $EMPTY && $All{"FRQMIN"} ne $EMPTY) {
|
||||
$FrqRange = "range ".$All{"FRQMIN"}." ".$All{"FRQMAX"};
|
||||
}
|
||||
|
||||
$FOURIER_Block=
|
||||
"###############################################################
|
||||
@ -451,12 +458,13 @@ fourier_power 12
|
||||
apodization FAPODIZATION # NONE, WEAK, MEDIUM, STRONG
|
||||
plot FPLOT # REAL, IMAG, REAL_AND_IMAG, POWER, PHASE
|
||||
phase FPHASE
|
||||
#range FRQMIN FRQMAX";
|
||||
FRQRANGE";
|
||||
|
||||
$FOURIER_Block=~ s/FUNITS/$All{"FUNITS"}/g;
|
||||
$FOURIER_Block=~ s/FAPODIZATION/$All{"FAPODIZATION"}/g;
|
||||
$FOURIER_Block=~ s/FPLOT/$All{"FPLOT"}/g;
|
||||
$FOURIER_Block=~ s/FPHASE/$All{"FPHASE"}/g;
|
||||
$FOURIER_Block=~ s/FRQRANGE/$FrqRange/g;
|
||||
|
||||
# Don't know why but it is needed initially
|
||||
$STAT_Block =
|
||||
@ -519,8 +527,6 @@ sub CreateMSRSingleHist {
|
||||
my ($Full_T_Block,$Paramcomp_ref)=MSR::CreateTheory(@FitTypes);
|
||||
my @Paramcomp = @$Paramcomp_ref;
|
||||
|
||||
print "Paramcomp= $Paramcomp[0]";
|
||||
|
||||
# If we have a FUNCTIONS Block the Full_T_Block should be
|
||||
# replaced by Func_T_Block
|
||||
$FUNCTIONS_Block = $EMPTY;
|
||||
@ -664,6 +670,7 @@ FUNCTIONS
|
||||
$NoBg_Line = $NoBg_Line . "backgr.fit $PCount\n";
|
||||
}
|
||||
}
|
||||
|
||||
# End of No and NBg Lines
|
||||
# Now deal with physical parameters and phases
|
||||
elsif ( $Param_ORG ne "Phi" && $Param_ORG ne "No" && $Param_ORG ne "NBg") {
|
||||
@ -817,13 +824,11 @@ SAVE
|
||||
# Check if a plot range is defined (i.e. different from fit)
|
||||
$PRANGE_Line = "use_fit_ranges";
|
||||
if ( $All{"Xi"} != $All{"Xf"} ) {
|
||||
|
||||
# if ($Yi != $Yf) {
|
||||
$PRANGE_Line = "range ".$All{"Xi"}." ".$All{"Xf"}." ".$All{"Yi"}." ".$All{"Yf"};
|
||||
|
||||
# } else {
|
||||
# $PRANGE_Line = "range $Xi $Xf";
|
||||
# }
|
||||
if ($All{"Yi"} != $All{"Yf"}) {
|
||||
$PRANGE_Line = "range ".$All{"Xi"}." ".$All{"Xf"}." ".$All{"Yi"}." ".$All{"Yf"};
|
||||
} else {
|
||||
$PRANGE_Line = "range ".$All{"Xi"}." ".$All{"Xf"};
|
||||
}
|
||||
}
|
||||
|
||||
my $RRFBlock=MSR::CreateRRFBlock(\%All);
|
||||
@ -1057,11 +1062,18 @@ sub CreateTheory {
|
||||
$Parameters = join( $SPACE, $Parameters, $THEORY{'dynGssKTLF'} );
|
||||
}
|
||||
|
||||
# Static Lorentzian or Gaussian KF ZF
|
||||
elsif ( $FitType eq "LGKT" ) {
|
||||
$T_Block = $T_Block . "\n" . "combiLGKT " . $THEORY{'combiLGKT'};
|
||||
$Parameters = join( $SPACE, $Parameters, $THEORY{'combiLGKT'} );
|
||||
}
|
||||
|
||||
# Static Stretched KF ZF
|
||||
elsif ( $FitType eq "STRKT" ) {
|
||||
$T_Block = $T_Block . "\n" . "strKT " . $THEORY{'strKT'};
|
||||
$Parameters = join( $SPACE, $Parameters, $THEORY{'strKT'} );
|
||||
}
|
||||
|
||||
# Now some more combined functions (multiplication).
|
||||
|
||||
# Lorentzian KT LF multiplied by exponential
|
||||
@ -1109,6 +1121,15 @@ sub CreateTheory {
|
||||
$Parameters = join( $SPACE, $Parameters, $THEORY{'combiLGKT'} );
|
||||
}
|
||||
|
||||
# Stretched KT ZF multiplied by exponential
|
||||
elsif ( $FitType eq "STRKTExp" ) {
|
||||
$T_Block = $T_Block . "\n" . "simplExpo " . $THEORY{'simplExpo'};
|
||||
$Parameters = join( $SPACE, $Parameters, $THEORY{'simplExpo'} );
|
||||
$T_Block =
|
||||
$T_Block . "\n" . "strKT " . $THEORY{'strKT'};
|
||||
$Parameters = join( $SPACE, $Parameters, $THEORY{'strKT'} );
|
||||
}
|
||||
|
||||
# Lorentzian or Gaussian KT ZF multiplied by stretched exponential
|
||||
elsif ( $FitType eq "LGKTSExp" ) {
|
||||
$T_Block = $T_Block . "\n" . "generExpo " . $THEORY{'generExpo'};
|
||||
@ -1118,6 +1139,15 @@ sub CreateTheory {
|
||||
$Parameters = join( $SPACE, $Parameters, $THEORY{'combiLGKT'} );
|
||||
}
|
||||
|
||||
# Stretched KT ZF multiplied by stretched exponential
|
||||
elsif ( $FitType eq "STRKTSExp" ) {
|
||||
$T_Block = $T_Block . "\n" . "generExpo " . $THEORY{'generExpo'};
|
||||
$Parameters = join( $SPACE, $Parameters, $THEORY{'generExpo'} );
|
||||
$T_Block =
|
||||
$T_Block . "\n" . "strKT " . $THEORY{'strKT'};
|
||||
$Parameters = join( $SPACE, $Parameters, $THEORY{'strKT'} );
|
||||
}
|
||||
|
||||
# Lorentzian or Gaussian KT LF multiplied by stretched exponential
|
||||
elsif ( $FitType eq "MolMag" ) {
|
||||
$T_Block = $T_Block . "\n" . "generExpo " . $THEORY{'generExpo'};
|
||||
@ -1717,7 +1747,7 @@ sub RUNFileNameAuto {
|
||||
my $RUN_Line=$EMPTY;
|
||||
# if BeamLine is empty assume manual name
|
||||
if ($BeamLine eq $EMPTY) {
|
||||
my %EXTs = ("root","ROOT-NPP",
|
||||
my %EXTs = ("root","MUSR-ROOT",
|
||||
"bin","PSI-BIN",
|
||||
"msr","MUD");
|
||||
|
||||
@ -1764,6 +1794,11 @@ sub RUNFileNameAuto {
|
||||
elsif ( $BeamLine eq "GPD" ) {
|
||||
$RUN_File_Name = "deltat_tdc_gpd_" . $RUNtmp;
|
||||
$RUNFILE = "$DATADIR/d$YEAR/tdc/$RUN_File_Name";
|
||||
}
|
||||
elsif ( $BeamLine eq "HAL" ) {
|
||||
$RUNtmp=sprintf("%05d",$RUNtmp);
|
||||
$RUN_File_Name = "tdc_hifi_" . $YEAR . "_" . $RUNtmp;
|
||||
$RUNFILE = "$DATADIR/d$YEAR/tdc/$RUN_File_Name";
|
||||
}
|
||||
$RUN_Line = join( $SPACE,
|
||||
"RUN", $RUNFILE, $BeamLines{$BeamLine}, "PSI",
|
||||
@ -1792,6 +1827,52 @@ sub CreateRRFBlock {
|
||||
}
|
||||
|
||||
|
||||
########################
|
||||
# ExtractInfo
|
||||
########################
|
||||
# Used to extract information from data file header. The header (using
|
||||
# "dump_header" is sent to this function from musrfit.cgi or MuSRFit
|
||||
sub ExtractInfo {
|
||||
my ($header,$Arg) = @_;
|
||||
|
||||
my @lines = split(/\n/,$header);
|
||||
|
||||
if ( $Arg eq "TITLE" ) {
|
||||
$RTRN_Val = $lines[3];
|
||||
$RTRN_Val =~ s/\n//g;
|
||||
}
|
||||
elsif ( $Arg eq "Temp" ) {
|
||||
foreach my $line (@lines) {
|
||||
if ( $line =~ /Mean Sample_CF1/ ) {
|
||||
( my $tmp, my $T ) = split( /=/, $line );
|
||||
( $T, $tmp ) = split( /\(/, $T );
|
||||
$RTRN_Val = $T;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
elsif ( $Arg eq "Field" ) {
|
||||
foreach my $line (@lines) {
|
||||
if ( $line =~ /Mean B field/ ) {
|
||||
( $tmp, my $B ) = split( /=/, $line );
|
||||
( $B, $tmp ) = split( /\(/, $B );
|
||||
$RTRN_Val = $B;
|
||||
}
|
||||
}
|
||||
}
|
||||
elsif ( $Arg eq "Energy" ) {
|
||||
foreach my $line (@lines) {
|
||||
if ( $line =~ /implantation energy/ ) {
|
||||
( my $tmp1, my $tmp2, my $E ) = split( /=/, $line );
|
||||
( $E, $tmp ) = split( /keV/, $E );
|
||||
$RTRN_Val = $E;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
# $RTRN_Val =~ s/[\.\~\/\&\*\[\;\>\<\^\$\(\)\`\|\]\'\@]//g;
|
||||
return $RTRN_Val;
|
||||
}
|
||||
|
||||
|
||||
########################
|
||||
@ -2224,7 +2305,7 @@ FUNCTIONS
|
||||
FITPARAMETER
|
||||
###############################################################
|
||||
# No Name Value Err Min Max ";
|
||||
my %PTable=MSR::PrepParamTableSh(\%All);
|
||||
my %PTable=MSR::PrepParamTable(\%All);
|
||||
my $NParam=scalar keys( %PTable );
|
||||
# Fill the table with labels and values of parametr
|
||||
for (my $iP=0;$iP<$NParam;$iP++) {
|
||||
@ -2266,13 +2347,11 @@ SAVE
|
||||
# Check if a plot range is defined (i.e. different from fit)
|
||||
$PRANGE_Line = "use_fit_ranges";
|
||||
if ( $All{"Xi"} != $All{"Xf"} ) {
|
||||
|
||||
# if ($Yi != $Yf) {
|
||||
$PRANGE_Line = "range ".$All{"Xi"}." ".$All{"Xf"}." ".$All{"Yi"}." ".$All{"Yf"};
|
||||
|
||||
# } else {
|
||||
# $PRANGE_Line = "range $Xi $Xf";
|
||||
# }
|
||||
if ($All{"Yi"} != $All{"Yf"}) {
|
||||
$PRANGE_Line = "range ".$All{"Xi"}." ".$All{"Xf"}." ".$All{"Yi"}." ".$All{"Yf"};
|
||||
} else {
|
||||
$PRANGE_Line = "range ".$All{"Xi"}." ".$All{"Xf"};
|
||||
}
|
||||
}
|
||||
|
||||
$VIEWBIN_Line ="";
|
||||
|
41
src/external/libBNMR/ExpRlx-MUD.msr
vendored
41
src/external/libBNMR/ExpRlx-MUD.msr
vendored
@ -4,23 +4,23 @@
|
||||
FITPARAMETER
|
||||
###############################################################
|
||||
# No Name Value Err Min Max
|
||||
1 Alphap 1.11662 0.00020 none
|
||||
2 Asyp 0 0.00038 none
|
||||
3 T 1e6 0 none
|
||||
4 Rlx 0.969e6 0.020 none
|
||||
5 Pos 1 0 none
|
||||
6 Neg -1 0 none
|
||||
1 Alpha 1.11587 0.00038 none
|
||||
2 Asy 0.0570 0.0011 none
|
||||
3 T 1 0 none
|
||||
4 Rlx 1.015 0.023 none
|
||||
5 One 1 0 none
|
||||
6 Bet -1.052 0.027 none
|
||||
|
||||
###############################################################
|
||||
THEORY
|
||||
###############################################################
|
||||
asymmetry fun1
|
||||
userFcn libBNMR.so ExpRlx 3 4
|
||||
userFcn .libs/libBNMR.so ExpRlx 3 4
|
||||
|
||||
###############################################################
|
||||
FUNCTIONS
|
||||
###############################################################
|
||||
fun1 = map1 * map2
|
||||
fun1 = 0.5 * map1 * map2
|
||||
|
||||
###############################################################
|
||||
RUN 045674 BNMR TRIUMF MUD (name beamline institute data-file-format)
|
||||
@ -28,11 +28,12 @@ fittype 2 (asymmetry fit)
|
||||
alpha 1
|
||||
forward 3
|
||||
backward 4
|
||||
data 11 799 11 799
|
||||
background 800 900 800 900 # estimated bkg: 416.9700 / 465.7600
|
||||
t0 0.0 0.0
|
||||
data 11 800 11 800
|
||||
#backgr.fix 0
|
||||
background 1 9 1 9 # estimated bkg: 8.0000 / 9.6250
|
||||
t0 10.0 10.0
|
||||
map 2 5 0 0 0 0 0 0 0 0
|
||||
fit 5e5 8e6
|
||||
fit 0.5 8
|
||||
packing 5
|
||||
|
||||
RUN 045674 BNMR TRIUMF MUD (name beamline institute data-file-format)
|
||||
@ -40,11 +41,12 @@ fittype 2 (asymmetry fit)
|
||||
alpha 1
|
||||
forward 5
|
||||
backward 6
|
||||
data 11 799 11 799
|
||||
background 800 900 800 900 # estimated bkg: 430.9200 / 479.4500
|
||||
t0 0.0 0.0
|
||||
data 11 800 11 800
|
||||
#backgr.fix 0
|
||||
background 1 9 1 9 # estimated bkg: 11.6250 / 15.6250
|
||||
t0 10.0 10.0
|
||||
map 2 6 0 0 0 0 0 0 0 0
|
||||
fit 5e5 8e6
|
||||
fit 0.5 8
|
||||
packing 5
|
||||
|
||||
|
||||
@ -58,16 +60,17 @@ SAVE
|
||||
PLOT 2 (asymmetry plot)
|
||||
runs 1 2
|
||||
use_fit_ranges
|
||||
view_packing 10
|
||||
|
||||
|
||||
###############################################################
|
||||
FOURIER
|
||||
units MHz # units either 'Gauss', 'MHz', or 'Mc/s'
|
||||
units MHz # units either 'Gauss', 'Tesla', 'MHz', or 'Mc/s'
|
||||
fourier_power 12
|
||||
apodization STRONG # NONE, WEAK, MEDIUM, STRONG
|
||||
plot POWER # REAL, IMAG, REAL_AND_IMAG, POWER, PHASE
|
||||
phase 8
|
||||
#range FRQMIN FRQMAX
|
||||
###############################################################
|
||||
STATISTIC --- 2014-11-14 16:37:41
|
||||
chisq = 372.2, NDF = 295, chisq/NDF = 1.261744
|
||||
STATISTIC --- 2015-04-14 11:00:19
|
||||
chisq = 399.5, NDF = 290, chisq/NDF = 1.377736
|
||||
|
2
src/external/libBNMR/ExpRlx.msr
vendored
2
src/external/libBNMR/ExpRlx.msr
vendored
@ -9,7 +9,7 @@ FITPARAMETER
|
||||
###############################################################
|
||||
THEORY
|
||||
asymmetry 1
|
||||
userFcn /home/l_salman/LEM/musrfit/src/external/libBNMR/libBNMR.so ExpRlx 2 3
|
||||
userFcn /usr/local/lib/libBNMR.so ExpRlx 2 3
|
||||
|
||||
###############################################################
|
||||
RUN 45377 MUE4 PSI ASCII (name beamline institute data-file-format)
|
||||
|
2
src/external/libBNMR/SExpRlx.msr
vendored
2
src/external/libBNMR/SExpRlx.msr
vendored
@ -10,7 +10,7 @@ FITPARAMETER
|
||||
###############################################################
|
||||
THEORY
|
||||
asymmetry 1
|
||||
userFcn /home/l_salman/LEM/musrfit/src/external/libBNMR/libBNMR.so SExpRlx 2 3 4
|
||||
userFcn /usr/local/lib/libBNMR.so SExpRlx 2 3 4
|
||||
|
||||
###############################################################
|
||||
RUN 45377 MUE4 PSI ASCII (name beamline institute data-file-format)
|
||||
|
Loading…
x
Reference in New Issue
Block a user