Hello all, I wrote a script that reads data from .txt files, draws graphs for each file, and displays everything as a multigraph on a single canvas. Now I wanted to fit Gauss to each graph separately using the “for loop,” but the problem is that in terminal I get far too much data from fits instead of just three parameters (constant, mean, and sigma) (I have three graphs in multigraph, so I expected to see 3x parameters, but I get far more…)
faktor-co57-e370.txt (461 Bytes)
faktor-co56-e370.txt (462 Bytes)
faktor-co55-e370.txt (400 Bytes)
This is code:
#include <TGraph.h>
#include <TCanvas.h>
#include <TF1.h>
#include <TMath.h>
#include <TStyle.h>
#include <string>
#include "TMultiGraph.h"
#include "TF1.h"
#include "TGraphErrors.h"
#include <iostream>
#include <fstream>
using namespace std;
void fitsimga8() {
ifstream ang_file[3];
ang_file[0].open("faktor-co55-e370.txt");
ang_file[1].open("faktor-co56-e370.txt");
ang_file[2].open("faktor-co57-e370.txt");
double ang, counts, ex, ey;
int n=0;
auto mgr = new TMultiGraph();
auto leg = new TLegend(0.61,0.696,0.922,0.854);
leg->SetBorderSize(0);
TF1 *fit[3];
TGraphErrors *gr[3];
for(int i=0; i<3; i++){
fit[i] = new TF1(Form("fit_%d", i), "gaus", 0,165);
fit[i]->SetLineWidth(1);
fit[i]->SetLineColor(2+i);
fit[i]->SetLineStyle(9);
fit[i]->FixParameter(2, 8);
gr[i] = new TGraphErrors();
gr[i]->SetMarkerStyle(22);
gr[i]->SetMarkerSize(1);
gr[i]->SetMarkerColor(1);
gr[i]->SetLineWidth(2);
gr[i]->SetLineColor(i+2);
gr[i]->SetLineStyle(1);
while (ang_file[i] >> ang >> counts >> ex >> ey ) {
n = gr[i]->GetN();
gr[i]->SetPoint(n, ang, counts);
gr[i]->SetPointError(n, ex, ey);
gr[i]->Fit(Form("fit_%d", i),"RWB");
}
mgr->Add(gr[i]);
}
TCanvas *c1 = new TCanvas();
c1->GetCanvas()->SetFillColor(18);
c1->SetTickx();
c1->SetTicky();
c1->SetGridx();
c1->SetGridy();
mgr->SetTitle("");
mgr->GetXaxis()->SetTitle("#Theta_{PRISMA} [deg]");
mgr->GetYaxis()->SetTitle("(d#sigma(#Theta_{P})/d#Omega)_{P}^{ch} [mb/sr]");
mgr->GetXaxis()->SetLimits(-10, 60);
mgr->GetXaxis()->SetTitleSize(0.04);
mgr->GetYaxis()->SetTitleSize(0.04);
mgr->GetXaxis()->SetLabelSize(0.04);
mgr->GetYaxis()->SetLabelSize(0.04);
mgr->Draw("ALP");
leg->AddEntry(gr[0], Form("{}^{55}_{}Co - Gauss fit"), "lp");
leg->AddEntry(gr[1], Form("{}^{56}_{}Co - Gauss fit"), "lp");
leg->AddEntry(gr[2], Form("{}^{57}_{}Co - Gauss fit"), "lp");
leg->SetFillColor(18);
leg->Draw();
}
Terminal shows:
root [0]
Processing fitsimga8.C...
FCN=2.58899e-17 FROM HESSE STATUS=NOT POSDEF 10 CALLS 85 TOTAL
EDM=5.18897e-17 STRATEGY= 1 ERR MATRIX NOT POS-DEF
EXT PARAMETER APPROXIMATE STEP FIRST
NO. NAME VALUE ERROR SIZE DERIVATIVE
1 Constant 2.03300e+01 4.57295e+01 2.82301e-04 3.52033e-09
2 Mean 0.00000e+00 8.46817e+00 3.69649e-05 1.90497e-08
3 Sigma 8.00000e+00 fixed
FCN=9.04547e-09 FROM MIGRAD STATUS=CONVERGED 275 CALLS 276 TOTAL
EDM=1.80922e-08 STRATEGY= 1 ERROR MATRIX ACCURATE
EXT PARAMETER STEP FIRST
NO. NAME VALUE ERROR SIZE DERIVATIVE
1 Constant 3.16061e+00 3.85138e+00 1.40715e-04 -5.81762e-04
2 Mean 2.41239e+01 1.18941e+01 4.38818e-04 1.80395e-04
3 Sigma 8.00000e+00 fixed
FCN=0.0436063 FROM MIGRAD STATUS=CONVERGED 71 CALLS 72 TOTAL
EDM=5.57725e-07 STRATEGY= 1 ERROR MATRIX ACCURATE
EXT PARAMETER STEP FIRST
NO. NAME VALUE ERROR SIZE DERIVATIVE
1 Constant 2.61356e+00 9.39120e-01 9.50884e-05 -5.50562e-03
2 Mean 2.19696e+01 5.82487e+00 5.87553e-04 8.90651e-04
3 Sigma 8.00000e+00 fixed
FCN=1.87703 FROM MIGRAD STATUS=CONVERGED 92 CALLS 93 TOTAL
EDM=1.27363e-06 STRATEGY= 1 ERROR MATRIX ACCURATE
EXT PARAMETER STEP FIRST
NO. NAME VALUE ERROR SIZE DERIVATIVE
1 Constant 5.36361e+00 2.91986e+00 2.56706e-04 8.72084e-04
2 Mean 2.82912e+01 3.65198e+00 3.23150e-04 -1.12396e-03
3 Sigma 8.00000e+00 fixed
FCN=2.77477 FROM MIGRAD STATUS=CONVERGED 66 CALLS 67 TOTAL
EDM=2.14269e-08 STRATEGY= 1 ERROR MATRIX ACCURATE
EXT PARAMETER STEP FIRST
NO. NAME VALUE ERROR SIZE DERIVATIVE
1 Constant 3.72105e+00 8.17374e-01 1.71273e-04 -3.11676e-04
2 Mean 2.55928e+01 2.23633e+00 4.68906e-04 2.00183e-04
3 Sigma 8.00000e+00 fixed
FCN=3.57578 FROM MIGRAD STATUS=CONVERGED 52 CALLS 53 TOTAL
EDM=4.55691e-09 STRATEGY= 1 ERROR MATRIX ACCURATE
EXT PARAMETER STEP FIRST
NO. NAME VALUE ERROR SIZE DERIVATIVE
1 Constant 3.23581e+00 3.37173e-01 1.38822e-04 -5.91428e-04
2 Mean 2.41577e+01 1.54299e+00 6.34089e-04 8.36395e-05
3 Sigma 8.00000e+00 fixed
FCN=3.90649 FROM MIGRAD STATUS=CONVERGED 43 CALLS 44 TOTAL
EDM=3.91751e-08 STRATEGY= 1 ERROR MATRIX ACCURATE
EXT PARAMETER STEP FIRST
NO. NAME VALUE ERROR SIZE DERIVATIVE
1 Constant 3.38752e+00 2.71534e-01 1.29602e-04 -2.33226e-03
2 Mean 2.47166e+01 1.20783e+00 5.78546e-04 4.61933e-04
3 Sigma 8.00000e+00 fixed
FCN=4.40491 FROM MIGRAD STATUS=CONVERGED 42 CALLS 43 TOTAL
EDM=2.07124e-07 STRATEGY= 1 ERROR MATRIX ACCURATE
EXT PARAMETER STEP FIRST
NO. NAME VALUE ERROR SIZE DERIVATIVE
1 Constant 3.52867e+00 2.26676e-01 1.25581e-04 -9.59732e-04
2 Mean 2.52228e+01 9.82752e-01 5.45480e-04 -4.52752e-04
3 Sigma 8.00000e+00 fixed
FCN=7.11625 FROM MIGRAD STATUS=CONVERGED 46 CALLS 47 TOTAL
EDM=1.39815e-09 STRATEGY= 1 ERROR MATRIX ACCURATE
EXT PARAMETER STEP FIRST
NO. NAME VALUE ERROR SIZE DERIVATIVE
1 Constant 3.79361e+00 2.23473e-01 1.49891e-04 -3.91775e-04
2 Mean 2.61104e+01 8.43157e-01 5.65442e-04 5.31966e-05
3 Sigma 8.00000e+00 fixed
FCN=8.60996 FROM MIGRAD STATUS=CONVERGED 41 CALLS 42 TOTAL
EDM=6.34393e-08 STRATEGY= 1 ERROR MATRIX ACCURATE
EXT PARAMETER STEP FIRST
NO. NAME VALUE ERROR SIZE DERIVATIVE
1 Constant 3.93230e+00 2.19787e-01 1.61702e-04 -3.13219e-03
2 Mean 2.65437e+01 7.76144e-01 5.72063e-04 6.18319e-04
3 Sigma 8.00000e+00 fixed
3.932326.54378
FCN=1.02784e-18 FROM HESSE STATUS=NOT POSDEF 12 CALLS 85 TOTAL
EDM=2.05507e-18 STRATEGY= 1 ERR MATRIX NOT POS-DEF
EXT PARAMETER APPROXIMATE STEP FIRST
NO. NAME VALUE ERROR SIZE DERIVATIVE
1 Constant 8.37118e+00 2.90821e+01 1.79533e-04 1.10293e-09
2 Mean 0.00000e+00 1.30789e+01 5.70917e-05 2.45405e-09
3 Sigma 8.00000e+00 fixed
FCN=6.40694e-07 FROM MIGRAD STATUS=CONVERGED 379 CALLS 380 TOTAL
EDM=1.21362e-06 STRATEGY= 1 ERROR MATRIX ACCURATE
EXT PARAMETER STEP FIRST
NO. NAME VALUE ERROR SIZE DERIVATIVE
1 Constant 5.07238e+00 1.98589e+01 3.37349e-04 -3.08125e-04
2 Mean 3.19953e+01 1.74159e+01 2.95476e-04 2.62515e-04
3 Sigma 8.00000e+00 fixed
FCN=0.0200413 FROM MIGRAD STATUS=CONVERGED 113 CALLS 114 TOTAL
EDM=3.22461e-08 STRATEGY= 1 ERROR MATRIX ACCURATE
EXT PARAMETER STEP FIRST
NO. NAME VALUE ERROR SIZE DERIVATIVE
1 Constant 8.80893e+00 1.86995e+01 4.41973e-04 -1.40067e-04
2 Mean 3.42505e+01 8.46577e+00 2.01032e-04 2.82980e-04
3 Sigma 8.00000e+00 fixed
FCN=2.72766 FROM MIGRAD STATUS=CONVERGED 154 CALLS 155 TOTAL
EDM=6.45076e-09 STRATEGY= 1 ERROR MATRIX ACCURATE
EXT PARAMETER STEP FIRST
NO. NAME VALUE ERROR SIZE DERIVATIVE
1 Constant 1.26530e+00 3.81517e-01 1.04474e-04 2.54181e-04
2 Mean 2.26618e+01 4.67495e+00 1.28027e-03 3.68850e-06
3 Sigma 8.00000e+00 fixed
FCN=2.82251 FROM MIGRAD STATUS=CONVERGED 49 CALLS 50 TOTAL
EDM=1.28986e-07 STRATEGY= 1 ERROR MATRIX ACCURATE
EXT PARAMETER STEP FIRST
NO. NAME VALUE ERROR SIZE DERIVATIVE
1 Constant 1.37273e+00 3.15997e-01 9.53033e-05 -2.68788e-03
2 Mean 2.36913e+01 3.27280e+00 9.87162e-04 1.14466e-04
3 Sigma 8.00000e+00 fixed
FCN=2.83203 FROM MIGRAD STATUS=CONVERGED 41 CALLS 42 TOTAL
EDM=9.64825e-10 STRATEGY= 1 ERROR MATRIX ACCURATE
EXT PARAMETER STEP FIRST
NO. NAME VALUE ERROR SIZE DERIVATIVE
1 Constant 1.34913e+00 1.80491e-01 7.87690e-05 -7.47909e-05
2 Mean 2.34672e+01 2.31785e+00 1.01116e-03 2.39461e-05
3 Sigma 8.00000e+00 fixed
FCN=3.13588 FROM MIGRAD STATUS=CONVERGED 41 CALLS 42 TOTAL
EDM=7.4159e-07 STRATEGY= 1 ERROR MATRIX ACCURATE
EXT PARAMETER STEP FIRST
NO. NAME VALUE ERROR SIZE DERIVATIVE
1 Constant 1.43084e+00 1.55784e-01 7.44551e-05 -1.57586e-02
2 Mean 2.42770e+01 1.81709e+00 8.75588e-04 1.02590e-03
3 Sigma 8.00000e+00 fixed
FCN=3.20375 FROM MIGRAD STATUS=CONVERGED 42 CALLS 43 TOTAL
EDM=3.36871e-11 STRATEGY= 1 ERROR MATRIX ACCURATE
EXT PARAMETER STEP FIRST
NO. NAME VALUE ERROR SIZE DERIVATIVE
1 Constant 1.46043e+00 1.20731e-01 6.81180e-05 -6.41612e-05
2 Mean 2.45623e+01 1.46146e+00 8.24821e-04 -3.77760e-07
3 Sigma 8.00000e+00 fixed
FCN=3.34113 FROM MIGRAD STATUS=CONVERGED 40 CALLS 41 TOTAL
EDM=1.80402e-10 STRATEGY= 1 ERROR MATRIX ACCURATE
EXT PARAMETER STEP FIRST
NO. NAME VALUE ERROR SIZE DERIVATIVE
1 Constant 1.49037e+00 1.00188e-01 6.44756e-05 -2.82162e-05
2 Mean 2.48626e+01 1.22614e+00 7.89216e-04 -1.36372e-05
3 Sigma 8.00000e+00 fixed
FCN=3.92175 FROM MIGRAD STATUS=CONVERGED 40 CALLS 41 TOTAL
EDM=2.21594e-09 STRATEGY= 1 ERROR MATRIX ACCURATE
EXT PARAMETER STEP FIRST
NO. NAME VALUE ERROR SIZE DERIVATIVE
1 Constant 1.52675e+00 9.81328e-02 6.75706e-05 -1.94955e-04
2 Mean 2.52357e+01 1.13721e+00 7.83175e-04 -4.45683e-05
3 Sigma 8.00000e+00 fixed
1.5267525.23578
FCN=9.29821e-19 FROM HESSE STATUS=NOT POSDEF 12 CALLS 85 TOTAL
EDM=1.85664e-18 STRATEGY= 1 ERR MATRIX NOT POS-DEF
EXT PARAMETER APPROXIMATE STEP FIRST
NO. NAME VALUE ERROR SIZE DERIVATIVE
1 Constant 7.97255e+00 2.83727e+01 1.75153e-04 -1.07525e-09
2 Mean 0.00000e+00 1.33978e+01 5.84839e-05 -2.27550e-09
3 Sigma 8.00000e+00 fixed
FCN=4.60836e-07 FROM MIGRAD STATUS=CONVERGED 958 CALLS 959 TOTAL
EDM=6.99485e-07 STRATEGY= 1 ERROR MATRIX ACCURATE
EXT PARAMETER STEP FIRST
NO. NAME VALUE ERROR SIZE DERIVATIVE
1 Constant 4.46322e+03 3.44266e+04 2.76644e-01 -1.88199e-07
2 Mean 5.01500e+01 1.52017e+01 1.22563e-04 3.48661e-04
3 Sigma 8.00000e+00 fixed
FCN=2.33287 FROM MIGRAD STATUS=CONVERGED 434 CALLS 435 TOTAL
EDM=1.455e-08 STRATEGY= 1 ERROR MATRIX ACCURATE
EXT PARAMETER STEP FIRST
NO. NAME VALUE ERROR SIZE DERIVATIVE
1 Constant 2.19470e+00 2.39409e+00 2.02342e-04 2.67720e-04
2 Mean 2.73137e+01 7.58988e+00 6.40919e-04 -6.30644e-05
3 Sigma 8.00000e+00 fixed
FCN=2.59364 FROM MIGRAD STATUS=CONVERGED 84 CALLS 85 TOTAL
EDM=6.73151e-07 STRATEGY= 1 ERROR MATRIX ACCURATE
EXT PARAMETER STEP FIRST
NO. NAME VALUE ERROR SIZE DERIVATIVE
1 Constant 3.70022e+00 3.21816e+00 2.79069e-04 -2.71211e-03
2 Mean 3.03430e+01 4.82183e+00 4.18796e-04 1.63159e-03
3 Sigma 8.00000e+00 fixed
FCN=6.01098 FROM MIGRAD STATUS=CONVERGED 79 CALLS 80 TOTAL
EDM=1.2019e-07 STRATEGY= 1 ERROR MATRIX ACCURATE
EXT PARAMETER STEP FIRST
NO. NAME VALUE ERROR SIZE DERIVATIVE
1 Constant 1.44110e+00 2.89002e-01 1.31531e-04 -4.61806e-03
2 Mean 2.34674e+01 2.96414e+00 1.34422e-03 3.73731e-04
3 Sigma 8.00000e+00 fixed
FCN=7.05476 FROM MIGRAD STATUS=CONVERGED 49 CALLS 50 TOTAL
EDM=7.70366e-08 STRATEGY= 1 ERROR MATRIX ACCURATE
EXT PARAMETER STEP FIRST
NO. NAME VALUE ERROR SIZE DERIVATIVE
1 Constant 1.26466e+00 9.38421e-02 1.06630e-04 4.93290e-03
2 Mean 2.13775e+01 2.12194e+00 2.37755e-03 -7.72449e-05
3 Sigma 8.00000e+00 fixed
FCN=11.5077 FROM MIGRAD STATUS=CONVERGED 50 CALLS 51 TOTAL
EDM=6.21776e-10 STRATEGY= 1 ERROR MATRIX ACCURATE
EXT PARAMETER STEP FIRST
NO. NAME VALUE ERROR SIZE DERIVATIVE
1 Constant 1.46212e+00 1.47940e-01 1.30198e-04 -4.53091e-04
2 Mean 2.39848e+01 1.80533e+00 1.59450e-03 2.71439e-05
3 Sigma 8.00000e+00 fixed
FCN=11.6481 FROM MIGRAD STATUS=CONVERGED 39 CALLS 40 TOTAL
EDM=1.43162e-08 STRATEGY= 1 ERROR MATRIX ACCURATE
EXT PARAMETER STEP FIRST
NO. NAME VALUE ERROR SIZE DERIVATIVE
1 Constant 1.42499e+00 9.26553e-02 1.14526e-04 -3.24698e-05
2 Mean 2.35728e+01 1.41438e+00 1.74691e-03 1.21121e-04
3 Sigma 8.00000e+00 fixed
FCN=11.7809 FROM MIGRAD STATUS=CONVERGED 36 CALLS 37 TOTAL
EDM=1.23787e-09 STRATEGY= 1 ERROR MATRIX ACCURATE
EXT PARAMETER STEP FIRST
NO. NAME VALUE ERROR SIZE DERIVATIVE
1 Constant 1.40482e+00 6.83051e-02 1.04782e-04 -4.80520e-04
2 Mean 2.32886e+01 1.17106e+00 1.79611e-03 4.79923e-05
3 Sigma 8.00000e+00 fixed
FCN=11.8806 FROM MIGRAD STATUS=CONVERGED 29 CALLS 30 TOTAL
EDM=1.55122e-07 STRATEGY= 1 ERROR MATRIX ACCURATE
EXT PARAMETER STEP FIRST
NO. NAME VALUE ERROR SIZE DERIVATIVE
1 Constant 1.41329e+00 6.44876e-02 1.02253e-04 5.43060e-03
2 Mean 2.34313e+01 1.08439e+00 1.71938e-03 -5.59903e-04
3 Sigma 8.00000e+00 fixed