From 2734e0b0aefedb0dfb688485e3d7b243b82e938c Mon Sep 17 00:00:00 2001
From: pospelov <pospelov@fz-juelich.de>
Date: Mon, 11 Feb 2013 14:15:35 +0100
Subject: [PATCH] another fit config

---
 App/inc/TestMesoCrystal2.h                    |   1 +
 App/src/IsGISAXSTools.cpp                     |   8 +
 App/src/TestMesoCrystal2.cpp                  | 156 ++++++++++++++----
 .../ex02_fitspheres/fit_history.txt           | 118 +++++++++++++
 4 files changed, 248 insertions(+), 35 deletions(-)

diff --git a/App/inc/TestMesoCrystal2.h b/App/inc/TestMesoCrystal2.h
index cf684c9a6e2..54c57b6e034 100644
--- a/App/inc/TestMesoCrystal2.h
+++ b/App/inc/TestMesoCrystal2.h
@@ -76,6 +76,7 @@ public:
     void fitsuite_config1();
     void fitsuite_config2();
     void fitsuite_config3();
+    void fitsuite_config4();
 
 private:
     void initializeRealData();
diff --git a/App/src/IsGISAXSTools.cpp b/App/src/IsGISAXSTools.cpp
index 071e67db4d2..59108c7ca2a 100644
--- a/App/src/IsGISAXSTools.cpp
+++ b/App/src/IsGISAXSTools.cpp
@@ -141,6 +141,14 @@ TH2D *IsGISAXSTools::getOutputDataTH2D(const OutputData<double>& output, const s
     }
 
     // creation of 2D with variable bin size
+//    std::cout << "XXX " << (int)haxises[0].nbins << " "  << (int)haxises[1].nbins;
+//    for(size_t i=0; i<haxises[0].xbins.size(); ++i) {
+//        std::cout << i << " axis0:" << haxises[0].xbins[i] << std::endl;
+//    }
+//    for(size_t i=0; i<haxises[1].xbins.size(); ++i) {
+//        std::cout << i << " axis1:" << haxises[1].xbins[i] << std::endl;
+//    }
+
     TH2D *hist2 = new TH2D(histo_name.c_str(), histo_name.c_str(), (int)haxises[0].nbins, &haxises[0].xbins[0], (int)haxises[1].nbins, &haxises[1].xbins[0]);
     hist2->GetXaxis()->SetTitle( haxises[0].name.c_str() );
     hist2->GetYaxis()->SetTitle( haxises[1].name.c_str() );
diff --git a/App/src/TestMesoCrystal2.cpp b/App/src/TestMesoCrystal2.cpp
index 381498d858a..fba9c142125 100644
--- a/App/src/TestMesoCrystal2.cpp
+++ b/App/src/TestMesoCrystal2.cpp
@@ -75,44 +75,55 @@ void TestMesoCrystal2::draw_results()
 
     ParameterPool *pool = m_sample_builder->createParameterTree();
     std::cout << *pool << std::endl;
