More recent working version

This commit is contained in:
salman 2018-10-15 10:16:41 +02:00
parent e428554f7e
commit 2cd81cf235

View File

@ -27,10 +27,11 @@ my $SUMM_DIR="/afs/psi.ch/project/nemu/data/summ/";
my %DBDIR=("LEM","/afs/psi.ch/project/nemu/data/log/", my %DBDIR=("LEM","/afs/psi.ch/project/nemu/data/log/",
"GPS","/afs/psi.ch/project/bulkmusr/olddata/list/", "GPS","/afs/psi.ch/project/bulkmusr/olddata/list/",
"Dolly","/afs/psi.ch/project/bulkmusr/olddata/list/", "Dolly","/afs/psi.ch/project/bulkmusr/olddata/list/",
"GPD","/afs/psi.ch/project/bulkmusr/olddata/list/", "GPD","/afs/psi.ch/project/bulkmusr/olddata/list/",
"ALC","/afs/psi.ch/project/bulkmusr/olddata/list/", "ALC","/afs/psi.ch/project/bulkmusr/olddata/list/",
"HAL","/afs/psi.ch/project/bulkmusr/olddata/list/", "HAL","/afs/psi.ch/project/bulkmusr/olddata/list/",
"LTF","/afs/psi.ch/project/bulkmusr/olddata/list/"); "LTF","/afs/psi.ch/project/bulkmusr/olddata/list/",
"ALL","/afs/psi.ch/project/bulkmusr/olddata/list/");
# Information available since # Information available since
my %MinYears=("LEM","2001", my %MinYears=("LEM","2001",
@ -662,12 +663,13 @@ sub CreateTheory {
# Start from this theory line for the different fitting functions # Start from this theory line for the different fitting functions
my %THEORY = ( my %THEORY = (
"asymmetry", "Asy", "asymmetry", "Asy",
"simplExpo", "Lam", "simplExpo", "Lam",
"generExpo", "Lam Bet", "generExpo", "Lam Bet",
"simpleGss", "Sgm", "abragam", "Del Lam",
"statGssKT", "Sgm", "simpleGss", "Sgm",
"statGssKTLF", "Frqg Sgm", "statGssKT", "Sgm",
"statGssKTLF", "Frqg Sgm",
"dynGssKTLF", "Frql Sgm Lam", "dynGssKTLF", "Frql Sgm Lam",
"statExpKT", "Lam", "statExpKT", "Lam",
"statExpKTLF", "Frq Aa", "statExpKTLF", "Frq Aa",
@ -680,10 +682,9 @@ sub CreateTheory {
"internFld", "Alp Phi Frq LamT LamL", "internFld", "Alp Phi Frq LamT LamL",
"Bessel", "Phi Frq", "Bessel", "Phi Frq",
"internBsl", "Alp Phi Frq LamT LamL", "internBsl", "Alp Phi Frq LamT LamL",
"abragam", "Sgm gam", "Meissner", "Phi Energy Field DeadLayer Lambda",
"Meissner", "Phi Energy Field DeadLayer Lambda", "skewedGss", "Phi Frq Sgmm Sgmp"
"skewedGss", "Phi Frq Sgmm Sgmp" );
);
####################################################################### #######################################################################
# Generate the full THEORY block # Generate the full THEORY block
@ -752,6 +753,14 @@ sub CreateTheory {
$Parameters = join( $SPACE, $Parameters, $THEORY{'TFieldCos'} ); $Parameters = join( $SPACE, $Parameters, $THEORY{'TFieldCos'} );
} }
# Oscillationg Abragam function
elsif ( $FitType eq "AbragamCos" ) {
$T_Block = $T_Block . "\n" . "abragam " . $THEORY{'abragam'};
$Parameters = join( $SPACE, $Parameters, $THEORY{'abragam'} );
$T_Block = $T_Block . "\n" . "TFieldCos " . $THEORY{'TFieldCos'};
$Parameters = join( $SPACE, $Parameters, $THEORY{'TFieldCos'} );
}
# Oscillationg Bessel Gaussian # Oscillationg Bessel Gaussian
elsif ( $FitType eq "GaussianBessel" ) { elsif ( $FitType eq "GaussianBessel" ) {
$T_Block = $T_Block . "\n" . "simpleGss " . $THEORY{'simpleGss'}; $T_Block = $T_Block . "\n" . "simpleGss " . $THEORY{'simpleGss'};
@ -1015,8 +1024,16 @@ sub T0BgData {
($RV{"t0"},$RV{"Bg1"},$RV{"Bg2"},$RV{"Data1"},$RV{"Data2"})=split(/,/,$HistParams); ($RV{"t0"},$RV{"Bg1"},$RV{"Bg2"},$RV{"Data1"},$RV{"Data2"})=split(/,/,$HistParams);
} }
elsif ($BeamLine eq "GPS") { elsif ($BeamLine eq "GPS") {
my $HistParams=$GPS{$Hists[0]}; my $HistParams=$GPS{$Hists[0]};
($RV{"t0"},$RV{"Bg1"},$RV{"Bg2"},$RV{"Data1"},$RV{"Data2"})=split(/,/,$HistParams); ($RV{"t0"},$RV{"Bg1"},$RV{"Bg2"},$RV{"Data1"},$RV{"Data2"})=split(/,/,$HistParams);
}
elsif ($BeamLine eq "GPD") {
my $HistParams=$GPD{$Hists[0]};
($RV{"t0"},$RV{"Bg1"},$RV{"Bg2"},$RV{"Data1"},$RV{"Data2"})=split(/,/,$HistParams);
}
else {
my $HistParams=$GPS{$Hists[0]};
($RV{"t0"},$RV{"Bg1"},$RV{"Bg2"},$RV{"Data1"},$RV{"Data2"})=split(/,/,$HistParams);
} }
return $RV{$Name}; return $RV{$Name};
@ -1262,6 +1279,7 @@ sub ExportParams {
push( @FitTypes, $All{"FitType$i"} ); push( @FitTypes, $All{"FitType$i"} );
} }
} }
# Get theory block to determine the size of the table # Get theory block to determine the size of the table
my ($Full_T_Block,$Paramcomp_ref)= MSR::CreateTheory(@FitTypes); my ($Full_T_Block,$Paramcomp_ref)= MSR::CreateTheory(@FitTypes);
# For now the line below does not work. Why? # For now the line below does not work. Why?