aboutsummaryrefslogtreecommitdiffstats
path: root/test/test_fitter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/test_fitter.cpp')
-rw-r--r--test/test_fitter.cpp39
1 files changed, 39 insertions, 0 deletions
diff --git a/test/test_fitter.cpp b/test/test_fitter.cpp
new file mode 100644
index 0000000..5e5b139
--- /dev/null
+++ b/test/test_fitter.cpp
@@ -0,0 +1,39 @@
+#include <core/fitter.hpp>
+#include <methods/powell/powell_method.hpp>
+#include <statistics/chisq.hpp>
+#include <models/nbeta1d.hpp>
+#include <data_sets/default_data_set.hpp>
+#include <misc/data_loaders.hpp>
+#include <core/freeze_param.hpp>
+#include <iostream>
+#include <string>
+#include <fstream>
+#include <vector>
+
+using namespace std;
+using namespace opt_utilities;
+
+
+int main(int argc,char* argv[])
+{
+ if(argc!=2)
+ {
+ cerr<<"Usage:"<<argv[0]<<" <data file>"<<endl;
+ return -1;
+ }
+ fitter<double,double,vector<double>,double,std::string> f;
+ f.set_model(nbeta1d<double>());
+ f.set_opt_method(powell_method<double,vector<double> >());
+ f.set_statistic(chisq<double,double,vector<double>,double,std::string>());
+ dl_x_xe_y_ye<double,double> dl;
+ ifstream ifs(argv[1]);
+ dl.load_from(ifs);
+ f.load_data(dl.get_data_set());
+ f.set_param_modifier(freeze<double,double,vector<double>,string>("bkg"));
+ f.set_param_value("bkg",0);
+ f.fit();
+ for(int i=0;i<f.get_num_params();++i)
+ {
+ cout<<f.get_param_info(i).get_name()<<"="<<f.get_param_info(i).get_value()<<endl;
+ }
+}