(i) added cross-check for Asymmetry view which makes sure that fbg-t0 is equal for forward and backward histo. (ii) extended the command block for the test-nonlocal.msr in order to have an example which shows the more 'advanced' features of minuit.

This commit is contained in:
suter_a 2014-11-10 15:57:07 +01:00
parent 78fa497de6
commit 89ae45b769
3 changed files with 65 additions and 26 deletions

View File

@ -60,6 +60,11 @@ FIXED 2012-09-23 fixed wrong chisq output in musrview if expected chisq is
present.
FIXED 2012-05-30 fixed RRF bug in single histo plotting.
FIXED 2012-05-18 fixed wrong forward/backward tag for ROOT-PPC (MUSR-215)
CHANGED 2014-11-10 (i) added cross-check for Asymmetry view which makes sure that
fbg-t0 is equal for forward and backward histo.
(ii) extended the command block for the test-nonlocal.msr in
order to have an example which shows the more 'advanced' features
of minuit.
CHANGED 2014-10-28 BMWlibs, calculation of superconducting gap functions:
allow to choose between to different parameterization of the
temperature dependence of the gap. For details see the memo

View File

@ -4,22 +4,22 @@ FITPARAMETER
# Nr. Name Value Step Pos_Error Boundaries
1 one 1 0 none
2 zero 0 0 none
3 Asy 0.2133 -0.0053 0.0056 0 0.33
3 Asy 0.2235 -0.0066 0.0072 0 0.33
4 energy 22 0 none
5 redTemp 0.8683 0 none
6 thickness 5000 0 none
7 ell 12000 0 none
8 xi 94 0 none
9 lambdaL 48.21 0.98 none
9 lambdaL 52.5 -1.4 1.2
10 Bext 47.11 0 none
11 deadLayer 15.555 0.063 none 0 none
12 RateSmear 0.363 -0.016 0.016
13 N0_L 299.40 -0.99 1.02
14 Bkg_L 24.535 -0.089 0.089
15 Phase_L 35.5 -2.0 2.1
16 Alpha_LR 1.0734 -0.0059 0.0057
17 Bkg_R 27.611 -0.088 0.088
18 RelPhase_R 153.4 -1.1 1.1
11 deadLayer 0.00052 -0.00052 6.89563 0 none
12 RateSmear 0.418 -0.015 0.015
13 N0_L 301.61 0.62 none
14 Bkg_L 24.442 0.076 none
15 Phase_L 42.0 -2.2 2.2
16 Alpha_LR 1.0614 -0.0066 0.0064
17 Bkg_R 27.646 -0.090 0.090
18 RelPhase_R 154.4 -1.1 1.1
###############################################################
THEORY
@ -60,6 +60,8 @@ packing 250
###############################################################
COMMANDS
MAX_LIKELIHOOD
PRINT_LEVEL 3
STRATEGY=2
MINIMIZE
#HESSE
MINOS
@ -82,8 +84,8 @@ phase 8.5
range 0.0 200.0
###############################################################
STATISTIC --- 2013-11-12 10:23:31
maxLH = 415.7, NDF = 358, maxLH/NDF = 1.161264
STATISTIC --- 2014-11-05 12:34:54
maxLH = 415.6, NDF = 358, maxLH/NDF = 1.160933

View File