-    pool->setMatchedParametersValue("*/lattice_length_a", 6.19e+00);           // 6.2
-    pool->setMatchedParametersValue("*/lattice_length_c", 6.19e+00);           // 6.2
-    pool->setMatchedParametersValue("*/nanoparticle_radius", 5.75e+00);        // 5.7
-    pool->setMatchedParametersValue("*/sigma_nanoparticle_radius", 6.1e-01);  // 0.1
-    pool->setMatchedParametersValue("*/sigma_lattice_length_a", 4.1e-01);     // 1.5
-    pool->setMatchedParametersValue("*/surface_filling_ratio", 0.1);      // 0.25
-    pool->setMatchedParametersValue("*/roughness", 1.0);                      // 1.0
-    m_experiment->setBeamIntensity(8e+12);
+//    pool->setMatchedParametersValue("*/lattice_length_a", 6.2e+00);           // 6.2
+//    pool->setMatchedParametersValue("*/lattice_length_c", 6.2e+00);           // 6.2
+//    pool->setMatchedParametersValue("*/nanoparticle_radius", 5.7e+00);        // 5.7
+//    pool->setMatchedParametersValue("*/sigma_nanoparticle_radius", 1.0e-01);  // 0.1
+//    pool->setMatchedParametersValue("*/meso_height", 200);  // 0.1
+//    pool->setMatchedParametersValue("*/meso_radius", 1000);  // 0.1
+//    pool->setMatchedParametersValue("*/sigma_meso_height", 20);  // 0.1
+//    pool->setMatchedParametersValue("*/sigma_meso_radius", 100);  // 0.1
+//    pool->setMatchedParametersValue("*/sigma_lattice_length_a", 1.0);     // 1.5
+//    pool->setMatchedParametersValue("*/surface_filling_ratio", 0.2);      // 0.25
+//    pool->setMatchedParametersValue("*/roughness", 1.0);                      // 1.0
+//    m_experiment->setBeamIntensity(8e+12);
+//    m_experiment->runSimulation();
+//    m_experiment->normalize();
+
+//    IsGISAXSTools::drawOutputDataComparisonResults(*m_experiment->getOutputData(), *m_real_data, "initial", "initial params", 100, 1e6, 100);
+
+    pool->setMatchedParametersValue("*/lattice_length_a", 6.2091e+00);           // 6.2
+    pool->setMatchedParametersValue("*/lattice_length_c", 6.5677e+00);           // 6.2
+    pool->setMatchedParametersValue("*/nanoparticle_radius", 4.6976e+00);        // 5.7
+    pool->setMatchedParametersValue("*/sigma_nanoparticle_radius", 3.6720e-01);  // 0.1
+    pool->setMatchedParametersValue("*/meso_height", 1.1221e+02);  // 0.1
+    pool->setMatchedParametersValue("*/meso_radius", 9.4567e+02);  // 0.1
+    pool->setMatchedParametersValue("*/sigma_meso_height", 1.3310e+00);  // 0.1
+    pool->setMatchedParametersValue("*/sigma_meso_radius", 1.3863e+00);  // 0.1
+    pool->setMatchedParametersValue("*/sigma_lattice_length_a", 1.1601e+00);     // 1.5
+    pool->setMatchedParametersValue("*/surface_filling_ratio", 1.7286e-01);      // 0.25
+    pool->setMatchedParametersValue("*/roughness", 2.8746e+01);                      // 1.0
+    m_experiment->setBeamIntensity(5.0090e+12);
     m_experiment->runSimulation();
     m_experiment->normalize();
 
-//    TCanvas *c1 = new TCanvas("c1","c1",1024, 768);
-//    c1->cd();
-    IsGISAXSTools::drawOutputDataComparisonResults(*m_experiment->getOutputData(), *m_real_data, "initial", "initial params", 100, 1e6, 100);
-
-//    pool->setMatchedParametersValue("*/lattice_length_a", 6.175e+00);           // 6.2
-//    pool->setMatchedParametersValue("*/lattice_length_c", 6.428e+00);           // 6.2
-//    pool->setMatchedParametersValue("*/nanoparticle_radius", 6.241e+00);        // 5.7
-//    pool->setMatchedParametersValue("*/sigma_nanoparticle_radius", 7.245e-01);  // 0.1
-//    pool->setMatchedParametersValue("*/sigma_lattice_length_a", 1.613);     // 1.5
-//    pool->setMatchedParametersValue("*/surface_filling_ratio", 0.06);      // 0.25
-//    pool->setMatchedParametersValue("*/roughness", 50.0);                      // 1.0
-//    m_experiment->setBeamIntensity(0.206*8e+12);
-    pool->setMatchedParametersValue("*/lattice_length_a", 6.175e+00);           // 6.2
-    pool->setMatchedParametersValue("*/lattice_length_c", 5.987e+00);           // 6.2
-    pool->setMatchedParametersValue("*/nanoparticle_radius", 6.341e+00);        // 5.7
-    pool->setMatchedParametersValue("*/sigma_nanoparticle_radius", 0.734);  // 0.1
-    pool->setMatchedParametersValue("*/sigma_lattice_length_a", 1.303);     // 1.5
-    pool->setMatchedParametersValue("*/surface_filling_ratio", 0.14);      // 0.25
-    pool->setMatchedParametersValue("*/roughness", 0.0199);                      // 1.0
-    m_experiment->setBeamIntensity(6.98e-2*8e+12);
-    m_experiment->runSimulation();
-    m_experiment->normalize();
-
-//    TCanvas *c2 = new TCanvas("c2","c2",1024, 768);
-//    c2->cd();
     IsGISAXSTools::drawOutputDataComparisonResults(*m_experiment->getOutputData(), *m_real_data, "found", "founf params", 100, 1e6, 100);
 
