Merged muonspin/musrfit:root6 into master
This commit is contained in:
commit
76c2a98f5a
@ -5,7 +5,7 @@ if (CMAKE_VERSION GREATER_EQUAL 3.12)
|
||||
cmake_policy(SET CMP0075 NEW)
|
||||
endif (CMAKE_VERSION GREATER_EQUAL 3.12)
|
||||
|
||||
project(musrfit VERSION 1.7.3 LANGUAGES C CXX)
|
||||
project(musrfit VERSION 1.7.4 LANGUAGES C CXX)
|
||||
|
||||
#--- musrfit specific options -------------------------------------------------
|
||||
option(nexus "build optional NeXus support. Needed for ISIS" OFF)
|
||||
|
@ -12,11 +12,16 @@ or
|
||||
|
||||
https://bitbucket.org/muonspin/musrfit/commits/all
|
||||
|
||||
Release of V1.7.4, 2021/06/16
|
||||
=============================
|
||||
|
||||
allow in asymmetry fits #forward groups != #backward groups
|
||||
|
||||
Release of V1.7.3, 2021/06/01
|
||||
=============================
|
||||
|
||||
making musrfit Apple Silicon M1 ready. Currently there is still an open issue
|
||||
with NeXus.
|
||||
with NeXus (HDF4 only).
|
||||
|
||||
Release of V1.7.2, 2021/04/16
|
||||
=============================
|
||||
|
@ -6334,16 +6334,7 @@ Bool_t PMsrHandler::CheckHistoGrouping()
|
||||
{
|
||||
Bool_t result = true;
|
||||
|
||||
for (UInt_t i=0; i<fRuns.size(); i++) {
|
||||
if (fRuns[i].GetFitType() == MSR_FITTYPE_ASYM || fRuns[i].GetFitType() == MSR_FITTYPE_BNMR) {
|
||||
if (fRuns[i].GetForwardHistoNoSize() != fRuns[i].GetBackwardHistoNoSize()) {
|
||||
std::cerr << std::endl << ">> PMsrHandler::CheckHistoGrouping: **ERROR** # of forward histos != # of backward histos.";
|
||||
std::cerr << std::endl << ">> Run #" << i+1;
|
||||
std::cerr << std::endl;
|
||||
result = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
for (UInt_t i=0; i<fRuns.size(); i++) {
|
||||
// check grouping entries are not identical, e.g. forward 1 1 2
|
||||
if (fRuns[i].GetForwardHistoNoSize() > 1) {
|
||||
for (UInt_t j=0; j<fRuns[i].GetForwardHistoNoSize(); j++) {
|
||||
|
@ -602,17 +602,7 @@ Bool_t PRunAsymmetry::PrepareData()
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (forwardHistoNo.size() != backwardHistoNo.size()) {
|
||||
std::cerr << std::endl << ">> PRunAsymmetry::PrepareData(): **PANIC ERROR**:";
|
||||
std::cerr << std::endl << ">> # of forward histograms different from # of backward histograms.";
|
||||
std::cerr << std::endl << ">> Will quit :-(";
|
||||
std::cerr << std::endl;
|
||||
// clean up
|
||||
forwardHistoNo.clear();
|
||||
backwardHistoNo.clear();
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
// keep the time resolution in (us)
|
||||
fTimeResolution = runData->GetTimeResolution()/1.0e3;
|
||||
std::cout.precision(10);
|
||||
@ -626,11 +616,13 @@ Bool_t PRunAsymmetry::PrepareData()
|
||||
// keep the histo of each group at this point (addruns handled below)
|
||||
std::vector<PDoubleVector> forward, backward;
|
||||
forward.resize(forwardHistoNo.size()); // resize to number of groups
|
||||
backward.resize(backwardHistoNo.size()); // resize to numer of groups
|
||||
for (UInt_t i=0; i<forwardHistoNo.size(); i++) {
|
||||
forward[i].resize(runData->GetDataBin(forwardHistoNo[i])->size());
|
||||
backward[i].resize(runData->GetDataBin(backwardHistoNo[i])->size());
|
||||
forward[i] = *runData->GetDataBin(forwardHistoNo[i]);
|
||||
}
|
||||
backward.resize(backwardHistoNo.size()); // resize to number of groups
|
||||
for (UInt_t i=0; i<backwardHistoNo.size(); i++) {
|
||||
backward[i].resize(runData->GetDataBin(backwardHistoNo[i])->size());
|
||||
backward[i] = *runData->GetDataBin(backwardHistoNo[i]);
|
||||
}
|
||||
|
||||
@ -676,9 +668,11 @@ Bool_t PRunAsymmetry::PrepareData()
|
||||
|
||||
// set forward/backward histo data of the first group
|
||||
fForward.resize(forward[0].size());
|
||||
fBackward.resize(backward[0].size());
|
||||
for (UInt_t i=0; i<fForward.size(); i++) {
|
||||
fForward[i] = forward[0][i];
|
||||
}
|
||||
fBackward.resize(backward[0].size());
|
||||
for (UInt_t i=0; i<fBackward.size(); i++) {
|
||||
fBackward[i] = backward[0][i];
|
||||
}
|
||||
|
||||
@ -1677,7 +1671,7 @@ Bool_t PRunAsymmetry::PrepareRRFViewData(PRawRunData* runData, UInt_t histoNo[2]
|
||||
//--------------------------------------------------------------------------
|
||||
/**
|
||||
* <p>Get the proper t0 for the single histogram run.
|
||||
* -# the t0 vector size = number of detectors (grouping) for forward.
|
||||
* -# the t0 vector size = number of detectors (grouping) for forward + backward.
|
||||
* -# initialize t0's with -1
|
||||
* -# fill t0's from RUN block
|
||||
* -# if t0's are missing (i.e. t0 == -1), try to fill from the GLOBAL block.
|
||||
@ -1698,7 +1692,11 @@ Bool_t PRunAsymmetry::GetProperT0(PRawRunData* runData, PMsrGlobalBlock *globalB
|
||||
// feed all T0's
|
||||
// first init T0's, T0's are stored as (forward T0, backward T0, etc.)
|
||||
fT0s.clear();
|
||||
fT0s.resize(2*forwardHistoNo.size());
|
||||
// this strange fT0 size estimate is needed in case #forw histos != #back histos
|
||||
size_t size = 2*forwardHistoNo.size();
|
||||
if (backwardHistoNo.size() > forwardHistoNo.size())
|
||||
size = 2*backwardHistoNo.size();
|
||||
fT0s.resize(size);
|
||||
for (UInt_t i=0; i<fT0s.size(); i++) {
|
||||
fT0s[i] = -1.0;
|
||||
}
|
||||
@ -1765,6 +1763,8 @@ Bool_t PRunAsymmetry::GetProperT0(PRawRunData* runData, PMsrGlobalBlock *globalB
|
||||
std::cerr << std::endl;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
for (UInt_t i=0; i<backwardHistoNo.size(); i++) {
|
||||
if ((fT0s[2*i+1] < 0) || (fT0s[2*i+1] > static_cast<Int_t>(runData->GetDataBin(backwardHistoNo[i])->size()))) {
|
||||
std::cerr << std::endl << ">> PRunAsymmetry::PrepareData(): **ERROR** t0 data bin (" << fT0s[2*i+1] << ") doesn't make any sense!";
|
||||
std::cerr << std::endl << ">> backwardHistoNo " << backwardHistoNo[i];
|
||||
|
@ -640,6 +640,7 @@ Bool_t PRunAsymmetryBNMR::PrepareData()
|
||||
return false;
|
||||
}
|
||||
}
|
||||
/* //as35
|
||||
if (forwardHistoNo.size() != backwardHistoNo.size()) {
|
||||
std::cerr << std::endl << ">> PRunAsymmetryBNMR::PrepareData(): **PANIC ERROR**:";
|
||||
std::cerr << std::endl << ">> # of forward histograms different from # of backward histograms.";
|
||||
@ -650,7 +651,8 @@ Bool_t PRunAsymmetryBNMR::PrepareData()
|
||||
backwardHistoNo.clear();
|
||||
return false;
|
||||
}
|
||||
|
||||
*/ //as35
|
||||
|
||||
// keep the time resolution in (s)
|
||||
fTimeResolution = runData->GetTimeResolution()/1.0e3;
|
||||
std::cout.precision(10);
|
||||
@ -664,11 +666,13 @@ Bool_t PRunAsymmetryBNMR::PrepareData()
|
||||
// keep the histo of each group at this point (addruns handled below)
|
||||
std::vector<PDoubleVector> forward, backward;
|
||||
forward.resize(forwardHistoNo.size()); // resize to number of groups
|
||||
backward.resize(backwardHistoNo.size()); // resize to numer of groups
|
||||
for (UInt_t i=0; i<forwardHistoNo.size(); i++) {
|
||||
forward[i].resize(runData->GetDataBin(forwardHistoNo[i])->size());
|
||||
backward[i].resize(runData->GetDataBin(backwardHistoNo[i])->size());
|
||||
forward[i] = *runData->GetDataBin(forwardHistoNo[i]);
|
||||
}
|
||||
backward.resize(backwardHistoNo.size()); // resize to number of groups
|
||||
for (UInt_t i=0; i<backwardHistoNo.size(); i++) {
|
||||
backward[i].resize(runData->GetDataBin(backwardHistoNo[i])->size());
|
||||
backward[i] = *runData->GetDataBin(backwardHistoNo[i]);
|
||||
}
|
||||
|
||||
@ -712,15 +716,18 @@ Bool_t PRunAsymmetryBNMR::PrepareData()
|
||||
}
|
||||
}
|
||||
|
||||
// set forward/backward histo data of the first group
|
||||
// set forward histo data of the first group
|
||||
fForwardp.resize(forward[0].size());
|
||||
fBackwardp.resize(backward[0].size());
|
||||
fForwardm.resize(forward[0].size());
|
||||
fBackwardm.resize(backward[0].size());
|
||||
for (UInt_t i=0; i<fForwardp.size(); i++) {
|
||||
fForwardp[i] = forward[0][i];
|
||||
fBackwardp[i] = backward[0][i];
|
||||
fForwardm[i] = forward[1][i];
|
||||
}
|
||||
// set backward histo data of the first group
|
||||
fBackwardp.resize(backward[0].size());
|
||||
fBackwardm.resize(backward[0].size());
|
||||
for (UInt_t i=0; i<fBackwardp.size(); i++) {
|
||||
fBackwardp[i] = backward[0][i];
|
||||
fBackwardm[i] = backward[1][i];
|
||||
}
|
||||
|
||||
@ -1529,7 +1536,11 @@ Bool_t PRunAsymmetryBNMR::GetProperT0(PRawRunData* runData, PMsrGlobalBlock *glo
|
||||
// feed all T0's
|
||||
// first init T0's, T0's are stored as (forward T0, backward T0, etc.)
|
||||
fT0s.clear();
|
||||
fT0s.resize(2*forwardHistoNo.size());
|
||||
// this strange fT0 size estimate is needed in case #forw histos != #back histos
|
||||
size_t size = 2*forwardHistoNo.size();
|
||||
if (backwardHistoNo.size() > forwardHistoNo.size())
|
||||
size = 2*backwardHistoNo.size();
|
||||
fT0s.resize(size);
|
||||
for (UInt_t i=0; i<fT0s.size(); i++) {
|
||||
fT0s[i] = -1.0;
|
||||
}
|
||||
@ -1596,6 +1607,8 @@ Bool_t PRunAsymmetryBNMR::GetProperT0(PRawRunData* runData, PMsrGlobalBlock *glo
|
||||
std::cerr << std::endl;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
for (UInt_t i=0; i<backwardHistoNo.size(); i++) {
|
||||
if ((fT0s[2*i+1] < 0) || (fT0s[2*i+1] > static_cast<Int_t>(runData->GetDataBin(backwardHistoNo[i])->size()))) {
|
||||
std::cerr << std::endl << ">> PRunAsymmetryBNMR::PrepareData(): **ERROR** t0 data bin (" << fT0s[2*i+1] << ") doesn't make any sense!";
|
||||
std::cerr << std::endl << ">> backwardHistoNo " << backwardHistoNo[i];
|
||||
|
@ -584,16 +584,6 @@ Bool_t PRunAsymmetryRRF::PrepareData()
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (forwardHistoNo.size() != backwardHistoNo.size()) {
|
||||
std::cerr << std::endl << ">> PRunAsymmetryRRF::PrepareData(): **PANIC ERROR**:";
|
||||
std::cerr << std::endl << ">> # of forward histograms different from # of backward histograms.";
|
||||
std::cerr << std::endl << ">> Will quit :-(";
|
||||
std::cerr << std::endl;
|
||||
// clean up
|
||||
forwardHistoNo.clear();
|
||||
backwardHistoNo.clear();
|
||||
return false;
|
||||
}
|
||||
|
||||
// keep the time resolution in (us)
|
||||
fTimeResolution = runData->GetTimeResolution()/1.0e3;
|
||||
@ -608,11 +598,13 @@ Bool_t PRunAsymmetryRRF::PrepareData()
|
||||
// keep the histo of each group at this point (addruns handled below)
|
||||
std::vector<PDoubleVector> forward, backward;
|
||||
forward.resize(forwardHistoNo.size()); // resize to number of groups
|
||||
backward.resize(backwardHistoNo.size()); // resize to numer of groups
|
||||
for (UInt_t i=0; i<forwardHistoNo.size(); i++) {
|
||||
forward[i].resize(runData->GetDataBin(forwardHistoNo[i])->size());
|
||||
backward[i].resize(runData->GetDataBin(backwardHistoNo[i])->size());
|
||||
forward[i] = *runData->GetDataBin(forwardHistoNo[i]);
|
||||
}
|
||||
backward.resize(backwardHistoNo.size()); // resize to number of groups
|
||||
for (UInt_t i=0; i<backwardHistoNo.size(); i++) {
|
||||
backward[i].resize(runData->GetDataBin(backwardHistoNo[i])->size());
|
||||
backward[i] = *runData->GetDataBin(backwardHistoNo[i]);
|
||||
}
|
||||
|
||||
@ -1281,7 +1273,11 @@ Bool_t PRunAsymmetryRRF::GetProperT0(PRawRunData* runData, PMsrGlobalBlock *glob
|
||||
// feed all T0's
|
||||
// first init T0's, T0's are stored as (forward T0, backward T0, etc.)
|
||||
fT0s.clear();
|
||||
fT0s.resize(2*forwardHistoNo.size());
|
||||
// this strange fT0 size estimate is needed in case #forw histos != #back histos
|
||||
size_t size = 2*forwardHistoNo.size();
|
||||
if (backwardHistoNo.size() > forwardHistoNo.size())
|
||||
size = 2*backwardHistoNo.size();
|
||||
fT0s.resize(size);
|
||||
for (UInt_t i=0; i<fT0s.size(); i++) {
|
||||
fT0s[i] = -1.0;
|
||||
}
|
||||
@ -1348,6 +1344,8 @@ Bool_t PRunAsymmetryRRF::GetProperT0(PRawRunData* runData, PMsrGlobalBlock *glob
|
||||
std::cerr << std::endl;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
for (UInt_t i=0; i<backwardHistoNo.size(); i++) {
|
||||
if ((fT0s[2*i+1] < 0) || (fT0s[2*i+1] > static_cast<Int_t>(runData->GetDataBin(backwardHistoNo[i])->size()))) {
|
||||
std::cerr << std::endl << ">> PRunAsymmetryRRF::PrepareData(): **ERROR** t0 data bin (" << fT0s[2*i+1] << ") doesn't make any sense!";
|
||||
std::cerr << std::endl << ">> backwardHistoNo " << backwardHistoNo[i];
|
||||
|
Loading…
x
Reference in New Issue
Block a user