@ -1216,20 +1216,33 @@ Bool_t PRunAsymmetry::PrepareViewData(PRawRunData* runData, UInt_t histoNo[2])
cerr << endl << ">> NO WARRANTY THAT THIS DOES MAKE ANY SENSE.";
cerr << endl;
} else {
// calculate the max(data range start[i]-t0[i])
Int_t diff = fRunInfo->GetDataRange(0)-static_cast<Int_t>(t0[0]);
if (abs(diff) < abs(fRunInfo->GetDataRange(2)-static_cast<Int_t>(t0[1])))
diff = fRunInfo->GetDataRange(0)-static_cast<Int_t>(t0[0]);
// check if the data ranges and t0's between forward/backward are compatible
Int_t fgb[2];
if (fRunInfo->GetDataRange(0)-t0[0] != fRunInfo->GetDataRange(2)-t0[1]) { // wrong fgb aligning
if (fabs(fRunInfo->GetDataRange(0)-t0[0]) > fabs(fRunInfo->GetDataRange(2)-t0[1])) {
fgb[0] = fRunInfo->GetDataRange(0);
fgb[1] = static_cast<Int_t>(t0[1]) + fRunInfo->GetDataRange(0)-t0[0];
cerr << endl << ">> PRunAsymmetry::PrepareViewData(): **WARNING** needed to shift backward fgb from ";
cerr << fRunInfo->GetDataRange(2) << " to " << fgb[1] << endl;
} else {
fgb[0] = static_cast<Int_t>(t0[0]) + fRunInfo->GetDataRange(2)-t0[1];
fgb[1] = fRunInfo->GetDataRange(2);
cerr << endl << ">> PRunAsymmetry::PrepareViewData(): **WARNING** needed to shift forward fgb from ";
cerr << fRunInfo->GetDataRange(0) << " to " << fgb[0] << endl;
}
} else { // fgb aligning is correct
fgb[0] = fRunInfo->GetDataRange(0);
fgb[1] = fRunInfo->GetDataRange(2);
}
// calculate start position for plotting
Int_t val = static_cast<Int_t>(t0[1])+diff-packing*((static_cast<Int_t>(t0[1])+diff)/packing);
Int_t val = fgb[0]-packing*(fgb[0]/packing);
do {
if (static_cast<Double_t>(val)+t0[1]-t0[0] < 0.0)
if (fgb[1] - fgb[0] < 0)
val += packing;
} while (static_cast<Double_t>(val) + t0[1] - t0[0] < 0.0);
} while (val + fgb[1] - fgb[0] < 0);
start[0] = val;
start[1] = val + static_cast<Int_t>(t0[1] - t0[0]);
start[1] = val + fgb[1] - fgb[0];
}
// make sure that there are equal number of rebinned bins in forward and backward
@ -1468,15 +1481,34 @@ Bool_t PRunAsymmetry::PrepareRRFViewData(PRawRunData* runData, UInt_t histoNo[2]
cerr << endl << ">> PRunAsymmetry::PrepareRRFViewData(): **WARNING** data range (backward) was not provided, will try data range start = " << start[1] << ".";
cerr << endl << ">> NO WARRANTY THAT THIS DOES MAKE ANY SENSE.";
cerr << endl;
} else {
Int_t val = fRunInfo->GetDataRange(0)-packing*(fRunInfo->GetDataRange(0)/packing);
} else { // data range has been provided
// check if the data ranges and t0's between forward/backward are compatible
Int_t fgb[2];
if (fRunInfo->GetDataRange(0)-t0[0] != fRunInfo->GetDataRange(2)-t0[1]) { // wrong fgb aligning
if (fabs(fRunInfo->GetDataRange(0)-t0[0]) > fabs(fRunInfo->GetDataRange(2)-t0[1])) {
fgb[0] = fRunInfo->GetDataRange(0);
fgb[1] = static_cast<Int_t>(t0[1]) + fRunInfo->GetDataRange(0)-t0[0];
cerr << endl << ">> PRunAsymmetry::PrepareRRFViewData(): **WARNING** needed to shift backward fgb from ";
cerr << fRunInfo->GetDataRange(2) << " to " << fgb[1] << endl;
} else {
fgb[0] = static_cast<Int_t>(t0[0]) + fRunInfo->GetDataRange(2)-t0[1];
fgb[1] = fRunInfo->GetDataRange(2);
cerr << endl << ">> PRunAsymmetry::PrepareRRFViewData(): **WARNING** needed to shift forward fgb from ";
cerr << fRunInfo->GetDataRange(0) << " to " << fgb[0] << endl;
}
} else { // fgb aligning is correct
fgb[0] = fRunInfo->GetDataRange(0);
fgb[1] = fRunInfo->GetDataRange(2);
}
Int_t val = fgb[0]-packing*(fgb[0]/packing);
do {
if (fRunInfo->GetDataRange(2) - fRunInfo->GetDataRange(0) < 0)
if (fgb[1] - fgb[0] < 0)
val += packing;
} while (val + fRunInfo->GetDataRange(2) - fRunInfo->GetDataRange(0) < 0);
} while (val + fgb[1] - fgb[0] < 0);
start[0] = val;
start[1] = val + fRunInfo->GetDataRange(2) - fRunInfo->GetDataRange(0);
start[1] = val + fgb[1] - fgb[0];
}
// make sure that there are equal number of rebinned bins in forward and backward