+    TCanvas *c1 = new TCanvas("meso_real_data","meso_real_data",1024, 768);
+    c1->cd(); gPad->SetLogz();  gPad->SetRightMargin(0.12); gPad->SetLeftMargin(0.125);
+    TH2D *hist_real = IsGISAXSTools::getOutputDataTH2D(*m_real_data, "real_data");
+    hist_real->SetMinimum(100);
+    hist_real->SetMaximum(1e6);
+    hist_real->GetYaxis()->SetTitleOffset(1.35);
+    hist_real->DrawCopy("CONT4 Z");
+
+    TCanvas *c2 = new TCanvas("meso_simul_data","meso_simul_data",1024, 768);
+    c2->cd(); gPad->SetLogz(); gPad->SetRightMargin(0.12); gPad->SetLeftMargin(0.125);
+    TH2D *hist_simu = IsGISAXSTools::getOutputDataTH2D(*m_experiment->getOutputData(), "simul_data");
+    hist_simu->SetMinimum(100);
+    hist_simu->SetMaximum(1e6);
+    hist_simu->GetYaxis()->SetTitleOffset(1.35);
+    hist_simu->DrawCopy("CONT4 Z");
 
 }
 
@@ -190,6 +201,9 @@ void TestMesoCrystal2::fitsuite_setup(int nconfig)
     case 3:
         fitsuite_config3();
         break;
+    case 4:
+        fitsuite_config4();
+        break;
     default:
         throw LogicErrorException("TestMesoCrystal2::fitsuite_setup() -> Error! Can't setup FitSuite");
         break;
@@ -197,6 +211,77 @@ void TestMesoCrystal2::fitsuite_setup(int nconfig)
 }
 
 
