<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.iac.isu.edu/index.php?action=history&amp;feed=atom&amp;title=ErrAnalLab15_Fitter</id>
	<title>ErrAnalLab15 Fitter - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.iac.isu.edu/index.php?action=history&amp;feed=atom&amp;title=ErrAnalLab15_Fitter"/>
	<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=ErrAnalLab15_Fitter&amp;action=history"/>
	<updated>2026-05-09T04:27:07Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.2</generator>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=ErrAnalLab15_Fitter&amp;diff=122531&amp;oldid=prev</id>
		<title>Foretony: Created page with &quot;//MyLinFit(10,-1.2,-0.85,.042,0.045);  #ifndef __CINT__ #include &quot;TMatrixD.h&quot; #include &quot;TVectorD.h&quot; #endif  // data arrays are global variables  Int_t NumPoints=0;  Float_t x[...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=ErrAnalLab15_Fitter&amp;diff=122531&amp;oldid=prev"/>
		<updated>2018-04-16T20:30:15Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;//MyLinFit(10,-1.2,-0.85,.042,0.045);  #ifndef __CINT__ #include &amp;quot;TMatrixD.h&amp;quot; #include &amp;quot;TVectorD.h&amp;quot; #endif  // data arrays are global variables  Int_t NumPoints=0;  Float_t x[...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;//MyLinFit(10,-1.2,-0.85,.042,0.045);&lt;br /&gt;
