#include "Fit/BinData.h" #include "Fit/Chi2FCN.h" #include "Math/WrappedMultiTF1.h" #include "HFitInterface.h" #include "TCanvas.h" #include "TStyle.h" #include #include #include #include #include "TFile.h" #include "TGraphErrors.h" #include "TF1.h" #include "Experiment.h" using namespace std; int main() { TFile f("graphs.root"); char Tfilename[50]; int exp_n = 25; double T_max = 10.0; double T_min = 0.0; int n_min = 1000; int n_runs = 1001; //set the parameters to be passed!!! double par[34], par_init[34]; // evolution parameters omega T_2 par[0] = 0.4; par_init[0] = 0.4; par[1] = 0.05; par_init[1] = 0.05; //measurement noise eps_1 eps_2 par[2] = 0.025; par_init[2] = 0.0; par[3] = 0.075; par_init[3] = 0.0; //x_state par[4] = 0.96; par_init[4] = 1.0; par[5] = 0.0; par_init[5] = 0.0; par[6] = 0.17; par_init[6] = 0.0; //y-state par[7] = 0.09; par_init[7] = 0.0; par[8] = 0.96; par_init[8] = 1.0; par[9] = 0.09; par_init[9] = 0.0; //z-state par[10] = 0.0; par_init[10] = 0.0; par[11] = 0.0; par_init[11] = 0.0; par[12] = 1.0; par_init[12] = 1.0; //-x-state par[13] = -0.96; par_init[13] = -1.0; par[14] = 0.09; par_init[14] = 0.0; par[15] = 0.09; par_init[15] = 0.0; //-z-state par[16] = 0.09; par_init[16] = 0.0; par[17] = 0.09; par_init[17] = 0.0; par[18] = -0.96; par_init[18] = -1.0; //x-measurement par[19] = 0.96; par_init[19] = 1.0; par[20] = 0.08; par_init[20] = 0.0; par[21] = 0.17; par_init[21] = 0.0; //y-measurement par[22] = 0.08; par_init[22] = 0.0; par[23] = 0.96; par_init[23] = 1.0; par[24] = 0.17; par_init[24] = 0.0; //z-measurement par[25] = 0.08; par_init[25] = 0.0; par[26] = 0.96; par_init[26] = 1.0; par[27] = 0.17; par_init[27] = 0.0; //-x-measurement par[28] = -0.96; par_init[28] = -1.0; par[29] = 0.09; par_init[29] = 0.0; par[30] = 0.09; par_init[30] = 0.0; //-z-measurement par[31] = 0.09; par_init[31] = 0.0; par[32] = 0.09; par_init[32] = 0.0; par[33] = -0.96; par_init[33] = -1.0; // set parameters array. /* par[0]~par[2] ~ r_x, r_y,r_z par[3]~par[7] ~ R_x, R_y, R_z, eps_1, eps_2 par[8]~par[9] ~ omega, T_2 */ vector< vector< int > > par_i(exp_n,vector(10)); for(int i=0; i > gr_ptr(exp_n); vector< boost::shared_ptr < TF1 > > my_func_ptr; vector< boost::shared_ptr < ModelA > > exp_data_ptr; for(int exp_i=0; exp_i (par_i[exp_i])); my_func_ptr.push_back(boost::make_shared("f1", exp_data_ptr[exp_i], &ModelA::expectation_value, 0, T_max, 34)); } for(int i_runs=n_min; i_runs data; vector< ROOT::Math::WrappedMultiTF1 > wf; vector< boost::shared_ptr < ROOT::Math::IMultiGenFunction > > chi2; for(int i=0; i(data[i], wf[i])); } (*chi2[0])(par); } return 0; }