+
+// ----------------------------------------------------------------------------
+// FitSuite configuration #3
+// * Mask on fit data
+// * Several fit iterations with different set of fixed released parameters
+// * ChiSquaredModule with normalizer
+// ----------------------------------------------------------------------------
+void TestMesoCrystal2::fitsuite_config4()
+{
+    m_fitSuite->setMinimizer( MinimizerFactory::createMinimizer("Minuit2", "Combined") );
+//    m_fitSuite->setMinimizer( MinimizerFactory::createMinimizer("Minuit2", "Fumili") );
+
+    m_fitSuite->getAttributes().setStepFactor(0.01);
+    m_fitSuite->addFitParameter("*/lattice_length_a",          6.2091e+00*Units::nanometer,    AttLimits::limited(4.0*Units::nanometer, 8.0*Units::nanometer) );
+    m_fitSuite->addFitParameter("*/lattice_length_c",          6.5677e+00*Units::nanometer,    AttLimits::limited(4.0*Units::nanometer, 8.0*Units::nanometer) );
+    m_fitSuite->addFitParameter("*/nanoparticle_radius",       4.6976e+00*Units::nanometer,    AttLimits::limited(4.0*Units::nanometer, 8.0*Units::nanometer) );
+    m_fitSuite->addFitParameter("*/sigma_nanoparticle_radius", 3.6720e-01*Units::nanometer,    AttLimits::limited(0.01*Units::nanometer, 2.0*Units::nanometer) );
+    m_fitSuite->addFitParameter("*/meso_height",               1.1221e+02*Units::nanometer,   AttLimits::limited(10.0*Units::nanometer, 2000.0*Units::nanometer) );
+    m_fitSuite->addFitParameter("*/meso_radius",               9.4567e+02*Units::nanometer,   AttLimits::limited(10.0*Units::nanometer, 5000.0*Units::nanometer) );
+    m_fitSuite->addFitParameter("*/sigma_meso_height",         1.3310e+00*Units::nanometer,    AttLimits::limited(1.0*Units::nanometer, 200.0*Units::nanometer) );
+    m_fitSuite->addFitParameter("*/sigma_meso_radius",         1.3863e+00*Units::nanometer,   AttLimits::limited(1.0*Units::nanometer, 500.0*Units::nanometer) );
+    m_fitSuite->addFitParameter("*/sigma_lattice_length_a",    1.1601e+00*Units::nanometer,    AttLimits::limited(0.01*Units::nanometer, 4.0*Units::nanometer) );
+    m_fitSuite->addFitParameter("*/surface_filling_ratio",     1.7286e-01,                      AttLimits::limited(0.05, 0.5) );
+    m_fitSuite->addFitParameter("*/roughness",                 2.8746e+01*Units::nanometer,     AttLimits::limited(0.01*Units::nanometer, 50.0*Units::nanometer) );
+    m_fitSuite->addFitParameter("*Beam/intensity",             5.0090e+12,                     AttLimits::limited(8e11, 8e13) );
+
+    fixplan_t fixplan;
+    fixplan.push_back(boost::assign::list_of("*Beam/intensity")("*/lattice_length_a")("*/lattice_length_c")("*/nanoparticle_radius"));
+    fixplan.push_back(boost::assign::list_of("*Beam/intensity")("*/meso_height")("*/meso_radius"));
+    fixplan.push_back(boost::assign::list_of("*Beam/intensity")("*/surface_filling_ratio")("*/roughness"));
+    fixplan.push_back(boost::assign::list_of("*Beam/intensity")("*/sigma_lattice_length_a")("*/sigma_nanoparticle_radius")("*/sigma_meso_height")("*/sigma_meso_radius"));
+
+    // here we are fixing specific parameters before fit
+    for( size_t i_plan=0; i_plan<fixplan.size(); ++i_plan) {
+        std::ostringstream ostr;
+        ostr << "strategy" <<i_plan;
+        FitSuiteStrategyAdjustParameters *strategy = new FitSuiteStrategyAdjustParameters(ostr.str());
+        strategy->fix_all();
+        for(size_t i_par=0; i_par<fixplan[i_plan].size(); ++i_par) {
+            strategy->release(fixplan[i_plan][i_par]);
+        }
+        m_fitSuite->addFitStrategy(strategy);
+    }
+    FitSuiteStrategyAdjustParameters *strategy_all = new FitSuiteStrategyAdjustParameters("strategy_all");
+    strategy_all->release_all();
+    m_fitSuite->addFitStrategy(strategy_all);
+
+    // fitpreserve=1 - preserve original values
+    // fitpreserve=0 - return always to previous fit values
+    for(FitSuiteStrategies::iterator it = m_fitSuite->getFitStrategies()->begin(); it!= m_fitSuite->getFitStrategies()->end(); ++it) {
+        FitSuiteStrategyAdjustParameters *strategy = dynamic_cast<FitSuiteStrategyAdjustParameters *>( (*it) );
+        assert(strategy);
+        strategy->setPreserveOriginalValues( (*mp_options)["fitpreserve"].as<int>() );
+    }
+
+//    Mask *mask1 = OutputDataFunctions::CreateRectangularMask(*m_real_data, 0.041, 0.003, 0.051, 0.03);
+    Mask *mask1 = OutputDataFunctions::CreateRectangularMask(*m_real_data, 0.025, 0.003, 0.051, 0.0375);
+    m_real_data->setMask(*mask1);
+
+    ChiSquaredModule chiModule;
+//    chiModule.setChiSquaredFunction( SquaredFunctionDefault() );
+    //chiModule.setChiSquaredFunction( SquaredFunctionWhichOnlyWorks() ); // it works only with resolution function, without it fit doesn't converge
+    chiModule.setChiSquaredFunction( SquaredFunctionWhichOnlyWorks() );
+    //chiModule.setOutputDataNormalizer( OutputDataSimpleNormalizer(1.0,0) );
+
+    m_fitSuite->addExperimentAndRealData(*m_experiment, *m_real_data, chiModule);
+//    m_fitSuite->addExperimentAndRealData(*m_experiment, *m_real_data);
+
+}
+
+
 // ----------------------------------------------------------------------------
 // FitSuite configuration #3
 // * Mask on fit data