&lt;br /&gt;
#ifndef __CINT__&lt;br /&gt;
#include &amp;quot;TMatrixD.h&amp;quot;&lt;br /&gt;
#include &amp;quot;TVectorD.h&amp;quot;&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
// data arrays are global variables&lt;br /&gt;
&lt;br /&gt;
Int_t NumPoints=0;&lt;br /&gt;
&lt;br /&gt;
Float_t x[100],y[100],errory[100];&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void LoadDataArrays(Char_t *filename, Int_t Weight)&lt;br /&gt;
//void LoadDataArrays(string filename, Int_t Weight)&lt;br /&gt;
{&lt;br /&gt;
  ifstream in;&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  NumPoints=0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  in.open(filename);&lt;br /&gt;
&lt;br /&gt;
  while(in.good() &amp;amp;&amp;amp; NumPoints &amp;lt; 100){&lt;br /&gt;
    if(Weight==1.0)&lt;br /&gt;
      {&lt;br /&gt;
	in &amp;gt;&amp;gt; x[NumPoints] &amp;gt;&amp;gt; y[NumPoints] ;&lt;br /&gt;
&lt;br /&gt;
	errory[NumPoints]=0.05;&lt;br /&gt;
&lt;br /&gt;
      }&lt;br /&gt;
    else&lt;br /&gt;
      {&lt;br /&gt;
	in &amp;gt;&amp;gt; x[NumPoints] &amp;gt;&amp;gt; y[NumPoints] ;&lt;br /&gt;
&lt;br /&gt;
	if(y[NumPoints]&amp;gt;0)&lt;br /&gt;
	  errory[NumPoints]=sqrt(y[NumPoints]);&lt;br /&gt;
&lt;br /&gt;
	else&lt;br /&gt;
	  errory[NumPoints]=abs(y[NumPoints]);&lt;br /&gt;
&lt;br /&gt;
	if(errory[NumPoints]==0)&lt;br /&gt;
	  errory[NumPoints]=1.0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
    NumPoints++;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  in.close();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
void DataArrayPrint(void)&lt;br /&gt;
{&lt;br /&gt;
  if(NumPoints)&lt;br /&gt;
    {&lt;br /&gt;
      printf(&amp;quot;__X__\t__Y__\tEror Y\n&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
      for(Int_t i=0;i&amp;lt;NumPoints;i++)&lt;br /&gt;
      	 printf(&amp;quot;%g\t%g\t%g\n&amp;quot;,x[i],y[i],errory[i]);&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
  else&lt;br /&gt;
    {&lt;br /&gt;
      printf(&amp;quot;Data arrays are not filled\n execute function \n\tLoadDataArrays\n&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void LinContour(Int_t steps, Float_t a1min, Float_t a1max, Float_t a2min, Float_t a2max))&lt;br /&gt;
{&lt;br /&gt;
  //  LinContour(100,-1.2,-0.9,0.042,.048) &lt;br /&gt;
  Int_t nRowsCols=2;&lt;br /&gt;
&lt;br /&gt;
  TH2D *ChiMin=new TH2D(&amp;quot;ChiMin&amp;quot;,&amp;quot;ChiMin&amp;quot;,steps,a1min,a1max,steps,a2min,a2max);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  if(NumPoints==0)&lt;br /&gt;
    {&lt;br /&gt;
      printf(&amp;quot;Data arrays are not filled\n execute function \n\tLoadDataArrays\n&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
      return;&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
  // ALl the data is loaded in &lt;br /&gt;
&lt;br /&gt;
  //     Alpha()=-1.00503 +- 0.0210647   0.0431444 +- 0.000360375    &lt;br /&gt;
  //ChiSqrd = 43.4671&lt;br /&gt;
  &lt;br /&gt;
  Double_t ChiSqrd,Yfit,Alpha[100];&lt;br /&gt;
&lt;br /&gt;
  Double_t a1Step=(a1max-a1min)/steps;&lt;br /&gt;
&lt;br /&gt;
  Double_t a2Step=(a2max-a2min)/steps;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  //  printf(&amp;quot;a2Step=%g\t a2Step=%g\n&amp;quot;,a1Step,a2Step);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  //  Alpha[0]=-1.00503;&lt;br /&gt;
&lt;br /&gt;
  //  Alpha[1]=0.043144;&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
  Alpha[1]=a2min;&lt;br /&gt;
&lt;br /&gt;
  for(Int_t k=0;k&amp;lt;steps;k++)&lt;br /&gt;
    {&lt;br /&gt;
      Alpha[1]+=a2Step;&lt;br /&gt;
&lt;br /&gt;
      Alpha[0]=a1min;&lt;br /&gt;
&lt;br /&gt;
      for(Int_t l=0;l&amp;lt;steps;l++)&lt;br /&gt;
	{&lt;br /&gt;
      Alpha[0]+=a1Step;&lt;br /&gt;
&lt;br /&gt;
      &lt;br /&gt;
      ChiSqrd=0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      for(Int_t j=0;j&amp;lt;NumPoints;j++)&lt;br /&gt;
	{&lt;br /&gt;
	  Yfit=0;&lt;br /&gt;
&lt;br /&gt;
	  for(Int_t m=0;m&amp;lt;nRowsCols;m++)&lt;br /&gt;
	    {&lt;br /&gt;
	      Yfit+=Alpha[m]*pow(x[j],m);&lt;br /&gt;
&lt;br /&gt;
	    }&lt;br /&gt;
	  //      printf(&amp;quot;y[j]-Yfit=%g-%g=%g\n&amp;quot;,y[j],Yfit,y[j]-Yfit);&lt;br /&gt;
&lt;br /&gt;
	  ChiSqrd+= (y[j]-Yfit)*(y[j]-Yfit)/errory[j]/errory[j];&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
      //      printf(&amp;quot;A1=%g\tA2=%g\tChiSqrd=%g\tnu=%d\n&amp;quot;,Alpha[0],Alpha[1],ChiSqrd,NumPoints-nRowsCols);&lt;br /&gt;
&lt;br /&gt;
      //      TH2D *ChiMin=new TH2D(&amp;quot;ChiMin&amp;quot;,&amp;quot;ChiMin&amp;quot;,steps,a1min,a1max,steps,a2min,a2max);&lt;br /&gt;
&lt;br /&gt;
      ChiMin-&amp;gt;Fill(Alpha[0],Alpha[1],ChiSqrd);&lt;br /&gt;
&lt;br /&gt;
      &lt;br /&gt;
	}&lt;br /&gt;
    }  &lt;br /&gt;
  //  ChiMin-&amp;gt;Draw();&lt;br /&gt;
&lt;br /&gt;
  ChiMin-&amp;gt;Draw(&amp;quot;lego&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Foretony</name></author>
	</entry>
</feed>