Merged in master (pull request #11)

Master
This commit is contained in:
Zaher Salman 2019-08-31 08:31:26 +00:00 committed by Andreas Suter
commit a1924c2756
2 changed files with 70 additions and 56 deletions

View File

@ -2337,6 +2337,11 @@ Int_t PMsrHandler::WriteMsrFile(const Char_t *filename, std::map<UInt_t, TString
fout << "logy" << std::endl; fout << "logy" << std::endl;
} }
// lifetimecorrection
if (fPlots[i].fLifeTimeCorrection) {
fout << "lifetimecorrection" << std::endl;
}
// rrf_packing // rrf_packing
if (fPlots[i].fRRFPacking) { if (fPlots[i].fRRFPacking) {
fout << "rrf_packing " << fPlots[i].fRRFPacking << std::endl; fout << "rrf_packing " << fPlots[i].fRRFPacking << std::endl;
@ -4797,6 +4802,8 @@ Bool_t PMsrHandler::HandlePlotEntry(PMsrLines &lines)
param.fLogX = true; param.fLogX = true;
} else if (iter1->fLine.Contains("logy", TString::kIgnoreCase)) { } else if (iter1->fLine.Contains("logy", TString::kIgnoreCase)) {
param.fLogY = true; param.fLogY = true;
} else if (iter1->fLine.Contains("lifetimecorrection", TString::kIgnoreCase)) {
param.fLifeTimeCorrection = true;
} else if (iter1->fLine.Contains("view_packing", TString::kIgnoreCase)) { } else if (iter1->fLine.Contains("view_packing", TString::kIgnoreCase)) {
tokens = iter1->fLine.Tokenize(" \t"); tokens = iter1->fLine.Tokenize(" \t");
if (!tokens) { if (!tokens) {

View File

@ -299,32 +299,36 @@ sub CreateMSRUni {
} }
$FRANGE_Line = "fit TINI TFIN"; $FRANGE_Line = "fit TINI TFIN";
$PAC_Line = "packing BINNING"; $PAC_Line = "packing BINNING";
$Single_RUN = $Single_RUN =
"$RUN_Line\n$Type_Line\n$Alpha_Line$Hist_Lines\n$T0DataBg$MAP_Line\n$FRANGE_Line\n$PAC_Line\n\n"; "$RUN_Line\n$Alpha_Line$Hist_Lines\n$T0DataBg$MAP_Line\n";
# This is from CreateRUNBlk # Now add the appropriate values of fit range and packing
#$DEBUG =~s /T0LINE/$T0_Line/; # If there no multiple ranges/packing then simply use GLOBAL block
#$DEBUG =~s /BGLINE/$Bg_Line/; if ($#TiVals == 0) {
#$DEBUG =~s /DATALINE/$Data_Line/; $GLOBAL_Block = "GLOBAL\n$Type_Line\n$FRANGE_Line\n$PAC_Line\n\n";
} else {
# Now add the appropriate values of fit range and packing $GLOBAL_Block = "GLOBAL\n$Type_Line\n\n";
my $Range_Min = 8; $Single_RUN = $Single_RUN."$FRANGE_Line\n$PAC_Line\n";
my $Range_Max = 0; }
my $k = 0; my $Range_Min = 8;
my $Range_Max = 0;
my $k = 0;
foreach my $Ti (@TiVals) { foreach my $Ti (@TiVals) {
my $Tf = $TfVals[$k]; my $Tf = $TfVals[$k];
my $BIN = $BINVals[$k]; my $BIN = $BINVals[$k];
$RUN_Block = $RUN_Block . $Single_RUN; $RUN_Block = $RUN_Block . $Single_RUN;
$RUN_Block =~ s/TINI/$Ti/g; $RUN_Block =~ s/TINI/$Ti/g;
$RUN_Block =~ s/TFIN/$Tf/g; $RUN_Block =~ s/TFIN/$Tf/g;
$RUN_Block =~ s/BINNING/$BIN/g; $RUN_Block =~ s/BINNING/$BIN/g;
$GLOBAL_Block =~ s/TINI/$Ti/g;
# For multiple ranges use this $GLOBAL_Block =~ s/TFIN/$Tf/g;
if ( $Ti < $Range_Min ) { $Range_Min = $Ti; } $GLOBAL_Block =~ s/BINNING/$BIN/g;
# For multiple ranges use this
if ( $Ti < $Range_Min ) { $Range_Min = $Ti; }
if ( $Tf > $Range_Max ) { $Range_Max = $Tf; } if ( $Tf > $Range_Max ) { $Range_Max = $Tf; }
$RUNS_Line = "$RUNS_Line " . $Range_Order; $RUNS_Line = "$RUNS_Line " . $Range_Order;
++$k; ++$k;
++$Range_Order; ++$Range_Order;
@ -404,17 +408,12 @@ sub CreateMSRUni {
if ($Shared) { if ($Shared) {
$NoBg_Line = "norm 1\n"; $NoBg_Line = "norm 1\n";
} }
else { else {
$NoBg_Line = "norm $PCount\n"; $NoBg_Line = "norm $PCount\n";
} }
}
# Optional - add lifetime correction for SingleHist fits # If you encounter NBg in the parameters list make sure
if ( $All{"ltc"} eq "y" ) { # to fill this line for the RUN block.
$NoBg_Line = $NoBg_Line . "lifetimecorrection\n";
}
}
# If you encounter NBg in the parameters list make sure
# to fill this line for the RUN block.
elsif ( $Param_ORG eq "NBg" ) { elsif ( $Param_ORG eq "NBg" ) {
if ($Shared) { if ($Shared) {
$NoBg_Line = $NoBg_Line . "backgr.fit 2\n"; $NoBg_Line = $NoBg_Line . "backgr.fit 2\n";
@ -484,34 +483,38 @@ sub CreateMSRUni {
$Data_Line=$Data_Line."\nt0 ".$All{"t0$Hist"}; $Data_Line=$Data_Line."\nt0 ".$All{"t0$Hist"};
} }
$FRANGE_Line = "fit TINI TFIN"; $FRANGE_Line = "fit TINI TFIN";
$PAC_Line = "packing BINNING"; $PAC_Line = "packing BINNING";
$Single_RUN = $EMPTY; $Tmp_Hist_Line = $Hist_Lines;
$Tmp_Hist_Line = $Hist_Lines; $Tmp_Hist_Line =~ s/HIST/$Hist/g;
$Tmp_Hist_Line =~ s/HIST/$Hist/g; $Single_RUN = "$RUN_Line\n$NoBg_Line$Tmp_Hist_Line\n$Data_Line\n$MAP_Line\n";
$Single_RUN = $Single_RUN
. "$RUN_Line\n$Type_Line\n$NoBg_Line$Tmp_Hist_Line\n$Data_Line\n$MAP_Line\n$FRANGE_Line\n$PAC_Line\n\n"; # Now add the appropriate values of fit range and packing
# If there no multiple ranges/packing then simply use GLOBAL block
# This is from CreateRUNBlk if ($#TiVals == 0) {
#$DEBUG =~s /T0LINE/$T0_Line/; $GLOBAL_Block = "GLOBAL\n$Type_Line\n$FRANGE_Line\n$PAC_Line\n\n";
#$DEBUG =~s /BGLINE/$Bg_Line/; } else {
#$DEBUG =~s /DATALINE/$Data_Line/; $GLOBAL_Block = "GLOBAL\n$Type_Line\n\n";
$Single_RUN = $Single_RUN."$FRANGE_Line\n$PAC_Line\n";
# Now add the appropriate values of fit range and packing }
my $Range_Min = 8;
my $Range_Max = 0; my $Range_Min = 8;
my $k = 0; my $Range_Max = 0;
my $k = 0;
foreach my $Ti (@TiVals) { foreach my $Ti (@TiVals) {
my $Tf = $TfVals[$k]; my $Tf = $TfVals[$k];
my $BIN = $BINVals[$k]; my $BIN = $BINVals[$k];
$RUN_Block = $RUN_Block . $Single_RUN; $RUN_Block = $RUN_Block . $Single_RUN;
$RUN_Block =~ s/TINI/$Ti/g; $RUN_Block =~ s/TINI/$Ti/g;
$RUN_Block =~ s/TFIN/$Tf/g; $RUN_Block =~ s/TFIN/$Tf/g;
$RUN_Block =~ s/BINNING/$BIN/g; $RUN_Block =~ s/BINNING/$BIN/g;
$GLOBAL_Block =~ s/TINI/$Ti/g;
# For multiple ranges use this $GLOBAL_Block =~ s/TFIN/$Tf/g;
if ( $Ti < $Range_Min ) { $Range_Min = $Ti; } $GLOBAL_Block =~ s/BINNING/$BIN/g;
# For multiple ranges use this
if ( $Ti < $Range_Min ) { $Range_Min = $Ti; }
if ( $Tf > $Range_Max ) { $Range_Max = $Tf; } if ( $Tf > $Range_Max ) { $Range_Max = $Tf; }
$RUNS_Line = "$RUNS_Line " . $Range_Order; $RUNS_Line = "$RUNS_Line " . $Range_Order;
++$k; ++$k;
@ -546,7 +549,7 @@ sub CreateMSRUni {
$PCount $Param $value $error $error $minvalue $maxvalue"; $PCount $Param $value $error $error $minvalue $maxvalue";
} }
$Full_T_Block = "THEORY\n###############################################################\n$Full_T_Block\n"; $Full_T_Block = "THEORY\n$Full_T_Block\n";
# COMMAND Block # COMMAND Block
$COMMANDS_Block = "COMMANDS\nFITMINTYPE\nSAVE\n"; $COMMANDS_Block = "COMMANDS\nFITMINTYPE\nSAVE\n";
@ -558,6 +561,8 @@ sub CreateMSRUni {
my $logxy = $EMPTY; my $logxy = $EMPTY;
if ( $All{"logx"} eq "y" ) { $logxy = $logxy . "logx\n"; } if ( $All{"logx"} eq "y" ) { $logxy = $logxy . "logx\n"; }
if ( $All{"logy"} eq "y" ) { $logxy = $logxy . "logy\n"; } if ( $All{"logy"} eq "y" ) { $logxy = $logxy . "logy\n"; }
# Optional - add lifetime correction for SingleHist fits
if ( $All{"ltc"} eq "y" ) { $logxy = $logxy . "lifetimecorrection"; }
# Check if a plot range is defined (i.e. different from fit) # Check if a plot range is defined (i.e. different from fit)
$PRANGE_Line = "use_fit_ranges"; $PRANGE_Line = "use_fit_ranges";
@ -573,7 +578,7 @@ sub CreateMSRUni {
if ( $All{"ViewBin"}!=0 ) { $VIEWBIN_Line = "view_packing ".$All{"ViewBin"};} if ( $All{"ViewBin"}!=0 ) { $VIEWBIN_Line = "view_packing ".$All{"ViewBin"};}
my $RRFBlock=MSR::CreateRRFBlk(\%All); my $RRFBlock=MSR::CreateRRFBlk(\%All);
$PLOT_Block = "PLOT $PLT\nruns $RUNS_Line\n$PRANGE_Line\n$VIEWBIN_Line\n$RRFBlock\n$logxy"; $PLOT_Block = "PLOT $PLT\n$logxy\nruns $RUNS_Line\n$PRANGE_Line\n$VIEWBIN_Line\n$RRFBlock";
#END - PLOT Block #END - PLOT Block
# FFT Block # FFT Block
@ -594,6 +599,8 @@ $Full_T_Block
############################################################### ###############################################################
$FUNCTIONS_Block $FUNCTIONS_Block
############################################################### ###############################################################
$GLOBAL_Block
###############################################################
$RUN_Block $RUN_Block
############################################################### ###############################################################
$COMMANDS_Block $COMMANDS_Block