@@ -411,8 +496,9 @@ void TestMesoCrystal2::initializeExperiment(const OutputData<double> *output_dat
         // if there is output_data as input parameter, build detector using output_data axises
         const IAxis *axis0 = output_data->getAxis(0);
         const IAxis *axis1 = output_data->getAxis(1);
-        //std::cout << axis0->getSize() << " " << axis0->getMin() << " " << axis0->getMax() << " " << axis1->getSize() << " " << axis1->getMin() << " " << axis1->getMax() << std::endl;
-        m_experiment->setDetectorParameters(axis0->getSize(), axis0->getMin(), axis0->getMax(), axis1->getSize(), axis1->getMin(), axis1->getMax());
+        std::cout << "Axis!!! " << axis0->getSize() << " " << axis0->getMin() << " " << axis0->getMax() << " " << axis1->getSize() << " " << axis1->getMin() << " " << axis1->getMax() << std::endl;
+        //m_experiment->setDetectorParameters(axis0->getSize(), axis0->getMin(), axis0->getMax(), axis1->getSize(), axis1->getMin(), axis1->getMax());
+        m_experiment->setDetectorParameters(*m_real_data);
     }
     m_experiment->printParameters();
 }
diff --git a/Examples/MesoCrystals/ex02_fitspheres/fit_history.txt b/Examples/MesoCrystals/ex02_fitspheres/fit_history.txt
index 783a96a056f..669f0bb1512 100644
--- a/Examples/MesoCrystals/ex02_fitspheres/fit_history.txt
+++ b/Examples/MesoCrystals/ex02_fitspheres/fit_history.txt
@@ -203,8 +203,126 @@ concequent values
 chi2                      3.8462e+05  1.4769e+03  1.3043e+03  1.3012e+03  7.1078e+02  5.4487e+02
 
 
