Back to home page

sPhenix code displayed by LXR

 
 

    


Warning, /analysis/Prototype3/EMCal/macros/object_function.m is written in an unsupported language. File is not indexed.

0001 function Chi2 = object_function(x, DataSet, SigmaRej)
0002 
0003 N_Runs = size(DataSet , 2);
0004 Ndata = 20;
0005 
0006 Chi2 = 0;
0007 
0008 % disp('object_function');
0009 % disp(size(x));
0010 
0011 calib_const = x(1:Ndata);
0012 E_scale = x((Ndata+1):(Ndata + N_Runs-1));
0013 E_scale = [E_scale 1]; % fix highest energy point
0014 
0015 for i = 1:N_Runs
0016     
0017     data =  DataSet(i).data;
0018     
0019     data = data * calib_const';
0020     
0021     total_E = sum(data, 2);
0022 
0023     AChi2 = abs((total_E - DataSet(i).E.*E_scale(i))./DataSet(i).DE);
0024     AChi2 = AChi2(AChi2<SigmaRej);
0025     DChi2 = sum(AChi2.^2);
0026     
0027 %     disp(DChi2);
0028     Chi2 = Chi2 + DChi2;
0029 end
0030 
0031 end