+-----------------------------------
+Attempt #5.1 (config3: b21, b22)
+FUMILI
+12 parameters, 4 strategies, Mask3 (0.025, 0.003, 0.051, 0.0375)
+-----------------------------------
+("*Beam/intensity")("*/lattice_length_a")("*/lattice_length_c")("*/nanoparticle_radius")
+("*Beam/intensity")("*/meso_height")("*/meso_radius")
+("*Beam/intensity")("*/surface_filling_ratio")("*/roughness")
+("*Beam/intensity")("*/sigma_lattice_length_a")("*/sigma_nanoparticle_radius")("*/sigma_meso_height")("*/sigma_meso_radius")
+
+preserved
+*/lattice_length_a        6.2000e+00  6.2089e+00  6.2000e+00* 6.2000e+00* 6.2000e+00* 6.1752e+00
+*/lattice_length_c        6.2000e+00  6.6388e+00  6.2000e+00* 6.2000e+00* 6.2000e+00* 6.3514e+00
+*/nanoparticle_radius     5.7000e+00  4.8339e+00  5.7000e+00* 5.7000e+00* 5.7000e+00* 6.2393e+00
+*/sigma_nanoparticle_radi 1.0000e-01* 1.0000e-01* 1.0000e-01* 1.0000e-01* 2.3300e-01  7.1405e-01
+*/meso_height             2.0000e+02* 2.0000e+02* 1.5705e+02  2.0000e+02* 2.0000e+02* 2.5541e+02
+*/meso_radius             1.0000e+03* 1.0000e+03* 1.5099e+03  1.0000e+03* 1.0000e+03* 9.9059e+02
+*/sigma_meso_height       2.0000e+01* 2.0000e+01* 2.0000e+01* 2.0000e+01* 1.1683e+00  3.0216e+00
+*/sigma_meso_radius       1.0000e+02* 1.0000e+02* 1.0000e+02* 1.0000e+02* 2.1788e+00  3.6978e+00
+*/sigma_lattice_length_a  1.0000e+00* 1.0000e+00* 1.0000e+00* 1.0000e+00* 2.5401e+00  1.8449e+00
+*/surface_filling_ratio   2.0000e-01* 2.0000e-01* 2.0000e-01* 5.0105e-02  2.0000e-01* 5.0002e-02
+*/roughness               1.0000e+00* 1.0000e+00* 1.0000e+00* 6.6446e+00  1.0000e+00* 2.3295e+01
+*Beam/intensity           8.0000e+12  2.4613e+12  2.0332e+12  1.8248e+12  3.7218e+12  4.1113e+12
+chi2                      3.8459e+05  1.4319e+03  1.8991e+03  3.5814e+03  9.8444e+02  7.3482e+02
+
+consequent
+*/lattice_length_a        6.2000e+00  6.2089e+00  6.2089e+00* 6.2089e+00* 6.2089e+00* 6.2091e+00
+*/lattice_length_c        6.2000e+00  6.6388e+00  6.6388e+00* 6.6388e+00* 6.6388e+00* 6.5677e+00
+*/nanoparticle_radius     5.7000e+00  4.8339e+00  4.8339e+00* 4.8339e+00* 4.8339e+00* 4.6976e+00
+*/sigma_nanoparticle_radi 1.0000e-01* 1.0000e-01* 1.0000e-01* 1.0000e-01* 2.9979e-01  3.6720e-01
+*/meso_height             2.0000e+02* 2.0000e+02* 1.2009e+02  1.2009e+02* 1.2009e+02* 1.1221e+02
+*/meso_radius             1.0000e+03* 1.0000e+03* 9.9019e+02  9.9019e+02* 9.9019e+02* 9.4567e+02
+*/sigma_meso_height       2.0000e+01* 2.0000e+01* 2.0000e+01* 2.0000e+01* 1.8001e+01  1.3310e+00
+*/sigma_meso_radius       1.0000e+02* 1.0000e+02* 1.0000e+02* 1.0000e+02* 1.0758e+02  1.3863e+00
+*/sigma_lattice_length_a  1.0000e+00* 1.0000e+00* 1.0000e+00* 1.0000e+00* 1.2459e+00  1.1601e+00
+*/surface_filling_ratio   2.0000e-01* 2.0000e-01* 2.0000e-01* 2.0205e-01  2.0205e-01* 1.7286e-01
+*/roughness               1.0000e+00* 1.0000e+00* 1.0000e+00* 7.6231e+00  7.6231e+00* 2.8746e+01
+*Beam/intensity           8.0000e+12  2.4613e+12  4.4069e+12  5.3491e+12  4.7716e+12  5.0090e+12
+chi2                      3.8459e+05  1.4319e+03  1.3289e+03  1.3153e+03  8.1429e+02  6.3103e+02
+
+-----------------------------------
+Attempt #5.2 (config3:b23, b24)
+COMBINED
+-----------------------------------
+
+preserved
+*/lattice_length_a        6.2000e+00  6.2089e+00  6.2000e+00* 6.2000e+00* 6.2000e+00* 6.2073e+00
+*/lattice_length_c        6.2000e+00  6.6388e+00  6.2000e+00* 6.2000e+00* 6.2000e+00* 6.6150e+00
+*/nanoparticle_radius     5.7000e+00  4.8337e+00  5.7000e+00* 5.7000e+00* 5.7000e+00* 4.7428e+00
+*/sigma_nanoparticle_radi 1.0000e-01* 1.0000e-01* 1.0000e-01* 1.0000e-01* 8.5651e-01  1.0945e-01
+*/meso_height             2.0000e+02* 2.0000e+02* 1.7578e+02  2.0000e+02* 2.0000e+02* 6.2555e+01
+*/meso_radius             1.0000e+03* 1.0000e+03* 1.5108e+03  1.0000e+03* 1.0000e+03* 1.4434e+03
+*/sigma_meso_height       2.0000e+01* 2.0000e+01* 2.0000e+01* 2.0000e+01* 1.0000e+00  6.4704e+00
+*/sigma_meso_radius       1.0000e+02* 1.0000e+02* 1.0000e+02* 1.0000e+02* 1.0000e+00  1.0000e+00
+*/sigma_lattice_length_a  1.0000e+00* 1.0000e+00* 1.0000e+00* 1.0000e+00* 1.6052e+00  1.8359e+00
+*/surface_filling_ratio   2.0000e-01* 2.0000e-01* 2.0000e-01* 5.0000e-02  2.0000e-01* 1.6158e-01
+*/roughness               1.0000e+00* 1.0000e+00* 1.0000e+00* 5.1137e-02  1.0000e+00* 2.0812e+01
+*Beam/intensity           8.0000e+12  2.4609e+12  8.0006e+11  8.0000e+11  8.0000e+11  8.0000e+13
+chi2                      3.8459e+05  1.4319e+03  1.7181e+03  2.0880e+03  9.1446e+02  5.2671e+02
+
+sequent
+*/lattice_length_a        6.2000e+00  6.2089e+00  6.2089e+00* 6.2089e+00* 6.2089e+00* 6.2093e+00
+*/lattice_length_c        6.2000e+00  6.6388e+00  6.6388e+00* 6.6388e+00* 6.6388e+00* 6.4993e+00
+*/nanoparticle_radius     5.7000e+00  4.8337e+00  4.8337e+00* 4.8337e+00* 4.8337e+00* 4.4099e+00
+*/sigma_nanoparticle_radi 1.0000e-01* 1.0000e-01* 1.0000e-01* 1.0000e-01* 1.7430e-01  1.0292e-01
+*/meso_height             2.0000e+02* 2.0000e+02* 2.4230e+01  2.4230e+01* 2.4230e+01* 6.2595e+01
+*/meso_radius             1.0000e+03* 1.0000e+03* 9.8952e+02  9.8952e+02* 9.8952e+02* 9.9957e+02
+*/sigma_meso_height       2.0000e+01* 2.0000e+01* 2.0000e+01* 2.0000e+01* 1.6089e+01  1.0000e+00
+*/sigma_meso_radius       1.0000e+02* 1.0000e+02* 1.0000e+02* 1.0000e+02* 1.0000e+00  1.0000e+00
+*/sigma_lattice_length_a  1.0000e+00* 1.0000e+00* 1.0000e+00* 1.0000e+00* 1.1697e+00  2.1884e+00
+*/surface_filling_ratio   2.0000e-01* 2.0000e-01* 2.0000e-01* 2.4334e-01  2.4334e-01* 2.1498e-01
+*/roughness               1.0000e+00* 1.0000e+00* 1.0000e+00* 1.3149e+01  1.3149e+01* 1.8767e+01
+*Beam/intensity           8.0000e+12  2.4609e+12  8.0000e+13  7.3999e+13  4.3361e+13  8.0000e+13
+chi2                      3.8459e+05  1.4319e+03  9.0647e+02  8.5101e+02  5.7226e+02  4.7077e+02
+
+-----------------------------------
+Attempt #5.3 (config3:b25, b26)
+COMBINED, squared function
+-----------------------------------
+
+preserved
+*/lattice_length_a        6.2000e+00  6.2091e+00  6.2000e+00* 6.2000e+00* 6.2000e+00* 6.2025e+00
+*/lattice_length_c        6.2000e+00  6.2809e+00  6.2000e+00* 6.2000e+00* 6.2000e+00* 6.1213e+00
+*/nanoparticle_radius     5.7000e+00  4.9309e+00  5.7000e+00* 5.7000e+00* 5.7000e+00* 4.0000e+00
+*/sigma_nanoparticle_radi 1.0000e-01* 1.0000e-01* 1.0000e-01* 1.0000e-01* 4.9553e-01  5.6560e-01
+*/meso_height             2.0000e+02* 2.0000e+02* 7.7129e+01  2.0000e+02* 2.0000e+02* 2.2191e+02
+*/meso_radius             1.0000e+03* 1.0000e+03* 1.6206e+03  1.0000e+03* 1.0000e+03* 1.2396e+03
+*/sigma_meso_height       2.0000e+01* 2.0000e+01* 2.0000e+01* 2.0000e+01* 1.0057e+00  1.0000e+00
+*/sigma_meso_radius       1.0000e+02* 1.0000e+02* 1.0000e+02* 1.0000e+02* 1.0125e+00  1.0006e+00
+*/sigma_lattice_length_a  1.0000e+00* 1.0000e+00* 1.0000e+00* 1.0000e+00* 2.3231e+00  1.6673e+00
+*/surface_filling_ratio   2.0000e-01* 2.0000e-01* 2.0000e-01* 5.0000e-02  2.0000e-01* 1.3012e-01
+*/roughness               1.0000e+00* 1.0000e+00* 1.0000e+00* 4.2248e+01  1.0000e+00* 4.9999e+01
+*Beam/intensity           8.0000e+12  4.5230e+12  1.0975e+12  8.0000e+11  1.0824e+12  3.6576e+12
+chi2                      4.6839e+04  6.2086e+01  7.5972e+01  1.0378e+02  1.8077e+01  7.8776e+00
+
+sequent
+*/lattice_length_a        6.2000e+00  6.2091e+00  6.2091e+00* 6.2091e+00* 6.2091e+00* 6.1748e+00
+*/lattice_length_c        6.2000e+00  6.2809e+00  6.2809e+00* 6.2809e+00* 6.2809e+00* 6.5115e+00
+*/nanoparticle_radius     5.7000e+00  4.9309e+00  4.9309e+00* 4.9309e+00* 4.9309e+00* 4.0000e+00
+*/sigma_nanoparticle_radi 1.0000e-01* 1.0000e-01* 1.0000e-01* 1.0000e-01* 1.8090e-01  5.4699e-01
+*/meso_height             2.0000e+02* 2.0000e+02* 2.7217e+01  2.7217e+01* 2.7217e+01* 6.4971e+01
+*/meso_radius             1.0000e+03* 1.0000e+03* 1.0294e+03  1.0294e+03* 1.0294e+03* 1.0369e+03
+*/sigma_meso_height       2.0000e+01* 2.0000e+01* 2.0000e+01* 2.0000e+01* 8.7503e+00  4.1962e+00
+*/sigma_meso_radius       1.0000e+02* 1.0000e+02* 1.0000e+02* 1.0000e+02* 1.0000e+00  1.0000e+00
+*/sigma_lattice_length_a  1.0000e+00* 1.0000e+00* 1.0000e+00* 1.0000e+00* 1.2780e+00  1.4899e+00
+*/surface_filling_ratio   2.0000e-01* 2.0000e-01* 2.0000e-01* 2.1678e-01  2.1678e-01* 2.7661e-01
+*/roughness               1.0000e+00* 1.0000e+00* 1.0000e+00* 5.3232e-02  5.3232e-02* 4.9998e+01
+*Beam/intensity           8.0000e+12  4.5230e+12  8.0000e+13  8.0000e+13  3.1186e+13  4.4074e+12
+chi2                      4.6839e+04  6.2086e+01  3.1806e+01  3.1210e+01  2.3172e+01  8.0399e+00
+
+
 fumili
 b21  preserve=1 (../../../development/git/GISASFW/App/App --mesocrystal2 --batch --fitconfig=3 --fitpreserve=1 >& b21.txt &)
 b22  preserve=0 (../../../development/git/GISASFW/App/App --mesocrystal2 --batch --fitconfig=3 --fitpreserve=0 >& b22.txt &)
 
+Combined
+b23  preserve=1 (../../../development/git/GISASFW/App/App --mesocrystal2 --batch --fitconfig=3 --fitpreserve=1 >& b23.txt &)
+b24  preserve=0 (../../../development/git/GISASFW/App/App --mesocrystal2 --batch --fitconfig=3 --fitpreserve=0 >& b24.txt &)
+
+Combined + SquaredFunctionSystematicError
+b25 preserve=0
+b26 preserve=1
 
-- 
GitLab